WebSphere Portal的备份通常可采用:
? 在系统安装调试完毕后对WebSphere Portal安装目录做全备份,当WebSphere
Portal相关的资源发生改变时:主题和外表的增加和删除,新装Portlet和删除已有Portlet,再次对WebSphere Portal安装目录做全备份;日常维护期间可以使用增量备份,可以采用周备份的模式;
? WebSphere Portal DB2数据库采用周备份。 8.1.5 安全性设计要求 8.1.5.1 目录服务
? 特权帐户的安全 cn=root
为目录服务的超级帐户。需要妥善保护和授权该帐户的使用。 db2 instance owner
为目录服务使用的数据库的超级帐户。需要妥善保护和授权该帐户的使用。 ? 通信安全
开放端口,缺省为 389(非加密),636(SSL加密) 中国联通没有KPI系统,LDAP通信采用非加密方式。 ? 其他
应用使用目录服务时,应使用一个帐户连接目录服务,不用cn=root超级用户 使用ACL来授权用户使用目录服务 8.1.5.2 访问控制
? 特权帐户的安全 sec_master
为访问控制的超级帐户。需要妥善保护和授权该帐户的使用。 ? 通信安全
Policy开放端口,缺省为 7135 WebSEAL开发端口,缺省为7234
中国联通没有KPI系统,TAM与LDAP通信采用非加密方式。 WebSEAL与LDAP通信也采用非加密方式 ? 其他
保护TAM policy DB文件不被非法访问 8.1.5.3 身份管理
? 特权帐户的安全 itim manager
为身份管理的超级帐户。需要妥善保护和授权该帐户的使用。 cn=root
为ITIM使用的目录的超级帐户。需要妥善保护和授权该帐户的使用。 db2 instance owner
db2中保留历史,审计信息,需要妥善保护和授权该帐户的使用。 ? 通信安全
31
基于WebSphere,安全性由WebSphere控制
中国联通没有KPI系统,TIM与浏览器通信采用非加密方式。 TIM和IDI的通信不采用SSL TIM和Agent通信不采用SSL ? 其他
启用WAS的安全性,但不启用Java2的安全性。 8.1.5.4 门户
? 门户资源的授权
门户系统的安全性通过TIM进行访问控制,门户资源授权由Portal自带的个性化定制功能来实现 ? 通信安全
基于WebSphere,安全性由WebSphere控制
门户的管理客户端使用加密方式,端口需要安装时指定 Portal Server与LDAP通信采用非加密方式,端口389 8.1.6 接口要求
该部分主要针对基于LDAP系统开发的接口说明,在使用LDAP API时,有哪些方法可以使用,那些方法如何使用等,以下只是简单的说明,详细的接口说明和如何使用,参见相关的API说明。
? 所有的目录服务都必须提供一定的接口,以便于使用目录服务和管理目录服务,同
时为了能够在全国范围内方便的进行目录集成,要求所有的目录服务必须提供基于LDAP的应用程序接口(在RFC1823中定义),各种目录服务可以在此基础上进行相应的扩展。
? 使用的语言建议采用Java或者C完成。
? 本节定义的接口是LDAP协议中的基本数据接口,允许对其进行扩展。 8.1.6.1 访问接口
访问接口是指目录服务客户和目录服务主机进行会话的主要接口函数。一般要求所有的目录服务至少提供以下接口:
? Open:目录服务客户通过TCP协议与服务主机建立TCP通道; ? Bind类接口:初始化客户和服务器之间的通信会话; ? Unbind类接口:中止会话;
? Abandon类接口:取消全部处理中的请求; ? Search类接口:查找目录数据并返回结果;
? Compare类接口:检查一个目录项是否含有一个特定属性。 8.1.6.2 管理接口
管理接口是指目录服务管理程序或者客户对目录数据进行维护的主要接口函数。一般要求所有的目录服务至少提供以下接口: ? Modify类接口:更新一个目录项 ? Add类接口:添加新目录项
32
? Delete类接口:删除目录项
? Modify DN类接口:重新命名一个目录项或将一个目录移动到新位置。 8.1.6.3 接口的规范
对于成熟的软件要有成熟的接口模式、文件与配置办法 对于其它应用,要求有具体的接口函数、对象,编码方式。 8.1.7 编码原则 8.1.7.1 概述
门户的主要业务功能由门户小应用程序(portlet)提供,门户应用的开发实际上可以归结为一系列portlet的开发。
Portlet是Java Servlet的一个扩展,因此,portlet开发的很多方面与典型的Web应用开发是一样的。然而,Portal的一些独特特性,如在一个页面中展现多个portlet,portlet url,porltet页面流的控制,portlet之间的通讯等,使Portlet的应用模型变得更复杂。在进行portlet设计时,需要仔细的考虑,以充分利用portal的先进特性,并尽量简化应用。
编码规范部分指出了一些基本的portlet设计和编码原则,符合这些原则能在很大程度上实现代码的重用,并减少代码维护工作量,提高系统运行效率。在门户系统的设计和编码中应符合这些原则,以避免不必要的损失。 8.1.7.2 Portlet设计原则
在进行portlet设计时,将portlet分成三个部分:模式、视图和控制(MVC)。这种设计遵循标准的面向对象设计模式,每一个部分都是自包含并模块化的。它能使维护、扩展更加简单。
模式(model)是portlet所处理和展现的数据。通常的数据格式包括:xml文档、数据库表或者其他的Web应用。模式中访问数据的Java程序应该无需知道数据的具体形式就能实现数据访问。理想情况下,model应该能够进行修改,而不会影响portlet应用的其他部分。
视图(view)是数据模式的展现部分。View通过模式来实现对于数据的访问,因此它应该无需知道数据的详细细节。视图无需关注数据模式之间的关系。视图中不应包括处理数据的业务逻辑。与模式类似,视图应该相对独立并可修改。可以变更视图,而无需影响业务逻辑或者模式。推荐使用(Java Server Page)jsp来实现视图,对于需要在多种设备上展现的信息,可以考虑使用XML+XSL来实现。
控制(Controller)将Model和View连接在一起,并定义portlet中交互的方式。控制处理从view中获得的用户请求,并将它传递给适当的模式对象来完成请求所对应的操作。操作的结果由控制器使用适当的视图对象完成展现后发回给用户。
控制位于Portlet的Java类中。它通过模式访问数据,通过View展现数据。在设计portlet时,MVC是一个最为重要的设计原则。Portlet通常都会变化得很快,新的portlet都会在很大程度上以原有的portlet作为基础,如经常需要让一个portlet连接到一个新的数据源,展现该数据源中的数据;增加新的标记语言,支持移动设备的访问;扩展portlet,以支持个性化等。
8.1.7.3 Portlet开发原则
33
在本部分列出了在进行portlet开发应当遵循的一些原则,这些内容可能影响到系统的可实现、稳定性、可维护性和效率。
Portlet开发原则包括:portlet编码原则、jsp编码原则、数据管理的原则以及会话对象适用原则四个部分。
Portlet编码: 1) 避免使用类实例变量:Portlet要求对于所有的请求处理程序都是线程安全的,
将变量存放在实例变量中并由多个用户进行访问可能引起冲突。
2) 向视图(jsp)传递数据时,采用java bean的方式传递。 3) 充分利用portlet日志机制,以便在出现问题时能够追踪并定位问题。 4) 在代码中包括文档注释。 5) 使用数据访问服务(ContentAccessService)访问外部的内容。 6) 缓存portlet setting对象和portlet data对象,避免在session中保存在以上
两个对象中存在的全局数据。
7) 采用Struts,Struts是一个优秀的架构,可以实现在portlet和servlet之间简
单的实现移植。
JSP编码原则: 1) JSP中只能包含HTML的片段:portlet所提供的内容是最终展现的页面的一部分,
因此它不能包含,
和等标记。在JSP中也应当包括等用于内容组织和格式化的标签,以保证内容的格式化的组织,避免混乱。 2) 设计视图时考虑在同一个页面上有其他的portlet。 3) 用java风格的注释取代html风格的注释。 4) 使用portlet风格的类声明,以保持界面风格与门户管理员的设计相统一。 5) URI,HTML元素的名称,JavaScript资源必须采用命名空间命名。多个portlet位于同一个页面中,为了避免命名空间的冲突,必须使用portlet api进行名称的编码。 6) 降低对于JavaScript的依赖,在不同的浏览器中,javascript实现的差别较大,
为了兼容多个浏览器,应该尽量减少对于javascirpt的使用,尤其要避免应用的执行完全依赖于javascript。 7) 避免使用弹出式窗口:Portal是基于状态的,只能够通过portal和portlet知道
你的操作,一旦弹出新的窗口,portal就对该窗口中的行为失去了控制。 8) 尽量使用taglib。
数据管理原则:
1) 使用portlet settings对象保存与用户无关的配置数据。 2) 使用portlet data保存与用户相关联的配置数据。
3) 使用Servlet Configuration保存静态的初始的配置信息,如保存安装目录或者路
径信息。 会话管理: 1) 限制使用portlet会话来保存portlet状态信息。Portlet Session是一个很方便
用来保存全局数据的地方。然而这样做可能会带来比较大的系统开销,无论是内存还是cpu资源。对于一些比较方便重建的数据,或者比较大的数据对象,建议在需要时重建或者将其保存在数据库中以供访问。
34
2) 3) 4)
如果一个portlet需要支持匿名访问,不要使用portlet session。
请求一个已存在的portlet session,而不是创建一个portlet session。 通过<%@page session=”false” %>避免在jsp中创建临时的会话。
8.2 门户对被集成系统的技术要求
对于需要在门户中进行接入,实现集成的各水平应用系统,需满足下列技术要求: 8.2.1 C/S接入系统技术要求
对于中国联通公司现有的C/S架构需接入门户的系统,需完成系统架构由C/S变更为B/S架构,然后遵循B/S架构接入系统技术要求进行系统接入。 8.2.2 B/S接入系统技术要求
对于B/S架构接入系统,在接入时需遵循以下技术要求:
1. 修改系统界面,使接入系统或接入系统模块满足中国联通企业信息门户系统VI规
范。
2. 基于IBM Domino Server平台基础开发的应用系统需按照中国联通公司统一目录要
求进行用户管理。其他接入系统预留统一登录、统一认证接口。接入系统需支持Form-based、HttpHeader、LTPA此三种方式的一种。
3. 使用iFrame进行整体接入或单个模块接入的系统需提供接入URL。
4. 对于需要实现和门户系统在数据级别的通讯的系统,原则上系统需要进行自身修
改,使之支持iFrame接入方式。如无法完成修改,系统需提供业务数据传输接口,或提供数据的文件传输。如使用XML文件传输、文本文件传输、WebServices传输等传输方式。
8.2.3 域内应用系统集成的实现方式 8.2.3.1 与邮件系统集成
i.
与Exchange邮件的集成 1. 用户管理接口实现方式
邮件系统的用户注册库使用的是微软的活动目录(AD),在集成时采用与目录系统用户数据完全一致的数据结构,AD用户数据和目录用户数据通过用户帐号实现关联;用户数据由目录系统统一管理,不建议管理员在AD上进行用户组织增、删、改的功能;当目录数据发生变化时通过IDI装配线把数据的变化写入AD。 2. 展现集成方式
邮件系统的展现采用调整邮件系统的页面展现风格,通过iFrame在门户内展现。 3. SSO的实现方式
35