首页  ·  知识 ·  
基于SOA体系的企业系统协同平台
田广 唐宁 张岩       编辑:dezai   图片来源:网络
企业对信息系统需求的不断深化加剧了企业对信息技术〔软件系统)的依赖,同时也迫切需要企业不断发展自身的信息化水平。企业的应用系统也从以前的比
企业对信息系统需求的不断深化加剧了企业对信息技术〔软件系统)的依赖,同时也迫切需要企业不断发展自身的信息化水平。企业的应用系统也从以前的比较单一的状态发展到了多种应用系统的并存,各个企业系统的相对独立运行现状已经不能满足企业在跨业务系统协同工作方面的迫切需求,因而如何实现现有企业应用系统协同工作的问题日益成为企业关心的重要问题。企业现有系统从时间跨度来看,各个应用系统的建设时间跨度较大,各个业务系统的业务规则和数据规范没有统一标准;从系统的体系架构来看,各个应用系统之间没有使用统一的技术标准体系,系统集成难度较大。各软件开发技术、组件技术、协议的多样性以及各厂商开发的特定的技术、数据格式和数据的结构有很大差异;没有统一的技术框架,各个厂商引入不问的技术框架,无法实现互连.互通,缺少统一的平台支撑,很难快速响应业务需求变化,应用系统缺少规划,各个项目各自规划,维护部门工作强度高,软件开发商难以管理,项月过程无法控制,缺少软件知识积累,无法降低未来系统建设的资金投入等方面的问题都给现有信息化建设提出了新的挑战。要能够解决企业现有各应用系统集成就必须解决好符合国际、行业标准;统一组织机构、权限;统一数据标准和规范:统一开发/运行平台:统一业务流程管理;统一企业门户;个性化定制等几个方面的问题。针对这些需求,本文在分析研究SOA体系的基础上,提出了基于SOA的企业协同平台,以解决在信息化建设过程中出现上述问题。

  1、SOA技术体系分析研究

  SOA(service-oriented architecture,面向服务的体系结构)是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA是一个构件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

  面向服务的体系结构((SOA)鼓励每个逻辑单元相互独立但不孤立。这些逻辑单元仍然要遵守一系列的准则,这些准则允许他们独立发展,同时也保持着足够的共性的共同的标准。

  SOA和其它级架构方法的不同之处在于SOA提供的业务敏捷性。业务敏捷性是指对变更快速和有效地进行响应、并且利用变更来得到竟争优势的能力。创建一个业务敏捷的架构意味着创建这样一个IT架构,它可以满足当前还未知的业务需求。

  2、基于SOA体系的企业系统协同平台

  所谓企业系统协同平台,就是通过现有的基于SOA的系统集成、整合技术,将各个异构系统的相关功能和信息等集成到统一的工作平台之中,使资源达到充分共享,实现集中、高效、便利的管理。协同是一种思想、观念和哲理,是一种指导信息系统的总体规划、分步实施的方法和策略。

  2.1协同平台技术架构

  协同平台技术架构是一种基于SOA体系、理念搭建的企业协同平台技术框架,完全符合SOA的思想和标准。具体框架如图l所示。图1的协同平台技术框架在组成上可以大致划分成支撑平台、应用平台、应用模板3个层次.

 

支撑平台:提供构件开发和管理的基础架构.提供面向统一架构,统一规范,统一页面,统一管理的基于编程的、面向开发人员的TT基础设施功能。

  应用平台:协同系统的平台性模块。它又粗略地分成2个层次,越靠近上部的,应用特征越明显,越靠近下部的,平台特征越明显。该层次注重提供基于配置的个性化功能,由实施人员或最终用户掌控。因此,该层次的很多模块的设计思路都是模型驱动的.

  应用模块:最上层是应用系统。应用模块的主要通过3个方式实现:①下层模块的混搭(mashup),特别是基于轻量级门户系统的混搭:②下层模块的客户化;③基于支撑平台的定制开发,这主要是针对专有的业务功能。

  这种协同平台技术平台主要具体以下特点:

  (1)较强的扩展和定制能力:扩展和定制能力是蔽得系统适应变化的首要特性。通过图形化的定义,而不是编程来实现扩展,就像工作流技术实现了非编程化的流程维护一样。非编程的扩展能力可以满足80%的定制需求。同时通过编程的方式,通过调用系统地API来实现扩展,从而满足20%的要求比较高的定制需求。

  (2)亮点技术的采用:将全文检索技术、单点登录技术等成熟的技术整合进来,增强产品的技术特色,对客户产生吸引力。基于成熟的工作流平台好电子表单功能,这样也能将工作流的优势真正发挥出来。

  (3)完善的SOA应用。

  2.2企业协同平台功能设计

  根据二院目前信息化需求和业务特点,基于SOA的企业系统协同平台在功能上主要可以分为:统一用户、权限管理,统一集中的任务列表和流程管理、流程协作,统一用户界面框架、个性化展现,统一管理监控需求,统一信息发布,搜索引擎,统一业务字典管理和基础数据规范,集成异构的数据资源,集成通用的应用协议,共享数据的访问,符合分级保护的安全机制等几个方面。

  (1)统一用户、权限管理

  通过统一使用人力资源用户作为唯一用户源,或者采用建立统一用户库同步人力资源系统用户的方式,来建立企业统一用户库来统一规划管理现有业务系统的用户源,使各应用系统身份信息自动保持一致。通过Portal这个统一的入口、利用单点登录身份认证网关技术实现对后台多个应用系统的统一访问.解决了现有各业务系统网状身份架构带来的问题.如图2所示。

 

 在访问安全控制方面,用户浏览和定制时,只能选择和查看自己具有访问权的信息资源。当输出资源时,框架验证用户对使用请求的资源适当的权限。通过对用户和组授权,通过访问控制表(ACL)方便地配置整个门户网站内网站资源的访问权。

 在权限控制方面,门户服务器通过继承和传播机制支持级联授权,权限管理中支持权限的委托,一方面管理员可以把自己的权限委托给其他子管理员管理,另一方面权限管理可以全部委托给外部访问管理服务器进行访问控制。(2)统一集中的任务列表和流程管理、流程协作

  通过建立统一的门户平台框架,采用统一流程建模工具、统一流程驱动引擎、统一汇总分发代理模块,利用构件化软件开发技术,把现有业务系统和未来建设的系统有效集成,完成各系统在门户平台框架内的应用整合,实现各个系统之间流程传递、关联运行的要求。

  基于流程的集成,是把应用分解为应用服务、流程逻辑、消息传递3个层次,能将业务流程逻辑从应用中剥离开来,使业务流程管理人员可以专注于业务流程自身的优化组合。

  实现跨系统、跨组织结构的流程自定义;提供简单、易用的图形化流程定义工具:监控流程,查询流程状态,支持工作流超时催办;工作流引擎要支持顺序流程、分支、并发、选择、循环等多种控制逻辑。

  协作领域对主要应用包括:内容聚合:将内容管理系统中的信息展现在用户界面上,形成信息门户或知识门户。应用聚合:通过聚合技术机制,将应用组织在页面中。典型的应用聚合包括:待办工作、收件箱等。界面模版定制:通过DreamWeaver来定制界面格式。个性化:用户或部门定义自己的个性化门户上的内容。

  (3)统一用户界面框架、个性化展现

  统一界面框架是指门户系统内展现的各类信息都必须在门户统一的界面规范要求下进行组织,给用户一致的体验。通过模板定义实现门户界面风格的统一,门户服务器自带了几十种模板可以即时使用,用户也可以通过可视化界面修改这些模板或者重新定义符合各个公司要求的门户展现风格。门户服务器应能够实现终端分辨率的识别,展现内容布局能自动适应标准的终端显示尺寸大小。

  个性化功能是指信息门户可根据用户的需要、喜好、特点甚至是特定的规则,向不同的用户群组或用户个体提供不同的内容,以更好地为用户服务。

  门户的个性化展现的主要内容分布局个性化、菜单个性化和风格个性化:

  布局个性化是统一信息平台提供的页面布局管理,用户可以根据工作内容的重要性、工作规律、个人习惯、个人喜好等随意调整自己的页面布局。而且布局管理只需通过相关的配置页面,即可实现个性化的页面配置。

  同时用户可以看到页面中各个内容所在的区域以及它们的排列顺序,用户可以通过更改这些内容所在的位置,将页面中的各个内容在页面中的位置以及排列顺序进行调整,定义自己所需要的页面布局,同时您还可以对页面中各列的宽度进行调整以适应整个页面布局的美观性。

  平台将根据航天二院特色,为航天二院定制以及制作相关的Banner、图片风格等,在使用过程中,用户可以通过列出的模板和按钮选择自己喜欢的页面颜色和显示风格,轻松的达到美化页面创造个性化的目的。

  (4)统一管理监控需求

  应用系统各个层次进行监控和管理。用户通过Web界面即可实时监控应用系统的各项运行参数,快速诊断和修正系统运行时的错误及异常,用更少的维护成本确保系统正常发挥作用。监控内容包含:应用服务监控、工作流监控、在线用户监控,Log监控、故障追踪等。

  (5)统一信息发布

  统一管理各业务系统的新闻类信息的展示和发布:提供足够的可配置性,适应不同领域的需求。涵盖了信息的创建、组织、审批、发布、归档和共享。

  主要功能包括:信息分类和元数据管理;信息存储管理;信息生成和修改过程管理;信息检索和查询;Web信息管理;与信息有关的权限管理。

  (6)搜索引擎

  通过信息检索功能使用户可以迅速地获得需要查找的信息。它的特性包括:能从相关的信息或分类目录对信息进行查询。可以以简单及高级的检索条件进行检索,并可设定搜索模板。提供其它的快速获取信息的入口,例如对自己创建的信息或最新的信息进行归结并提供快捷方式。

  (7)统一业务字典管理和基础数据规范

  通过建立统一的规范的业务数据字典,以及标准的基础业务数据规范.来逐步统一、规范各业务系统的元数据,给异构系统的集成提供数据保证,并规范未来新系统的数据准则。

  (8)集成异构的数据资源

  基于数据库级的交换集成,是在业务系统授权许可的条件下,直接访问各个业务系统的数据库,执行纪录的增、删、改、触发器等的操作,从而实现数据同步和数据通信的目的。

  (9)集成通用的应用协议

  基于通用协议的集成,是在应用系统提供标准应用程序接口的条件下,直接访问各个应用系统的应用程序接口,通过简单的配置操作就可以实现多个业务模块的集成。

  基于通用协议的集成支持的通用协议包含:Web Services,EJB, COM, HTTP, Socket等,

  (10)共享数据的访问

  基于共享数据的访问,是根据应用系统的访问权限,使应用系统能够通过平台统一、透明、高效地访问位于各种数据资源。

  数据采集:由数据抽取工具完成,支持异构数据源或数据访问接口,支持数据清洗、数据比对、数据校验、数据转换等处理。

  数据同步:支持异构数据源之间的数据复制,应支持实时、定时、订阅/发布、手工等数据复制模式。

  安全访问:对共享数据进行访问权限设置。

  共享接口:对于共享数据的访问,提供多种访问接口,如数据库接口、应用访问接口等。

  (11)符合分级保护的安全机制

  系统根据分级保护的要求,应用了基于规则的权限管理技术,所有具体的操作都需经过事先设定的规则过滤,确保用户只能操作规则允许范围之内的数据。

  2.3基于SOA体系的企业系统协同平台的关健技术

  基于SOA体系的企业系统协同平台的关键技术主要包括SOA和异构系统集成技术两大部分。SOA的各种思想己经充分体现于系统协同平台的架构之中;异构系统集成技术是分别通过构件、应用, Web不同层次集成技术实现与现有异构系统的集成,从技术上实现和支持业务流程的系统平台上进行协同。异构系统集成技术框架如图3所示。

 

 
异构系统集成技术框架主要包括构建层集成技术、应用层集成技术、Web层集成技术3个层面,从应用系统的各个层面、角度实现异构系统的集成。现有各应用系统可根据各自的技术特点分别采用不同的层面的集成技术来实现。

  (1)构建层集成技术

  构建层集成技术是一种基于底层构建、编码方式来调用JCom, Socket, IIOP等技术标准来实现的集成技术,主要用于底层业务、数据的集成。如图4所示。

 

  应用层集成技术是在系统的应用层通过Web Services,JMS/MQ等方式实现的系统集成技术,通过不同业务服务的调用和推送来实现各业务在各应用系统的集成,是SOA体现的核心技术之一如图5所示。
 
(3) Web层集成技术
 
Web层集成技术是通过HTTP/S, Portlet技术在Web实现业务系统的集成,是对构建层、应用层集成技术的有效补充。如图6所示。

  3、系统实现

  3.1统一身份认证的实现

 
协同集成框架基于普元EOS架构,其实现集成框架系统与现有多业务系统之间的统一身份认证与单点登录。与采用了第三方开源框架的合同管理系统互联为例,其实现的单点登录的技术原理图如图7所示。

  ?数据流图

  以用户一次远程调用外围系统的业务功能为例进行说明数据流图,如图8所示。

 

(1)用户登录后,发出一个向计划与车辆管理系统业务功能的bttp请求;

  (2)车辆管理系统中的过滤器filter截获到http请求;

  (3)车辆管理系统中的filter进行如下操作:①判断是否是SSO请求模式:②如果是SSO请求,判断Session是否有效:③如果此次Session有效,进入步骤4;④如果此次Session无效,则采用WebService方式调用集成框架的SSO验证服;⑤验证服务返回之后,如果正确,则集成框架系统进行模拟登录服务。

  (4)车辆管理系统中的filter完成过滤之后,调用相应的业务功能。相当于用户已经登录到远程的计划与工程管理系统。

  ?SSO验证服务

  集成框架系统中提供一个SSO验证服务给外围的各个系统远程调用。我们可以通过EOS开发一个验证SessionID是否存在的业务逻辑,通过EOS开发出来的所有收务逻辑可以直接发布成为WebService服务,供外部个系统进行调用。

  ?过滤器filter

  过滤器filter是部署在远程的各个业务系统上,主要提供以下的功能验证Session是否有效、采用WebService方式调用集成框架的SSO验证服务、调用模拟登录服务。

  ?模拟登录服务

  登录服务一般来讲,包括用户身份校验和初始化Session数据两个业务逻辑。我们这里的模拟登录服务是为了配合SSO单点登录功能,不必要作用户身份校验(已经调用了SSO验证服务),只作初始化Session业务逻辑。 3.2企业系统协同平台与Lotus OA的系统集成实现

  协同办公管理平台与厂所OA互联,厂所基于Domino的OA系统。Domino是一个比较独特、比较封闭的系统,日益正成为建设协同管理的障碍。迫切需要采用一种更通用、更开放的面向构件的技术平台来支撑。与厂所互联,需采用Lotus Toolkits从外部得到Domino/Notes系统中的数据、对象。使用NotesIDomino 工具中的Lotus Toolkit for Java/CORBA。Toolkit for Java是一个for Java的工具包,能实现对Notes数据库中数据对象的处理,并对数据元素具有一定的处理能力;

  (1)数据处理:

  文档:新建、拷贝、修改、删除、发送(作为邮件);

  视图:相当于记录集,可以用于获取文档或视图显示记录;

  域:新建、修改、删除,支持RTF域、附件的处理:

  数据库:新建、拷贝、复制、删除。

  (2)ACL控制。

  (3)设计元素:可以获取、运行、删除代理;可以获取并删除视图、表单(包括字表单);可以创建大纲,并向大纲添加多个条目。

  这个工具包命名为Toolkit for Java/CORBA,是因为在处理本地Notes数据库和远程数据库两种不同情况时,使用的技术有所不同。但在程序实现的接口上,两者基本相同,使得相同的代码实现可以适应不同的环境,为开发带来了便利。

  (1)访问本地Notes应用

  使用环境:既然是访向本地Notes应用,无疑是安装了Domino/Notes软件的。此时,需要将notes.jar添加到classpath中(在Domino/Notes运行环境中会自动添加)。程序将使用notes.ini来获取当前用户。如果用户启动并且进入Notes客户端,当前用户ID设置为允许Notes外接程序共享标识符口令,则不用再次输入密码。

  工作机理:当从Java程序中使用本地Domino类时,实际上是通过瘦Java层直接访问了Domino后端用C++实现的代码。Java使用JNI机制来访问在动态链接库中的Domino类,Domino的代码被装载入JVM的进程中。从性能角度来看,这是最好的选择:这提供了在Java和C代码间的最快的连接,所有的东西都在同一个内存空间中。但是Domino要求对每个线程的初始化和结束做特殊处理(与C/C++ API类似)。

  本地的Domino对象库提供了一个类,lotus.domino.Notes-Thread来自动的完成这种初始化处理和结束处理。如果使用NotesThread而不是java.lang. Thread来创建一个线程,Domino所需要的init/term调用都自动被执行。同时,Notes-Thread也是从Thread派生出来的,没有减少任何功能。如果使用NotesThread来创建线程,则需要调用NotesThread类的两个静态方法:sinitThread()和stermThread(),来完成初始化和结束处理。

  (2)访问远程Domino应用

  使用环境:只需要将NCSO.jar添加到客户端的classpath中就可以了,不再需要安装Notes客户端或者Domino。需要目标Domino服务器启动HTTP和DIIOP服务。在这种情况下,Domin。会根据用户所提供的用户名/密码来验证用户身份。

  工作机理:Domino使用CORBA技术来实现Java程序对远程对象的访问。在这种情况下,Java程序不再需要在JVM的进程空间中访问任何Domino的C/C++代码,因此不需要做线程初始化和结束处理。因此,可以实例化Session对象、Data-base对象,使用类似于连接池的技术来重用这些对象,提高访问效率。

  总之,Lotus Toolltit for Java/CORBA使用户可以摆脱对Notes客户端的依赖,自由地访问远程Domino服务器。同时它对Notes数据以外的对象处理能力有限,系统安全性相对较弱,性能上要低于C/C++ API。建议在网络环境比较安全、对数据访问速度要求不是特别高的情况下使用。

  (3)企业系统协同平台与收文的集成效果图如图9所示。

 

4、结束语

  本文在分析现有业务系统协同工作需求的基础上,通过对SOA技术体系的分析研究,构建了基于SOA体系的企业系统协同工作平台;基于SOA体系的企业系统协同工作平台主要包含协同平台技术架构、企业协同平台功能设计和关键技术3大部分。协同平台技术架构基于SOA体系建立的一种企业协同平台技术框架:企业协同平台功能设计根据目前信息化需求和业务特点进行功能规划;关键技术则是对各异构系统集成技术解决方案。通过基于SOA体系的企业系统协同工作平台的建设,能很好并解决现有业务系统在统一工作协同、统一系统技术体系、基础数据标准和规范等方面的需求,并给未来信息系统建设提供关键统一技术路线。

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