首页  ·  知识 ·  
SOA在企业信息门户系统中的应用
张灵社      编辑:dezai   图片来源:网络
本文在基于SOA体系的基础上,提出一种企业部门信息集成框架;通过对该平台的实现和分析,在引入XML/网络服务技术的同时,改进XML关系模式与文档模式的相互转换技
 一、引言

  随着信息技术发展与应用的逐步深入, 国家信息化工作的重点之一就是持续推行企业信息系统,因为缺乏统一规划管理和技术限制,在以往的各级企业部门信息系统建设中,每一个部门所构建的应用信息系统往往是彼此独立的关系,难以与另外的部门之间进行方便的信息交换,导致企业部门的办公效率受到了严重影响,所以,如何实现企业部门的企业信息系统系统升级成为一个可扩展的服务平台,从而能够灵活地实现企业内部跨部门之间的数据交换问题和应用集成问题,是对当前处于系统资源整合阶段的企业信息系统系统的新的要求和挑战。本文在基于SOA体系的基础上,提出一种企业部门信息集成框架,具有很好的理论价值与实践意义。

  二、SOA概述

  所谓SOA,指的是面向服务的体系结构,作为一种新软件体系结构,SOA以服务功能模块为基础。应用程序的功能单元在这种结构中实现了服务化,应用系统的各个功能通过组合不同的服务来构成。因为构建系统功能是通过组合服务来实现的,而不同的服务又可以拥有不同的编程语言,不同的运行环境以及不同的操作系统,因此面向服务的体系结构可以最大限度的实现一个基于松耦合框架的系统。

  SOA 结构概念提出了一个全新的松耦合的软件体系模型结构。这个新的SOA结构模型能够充当相比于传统的面向对象模型的更高的层次的模型。面向服务的体系结构在面向对象的基础上,以新的软件体系结构,封装功能模块,使之成为服务,由此达到了高层次的复用效果,实现了通用和复用。

  目前,不少企业部门的企业信息系统系统存在“孤岛”现象,在以往的解决方案中,为了集成这些异构系统,需要具体供应商专有的解决方案的支持。尽管在集成孤立的系统时,可以使用专有通信技术,但具体的应用则会愈发依赖于软件供应商。而且由于维护专有的标准和协议需要另外的相当数量的资源,为系统今后的扩展带来很多困难。而本质上来说,面向服务的体系结构是有特殊性质的,它由具有位置透明和互操作性的组件互连集成构建而成。在现有系统架构投资的基础上,面向服务的体系结构可以发展起来,用户不在需要对全部的子系统进行重新彻底开发。通过利用当前系统己有的资源开发人员、硬件平台、软件语言、应用程序和数据库,面向服务的体系结构能够实现现有的系统和资源的重复利用。SOA 是一种灵活的、可适应的体系结构,基于面向服务的体系结构的系统能够缩短开发和维护时间,使企业信息系统系统开发的成本和风险有效降低。可以说,面向服务架构针对企业信息系统集成应用,是目前最好的选择。

  三、现有系统分析

  下面对笔者所在企业的信息系统进行介绍。笔者所在的高校包括财务、人事、科研、医疗、后勤等管理子系统。虽然现有系统的使用增强了信息化水平,提高了办公效率,但不可忽视的是:这些系统也存在着不足。具体有:

  (1)不少信息系统年代久远,由于没有充分考虑现实的网络应用环境,某些系统只能运行在单机环境中。

  (2)由于现有的系统,建设的人员和单位不同、建设时期不同、采用的数据标准和结构也不同, 因此,在这些系统进行信息共享时,数据的转换导致了系统的低效。一些数据无法实现同步更新,需要进行人工修改,增加了工作量,造成数据不一致。

  (3)在建设现有的管理信息系统时,主要使用了低内聚、高耦合方式的面向过程的程序设计方法,模块无法在其它系统中重用, 导致了部门之间的无法共享和重组业务。

  四、传统集成方案分析

  (一)COM/DCOM方案

  COM允许客户与对象透明地通讯,客户完全是通过接口指针访问对象,采用HTTP协议和TCP/IP协议通信,但跨平台应用有限。

  (二)CORBA方案

  CORBA的对象封装内部的操作细节,向外界提供接口,从而建立分布式异质的应用环境,实现互操作性,但实现过程复杂、缺乏开放的标准。

  (三)J2EE方案

  J2EE是基于标准的平台,提供了端到端的多层应用架构,也可以跨平台部署。但J2EE的EJB开发和维护代价较高,受到防火墙的限制。

  以上的传统集成方案面临的困境有:

  (1)传输协议与组件藕合紧密。虽然解决了耦合问题,但没能实现传输协议与组件的分离,导致“牵一发而动全身”的结果

  (2)非标准化业务组件调用。业务组件的调用方法不同,整合增加了难度。

  (3)数据源的异质性及数据存取方法的非标准化使整合开发面临挑战,数据访问API过多,容易引起编程困难。

  (4)缺乏灵活性的整合模式,业务需求的变化无法快速适应。

  (5)传统系统整合难以重用现有的系统,导致资源浪费。

  五、面向服务的信息系统集成设计

  (一)需求分析

  在调查分析的基础上,企业信息系统信息平台业务需求实现目标主要有以下几点:

  (1)作为企业部门的企业信息系统系统,一要从各信息系统获取数据,二要加工,处理各种数据, 向上级的部门报告。数据的发送与接收是其核心环节。由于涉及到的数据量比较大,手工准确性得不到保障并且处理效率低下,所以需要实现准确的传输与交互,海量数据的快速。

  (2)对于企业部门的各类信息系统包括财务、人事进行维护管理,完成这些系统之间的信息交互。

  (3)尽可能的重用原有系统,构建统一的认证平台实现系统的信息共享与互操作。

  (二)系统设计原则

  1.充分体现数据集中与分布

  目前,企业部门内部的财务系统、办公系统等业务处理模式是各自为政,条块分割,新系统的设计必须体现信息共享与应用。

  2.充分正视网络的复杂性

  企业部门信息系统的接入接点比较多,对象的数量大,不少系统都需要接入到这个系统中来,如何减少建设成本,保护现有各部门网络资源,是建设的重点。

  3.充分保证网络和数据安全

  首先是系统的数据安全,集中了数据,数据集中点的安全防御和数据库的安全就非常重要。其次是网络安全, 由于网络互联之后的规模变大,怎样设计网络系统结构,引用新技术,是值得考虑的问题。

  4.遵循业界规范和标准

  系统需采用面向对象的方法统一设计体系结构, 同时能够满足各种需要接口方案。

  (三)系统架构设计

  1.系统结构设计

  下图所示为系统的结构设计:
 

点击图片查看大图

点击放大图片

  由图可知,企业机关内不同的部门之间在业务系统不变的情况下,应用Web服务技术以及SOA架构, 同时构建必要的数据接口,该接口为共享数据发布服务使用服务描述语言,同时在服务注册中心描述发布请求者查找和使用, 以这样的方式实现不同部门之间数据共享。

  下面对图中模型各部分进行阐述:

  (1)系统用户。在系统用户的终端上运行Internet浏览器,通过浏览器为办公人员提供具体服务。由于本文所设计的系统主要面对企业内部人员,因此需要给各个部门人员提供各自的入口。

  (2)企业信息系统信息系统。企业内部不同的部门在政务审批UDDI中注册各自的服务信息,服务的获得通过对服务的查找来实现, 由于部分服务涉及到保密,所以并非全部系统均可对注册的服务任意的调用,用户的服务访问权限需要通过注册中心获取。以下阐述其具体实现流程:这些服务的提供者和服务的需求者之间的中介用ESB实现,ESB的功能是处理提供者和服务的需求者之间的连接任务, 目的是对使用者和提供者连接进行简化,使用者直接与服务提供者通信是不容许的,必须通过中间件系统来实现,系统将处理与服务提供者交互、与服务提供者协商集成定位服务提供者等所有的细节操作。在企业信息系统系统之上运行各个部门的子系统,包装所有子系统被共享的功能,使之成为一个整体的信息服务,提供外界所需的信息,结合具体需求创建Web服务。

  首先,在WDSL的支持下,所有的部门描述业务,并将其向注册中心发布。在具体的发布过程中,通过注册服务器的身份验证,服务提供者实现发布和修改服务描述信息。

  2.系统层次设计

  本文所设计的系统采用基于SOA技术体系的三层架构:数据层、应用层及表现层:

  (1)表现层设计

  结合企业部门内部的职责权限和组织结构,不同的部门维护不同的内容。所以,根据内容和权限的不同,本系统设有不同的管理后台以针对不同部门,这样,不同部门的工作人员登录后,结合其具体的权限职责,会自动生成个性化的界面。

  对于本文所设计的企业信息系统门户而言,包括的功能模块有:信息发布系统、企业信息查询系统、企业信息类别管理系统、企业信息审核管理系统、企业信息自动匹配系统、企业信息定制系统、企业信息知识管理系统等等。

  通过有效使用功能模块,可以实现企业内部的信息交流、发布、共享的初步集成,此外,此系统还具有良好的扩展性和开放性,基于“模块化”.Net架构设计,根据需要,可以不断扩展。下图所示为信息门户系统功能结构。
 

 

(2)支撑层的设计

  应用支撑层主要包括两部分:服务控制和业务逻辑,对于业务逻辑层而言,内部涵盖了企业工作所特有的流程业务和逻辑,因此属于重要的一部分,业务逻辑能合理的分配企业的资源;实现门户应用逻辑。

  本系统处于便于统一管理和应用的考虑,统一放在Web服务器中放置开发出来的Web服务,并将web服务的集合称作Web服务仓库,如下图所示。
 

结合不同系统的具体业务逻辑,从Web服务仓库中提取一些所需的Web服务进行组合,当一个业务流程完成后,返回给表示层最终执行结果。

  松耦合性是SOA的一大特性,开发每个Web服务均是独立的,完全可以使用不同的技术在不同的阶段进行开发,可以进行Web服务之间的嵌套调用或者互相调用,形成Web Services更加全面的功能,最终构建Web服务链。

  (3)数据层的设计

  数据层的功能是对企业部门中的各类数据统一处理,具体的数据包括应用数据、内容数据等。由Web服务提供系统的数据访问层,通过Web Services,其他部门子系统数据访问进行连接,并提取数据,这种做法的优势在于增强了网络中数据库服务器的自由度,即可以指定网络中的任意一台服务器作为每个系统的数据库,最终实现最大化的数据共享; 为增强网络硬件的灵活性,本文的做法是提供一个专用的Web服务器,实现在系统开发过程中共用服务、协作开发。

  本系统是数据库采用SQL Server,原因在于sQL Server能为结构化数据和关系型数据库提供数据库引擎,也可以方便地与微软的.NET平台实现紧密集成,从而可以进行企业级的数据管理。对系统数据库中的基表按照功能模块进行设计,本系统包含的数据表有:

  1)Users:系统用户信息表
1)Users:系统用户信息表
 

点击图片查看大图

点击放大图片

  2)SubSystem:子系统表
 

点击图片查看大图

点击放大图片

  3)网络服务表
 

点击图片查看大图

点击放大图片


4)网络服务方法表
 

点击图片查看大图

点击放大图片

  5)功能模块表
 

点击图片查看大图

点击放大图片


6)应用程序表
 

点击图片查看大图

点击放大图片

  (四)系统接口设计

  1.接口流程

  检测接口模块的流程图如下图所示。该流程的实现思路是:

  通过进行统一认证服务验证,判断用户是否拥有访问系统的权限,如果检测通过,则开始数据的发送和接收,通过调用对方信息系统的Web service接口,接受数据,进行必要的转换之后进行存储。在需要进行系统间的数据交换时,发送方的信息平台结合对方信息平台所规定的格式处理数据,使之成为符合对方数据平台要求的报表,在此基础上将其转换为XML格式的文件。访问对方平台的服务接口,通过Web调用的形式发送数据。

  2.数据交换的实现

  具体的实现思路是:1)接收数据的一方为发送方建立用户,同时制定以标准的XML格式存储的任务列表及上报计划;2)发送方使用合法用户名和口令登录到接收数据的一方系统服务器,获取数据传输的标准及数据文件;3)由接收数据的一方系统产生符合标准的XML格式数据,上传到对方系统, 由对方系统确定无误后汇总入库。

  (1)对数据实现串行化

  数据串行化指的是把数据对象写入XML文档,如下图所示。
1)对数据实现串行化

  数据串行化指的是把数据对象写入XML文档,如下图所示。
 

点击图片查看大图

点击放大图片

  串行化数据对象的时候使用的是Xml.Serialization.xmlSerializer类。第一步需要构建一个写入流,写入流类型可以是以下中的任何一种:Text Writer,Stram,Xml Writer,然后,用流对象和需要串行化的对象作为参数,调用Serialize方法(在Xml Serializer中)。

  (2)数据的反串行化

  数据反串行化指的是把XML文档写入数据对象,如下图所示。串行化数据对象的时候使用的是Xml.Serialization.XmlSerializer类。首先构建一个读入流作为参数, 再用调用Deserialize方法(Xml Serializer中)。
 

点击图片查看大图

点击放大图片

  六、结束语

  本文在基于SOA的管理信息系统集成的基础上,提出一种企业部门信息集成框架,最终实现一个通用的企业部门信息集成平台,从而消灭信息孤立的现象,给出一个基于SOA的分布式信息系统集成设计方案。

 

本文作者:张灵社 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读