长风联盟SOA实施建议与典型应用SOA发展至今,尚无统一的概念与认识,但SOA给IT产业所带来的影响和作用深远而显著。在SOA实践中仁者见仁,智者见智,大家按照自己的认识和经验,提出各种原型、参考实现、技术标准、产品、方案及实施方法指南。SOA正在这种设想、实践、再设想、再实践的动态碰撞中不断去伪存真,得以发展。长风联盟带领70余家成员单位,在SOA技术研究与实践基础上,建立了SOA应用解决方案,开展大量应用实践,积累形成了一系列典型的SOA应用案例。
一、SOA基本功能特性与技术实现模式
基于实际应用需求,长风联盟从业务服务的形成、使用和管理角度,划分出服务描述/发布/发现、服务管理、服务实现、服务应用、服务交互等功能,并给出为支撑企业级应用所需提供的典型非功能特性,建立起实现SOA的基本功能要素。在实施过程中,联盟成员根据业务功能要求,参考联盟SOA应用参考框架,确定企业SOA实施模式,进而做好相应技术、标准和产品选型。
长风联盟在指导企业进行SOA实施时,根据选用技术与产品的特征,归纳出三类基本的SOA技术实现模式。
SOA基本功能要素 |
SOA典型技术实现模式
| ||
使用WS产品实现
|
使用ESB产品实现
|
使用BPM产品实现 | |
标准化的服务接口描述 |
1.WSDL标准描述服务 |
1.定义通常使用WSDL标准(或XML) 2.常使用数据对象(DO)描述接口所使用数据或消息。SDO是趋势 |
1.流程描述采用XPDL或BPEL等标准 2.访问的服务一般使用WSDL标准描述 |
服务接口管理 |
1.通常用UDDI 2.自己手动维护 |
1.商业产品提供服务库功能,提供服务描述信息的管理 |
1.常需要与ESB产品结合,或与服务库产品集成。 2.从ESB产品或服务库获取服务描述信息。 |
服务接口与实现相分离 |
1.使用不同语言(C/C++,Java,BPEL等),使用不同平台(JEE,.Net等) |
1.使用不同语言(C/C++,Java,BPEL等),使用不同平台(JEE,.Net等) 2.ESB一般提供常用数据库等技术的适配器服务 |
1.XPDL或BPEL定义服务流程 2.服务实现可以采用不同技术 |
支持不同传输协议 |
1.绑定SOAP协议 2.底层传输可以使用不同传输协议(HTTP,JMS,SMTP等) |
1.支持不同服务访问协议,如JMS、EJB、RMI等。 2.支持不同服务间传输协议,如HTTP,JMS,SMTP,TCP/IP,RMI等。 |
1.常使用数据对象(DO)方式描述流程中使用的数据 2.通过ESB可以支持不同传输协议(HTTP,JMS,SMTP,TCP/IP,RMI等)访问服务 |
服务是松耦合的 |
1.在WSDL中需要定义服务访问地址和端口 2.无法完全做到透明访问 |
1.在开发时不需要确切知道服务的具体地址 2.在部署时定义服务地址,也可以在运行时修改服务地址。 3.通过ESB,可以使用不同传输协议访问同一个服务 |
1.通过ESB访问服务,可以实现服务的透明访问。 |
服务可以灵活重用 |
1.服务可以得到复用 2.需要通过编程实现服务之间的交互 |
1.支持服务组装模式和EIP流程编排模式 2.提供图形化的服务组装工具 3.也可以通过编程方式实现服务之间的交互 |
1.提供基于工作流的流程编排方式。 2.提供图形化的服务流程定义工具 |
服务中介能力 |
1.一般情况下,服务中介简单。 2.可以基于WEB服务器或应用服务器 |
1.提供强大的服务中介能力。 2.服务透明访问,支持基于内容的服务路由。 3.强大的消息处理能力,包括转换,过滤,填充等。 4.强大的消息传输功能,保证效率,可靠性,安全性。 |
1.可以通过WS方式,提供简单的服务中介功能。 2.与ESB产品结合,可以提供强大的服务中介功能 |
服务运行管理 |
1.一般不提供服务运行管理功能 2.可利用应用服务器提供的有限的运行管理功能 |
1.商业产品提供强大的管理和监控功能。 2.一般产品也提供运行管理接口。 |
1.服务运行管理由ESB产品提供。 2.BPM产品提供服务的流程运行管理功能,并提供管理控制功能。 |
企业级特性 |
1.支持简单应用。 2.企业级特性支持比较弱 |
1.支持复杂应用。 2.提供强大的企业级特性支持。 |
1.支持流程中的事务管理, 2.支持流程的可靠执行, 3.支持流程和服务的安全访问 4.提供流程运行效率,和大量流程的并发执行。 |
二、长风联盟SOA应用参考框架
为了支持企业SOA实践,根据典型的SOA技术实现模式,遵循标准化的原则,长风联盟提出了SOA应用参考框架,建立了SOA标准推荐集和框架层次之间的互操作接口标准规范。长风联盟SOA应用参考框架如下图所示:
基础设施层:主要指服务器、网络设备及操作系统、数据库等基础软件,本层为信息化应用提供基本设施保障;
资源层:主要是用户单位内外的应用系统和应用数据,还有互联网上的各种信息,本层涵盖了用户开展业务时需要得到的各种信息资源;
服务化技术层:主要是把资源变成服务,提供给其他应用调用。这层主要有服务描述、服务发布、服务发现及服务管理等技术;
服务交互通讯层:主要解决服务接入、服务与服务之间交互与通讯等问题,提供协议转换、路由、访问保障、消息格式转换等功能,可以看作是服务中介,做到服务位置透明、协议透明、格式透明,解耦服务与技术实现的绑定;
应用支撑技术层:主要由通用支撑技术和行业支撑技术,其中通用技术主要有BPM、Portal、Mashup、事件驱动等技术,利用他们可以使用下层的各种服务生成新的应用,行业支撑技术包括行业模版、表单服务、资源目录、共享平台等,可以为行业应用快速提供服务;
应用层:为最终用户提供了各种应用,如BPM驱动的流程类应用,基于Mashup聚合多数据服务源的信息类应用,采用Portal技术整合各种服务的门户类应用等。
SOA支撑工具:涵盖服务化技术、服务交互通讯、应用支撑技术和应用层所需的各类软件工具。从SOA应用技术视角看,包括规划、设计、开发、部署、运行、维护等相关的软件工具。SOA支撑工具是SOA应用的重要支撑,是保证SOA应用质量,提高服务规范性、可用性的重要保障。
SOA治理与管理:SOA治理主要包括指导和控制组织内或组织间在服务生命周期内所涉及到的服务创建、通信、使用等方面的规则和规定。SOA管理主要通过组织机制上的保障措施将SOA治理要求的内容进行落地,并根据实际推进情况进行评判和权衡,避免扯皮和割裂,保证应用的各方协调一致,确保SOA应用的业务效果。
长风联盟SOA应用参考架构图包含的资源和基础设施层是SOA必须的,但不是SOA特有的,不属于SOA应用参考架构所涵盖内容。
长风联盟互操作接口标准规范:是长风联盟SOA应用参考框架的重要纽带,包括公共参考规范、支撑工具集规范及服务集成框架规范三个主要组成部分。公共参考规范是工具集和服务集成框架共同遵守的基础规范;工具集规范定义各类工具的参考模型和访问接口规范,以便加强SOA工具对应用框架的整体支撑;服务集成框架规范定义各服务访问接口规范以及一些服务的参考模型。这些规范是保证不同功能层次灵活组合、裁减的基础,也是保证基于长风联盟SOA应用参考框架形成的不同应用之间互联互通的重要条件。
三、长风联盟典型SOA应用案例
基于长风联盟SOA应用参考框架,成员企业针对用户需求,提供相应的定制化SOA解决方案,解决用户信息化关键问题。长风联盟SOA技术和标准成果已经在实际工程项目得到应用,并形成以下几类典型SOA应用案例。
案例1:海事应急辅助指挥应用案例
案例类型:使用ESB产品实现SOA
实施公司:北京东方通科技发展有限责任公司
业务需求:为了提高我国海事应急指挥综合水平,保护海上人民生命和财产的安全,交通部海事局启动了海事应急辅助指挥系统试点工程的建设。该工程的总体目标是:以对险情进行快速、有效救助为出发点,实现应急指挥数据综合查询,搜救行动辅助决策,搜救力量联动指挥,改善、提升海事应急的组织、指挥、协调能力,提高海上搜救的效率和成功率。从海事应急辅助指挥项目的特点及以上分析来看,其实施地域广、应用系统繁多、技术接口复杂;要求不改变现有应用系统情况下,对原有应用系统的功能、数据进行复用;既有数据集中交换要求,又有数据分散存储按需所取需求。因此,采用SOA架构及相关技术非常适合此项目的需要。
工程实施成果及效果:依据长风联盟SOA应用参考框架,结合工程实际需求,形成海事应急辅助指挥系统应用整合部分的总体技术解决方案。
此方案部署方式,是在部局和各个地方的直属局都部署一个共享交换平台节点。共享交换平台节点,由东方通科技公司的TongIntegrator V3和由TongLINK/Q和GTP组成的传输系统构成。TongIntegrator V3作为基于SOA的应用整合的基础设施,传输系统中TongLINK/Q和GTP,分别用来解决跨网络的批量并发数据及批量文件和大文件的可靠传输问题。使用TongIntegrator V3完成的工作有:使用SOA应用集成开发工具TI Studio开发业务服务,并对业务服务进行组装合成,打包部署到SOA的运行系统逻辑节点上;使用监控管理中心,对应用集成系统进行监控、管理及运行历史记录查询统计等操作;使用和开发的服务,都通过内置的企业服务总线TI ESB进行彼此通讯,降低了服务消费者和提供者之间的耦合度,使整个系统架构比较灵活,业务系统便于扩展。
案例2:上海虹桥枢纽信息集成项目SOA应用案例
案例类型:使用ESB产品实现SOA
实施公司:北京同方软件股份有限公司
业务需求:根据上海市政府发布的《上海市综合客运交通枢纽布局规划》,虹桥综合交通枢纽是包括城际铁路、高速铁路、轨道交通、长途客运、市内公交等多种换乘方式于一体的交通“巨无霸”,它主要面向机场、高铁、地铁、磁浮、公交、出租、旅游线的客流换乘,实现来往乘客在此处的快速集散,满足客流出行的需求,大大提高交通工具的运转效率。设计目标是每天50万旅客通行,将于2010年初期建成。要实现“乘客快速集散,交通运转效率提高”的目标,虹桥枢纽指挥调度中心的信息系统就成为核心应用系统之一,而它要解决的主要问题就是异构系统互连和信息协同。
工程实施成果及效果:依据长风联盟SOA应用参考框架,结合工程实际需求,形成下图所示系统架构。采用基于ESB实现模式。通过ezESB提供功能强大的服务中介功能,支持了各种应用系统服务的接入,改变了原有系统间网状连接的结构,形成了星状通信基础设施,枢纽所需的各种资源、信息、服务得到很好地监控,可以灵活地集成已有和新建应用,很好地支撑指挥调度中心的业务目标实现。
案例3:朔黄铁路资源管理系统(SR-ERP)工程应用案例案例类型:使用ESB产品实现SOA
实施公司:华迪计算机集团有限公司
业务需求:朔黄铁路发展有限责任公司(简称“朔黄公司”)由中国神华能源股份公司,中铁建设投资公司、河北省建设投资公司三方共同出资组建,朔黄铁路资源管理(SR-ERP)系统思路是是以财务管理为核心,以资产管理为基础,以人力资源为依托,以信息化技术为手段。实现“财务一本账”:重点解决定额、单耗、资金等关键问题,提高效益;实现“一个物”:重点解决资产寿命管理,重点突出物资收发存,达到零库存;实现“一个人”:重点解决职工生涯管理、组织机构优化等问题,发挥人的作用。根据业务战略、基础环境、应用需求和管理要求等角度综合分析后选择采用SOA架构。
工程实施成果及效果:依据长风联盟SOA应用参考框架,结合工程实际需求,建设形成下图所示系统架构图。
在朔黄SR-ERP系统结构中,由于其组成的子系统是由不同的厂商进行建设,各厂商的系统之间都有其各自的数据接口以及不同的实现方式,另外用户方已有的一些系统例如OA等系统也需要加入到SR-ERP系统中实现业务的协同操作,在这样一个复杂的系统中,为了规范和统一各子系统之间的业务协同及数据交换,各子系统之间涉及到的所有共享和交换的数据都基于消息机制的方式进行技术实现,通过服务代理产品(ESB)与消息中间件(JMS/Q)的无缝结合,建设统一的数据交换平台,完成SR-ERP系统要求的“三个统一”和“三个集成”。
案例4:苏州工业园区信息资源共享平台应用案例
案例类型:使用WS产品实现SOA
实施公司:北京有生博大软件技术有限公司
业务需求:苏州工业园区信息资源共享平台是横跨多个政府部门,实现异构系统数据资源共享整合和管理监控的基础平台,主要服务于园区管委会跨部门数据资源的有序管理、安全共享、汇集沉淀和开发利用。平台涉及的政府部门既包括管委会下属机构,如经济贸易发展局、一站式服务中心等内部机构,也包括园区工商、国地税、海关、质监等垂直管理的条线部门。这些部门的信息系统大部分是单独规划设计,采用的技术架构各不相同。根据园区的业务战略、基础环境、应用需求和管理要求等角度综合分析后选择采用SOA架构。
工程实施成果及效果:依据长风联盟SOA应用参考框架,结合工程实际需求,建设形成包括苏州工业园区统一管理信息资源目录体系和园区基础公用的信息资源共享平台在内的系统。
系统采用基于WS的主要技术路线,实现了园区信息资源目录实现对分布、跨部门信息资源的有序化管理,同时也为信息资源共享平台提供共享数据资源的注册、查找、路由定位等功能。目前法人数据库已经初步建成,已经完成企业综合库的国税、地税等关于企业基础数据的共享,实现了园区2万7千多家企业基础信息采集,接下来将进一步通过共享平台完成国税、地税业务数据的日常采集,形成动态更新机制。基于信息资源共享平台改进了网上审批系统的接件受理,利用企业基础数据库的共享,最大程度的减少了窗口工作人员的录入工作,同时也方便企业办事。
用户评论