SOA解决方案(精选9篇)
SOA解决方案 第1篇
一汽轿车成立至今, 先后实施了ERP、MES、SCM等十多套应用系统。但这些应用系统彼此孤立, 不能实现信息共享、业务流程自动化和统一的业务监控, 另外其原有的数据集成采用点对点的方式, 造成集成接口复杂、难以扩展和维护, 偶尔还会出现数据丢失又定位异常的问题。
针对上述问题, 我们提出一套完整的SOA集成解决方案, 该方案首先通过建立标准的业务对象模型实现系统接口的标准化, 其次使用成熟、商用的SOA集成中间件搭建了三条集成总线, 即企业数据总线, 实现数据集成, 解决信息孤岛问题;企业服务总线, 发布不同系统提供的业务服务, 屏蔽不同系统在通信和数据上的差异;企业业务流程管理总线, 实现企业业务流程的编排和智能化运行, 解决流程割裂的问题。同时在总线之上, 提供业务活动监控模块, 监控企业业务流程的运行、分析流程的瓶颈、解决全局不可见的问题。
2 SOA总体方案设计
2.1 总体建设内容
一汽轿车的SOA项目总体建设目标是:第一, 通过实施SOA集成项目为公司建设一个功能强大、效率高、运行稳定、安全、可扩展、可管理、基于SOA技术的应用集成平台;第二, 在SOA集成平台的基础上通过定义企业业务对象、创建企业业务服务、开发应用集成用例、监控用例和业务流程用例使轿车的各个应用系统实现横向互联、纵向互通;第三, 建立一个能实时监控企业业务活动的监控平台, 可以使业务人员和管理人员实时获得企业生产、销售和管理信息。最终实现企业应用集成, 在解决“信息孤岛”、“流程割裂”、“业务流程全局不可见”等深层问题的同时, 使企业中的应用能够实时、无缝地进行数据交换和业务流转, 实现面向业务的企业应用无缝集成。
为了实现上述目标, 我们首先搭建一个SOA集成平台, 如图1所示, 该平台的主要作用是将各个应用系统通过应用适配器以服务方式连接到SOA集成平台, 然后在平台上实现数据集成、业务集成、流程执行和业务监控。
2.2 SOA集成平台的高层视图
SOA集成平台提供了应用集成、数据集成和流程集成的功能。应用集成解决现有系统之间相互孤立或以传统的点到点连接方式交互的问题, 并和数据集成共同解决目前面临的信息孤岛, 流程集成则是在解决信息孤岛基础上, 利用流程管理BPM技术实现跨系统、人员和合作伙伴的业务流程自动化, 解决现有的流程隔裂问题。根据轿车SOA集成平台的功能定位, 提出SOA集成平台高层视图, 从整体上给出SOA集成平台的构成, 如图2所示。
SOA集成平台集成了轿车公司的主要业务应用系统, 具体构成层次说明如下:
●系统连接:连接不同业务系统, 减少系统间连接的数量。可以认为是应用系统接入SOA集成平台的“插座”, 通过其发送或获得数据。其利用SOA集成平台的适配器技术, 支持广泛的系统连接标准或规范, 屏蔽企业IT系统在系统连接层面的多样性。
●安全服务:提供SOA集成平台运行的安全支持, 利用SOA集成平台提供的安全技术支持接口 (SSL、HTTPS、FTPS等协议) , 与企业自身的统一安全体系、认证体系结合, 保证数据传输的安全性。
●标准化信息服务:支撑企业数据总线, 为企业数据总线提供标准数据服务。依据数据架构规范, 定义集成系统间的公用数据模型, 形成SOA集成平台的公共业务对象CBO (Common Business Object) 和对业务对象的操作对象CSO (Common Service Object) 。
●企业数据总线:实现IT系统间的数据转换和数据传输。基于标准化的信息服务, 可将不同系统的接口数据转换为SOA集成平台标准数据, 在数据层面建立数据总线型的线性数据转换机制, 改变现有系统之间点到点的数据转换。数据传输实现不同系统数据在企业数据总线上传输的完整性、一致性、实时性和唯一性。企业数据总线是基础, 其运行必须是可靠、稳定和高性能的。
●企业服务总线:基于企业数据总线, 采用SOA的设计理念, 业务抽象系统的数据, 实现不同系统的服务发布和服务组合。服务可为WebService、JMS、CORBA服务等, 并被业务流程、IT系统等所复用, 构成企业的服务总线。企业不同的业务系统既可是服务提供者, 也可是服务消费者。
●企业业务流程管理总线:从业务角度建立跨系统、人员和合作伙伴的业务流程管理及其自动化, 业务流程驱动不同的服务或不同系统的数据, 并管理流程运行的状态。另外, 流程管理总线还包含异常流程管理, 全局监控不同业务流程运行各环节的异常发生, 并在第一时间及时定位异常发生点和解决异常, 保证企业业务流程管理总线运行稳定。
●分析监控:基于三总线架构, 全局实时监控SOA集成平台运行的企业级业务流程运行和数据同步共享, 并依据业务需要定义不同的KPI (Key Performance Index, 关键性能指标) , 通过图表等直观形式监控和分析SOA集成平台的运行, 及时发现业务运行的瓶颈, 进而做出快速反应。
2.3 SOA集成平台的总体架构
从一汽轿车目前建设的IT系统层面看, 改变系统连接方式, 并不能解决IT系统的信息孤岛问题, 而应是在系统连接和数据层面建立总线型的线性转换, 抛弃“点到点”的系统连接和数据转换, 根本改变信息共享的方式。然而, 企业协同工作环境应基于企业不同系统的服务, 并在企业业务流程层面实现协同, 因而, 基于SOA设计理念的企业服务总线, 以及以SOA/EDA为基础的企业业务流程管理总线, 将根本解决目前面临的“流程隔裂”问题。而SOA集成平台的监控分析和管理将解决企业现实运转“全局不可见”的问题, 通过监控和分析核心流程的现实运行, 及时发现流程节点构成的全业务流程的“瓶颈”, 并给出相应的调整方案。
将SOA集成平台的高层视图逐步细化可得SOA集成平台的概念模型, 如图3所示。
●连接框架 (GateWay) :GateWay连接外部IT环境, 是应用系统接入EAI平台的“插座”, 对应于EAI平台高层视图的系统连接。
●请求接入和服务接出:请求接入和服务接出更为关注数据层面的处理, 对应于SOA集成平台高层视图中的企业数据总线部分;
●中央控制:中央控制是SOA集成平台的核心, 它是整个信息流转的调度中心, 解决系统间的流程衔接, 建立SOA集成平台的流程管理层, 对应于SOA集成平台高层视图的企业服务总线和企业业务流程管理总线;
●管理与监控:提供SOA集成平台的管理以及集成用例、业务流程运行的监控分析, 对应于SOA集成平台高层视图的分析与监控;
●信息模型:建立企业的信息模型是建立企业数据总线的基础, 因此信息模型属于SOA集成平台的基础构成, 对应于EAI平台高层视图的标准化信息服务。
●传输服务:SOA集成平台的最底层采用消息中间件技术, 保证数据传输的可靠、实时和高性能。对应于SOA集成平台高层视图的企业数据总线, 是所有总线的基础。
●基础服务:定义SOA集成平台运行的最基础保障, 如整个业务流程或内部处理的全局事务性, SOA集成平台运行文档存储服务, SOA集成平台的安全服务等。
●数据存储:定义SOA集成平台的静态数据和动态数据。静态数据包括EAI平台配置信息, 数据转换信息, 业务规则信息等;动态信息包含SOA集成平台运行日志, 流程状态数据等。
在SOA集成平台概念模型的基础上进行分析和丰富, 就能获得SOA集成平台的功能架构, 如图4所示。
3 服务分析和合计
一汽轿车SOA集成项目除了要帮助一汽轿车搭建一个功能强大、高效实用、敏捷、可扩展的SOA集成平台以外, 另一个重要任务是利用SOA集成平台实现一汽轿车应用系统间的集成, 即建立一个统一的综合应用, 将截然不同的、基于各种不同平台、用不同方案建立的应用软件和系统有机地集成到一个无缝、并列、易于访问的单一系统中, 并使它们就像一个整体一样进行业务处理和信息共享。为了完成一汽轿车应用集成的需求, 首先需要定义企业业务对象和企业业务消息, 然后将对每个企业业务对象的操作封装成一系列的企业业务服务, 最后企业业务对象和企业业务服务的基础上创建集成用例、业务流程用例和监控用例, 完成企业业务集成的目标。
3.1 一汽轿车应用集成服务分析
经过前期细致的调研和分析, 在一汽轿车信息化建设中, 与生产和销售相关的应用系统间的集成需求最为强烈, 因此此项目中的重点是实现ERP、MES、DRP、CRM、SAM、DMS和驾驶舱系统之间的应用集成。
在需求分析阶段主要任务是进行服务发现和服务分类。其中, 服务发现工作沿两条线进行:一条是以各个系统为核心统计分析该系统与外系统的接口数量和业务实体, 然后将对业务实体的相关操作定义为一个服务;另一条线是以业务流程为核心, 首先梳理业务流程, 清晰业务功能, 然后确定与该业务流程相关的业务系统, 最后将业务系统中与流程相关的功能定义为服务。有了服务之后下一个任务是进行服务标准化工作, 即进行服务类型的分析, 参照《信息技术面向服务的体系结构 (SOA) 应用的总体技术要求》中“SOA应用技术参考模型”, 将一汽轿车SOA集成项目中所涉及的服务进行了服务类型的定义, 如图5所示。
3.2 企业业务对象的定义
企业业务对象是由标准业务数据对象和可复用的组件组成的数据模型, 代表了一个具体的业务实体, 如物料、主生产计划、订单、发货单、发票等。建立标准、统一、可复用的企业业务对象是企业实现SOA集成的基础。在没有定义企业业务对象前, 如果PDM、ERP、SCM和MES系统之间需要互相传递物料数据, 那么每个系统都需要针对其他三个应用系统的数据模型进行特殊的程序开发, 以便能够获得正确的数据, 这样不但工作量很大, 而且没有扩展性, 维护起来非常困难。但是如果引入企业业务对象, 各个应用系统只需针对标准的企业业务对象开发一个程序即可, 这样不但大大减小了工作量, 还提升可扩展性, 降低了维护难度和成本, 并且这种设计很容易插接新应用。
定义的企业业务对象一般有两种, 一种是可复用的业务对象, 这种业务对象本身代表了一个业务实体, 但它又常常是其他企业业务对象的组成部分, 如地址、附件、信用卡等。另一种业务对象则仅仅代表一个业务实体, 且不能被其他业务对象所引用, 如物料、生产计划等。
4 结语
在整个一汽轿车SOA集成项目的实施过程中, 累计创建标准的业务对象142个、业务集成服务569个, 业务流程18个, 业务活动的监控实例128个。一汽轿车实施SOA集成项目后, 困扰公司的“数据孤岛”、“流程割裂”, “全局不可见”、“增加集成终端难”等问题都得到了解决, 另外该项目还帮助一汽轿车建立起一套业务活动监控平台, 使最终用户能实时获得IT运营、生产、财务和营销的信息。由于一汽轿车SOA集成项目在设计和开发过程中始终使用最新的SOA国家标准和国际通用SOA标准作为指导, 因此该项目是一个成功将SOA技术运用在企业应用集成的案例。
随着项目的深入, 将会把更多的新技术和新标准运用到实践中, 在推动新技术和新标准的发展同时, 为企业的信息化建设提供最有力的支撑。
参考文献
SoA战术手册 第2篇
好了,让我们回到本期所介绍的战例中来。作为整局的铺垫,SoA先是通过对B区的骚扰试探了一下对方的防守,紧接着利用闪光弹和烟雾弹封住了对方的视线。同时SoA还用密集的HE去挑逗对方,虽然对方肯定会有所回应,但他们当然对这些回应都早有准备。
就像刚才所说的,对于各种手雷的台理应用是整个战术体系得以成功运作的关键。多重烟雾弹的合理使用在攻占包点的时候有着至关重要的作用,而且本战例中应用的这些扔手雷的技巧没有什么难度,随便一个Cser稍加练习就能做到。
在这场与MYM在Dust2上的表演赛上,SoA一开始慢慢地占领中路,然后他们用一个特定的战术来减少攻上A区时所遭受的威胁,并且最终成功地攻下了A区,拿下了这局比赛。
专家意见——Jonas“BSL”Alsaker Vikan:
SOA解决方案 第3篇
随着全球经济逐步一体化的趋势以及信息技术的快速发展,企业运用模式正发生巨大的变化,企业对于信息共享和业务整合的需求越来越高,面对企业间无缝集成、构建适合于现代经济发展的企业信息系统的要求,企业应用集成EAI(Enterprise Application Integration),便成为信息化技术的热点。EAI是指对企业中完成不同业务功能的应用系统进行集成,在它们之间建立起可供数据交流和沟通的纽带,使之间的信息交换成为可能。而传统的企业应用集成EAI方法应用时工作量较大,开放性不好,且实现过程复杂无法通用,与原体系结构耦合过于紧密。因此动态企业应用集成成为当前的热点问题。目前基于Web Service的面向服务的架构SOA成为人们解决问题的主要途径。
SOA作为一种软件架构,主要借助于面向SOA的企业服务总线ESB(Enterprise Service Bus)来实现企业应用的互联互通、复用和业务管理。目前已有很多面向SOA的企业服务总线产品,如BEA Aqua Logic Service Bus[1]、IBM Web Sphere Service Bus[2]等,但是由于这些产品没有提供统一的适配机制来集成各类异构的企业应用,而不利于集成遗留应用,可用性和扩展性受到很大限制。为了使面向SOA的企业服务总线技术在企业应用集成中得到更好的应用,本文结合信息共享和业务管理的需求提出了一种基于SOA架构和Web服务的企业总线技术ESB模型EBWS模型。EBWS模型从体系结构的层次来低耦合企业应用系统,提高异构企业应用的互操作性,从而为实现跨企业应用集成和业务整合提供更有力的支持。
1 SOA概念和企业服务总线ESB
1.1 SOA概念
SOA的定义为[5]:它是一个组件模型,将应用程序的不同功能单元(称为服务)通过服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在各种系统中的服务能够以统一和通用的方式进行交互。
SOA是一个整合各种服务的架构平台,它的本质是要通过一个核心服务技术集中管理平台,将各种服务整合起来。基于SOA的整合应用Web系统技术架构如图1所示。
1.2 企业服务总线ESB
企业服务总线ESB[3]这一术语是由Gartner提出的,它支持在异构环境中以高度动态的方式对服务进行注册、发现和调度,是服务基础架构的核心。ESB是过去消息中间件的发展。ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以开放标准为基础来支持应用之间在消息、事件和服务的级别上动态的连通。ESB是一种在松散耦合的服务和应用之间标准的集成方式。它可以作用于:
(1)面向服务的架构分布式的应用由可重用的服务组成;
(2)面向消息的架构应用之间通过ESB发送和接收消息;
(3)事件驱动的架构应用之间异步产生和接收消息。
作为消息传输系统,一个ESB的最少需求经常被简写为TRANS,定义了作为软件实体的ESB提供的最基本的功能[4]:
(1)Transforms转换消息格式针对已注册的服务提供者的需求将消息从一种格式转换到另一种格式。
(2)Routes路由消息将消息传输到已注册的服务,并保证传输的服务质量、服务层的特性。
(3)Augments扩展信息在传输的内容中添加额外信息,比如关于消息请求者的元数据。在消息中添加新的通信协议内容以满足服务提供者的需求。
(4)Notifies通知消息监听者的特定消息请求。
(5)Secures安全传输对于传输的消息增加消息认证、授权、不可否认性等机制。
2 EBWS框架的设计
EBWS模型作为服务请求者和Web服务之间的桥梁,从传输层提取SOAP消息并提交给Web服务,并把Web返回的响应信息格式化为SOAP消息,并发回给服务请求者。
2.1 EBWS概念模型
EBWS采用标准的SOAP协议作为数据传输协议,通过EB-WS来为服务请求者提供服务,为Web服务提供适配与接口标准,并通过内部软件模块与元数据来完成管理与控制,如图2所示。
2.2 EBWS体系架构模型
图3说明了基于SOA的企业服务总线(EBWS)的体系结构模型。EBWS由四部分组成:
(1)传输适配器传输适配器是一个数据通信协议适配器,它接收客户端发送来的请求消息,通过传输适配器的转换,从底层通信消息中获取SOAP消息,并接收服务适配器返回的SOAP响应消息。
(2)服务适配器服务适配器是查找、执行Web服务的核心。它首先通过静态方式查找Web服务或者通过向UDDI注册中心或JNDI等动态查找Web服务的服务描述信息,然后通过服务描述信息调用本地或者远程Web服务。
(3)核心服务核心服务是传输适配器、服务适配器用来对EBWS上传输的SOAP消息进行控制的一些基础服务。例如安全服务、日志服务、事务服务等。
(4)元数据库在体系架构中,元数据是指EBWS运行、管理需要的基础数据及其配置数据。规则库包括有控制策略规则库、管理策略规则库、接口策略规则库等。
(5)系统管理管理整个EBWS,如消息监控、日志展现元数据管理等,以保证整个系统稳定、高效地运行。
2.3 EBWS面向服务集成
EBWS面向服务集成就是采用Web服务的方式集成,不仅集成组织内的遗留系统之间、遗留系统与新部署的系统之间的互操作,同时也集成组织外的应用系统与组织内的应用系统之间的互操作。EBWS之间的消息交换通过EBWS的传输适配器来完成,传输适配器根据配置进行同步或者异步的消息传递。图4描述了EBWS面向服务集成的一个示意图。
在图4中,任何的两个应用系统通过EBWS都可以进行消息的传递,不再采用应用系统与应用系统之间的点对点的方式进行互操作,以降低在系统之间的耦合性、提高系统与系统之间的健壮性。当一个系统(假定系统A)需要提供一个Web服务,它首先把提供的Web服务发布到注册中心(UDDI、JNDI或者数据库等),同时在EBWS上配置一些基础的元数据,如Web服务容器类型、调用方式(动态/静态)等;当一个系统(假定系统B)要使用该Web服务时,EBWS把该Web服务作为一个功能提供给要使用的系统B,每个功能通过唯一的标识号标识,则系统B只需要向EBWS发送符合在EBWS中配置好的该Web服务的数据接口标准的SOAP消息(在SOAP消息中还包括其它必要信息,如功能号、用户名、口令等),EBWS就会自动地执行该Web服务,并把处理结果发送给系统B。
与传统的ESB相比,EBWS具有以下的技术优势:(1)耦合性;(2)开放性;(3)快速部署;(4)更加贴近应用。
3 EBWS在公务员管理信息系统中的应用
本文所提出的EBWS模型已在某市公务员管理信息系统中得到应用。本系统采用SOA与J2EE体系架构。在J2EE体系中,通常采用Spring组件来实现业务逻辑层,而在SOA系统中业务是基于服务的,因此在此系统中采用把Spring组件包装为Web Service的方式,使用Web Service作为SOA中的服务提供者,Spring组件作为服务的实现,同时使用本文中提出的简单企业服务总线模型EBWS来实现SOA中的服务中介,并且在J2EE体系的控制层之下添加一个服务访问层,用来完成对服务的访问,封装对服务的具体调用代码,采用SOAP协议作为数据传输协议,通过EBWS来为服务请求者提供服务,提供服务接口,用来封装对服务的具体调用代码,如图5所示。
目前某市公务员管理信息系统设计开发工作已经完成,并已上线运行中。基于改进后的SOA框架的公务员管理信息系统解决了以往部门之间交互的复杂性以及部门中信息孤岛等现象,使用户能够快速、有效地获取所需要的信息,增加了信息资源的利用率和价值。平台中使用业务流程控制使政府分离的业务有机地结合,形成完整的业务,使政府工作更灵活、敏捷、透明、提高了工作效率。
4 结束语
面向SOA的企业服务总线在新一代企业应用集成技术中占有重要的地位和作用。针对现在面向SOA企业服务总线普遍存在于企业应用系统紧耦合的现象,本文提出了一种基于SOA和Web Service的企业服务总线模型EBWS。EBWS提供统一的适配机制来灵活集成异构的企业应用,采用Web服务的方式集成,不仅集成组织内的遗留系统之间、遗留系统与新部署的系统之间的互操作,同时也集成组织外的应用系统与组织内的应用系统之间的互操作,从而为实现跨企业应用集成和业务整合提供有力支持,能够较好地实现异构系统间的整合。
摘要:针对企业日益增长的信息共享和业务整合的需求,如何更好的实现基于SOA架构的企业应用集成成为备受关注的焦点问题。在探讨SOA、企业服务总线以及Web Service的基础上,针对现有的企业服务总线在无缝集成各类企业应用的不足之处进行了改进,提出了一种基于SOA架构和Web服务的企业总线技术ESB模型——EBWS模型(ESB Based Web Service and SOA),增强了ESB的高可用性和可扩展性,更有效地集成各类异构企业应用。
关键词:SOA,Web服务,ESB,企业应用集成
参考文献
[1]BEA Corporation.BEA aqua logic service bus[EB/OL].[2007-09-01].http://www.bea.com/content/news_events/white_papers/BEA_AQL_ServiceBus_wp.pdf.
[2]IBM Corporation.IBM WebSphere Enterprise Service Bus(ESB)[EB/OL].[20070901].http://www-128.ibm.com/developrworks/cn/websphere.
[3]Mark E Atkins.Choosing the ESB into the SOA[M].2005.
[4]Beth Hutchison,Marc-Thomas Schmidt,Dan Wolfson,et al.用于实现Web服务的SOA编程模型,第四部分:IBM企业服务总线介绍.IBM Developworks,2005.
基于SOA的企业应用集成方案设计 第4篇
1.1 公司背景
该海运物流企业为一总部在内地, 业务面向国内长江流域、国际上日本和韩国的物流企业。公司现拥有5000吨级 (332TEU) 多用途集装箱船舶四艘和10000吨级 (672TEU) 多用途集装箱船舶两艘, 总载重吨为38100吨, 总箱位数为2672TEU。经过激烈市场竞争的磨砺和锤炼, 现已逐步发展成以集装箱运输为主业, 积极拓展货代、船代、船舶租赁业务、劳务技术输出等多元化的经营模式, 寻求新的经济增长点, 积极向现代物流企业转变。
公司积极倡导以现代物流的理念来改造传统运输业, 在继续保持航运业务的核心竞争力的同时, 充分利用中国高速公路网和中国长江黄金水道的优势, 让集装箱运输这种功能强大的现代化运输方式把内地经济与世界充分接轨, 形成具有较强实力和发展潜力的现代物流企业。初步形成了集装箱近洋运输、南北线集装箱散货运输、长江内支线集装箱运输相结合的江海联运格局。
1.2 信息化基础
公司现有信息化系统总体架构如图1所示。
从网络层面分析, 公司已经购置了路由器、交换机和防火墙等网络设备, 实现了公司内部网络环境, 并支持内部网络与外部Internet互联互通。同时通过虚拟专用网VPN技术, 实现了公司总部与驻外分支机构之间低成本、可靠、保密的网络通信信道。公司通过服务器托管方式部署了WWW服务器。
从技术层面分析, 现有信息系统构建在Intel处理器平台的PC级服务器上, 其中一些系统采用普通的兼容PC机。操作系统平台主要选择微软公司的Windows, 部分系统采用Linux。数据库系统主要采用微软公司的SQL Server, 但各系统数据间相互独立。办公自动化系统采用Lotus Domino群件系统。
从应用层面分析, 现有七套信息系统分别实现了相应业务领域的管理功能, 单一系统从功能上功能基本符合公司业务需要。公司主要为客户提供江、海运输服务。现有七套信息系统, 提升了企业的管理水平, 它们的技术特点如下:用友U8财务系统, 办公自动化系统, 船员管理系统, 海运船舶监控系统, 内河船舶监控系统, 机务管理系统, 内支线管理系统 (CARGO) , 以上系统由公司委托技术公司开发, 其中, 船员管理系统、海运船舶监控系统和机务管理系统由某大学下属软件公司开发;内河船舶监控系统由某件公司A开发;内支线管理系统 (CARGO) 由软件公司B开发;办公自动化系统由软件公司C开发;财务系统为财务软件公司D开发。
2 EAI建设思路
为适应日益激烈的市场竞争, 提升企业核心竞争力, 该文在现有信息化建设成果基础上, 分析存在的不足, 进一步完善信息化发展规划, 优化、集成信息化系统, 将公司信息化水平上升到一个新的层次。
根据企业实际需要, 论文讨论的内容将重点解决以下问题:
(1) 信息系统集成与整合。将目前若干个信息系统根据业务需要整合成一个软件业务平台。避免或减少使用者在不同业务系统间手工切换的繁琐操作。各信息系统间能够实现数据集成, 在公共的平台上以各个系统提供的数据为基础, 生成更加高级业务逻辑的数据, 满足更层次的业务需要。
(2) 业务系统功能优化与完善。对目前业务系统中一些操作不方便、功能不完善的功能进行完善, 对某些目前尚需要进行大量手工操作、消耗较多人力和时间的业务操作进行信息化改造, 用软件系统处理的方式替代或部分替代人工操作。
(3) 提供决策支持服务。为了应对更加激烈的市场竞争, 帮助公司决策层快速获取准确、有效的决策支撑数据, 拟在公司业务操作系统数据基础上开发部署决策支持软件系统, 对海量的业务数据进行提炼、整理, 从更高级的层面呈现数据的特性, 为公司决策提供有力的依据。更好地控制经营成本, 提供财务预警机制。
(4) 开辟电子商务业务模式。公司在不断拓展传统商务模式的基础上, 开辟新的电子商务业务模式。为客户提供服务性能优越的电子订舱, 为客户提供随时可查询的订单处理信息, 提高客户满意度和忠诚度。同时, 将电子商务系统与公司内部其它业务系统有机连接起来, 提高业务相应能力。
(5) 构建适合公司发展需要的信息化基础设施。为了支撑以上信息化建设的业务内容, 必须对公司现有信息化基础设施进行规划和扩展。从网络技术设备、网络构建模式、系统服务器平台、数据存储平台以及信息系统管理等多个方面做好规划, 有效保障公司信息化系统建设和应用的基础环境。
(6) 支撑公司未来业务的友好扩展。根据公司未来潜在的业务发展需要, 本项目提出的规划应当很好地支持公司未来信息化系统的运行环境, 例如拖车管理系统和仓储管理系统等, 能够提供必要的接口方式, 把新的系统友好地融入到整个信息化平台中。
3 信息系统规划
3.1 系统框架
论文在公司网络信息基础设施基础之上, 将这个企业的软件系统组织成为一个整体。整个系统框架可以从业务层次上划分为基础业务层、中间业务层和集成业务层等三个层次, 从用户角度可以划分为四个视图, 分别是领导决策视图、管理视图、业务视图和客户视图, 它们分别与前述的四类使用者一一对应。系统总体框架图如图2所示。
3.2 业务系统视图
业务系统视图根据使用者的需求, 从众多系统业务功能模块中选择其中使用者关心的功能模块子集, 让使用者应用更方便, 同时也可以避免使用者越权访问未授权的业务功能模块, 提高了系统的安全性。此外, 本规划中还支持使用者自定制操作界面的功能。使用者可以在授权的业务功能模块中, 按照自身工作习惯和需要, 选择恰当的功能模块, 这样就能将业务系统视图尽可能按照使用者的需要定制。
根据服务对象的划分, 业务系统视图可提供领导决策层、管理层、业务层和客户层等四种视图, 其中前三种面向公司内部使用者, 最后一种面向公司外部的客户。内部视图可授权访问各种业务信息;外部视图只能访问与该客户直接相关的业务信息, 或者公司授权的部分业务信息。在各种视图中包含一些公共的服务元素, 比如电子邮件系统、个人通信录、天气预报、电子记事簿、个性化设置等, 对公司内部使用者的视图还包含公司通信录、内部公告栏、内部文件库、协同工作日程安排、资源管理器、业务工作流系统、会议管理系统、内部及时信息 (类似QQ或Messenger) 和网络存储器等。此外, 每种视图还有其特殊的服务元素, 具体如图3所示。
上述各种视图的使用者并不是相互孤立的开展业务工作。借助公司邮件系统和业务平台的消息传递机制, 集成整合之后的系统平台能够实现快速、有效的信息互通, 将公司各业务层面、各业务阶段的业务行为有机整合在一起, 实现公司员工与客户、公司内部不同业务层次人员之间协同工作, 大幅度提升公司业务处理的效率和处理能力。
3.3 典型用例
下面就公司典型的应用流程做一个典型的用例分析, 整个业务过程可参见图4。
客户在公司的门户网站系统中注册一个用户名, 并通过该系统获取电子订舱表格, 完成电子订舱操作。订舱信息经过门户网站进入公司内部的数据系统, 同时向系统设定的业务员发送新订单通知信息。通知信息的形式可以根据定制设置为业务系统消息、电子邮件或手机短信。
业务员获知信息后, 通过集成业务平台检查确认订单信息, 并将订单信息转发通知订舱操作员。通知客户和订舱操作员的方式同样可以选择上述不同的方式。
订舱操作员通过集成业务平台获取各种需要处理的订单信息, 并从平台上直接激活进入CARGO系统, 根据订单要求选择船期、集装箱和舱位, 确定后的信息可以通知业务员和客户。业务员从业务平台中查阅该订单及其它订单的当前关联信息, 包括集装箱、船期、舱位等。
船只运行过程中, 通过卫星信道或CDMA信道将船只当前的GPS数据和其它运行状态发送回公司总部的服务器上, 并记录到数据库系统中。根据货物、船只和位置三者之间的关联关系, 业务员和客户均可以分别通过业务平台和网站门户查询客户特定货物的及时位置以及行程轨迹, 并进一步判断货物的运抵时间。集成业务平台可以根据业务员或客户设置的通知选项, 以系统消息、电子邮件或手机短信等形式及时告知货物运输的动态, 例如开始驶离某港口、抵达某港口。
客户在货物运输合同执行过程中, 向公司所支付的各种费用进入公司的财务系统。如果公司在电子商务模式中开通了网上银行支付功能, 公司能够实时获取银行支付或到帐信息, 并及时将信息反馈到集成业务平台中。集成业务平台也可以提取后台财务系统中的财务数据, 使业务员能够随时查询所负责客户及客户每单业务的应付款、已付款和待付款情况, 以便及时与客户对帐。客户同样可以门户网站查询当前执行订单的付款详情, 以及历史订单执行详情。
4 总结
SOA解决方案 第5篇
烟草行业是一个包含行政、商业、工业、农业等多元化构成结构的体系, 对烟草商业企业来说, 既担负着卷烟专卖管理的职责, 又是卷烟经营销售的主体, 所以存在着大量的信息进行横向、纵向的互联互通、数据交换、服务集成。传统的信息化建设总是对原有的信息系统推倒重建的方式已无法适合庞大的结构复杂的体系, 而SOA架构的核心主要是灵活、重用、松耦合、自动化流程和标准, 对烟草行业这样一个多元化构成结构的体系来说, 利用SOA的思想和技术体系进行行业信息化建设非常合适。
为实现“系统集成、资源整合、信息共享”的目标, 中国烟草总公司四川省公司 (以下简称四川烟草) 组织进行了应用集成整合项目的建设, 应用集成项目基于创新的SOA思想构建, 以四川烟草信息系统为突破点, 以“界面集成整合、应用集成整合、流程集成整合、数据集成整合”为建设方向, 在行业内创新地提出了一套从界面到应用流程再到数据的完整集成整合解决方案。
2 SOA应用需求分析
2.1 业务背景
近年来, 四川省烟草专卖局的业务不断发展, 对信息化建设的要求也越来越高, 信息化已基本覆盖了企业的所有部门。部门级应用系统已经建设得比较完备, 形成了大量的信息资源。随着IT系统所支撑的业务的增加, 在用户层面, 用户和系统管理者都面对同一个日益复杂、进行功能操作的界面。用户不得不在多个系统上进行登录, 而系统管理者则面对越来越复杂的用户资源的权限管理。每个系统都提供不同的用户界面, 需要看的信息分散在多个系统中, 迫使用户多次打开并处理必要的工作。在应用层面, 由于目前的信息应用系统是在不同时期、不同开发商、在不同的阶段建设的, 又采用了不同的技术架构, 这样各个系统之间进行信息共享和互动就很困难, 底层缺乏统一的技术架构和集成标准, 随着目前烟草行业业务模式的调整和系统的提升, 需要信息系统在底层架构层面提供支撑, 便于系统间的信息和流程的集成、新系统的统一接入管理。
2.2 SOA需求分析
我们不能认为企业中现有的信息资源是推进SOA架构的阻碍。恰恰相反, 在SOA的思想下, 现有的部门级信息系统资源是一颗颗散落的珍珠, 而SOA的架构并不是要将珍珠抛弃掉, 而是要将他们串联起来, 形成更有价值的资产。
●集成现有系统, 而非推倒重来
面向服务的体系结构可以基于现有系统的情况来进行构建, 而不需要彻底重新创建系统。通过使用适当的SOA框架并使其用于整个集团公司, 将现有的信息系统功能的对外接口进行包装, 实现外部交互的组件化, 就可以实现SOA的价值了。
●服务设计松耦合, 增加灵活性
服务对于调用者是位置透明的, 而且服务是从业务角度出发发现的, 并不与特定的信息系统紧密相关。同时, 组件化提供的服务, 不依赖于组件本身, 可随时替换组件。
●加快开发实施速度, 减少阻力
利用分散的组件, 可逐步满足企业的集成整合需要, 集成整合的分步实施就是充分利用SOA组件化的优势。同时, 现有信息系统也在逐步地进行改造, 降低了激变的风险。
3 总体设计方案
从当前信息技术发展趋势来看, 四川烟草下一步的信息化建设需要制定一个统一的标准体系和基础平台, 所有的应用系统基于标准, 搭建在一个企业级的基础平台之上。浪潮软件结合自身在SOA方面的相关经验和该项目的实际需求, 确立了符合SOA思想的“平台+应用”的建设方案。立足于企业现有信息系统基础, 构建统一的“平台+应用”模式, 将信息系统的前台应用化、后台平台化, 打通系统间的数据、应用、流程、界面, 根据业务需求将其组合成不同的信息系统, 当业务需求变化时, 能快速、低成本、高效率地满足业务变化要求, 提升信息化对业务的适应能力。
3.1 技术分析
按照“平台+应用”的模式, 为各类应用系统建立运行支撑和公共服务的独立的SOA应用集成平台, 作为信息化标准和规范的载体。“平台”提供基本的SOA技术支撑组件, 这些支撑技术包括:服务的统一注册和发现、服务的开发和编排、服务的生命周期管理等。并通过可编排的服务实现业务流程和工作审批流程, 形成企业的流程管理平台。通过在“平台”上集成身份管理组件、统一用户组件、统一授权组件和界面管理组件等一系列SOA技术组件, 形成企业的门户集成平台, 为用户提供单点登录、个性化界面展示等功能。
部署在集成平台上的应用, 只需实现业务逻辑, 利用SOA应用集成平台提供的系统、流程、应用、数据及安全与运维等标准化管理服务, 就能够提供业务服务。企业级的基础平台需要整合现有的数据资源、接口服务资源和系统资源, 并搭建统一的信息交互总线, 完成服务注册、服务开发、服务编制、服务编排和服务管理等技术支撑, 并在平台的基础上完成公共的身份管理服务、统一授权服务、界面展现服务及其他信息服务。这些组件和功能最终以插件的方式组合形成四川烟草的服务集成平台、流程管理平台、门户集成平台等。
3.2 总体方案
通过上面的分析, 为了满足“平台+应用”信息化建设目标, 总结出SOA应用集成平台具备的能力要求, 四川烟草信息化建设总体集成架构如图1所示。
结合上述信息化架构, 实现“平台+应用”思路的核心就是SOA应用集成平台的建设。结合当前四川省信息化建设现状, 除了三大支撑体系 (基础设施体系、标准规范体系、信息安全体系) 外, 基于SOA应用集成平台的信息系统建设主要包括SOA应用集成平台搭建、实现集成能力的技术支撑组件、公共业务组件以及应用系统集成四个方面。其中, 集成平台搭建主要是利用具备相应能力的平台软件工具搭建集成环境, 主要包括企业服务总线 (ESB) 工具、XML消息处理工具、流程集成 (BPM) 工具、企业门户 (portal) 工具。实现集成能力的技术支撑组件包括部分软件产品和组件化应用, 主要有统一用户组件、身份管理组件、统一授权组件、界面管理组件和沟通协作组件。公共业务组件当前以主数据管理和网上订货为突破口实现了应用的组件化。下一步, 根据信息系统建设情况对应用系统逐步地进行组件化改造, 做到信息系统内部的松耦合, 从而提高应用系统的随需应变能力。应用系统集成以WebService技术为核心, 通过服务链接应用系统和平台及附属于平台的技术组件和业务组件, 从而形成“平台+应用”的整体架构。
4 服务分析与设计
该项目中, 主要采用流程分析和资产分析两种方式来发现服务。在流程整合中发现服务, 按照SOA实施标准, 流程分析适合采用自下而上的方式进行, 而资产分析则采用自下而上, 两者最后通过对比, 实现两端对齐, 避免服务的遗漏, 满足业务的需要。
●流程分析
梳理业务流程的目的是为了了解四川烟草商业企业现有业务流程、业务的处理方式和方法。在流程梳理过程中了解企业对业务流程的环节和管理上有什么不满意的地方或者改进的想法及想达到的目标。业务咨询顾问负责指导客户方进行业务流程的梳理, 并在整个过程中详细清晰地了解企业的业务处理流程, 分析企业的业务流程和管理方法的不足之处, 找出可优化调整的节点, 并提出更适合的管理方法。
图2是四川烟草对货源组织业务领域进行流程分析的示例, 为简单起见, 只列出了梳理得出的部分流程 (其中配货流程的子流程未在图中展现) 。
●资产分析
整合包括了大量的现有信息资源, 如现有的信息系统、各信息系统之间的接口、开发规范和服务规约。资产分析采用自下而上的方式, 主要的工作内容分为四个步骤:第一步对现有系统分析, 调研现有系统架构, 了解架构风格、主要架构元素和能力的基本特征;调研现有应用, 了解应用主要功能和对外接口, 技术实现特征等。第二步服务对接, 将流程梳理出来的服务与现有系统进行对应, 两者之间做对比分析, 确定业务组件和IT组件间映射关系。第三步对服务进行实现, 服务对应仅仅确定了需要哪些组件来实现服务, 但是并没有做具体的实现策略和技术层面的决策, 服务的包装开发工作在本阶段进行。第四步是服务实施, 服务的功能实现后, 需要根据具体的需求确定服务基础设施的能力, 完成服务的编排, 从而实现对业务的支撑。
通过对已有信息系统资产的分析, 整理出系统的访问接口和业务功能, 并发现候选服务。同时, 通过流程梳理, 发现候选服务。将两种分析发现的候选服务进行对接, 将现有的接口服务化, 并注册和发布到企业服务总线上, 现有资产中缺少的服务, 通过编排或者重新开发的方式来进行实现 (服务在总线上的对接如图3所示) 。最终, 在企业服务总线 (ESB) 上的服务, 能够完整地支持企业业务流程的进行, 并且重新编排服务或者改变服务在流程中的位置, 即可快速的实现业务流程的变更。
在项目的全过程中, 参考《信息技术面向服务的体系结构 (SOA) 应用的总体技术要求》标准中“SOA应用技术参考模型”, 集成架构与技术参考模型的对应关系如图4所示, 图4中SI指浪潮自主研发的LouShang SI3。
5 实施效果
四川烟草商业企业系统应用集成解决方案成功地打造了贯穿四川烟草信息系统架构的SOA应用集成平台, 通过采用相应的支持SOA架构的应用集成平台软件, 比较全面地实现了SOA的各种支撑技术。通过多种技术组件和公共业务组件的应用, 在信息门户集成整合、信息服务集成整合、流程管理集成整合和主数据管理集成整合方面都取得了非常显著的效果, 从而很好地实现了四川烟草现有的主要部门级应用的信息贯通和流程协作。
通过应用平台的建设, 将多种平台、多种技术进行了科学的融合, 形成了相应的烟草商业信息化的基础架构;通过集成和固化相关技术和产品, 形成了一些基础的技术组件, 进一步支撑了企业整体的IT架构, 同时也使得未来IT架构的优化和提升工作得以简化。基于应用集成平台建设的各信息系统能发挥整体优势, 领导满意度、业务人员满意度、客户满意度得到提高。商业系统的集成取得了显著的效果。
摘要:通过提出的基于SOA的应用集成解决方案, 介绍了四川烟草“平台+应用”方式的SOA总体设计方案, 描述了项目实施过程中如何进行服务的分析和设计, 着重阐述SOA应用集成解决方案, 并试图提出一种符合SOA思想的信息整合模式, 为后续烟草行业内的信息系统集成整合提供一个可参考的指南。
关键词:SOA,应用集成,平台,应用,服务
参考文献
肖建国.面向服务体系架构 (SOA) 和业务组件 (BC) 的思考[R/OL]. (2010-03-08) [2011-09-29].http://www.ibm.com/developerworks/cn/webservices/1003_xiaojg_soabc/.
SOA解决方案 第6篇
一、企业信息化中遇到的问题
(一) 信息孤岛问题
信息化是伴随着技术进步和企业发展渐次提高的过程。早期进行信息化管理的企业, 往往是面向业务部门操作层面开始计算机应用。这些应用主要从部门内部的业务出发, 开发或购置仅用于满足部门业务功能的管理系统。如面向办公自动化的OA系统、面向财会管理的AIS系统、面向人力资源管理的HR系统等等, 这些软件系统之间的数据格式、数据库类别、应用系统等都不尽相同, 且位置分散、相互独立。这些由多年来企业分散开发或引进的异构信息系统, 由于互相之间缺少数据通讯标准和共享的数据平台, 使企业一项完整的经营业务总是被肢解为几段, 难以被顺畅地执行和实施有效控制, 长期积淀便形成了一个个“信息孤岛”。这些信息孤岛不仅割裂了有机联系的数据链条, 使管理层无法全面掌控用于决策的信息内涵, 而且数据之间重复录入, 缺少相互验证, 常常导致数据失真从而给管理者和企业带来困扰。
(二) 软件标准化研发与企业个性化应用问题
在我国企业信息化的发展进程中, 通用商业软件始终都扮演着主力军的角色。用户可以用较低的成本享受到耗资数千万, 甚至上亿元投资开发出来的复杂软件。但通用软件也存在着致命的缺陷。供应商为了规模效益, 提供的是标准化的研发产品, 而对用户而言, 企业的需求却是多元、多维和多变的。软件开发商在交付软件时, 一是在系统主体上固化通用功能结构, 同时留出较为灵便的参数配置接口, 通过做大量的初始化和二次开发, 来满足企业的个性化应用需求;二是密切跟踪软件的应用反馈, 并对反馈来的意见和建议进行积累, 以不断晋升版本来应对市场需求。但是即便这样, 最后得到的系统也仍然不一定能完全贴近企业的“需求背景”。并且当软件的初始化工作和二次开发工作量过大时, 由于持续不断的人力、财力和时间投入, 而使得软件供需双方均怨声载道。
(三) 企业需求的变化与通用软件适应性问题
需求的变动是企业信息化发展进程中不可避免的, 如外在环境的影响、内部发展的变化、新技术的推动等, 这些都是企业在最初引进应用软件时所始料不及的。勘察设计企业在面临重新选择新系统之时, 要彻底解决这一矛盾, 需要一场软件架构思维的创新。即企业必须建立一个灵活的、快速响应的应用系统架构, 它既可以包容现有的应用又能满足未来新的应用需求, 实现企业信息的高度集成, 使得基于不同平台、不同语言实现的应用系统能够很好地进行信息交互, 让应用系统变得更有弹性, 能更快地响应业务需求, 从而使企业获得更明显的竞争优势。
二、基于SOA理念的企业管理信息系统架构解决方案
(一) SOA架构理念
SOA, 即Service Oriented Architecture面向服务架构。从本质上讲, 它的创新性来自于其系统模型与系统实现的分开考虑。一个值得类比的例子是, 国际标准化组织对OSI (Open System Interconnect, 开放系统互连) 七层网络模型的定义。建立七层模型的主要目的就是为了解决异种网络互联所遇到的兼容问题, 如Novell网与NT网之间的互联问题等。如果没有标准, 要实现这种互联是不可想象的。OSI将服务、接口和协议这三个概念明确地区分开来:服务说明某一层为上一层提供一些什么功能, 接口说明上一层如何使用下层的服务, 而协议则涉及如何实现本层的服务。这样就使得各层之间具有很强的独立性和自由性, 不论采用何种协议, 只要保持标准的相邻层接口就可以了, 而SOA在企业管理软件中的应用价值, 基本就等同于互联网中的七层网络模型。
一般认为:面向服务架构SOA是一个组件模型, 它将应用程序的不同功能单元封装成服务 (service) , 不同服务之间通过定义良好的接口和契约进行通信联系。接口是采用中立的方式进行定义的, 它独立于具体实现服务的硬件平台、操作系统和编程语言。这种具有统一而标准的接口定义 (没有强制绑定到特定的实现上) 的特征称为服务之间的松耦合。SOA的接口定义使得构建在各种各样的应用系统中的服务, 可以用一种统一和通用的方式进行交互, 使系统可以按照模块化的方式来添加新服务或更新现有服务, 从而解决了系统中不断出现的新业务需要问题。SOA通过把系统现有的应用作为服务进行封装, 在已有的应用程序和应用基础结构 (application infrastructure) 投资基础上解决了新的业务需求问题, 因此极大地保护了企业已有的IT投资, 并能使系统随时对以后的新业务变化继续迅速做出反应。
SOA架构的基本元素是服务, 它是整个SOA实现的核心。SOA指定一组实体 (服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约) , 这些实体详细说明了如何提供和消费服务。遵循SOA观点的系统必须要有服务, 这些服务是可相互操作的、独立的、模块化的、位置明确的、松耦合的, 并且可以通过网络 (UDDI) 查找其地址。
从以上对SOA技术架构理念的论述可以看出:SOA不是一种语言, 也不是一种具体的技术, 更不是一种产品, 它给出在特定环境下推荐采用的一种软件系统理念架构, 是一种面向应用服务的解决方案框架。
下面图1和图2显示了设计院使用SOA架构前后的信息系统框架对比。
从图示中可以看出, 在目前勘察设计企业未使用SOA框架情况下, 信息系统中的经营管理、财务管理和人事管理三个系统分别使用各自独立的数据库;对于管理流程中存在关系的数据进行了部分自动调用、部分人工重复录入, 导致最终存储的数据存在重复, 且无法保证一致性;用户界面繁杂, 用户需要面对不同的管理系统进行操作。
设想在使用SOA框架后, 在信息系统底层构建统一 (且唯一) 的数据存储平台用于储存原始信息数据, 各业务系统需用的二次挖掘数据均由此数据平台提取, 保证了数据的完整、真实和唯一性;不同的服务系统相对独立且保留标准接口, 用于和统一数据库及其他系统的数据交换;处理流程已经打通, 各类服务系统的流程通过标准接口自动进行数据处理, 此过程对用户透明;用户界面采用统一的管理信息系统门户实现, 为用户提供跨服务的统一用户体验。通过其个性化功能, 可以针对用户的角色对界面进行自动定制, 从而通过基于浏览器的单点登录环境为用户提供相关内容。
(二) SOA架构体系的实现要求
要实现基于SOA理念的架构体系, 体系架构师不仅要理解SOA, 还要理解SOA在具体应用中的表现。在架构实践和最后得到的架构结果之间的区别有可能非常微妙, 但却非常关键。所以SOA的实现需要借助企业动态建模在企业管理过程中逐步求精, 以达到软件与企业管理的最佳融合。
企业动态建模涉及到一系列的专门方法、工具和步骤, 是对实际企业对象的发展和变化模式进行分析和简化, 并进行去粗取精、去伪存真、逐步抽象的动态过程。由于企业组织的复杂性, 采用单一的模型无法完整地表达出一个企业多方面的特点, 所以企业动态建模需要从多个侧面以不同的视角建立模型, 常用的模型包括:信息模型、功能模型、组织模型和流程模型等。其中信息模型是从信息的角度对企业进行描述, 企业信息系统是信息模型的一个体现, 用于存储/维护/处理与企业相关的所有信息, 这些信息是联系各个功能元素的纽带;功能模型以功能活动为视角对整个企业进行描述, 表现的是企业各功能模块之间的关系;组织模型描述组织结构树、团队、能力、角色和权限等;而流程模型则是通过定义组成活动及其活动之间的逻辑关系来描述工作流程的模型。
三、结语
SOA凭借对软件应用模型、公共或特殊领域业务对象的积累和抽象, 将企业的IT架构抽象出来, 将其功能以粗粒度的服务形式表示出来, 每种服务都清晰地表示其业务价值, 使用户可以选用这些服务而不必考虑其后台的具体实现技术。SOA为企业搭建了灵活柔性化的业务基础软件平台, 这一平台具有独立可扩展的技术架构, 体现开放、灵活、深度实施、满足个性化应用的思想, 采用面向框架、业务对象重用、与技术无关、与数据无关等技术, 包括高效的基础组件、完整的业务框架和应用框架, 提供快速定制工具、服务, 具有快速适应业务变化, 深度满足客户需求的能力, 使企业的管理更具弹性。另外被独立封装的功能模块还可以实现在不同系统中进行“组装”和“复用”, 大大提高了软件的生产力。
SOA解决方案 第7篇
随着校园信息化建设的深入,各高校完成了包括网络基础设施、网络基本服务系统、应用支撑系统、信息服务系统等的建设。但是,经过一段时间的运行后,出现了三大问题:信息缺乏有效共享;应用缺乏有效集成;用户缺乏统一的接口。
造成这些问题的原因是校园信息化建设没有形成一套统一、完善的理论和方法,因此在建设过程中都是各自为战,不同部门或同一部门内部大多存在多套信息管理系统,这些独立系统逐渐形成了所谓的“信息孤岛”。校园信息化建设迫切需要一种松耦合、跨平台的分布式体系结构来重用已有功能模块,使得旧有系统方便地纳入到新系统,充分利用已有系统,并在此基础上提供新的服务。2004年初业界推出SOA (Service-Oriented Architecture,面向服务的软件体系架构),为上述问题提供了一种有效的解决方案。
1 SOA简介及实现
SOA是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)的模型,是一种架构模型和一套设计方法学,其目的是最大限度地重用应用程序中已有的服务。SOA是一种松散耦合的应用程序体系结构,在这种体系结构中,应用程序的不同功能单元被包装为服务,每个服务带有明确可调用的接口,服务的接口采用中立的方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言。系统中的服务可以以统一、通用的方式交互,服务之间的相互通信,可以是简单的数据传递,也可以以定义好的顺序调用多个服务进行服务组合。SOA的关键是服务的概念,定义了系统由哪些服务组成,描述了服务之问的交互,并将服务映射到一个或多个具体技术的实现[1]。在SOA的体系结构中包括:服务使用者,服务提供者和服务注册中心。
由于Web服务应用广泛,各种关键技术十分成熟,而且实现SOA模型最常见的方式是通过HTTP传递的SOAP( Simple Object Access Protocol,简单对象访问协议)消息,所以现有的Web服务提供了实现SOA最好的方式 [2]。基于Web服务的SOA架构模型如图1所示[3],该模型的运行过程是:①服务提供者将Web服务的WSDL描述发布到服务注册中心;②服务使用者从服务注册中心查询Web服务;③服务注册中心返回给服务使用者该Web服务的WSDL描述;④服务使用者根据WSDL描述中的入口地址,向服务提供者发送调用请求;⑤服务提供者返回给服务使用者调用结果。
2 校园集成信息系统的整体设计
本系统的设计思想是将校园网上的分散的信息管理系统进行基于SOA的集成:添加一个服务注册中心,把原来各个系统提供的信息服务封装后通过接口作为整个系统的服务提供者,原有校园网各个系统的用户成为整个系统的服务使用者。在系统中用统一身份认证服务来代替原来各个系统的身份认证模块,并把校园网用户的手机号码进行关联,利用专用服务器处理手机与校园网之间的信息交互服务。
本文设计的校园集成信息系统的整体架构如图2所示。
2.1 统一身份认证服务的功能设计[4]
统一身份认证服务主要需要具备三项功能。
(1)用户注册:
用户在统一身份认证服务中注册账号。
(2)账号关联:
如果用户之前已经在相关的应用系统中拥有账号,同时也已经设置了相应的权限,那么用户能够将这些应用系统的账号与统一身份认证服务的账号进行关联。
(3)用户认证:
用户首先登录统一身份认证服务,并获取权限令牌。
统一身份认证服务的工作流程如下:
用户使用在统一认证服务器注册的用户名和密码登陆统一认证服务;统一认证服务器创建了一个会话,同时将与该会话关联的访问认证令牌返回给用户; 用户使用这个访问认证令牌访问某个支持统一身份认证服务的应用系统;该应用系统将访问认证令牌传入统一身份认证服务器,认证访问认证令牌的有效性; 统一身份认证服务器确认认证令牌的有效性;应用系统接收访问,并返回访问结果,如果需要提高访问效率的话,应用系统可选择返回其自身的认证令牌已使得用户之后可以使用这个私有令牌持续访问。
另外,统一身份认证服务器在实现与移动通信网络的连接时,还需要将校园网上传递过来的信息添加上相关身份认证信息(手机号码)并转发到移动通信网络中相应服务器。
2.2 原有信息系统的服务封装
原有信息系统的服务封装不仅仅涉及到服务内容的封装,因为服务封装的目的是为了复用,还要考虑到服务的注册,用户的查询调用以及相关的数据库关联,需要一个完善的应用架构来实现。
现在使用较为广泛的一种SOA应用架构可以分为表示层(UI)、服务发布层(Web Services)、业务逻辑层(BLL)和数据访问层(DAL)四层[5]。
(1)表示层:
实现用户交互界面,例如Web浏览器、Windows界面等。该层是面向用户的一层,通过提供用户交互界面,接受用户交互,判断界面数据的有效性。
(2)业务发布层:
将业务逻辑层中的各种细粒度服务通过聚合封装成易用的粗粒度服务,通过Web Services发布各种粗粒度服务,以接受上层表示层调用,此外还有一些延伸服务。该层是面向服务的一层,通过该层实现SOA架构的服务发布功能。
(3)业务逻辑层:
将各种业务逻辑封装为相互独立的细粒度服务,以接受上层粗粒度服务的调用。此外,该层管理着对事务和异常的处理,以及连接的操作。该层被设计成无状态面向服务的模式,通过该层实现SOA架构的服务功能。
(4)数据访问层:
数据访问逻辑组件从数据库中检索数据并把实体数据保存回数据库中。
2.3 手机与校园网信息交互设计
目前,手机普及率已相当高,是计算机之外另一个被广泛使用的信息终端,因此利用手机与校园网进行信息交互,可以更大地提高信息交流的灵活性。
本文设计的主要思路,是将手机号码绑定到统一身份认证服务器的数据库中,如某一个手机号对应某一个学号。在现行2G移动通信网络下,手机与校园网进行信息交互的主要途径是短信。手机用户可以通过短信进行查询和一定的操作,校园网则通过短信提供信息服务。
根据流行的手机与计算机信息交互的模式[6],设计出的手机与校园网的信息交互流程图如图3所示:
其中,手机与校园网通信服务器用来连接移动通信网络和校园网,统一身份认证服务器完成对手机用户的号码绑定和信息的转发。考虑到学校的实际情况,信息的交互主要由校园集成信息系统发起。
下面将以开发图书馆可提供的信息新服务为例来说明以上手机与校园网的信息交互流程。
图书馆可以推出手机提醒和手机续借等信息新服务。图书馆的计算机每天都会自动检查图书借阅情况,发现有即将超期的图书时,先根据借阅该书的借阅证号及书名编写信息,如:“你所借阅的 《XXXXXX》 将在本周五到期,请及时归还。如需要续借,请回复XJ。”然后把该信息发送到统一身份认证服务器,统一身份认证服务器根据借阅证号到数据库中找到绑定的手机号,然后把手机号和图书馆发送过来的信息一起发送到手机与校园网通信专用服务器,手机与校园网通信专用服务趋则请求移动通信网络根据此手机号发送该信息到手机用户。用户收到信息,可选择去图书馆还书,或者回复“XJ”,则信息逆向回到图书馆,图书馆根据用户要求自动进行续借。
手机的便携性使得信息的传达实时性更好,例如学校需要发布紧急通知给大部分人或特定人群时,效果远远好于在校内网站上发布公告 传送邮件或发送消息。
3 结论与展望
通过对高校信息系统集成的研究,本文提出了基于SOA(面向服务的软件体系架构)的系统集成模型。此模型通过统一身份认证,为高校信息系统的集成提供了一种较为通用的方案,同时将手机融入了校园网。随着3G的部署,手机终端将拥有更强的与校园网进行信息交互的能力。
参考文献
[1]高岩,张少鑫,张斌,等.基于SOA架构的Web服务组合系统[J].小型微型计算机系统,2007(4).
[2]Eric Newcomer,Greg Lomow,Understanding SOA with Web Services(中文版)[M].徐涵,译.电子工业出版社,2006.
[3]陈丹,袁捷.基于SOA的分布式科研信息系统[J].计算机工程与设计,2006,27(24).
[4]柴晓路.Web Service Case Study:统一身份认证服务[EB/OL].http://blog.csdn.net/ccsdba/archive/2006/09/15/1226970.aspx.
[5]宋亚萍,许红,王瑞军.基于SOA的现代铁路货运物流信息平台研究[J].物流技术,2007,26(3).
基于SOA的资源整合平台 第8篇
关键词:面向服务的体系架构;WEB服务;资源整合
0 引言
许多单位经过多年的信息化建设已经拥有相当数量的管理信息系统,这些系统也发挥了较好的作用。但是,由于没有一个关于信息系统开发的总体性长远规划,从而导致这些信息管理系统成为一个个“信息孤岛”。随着单位业务发展的需要,许多单位提出了以下新的业务需求:
(1)单位内部若干不同的应用系统通常需要来协作完成某些新增业务,因而需要将这些“信息孤岛”整合起来,提供跨部门的业务服务。
(2)领导和员工需要更多的灵活性与方便性支持,使他们可以利用各种不同地接入方式来随时随地办理某些业务。
(3)原有系统无法满足单位日益发展地新需求。
针对以上这些问题,本文通过基于web服务的SOA技术来构建数字化资源整合平台,采用此方案可以有效地集成与整合现有的各种信息管理系统。
SOA技术在资源整合平台方面的应用
SOA(service-oriented Architecture,也叫面向服务架构或面向服务的体系结构)是指为了解决在互联网环境下业务集成的需要[1],通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA体系结构包括3个主要的组件[2]:服务代理、服务请求者和服务提供者(见图1)各组件的功能如下:
服务代理:对服务提供者进行注册发布,并提供搜索服务,以及对其进行分类。
服务请求者:通过服务代理查找所需的服务,以及使用该服务。
服务提供者:发布自己的服务,并使用自身服务的请求进行响应。
与传统开发方式相比,SOA具有松散耦合、粗粒度、共享服务和标准化等特点,其对于资源整合平台实际的优势具体表现为以下4点:
1)易于集成现有系统:在不对现有系统进行修改的前提下,SOA可迅速转换现有系统和应用为服务。
2)具有标准化的架构:只要符合相关开发标准,任何时候开发的组件都可以合并成一个结构良好的SOA系统,并添加部署在现有的基础构架中。
3)提升开发效率:由于SOA在可复用性方面的特性,新的系统在设计、开发、测试和实施时可以充分利用自己已有的服务,可以显著缩短其开发周期。
4)降低开发维护成本:通过采用SOA体系结构,可以在原有系统的基础上进行二次开发,因此开发成本急剧降低。
基于SOA模式的资源整合平台架构模型
由于现在许多单位软件系统非常分散,数据库结构各不相同,综合数据提取非常困难,信息不能进行有效地互联互通,以及某些单位业务管理流程在不断变化的问题,我们的系统架构将采用以下八层结构来进行设计。
1)表示层(UI):实现用户交互界面,例如Web界面、智能设备如PDA、智能手机设备的界面、Windows界面。
2)服务发布层(Web Service):通過Web Service发布部门服务。将业务逻辑层中的各种业务通过Fecade模式封装成易用的、粒度较大的业务中间件,通过WebService发布各种业务,来接受界面逻辑层的调用,通过ticket认证实现安全的调用,该层是面向服务的一层,通过该层实现SOA架构的服务发布。
3)业务逻辑层(BLL):形成业务中间件,封装各种业务逻辑,实现各部门的业务逻辑。
4)数据访问层(DAL):通过数据访问逻辑组件从数据库中检索数据并把实体数据保存回数据库中,即提供通常称为“CRUD“方法完成对数据的持久化操作。
5)数据访问辅助层(DbHelper):利用该层可以访问多种类型的数据库,通过抽象工程模式实现数据库访问的无关性。
6)数据库:数据库作为独立的一层。
7)业务实体组件(Model):现实世界中的业务实体通过封装数据来表示,并用于业务实体的层间传输与表示。
8)实用工具组件(Utility):某些实用功能将被封装,如压缩算法、加密算法等,以便于各层的调用。
3 资源整合平台的设计
采用SOA进行现有系统集成的步骤:
(1)在各个信息系统中提取需要进行对外开放的功能模块。
(2)以服务组件的形式表现这些功能模块。
(3)在服务注册器中实现已经发布地服务,以供其它服务调用者进行绑定和查找。
(4)绑定和调用服务,将每个Proxy Service注册到UDDI方便查找,并配置到Route Node中,以便Proxy Service将客户端的请求转给相应Business Service。
4 结语
针对数字化平台这种松耦合、分布式、异构的场合,采用基于Web服务的SOA体系架构部署应用系统,可以节省系统扩展的投资。因为不需要创建新系统,只需要利用原有资源和系统,就可以使不同部门的信息系统集成到SOA基础架构中。同时,采用该架构使系统能够很好地支持多种类型界面,数据库的更替和建立也更为灵活和简单。由于各服务间低耦合,并可根据需求快捷地组合实现新的服务,资源整合平台可以简便地实现业务修改、系统重构和系统集成,具有灵活、可复用和可扩展等优点,能够较好地适应综合业务应用和管理的要求。
参考文献:
[1] Eric Newcomer,Greg Lomow.Understanding SOA with Web Services(中文版)EM].徐涵译.北京:电子工业出版社,2006
[2] Thomas Er1.SOA概念、技术与设计[M].王满红,陈荣华译.北京:机械工业出版社,2006.
[3] 王建兴,等.基于WebServices的面向服务信息集成研究[J].计算机时代,2006,(2):1-2.
[4] 王满红,陈荣华.Thomas Erl SOA概念、技术与设计,机械工业出版社,2006,(01).
SOA解决方案 第9篇
但是, 在看到各高校信息化可喜现状的同时, 经过深入的分析, 也发现不少问题。
(1) 发展缺乏统一规划。由于教育投资的不连贯性, 造成信息化建设的不连续, 缺少体系规划的背景支持, 加上大学的特殊性, 各院系之间的关系相对较松散, 导致在进行校园信息化建设时容易缺乏统一的规划, 难以在更高层次上进行信息的处理。
(2) 信息缺乏有效共享。缺乏统一规划的信息化, 必然带来缺乏全局的总体考虑, 应用系统大都是从部门、基层的视角来开发实施, 在不同时间段由不同人群研发完成, 人为地割断了大学各部门之间的有机联系;没有统一的信息标准, 数据格式也各不相同, 系统间无法实现有效的数据共享, 形成了网络环境下的信息孤岛。
鉴于以上分析, 将不同的应用系统进行集成, 在全校范围内实现数据的互转互通、以及为用户提供更加方便快捷的信息查询方式, 已经成为高校信息化建设迫在眉睫需要解决的问题。这不仅能够节约信息化建设成本, 而且可以提高学校的管理效率, 真正达到校园信息化, 管理智能化[1]。
1 应用集成技术
1.1 传统的应用系统集成技术
传统的典型处理方法是采用一个直接的点对点 (Point-to-Point) 的数据链接, 并且需要定制编程以实现系统之间的会话。随着新系统的不断增加, 直接的定向连接和定制编程的数量也随之急剧增加。而业务流程的变更, 以及如数字迎新、辅助决策等跨系统的应用, 要求会话接口编程及时响应完成, 但多家软件供应商的配合响应协调十分困难, 最终会成为信息流动的瓶颈, 并已经成为信息化校园建设的初衷与设计目标相差甚远, 深层次的增值服务实现困难的障碍。
1.2 面向服务架构 (S O A) 的应用集成技术
1.2.1 SOA模式
SOA (Service-Oriented Architecture) 首先是一种业务模式, 一种灵活的业务模式。基于这种模式, 业务部门可以快速地变化, 不断地、迅速地去适应和满足用户不断变化的需求。
SOA也是一种架构模式, 它将应用程序的不同功能单元 (服务模块) 通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的, 独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。这种具有中立的接口定义 (没有强制绑定到特定的实现上) 的特征称为服务之间的松耦合。松耦合系统的好处有两方面, 一是它的灵活性, 二是当组成整个应用程序中每个服务的内部结构和实现逐渐地发生改变时, 它能够继续存在[2]。
1.2.2 基于SOA的信息整合与服务
信息整合和服务是SOA基础架构和设施的重要组成部分, 可确保数据集成逻辑可供任何业务流程使用。SOA帮助客户使用分析和运行数据, 为所有的人员和流程提供最佳数据。使用SOA方法的一个最大优势在于允许通过绑定功能将数据集成任务与企业应用集成 (EAI) 和业务流程管理 (BPM) 产品等领先的企业消息传递工具结合在一起[3]。
2 方案设计
应用系统整合集成根据基于SOA的信息化校园基础架构, 首先是需要设计统一的信息标准, 为数据的完整性、准确性与一致性提供依据, 并作为公共数据交换的标准。第二是设计统一的用户服务界面, 包括:构建统一的信息门户, 集中信息资源管理、应用服务管理和内容整合, 为广大师生提供个性化的综合信息服务;构建统一的身份认证系统, 集中用户管理、统一权限管理, 保证用户电子身份的唯一性、真实性与权威性, 实现用户单点登录。第三是设计安全可靠的公共数据交换系统, 实现各个应用系统之间的数据交换、互补、共享与复用。
2.1 教育管理信息标准设计
制定信息标准是信息化校园平台建设的基础性工作, 是保证数据一致性的前提, 是构建稳定、合理数据结构的关键, 也是学校内部、学校与各级管理部门之间通过数据交换实现信息共享的依据。
原则上充分采用目前已有的国家标准和教育部教育管理信息化标准。对于没有国家标准、教育部教育管理信息化标准的信息, 使用学校的教育管理信息标准。信息标准由信息集与代码集构成。信息集由N个业务信息子集组成, 每一信息子集由相应的数据类、数据子类与数据项构成, 数据项用元数据进行描述;代码集由中华人民共和国国家标准 (GB) 代码集、教育部教育管理信息化标准 (JB) 代码集、高等教育行业标准 (HB) 代码集、学校教育管理信息标准 (XB) 代码集构成, 每一代码集包含若干代码表。
2.2 整合集成方案设计
2.2.1 软件平台选择
采用J2EE (Java2 Platform Enterprise Edition, Java2平台企业版) 技术基于多层软件构架和SOA面向服务的理念、使用Web Service和XML等技术整合与集成各种应用系统, 达到先进实用、安全可靠、易于扩展的应用系统整合集成的目标。
2.2.2 共享数据库设计
采用Oracle9i数据库。数据库设计采用面向对象的方法, 采用分布处理和集中处理相结合, 以保持数据的完整性、准确性、一致性。
2.2.3 技术架构模型设计
应用系统集成平台技术构架设计为:客户层、表示层、业务层、集成层和资源层五个层面组成, 各个层面的含义和功能分述如下。
(1) 客户层:客户层是整个架构的最上层, 主要用于将操作界面呈现给用户、建立与服务器的连接、接收并验证用户的输入、管理客户端与服务器的会话状态。
(2) 表示层:表示层是整个架构中最活跃的分层, 由WEB服务器及其组件构成, 主要用于处理客户端的请求、响应业务层组件的请求。
(3) 业务层:业务层是整个架构中最核心的分层, 由应用服务器及其组件构成, 主要用于处理业务逻辑。
(4) 集成层:集成层是整个架构中十分重要的分层, 由若干接口组件和服务构成, 主要用于集成学校的各类应用 (系统、服务和数据) , 实现各个应用之间的互联互通。
(5) 资源层:资源层是整个架构的最底层, 主要用于存储和管理持久化数据。
2.2.4 信息门户设计
信息门户集合先进的单点登录技术、灵活的访问控制机制, 依据设定的信息资源自身密级与用户访问权限, 全面实现自定义、个性化的综合信息服务。
信息门户框架采用J2EE技术构建, 符合国际上先进的技术标准和规范, 如Portlets (遵循JSR-168、JSR-170规范) 、Web Service、SOAP (简单对象访问协议) 、SOA (面向服务架构) 、WSRP (远程门户WEB服务) 、Liberty Alliance SSO (自由联盟单点登录) 、XML (可扩展标记语言) 、SAML (安全断言标记语言) 、PKI (公钥基础设施) 、LDAP (轻量级目录访问协议) 、Active Directory (活动目录) ;提供开放的、企业级的应用编程接口和管理工具, 具有高度的开放性、互联性、可扩充性与可移植性, 部署简便快捷 (见图1) 。
2.2.5 统一身份认证系统设计
统一身份认证系统构建并维护用户基本信息库 (含国别、身份证号、姓名、性别、出生日期、照片、帐号 (卡号) 、密码 (采用单向加密算法进行加密存储) 与用户身份 (教职工、学生、校友、特殊访问者等) , 为每一个用户提供唯一的电子身份。
2.2.6 公共数据交换系统设计
公共数据交换系统构建与维护信息化校园综合管理平台信息标准;构建与维护信息化校园综合管理平台共享数据库;在每一个应用数据库服务器上部署数据变更跟踪组件, 依据设置的数据跟踪计划智能跟踪应用数据库中的数据变更, 生成数据变更包并提交到共享数据库;在共享数据库服务器上部署数据变更同步组件, 依据设置的数据同步计划生成数据更新包序列, 分别智能同步到相应的应用数据库;通过安全、可靠的公共数据交换, 实现所有应用系统在共享公共数据基础上的整合与集成, 确保信息化校园综合管理平台数据的完整性、准确性与一致性[4] (见图2) 。
3 结语
传统整合高校教育资源系统的集成方式不能方便、低投入地实现异构系统的集成, 难以适应现代高校资源业务变化需求。SOA架构具有与软件和平台无关、松耦合的特性, 提供了一种解决资源系统之间的“信息孤岛”问题的服务模式。
运用SOA架构, 实现高校教育资源系统的集成和软件复用, 将有利于推进高校数字化校园的建设进程。本文针对高校应用系统整合与服务集成的需求, 从设计目标, 设计原则出发, 对应用系统整合集成的要件, 基于研究对象的教育管理信息标准和用户界面整合、公共数据交换进行了方案设计。
参考文献
[1]刘松.面向服务的企业应用集成架构[J].吉林大学学报, 2005 (11) :657.
[2]王滨等, 基于SOA的应用程序框架研究与实现[J].计算机工程与设计, 2006 (4) .
[3]柴晓路, 梁宇路.Web Services技术、架构和应用[M].北京:电子工业出版社, 2003:126~212.
[4]许鑫, 苏新宁.高校数字资源整合平台研究[J].现代图书情报技术, 2005 (9) :61~69.