多系统信息整合办公系统解决方案
2013-09-14徐文静张光明段爱民
徐文静 张光明 段爱民
(1.华南理工大学计算机科学与工程学院,广州 510510;2.解放军85841部队 广州 510510; 3.解放军85841部队 广州 510510)
0 引言
随着科技的深入发展,大部分企业办公高度信息化,在升级改造已有系统甚至是新研系统中如何兼容整合已有的应用系统,解决各系统间信息互通和共享,是摆在大家面前的一个难题。目前主要存在三个方面的问题:一是配套技术规范建设相对滞后,缺乏统一的技术体制架构,纵向贯通易,横向互联难;二是没有建立统一的身份认证和授权机制,用户管理繁杂,存在安全隐患;三是信息存储分散,格式多样,搜索、共享和利用难。本文主要阐述了基于SOA体系结构,利用WEB Service和ESB(企业服务总线)技术,实现了分布式环境下各信息服务的标准封装、集中注册和统一管理;利用单点登陆系统,实现了“单点登陆,全网漫游”,为今后此类问题的解决提供一个参考[1]。
1 信息服务基础环境
1.1 信息服务基础环境的组成与功能
信息服务基础环境基于SOA体系架构,综合运用Web Service、ESB(企业服务总线)和SSO单点登陆等技术,以通用构件化开发平台为基础,为企业内部信息系统综合集成提供统一、开放和可靠的支撑平台,其主要包括WEB服务集成平台、运行维护平台、构件化开发平台和信息交换中心等4个子系统。
SOA架构是一个整合各种服务的架构平台,它的本质是要通过一个核心服务技术集中管理平台,将各种运行在不同平台下的服务(如J2EE、.NET、CORBA、DCOM)通过企业服务总线ESB(Enterprise Service Bus)整合起来。SOA架构的精髓是业务驱动,通过业务驱动服务,通过服务驱动技术。
1.2 关键技术及实现
通用信息服务中心,利用WEB Services技术封装异构信息访问接口,通过ESB技术建立信息资源目录体系,初步解决了异地异构信息资源共享、交换与集成难题, 把分布环境下孤立的资源关联起来,把无序的资源变为有序,为使用者提供统一的信息资源查找和定位服务,实现了信息资源的透明访问和获取。
1.2.1 信息资源目录服务体系结构
建立信息资源目录服务目的在于整合资源和提供服务,其体系结构如图1所示。
图1 信息资源目录服务体系结构
1)网络传输层。网络层是整个体系结构的物理支撑,各类数据资源通过网络通道进行数据传输,并对外提供服务。
2)信息资源层。网络层上面就是资源层,包含各类数据资源、服务资源和信息资源,是信息资源目录服务整合的对象。
3)整合服务层。该层是信息资源目录服务体系的核心层,所有的信息资源在该层中被封装成Web服务,并在资源整合服务中心进行注册后发布。用户通过服务中心提供的服务发现资源,通过请求服务调用并获取资源。
4)门户应用层。是已注册并发布的信息资源目录服务的展示与应用层,为用户检索、查找、获取资源服务提供了接口,也为管理整个目录体系提供了有效途径。
1.2.2 交换中心的实现
数据交换中心采用Web Service 技术包装组件和应用系统,将系统的数据展示和需求都视为服务,通过服务的请求和调用实现系统间的数据交换和共享。[5]
1)交换中心优点
一是保证了信息资源的时效性。应用系统并不是将数据复制到数据交换中心的中心数据库,而只是以Web Service 的形式发布出来。当用户发出服务请求,应用系统调取相应数据经过数据交换中心直接传递到用户。
二是实现了系统之间的低耦合性。当数据格式变更或数据增加,只需要发布新的Web Service,用户调用服务就可以获得最新数据。数据交换中心和客户端,都不需要做任何改动。
三是提高了系统和数据的安全性。数据交换中心配备安全平台来保证系统和数据的安全。应用系统需要查询或更新数据时,必须通过安全可信的Web Service发出服务请求,在权限管理的控制下来进行数据交换和数据传输。
四是提供了很好的互操作性。数据交换中心采用Web Service 技术,在简单对象访问协议SOAP的基础上,通过XML实现跨平台数据安全交换,通过Java 实现跨平台代码交换,建立了各应用系统的接口标准和服务标准,实现了良好的数据封装、交换和共享。
2 单点登录的原理及实现
单点登录SSO(Single Sign-On),即用户完成一次系统登录并通过认证后,就可以访问多个不同的应用系统,而无需多次登录认证过程,大大简化了用户使用多个应用系统时的操作。IBM对SSO有一个形象的解释“单点登录、全网漫游”[1]。
SSO将企业多个应用系统的登录用户名和密码集中管理,不仅减少了用户频繁登录操作的麻烦,免去用户记录多个用户名及密码的痛苦,也大幅减少了系统管理员的工作量,如在多个系统中增加、删除、修改大量用户,管理用户权限甚至同步各个系统用户资料等。很多国际上的企业已经将单点登录作为系统设计的基本功能之一。
SSO可采用多种机制实现,常见的主要有采用Cookie实现和采用Session实现。目前有很多成熟的商业软件可供用户选择,如Netgrity的Siteminder、 Novell 公司的 iChainRSA公司的ClearTrust等。这些商业软件通常功能完善但价格较高,一般适用于对SSO要求较高的客户,且因为通常还需要在应用软件中增加代理模块,对客户自己的应用系统支持未必十分完善,实际应用中可能还需要进行一些修改。本文选择的CAS是一款开源单点登录产品,采用了Cookie机制实现单点登录。
Cookie是一种客户端机制,它将用户访问网络应用系统过程中部分数据存储下来,如用户名、用户访问时间、访问路径和域,Cookie的作用范围由用户的访问路径与域构成的。
单点登录同样可分为“服务端”和“客户端”,服务端就是单点登录服务器。首先要在用户登录系统的终端应用程序中安装相应的“函数库”或者“插件”,或者将“函数库”或者“插件”写在代码中,这样就将原应用程序的登录认证代码替换成了单点登录的客户端。
用户在新的办公系统的登录页面上输入用户名和密码后,系统直接访问单点登录服务器对用户名和密码进行认证。认证通过之后,单点登录服务器采用Ticket机制进行某种授权,从而实现与应用程序的交互。授权完成后,页面自动重定向,回到办公系统首页,就完成了登录操作。此时单点登录服务器会在客户端生成一个加密的Cookie,用以保存用户登录数据。再进入其他应用程序时,之前安装的单点登录客户端,会自动重定向到单点登录服务器,寻找Cookie。根据Cookie中存储的数据在后台自动登录,并返回其他应用程序的相应界面,不再要求用户输入用户名和密码。
图2 使用Cookie实现单点登录的原理图
实现单点登录的过程中,通过http仅传递了用户名,并未传递密码,相对还是比较安全的。
3 办公系统
传统的应用软件系统是由若干子系统组成,而每个独立子系统又是由若干业务模块组成。而在基于面向构件开发的过程中,业务构件就对应着模块这个层次,业务构件是最大粒度的可复用构件单位。在面向构件的方法论中,要求对子系统按照业务构件的分割原则进行分割,使子系统由一个个相对独立自治的业务构件组装而成。
办公系统采用受控的自由流转形式,既避免了固定流转在适用对象上的局限性,又避免了自由流转的随意性。所谓受控的自由流转,是指对用户发送对象进行有限制的发送而进行的文件流转。通常情况下,用户间可以在一定范围内自由相互发送。特殊情况下,通过限制发送对象,系统不但广泛适用于各级各类大小部门办公需要,而且也确保了文件流转的严肃性。
系统以“角色”作为用户权限划分的依据,无需对每个用户单独设置操作权限,系统管理员只需对用户确定相应的角色,系统就自动完成了用户权限的设置系统可根据各部门的实际情况,灵活定义系统的组织机构结构,可适合各级各类企业的需要。
系统在缺省情况下设置一名系统管理员,负责系统数据和用户、权限、信息分类等数据的维护管理,也可以通过增设部门管理员,负责本部门的维护管理。系统通过采用集中与分散相结合的维护管理机制,不但减轻了系统管理员的工作量,而且确保了各类数据维护管理方便高效。
系统由“公文处理”、 “辅助办公”、 “会务管理”和“资料查询”等四个子系统组成。本文就不一一阐述了。
4 小结
基于 SOA(Service-Oriented Architecture)即面向服务架构研发系统,避免了“紧偶合”、“封闭式”、“确定性功能”等不利系统发展因素,具有灵活多变的特性,扩展性、移植性好,且充分利用丰富的第三方控件,加快应用系统开发速度,缩短研发进程。本文简要介绍了基于SOA架构为特定企业研发整合应用系统的部分设计及关键技术,为系统研发人员提供了一个参考。
本文所涉及项目乃适用于特定企业模式的整合系统,已在企业中大范围应用,并取得一定管理效益。目前在特定企业中尚无同类规模、技术先进、功能完善的整合应用系统,对行业发展起到一定的启示作用。
参考资料
[1] 《基于CAS单点登录系统的研究与实现》,于龙海
[2] 《SOA架构的电子政务综合应用服务系统方案研究》,《数字通信》2009年第05期,王永;潘东;缪秦;
[3] 《论企业信息资源的整合》,《计算机系统应用》2007年10期,王昕 都金鳌
[4] 《普元EOS概述》,普元软件有限公司
[5] 《Web服务及相关技术》,《计算机应用与软件》2004年3期,吴文明 瞿裕忠 董逸生