2009-12-14 08:54:14 来源:万方数据
0 引言
面向服务架构(SOA)是一种组件模型,它通过应用程序功能单元(称之为服务)之间定义完善的接口和契约,来联系应用程序中的不同服务。一般对SOA比较一致的认同观点是:服务应当通过明确的、与实现无关的接口来定义;服务可以被松散绑定,并且可以通过强调位置透明性和互操作性的通信协议进行调用:服务封装了可重用的业务功能。SOA依赖于将应用程序发布为服务,这些服务可被外部各方调用。其核心本质是实现服务和技术的完全分离,从而最大限度上实现服务的集成和重组。换句话说,SOA可以将所有的软件都改造成一个个的服务,各个软件之间的联系都采用服务来完成。有了这个架构,每个软件的开发团队只需要关注自己负责的软件就可以了,使得当前软件的维护和后续软件的开发就变得简单多了。
企业服务总线(ESB)是从消息中间件的基础上发展而来的。ESB采用“总线”的模式来管理和简化应用之间的集成拓扑结构,以更加开放的标准为基础来支持应用之间在消息、事件和服务的级别上动态的互联互通。ESB是一种在松散耦合的服务和应用之间标准的集成方式。主要可以应用在以下三个方面:1)面向服务的架构:分布式的应用由可重用的服务组成;2)面向消息的架构:应用之间通过ESB发送和接受消息;3)事件驱动的架构:应用之间异步地产生和接收消息。ESB就是在SOA架构中实现服务间智能化集成与管理的中介。如图1,常见总线方式的SOA架构模型。
产品生命周期管理PLM(Product Lifecycle Management)自20世纪末提出以来,便迅速成为制造业关注的焦点。PLM结合电子商务技术与协同技术,将产品的开发流程与SCM、CRM、ERP等系统进行集成,将孤岛式流程管理转变为集成化的一体管理,实现从概念设计、产品设计、产品生产、产品维护到管理信息的全面数字化;实现企业知识价值的提升与知识共享管理,产品开发和业务流程的优化,从而全面提升企业生产效率,降低产品生命周期管理的成本,以提升企业的市场竞争力。

图l 常见的总线式SOA系统架构
1 集成式PLM系统的思路
随着越来越多的企业部署了OA、ERP、CRM等系统软件,来加强整个企业信息流程的管理和业务信息的交流,如何成功的将各个系统的数据信息集成到一起成为企业关注的焦点。将不同数据库不同结构的系统紧密而合理的集成起来,以完成企业内部甚至与外部企业和用户的业务交流,成为了各企业用户最为普遍的想法,也成为软件开发行业的热点。集成式PLM系统可以将0A、ERP、CRM等系统软件成功整合在一起,实现企业信息的完美整合,以及企业业务流程的控制。图2是一种集成式PLM系统模型。

图2 集成式PLM系统模型
随着技术的不断发展,Web Services、JMS等的不断出现,一种实现SOA系统架构的方案出现了:ESB,即开发出一个转化、处理的综合性平台,实现各个软件之间数据的“黑盒”联系。不论采用何种技术方式向“总线”提交请求,“总线”都能成功地应答并返回相应的数据。对现存的企业应用软件进行ESB系统架构改造时,可以将各个软件与其他软件进行数据关联的地方进行必要的、不改变技术手段的改造,使之连接到ESB中。这种改造的改动非常小,因此成本也很低,就使得SOA系统架构的实现成为可能。ESB需要实现对于消息的控制、传送、分派、解析。图3是一个常见的对现有系统进行改造的ESB系统架构。

图3 常见的对现有系统进行改造的ESB系统架构
在这个架构中,每个组成部分称之为一个服务。不同的相关服务的组合,就形成一个相对完整的系统。这种系统结构的优点在于服务的组合、发布、重用,具有依赖性低;能够同时运行不同的软件版本;相对独立,便于团队的开发和理解;与原系统集成的成本低廉。集成式PLM系统就是要在企业原有的管理和信息软件基础上,根据实际的需要,将各类企业软件系统封装成一个个服务并通过ESB集成的方式,整合到一个平台下,这样可以有效地利用原有资源,也可以在此基础上进行后续开发。
2 集成式PLM系统实现
通常公司或企业里最常用的莫过于资源管理系统(ERP)和客户管理系统(CRM),下面就以这两种系统的集成为示例,介绍一下基于ESB解决方案的集成式PLM系统的部分实现。这两个系统的功能在某些方面是重合的,但是侧重点和系统开发商不同。如果没有一个统一的理念来管理这两个系统或更多的系统,想结合起来使用,难度很大。如果再加上公司的其他系统,那么整个系统简直就是一团乱麻。
对CRM和ERP系统的整合内容主要包括:客户管理、产品管理、工作流管理、工作人员管理、营销管理、销售管理、客户服务和支持、订单管理、信息交流、决策支持等。如果要新增加一个客户或者一个产品,需要保持两个系统里面的数据的一致性。如果软件不是来自同一个厂商,两者不能在数据库层面集成,可以使用下面的方法解决此类问题。
2.1 建立ESB系统总线
利用ESB总线的思想,采用JMS平台进行消息传递,可以实现对系统的整合,ESB总线传递的是消息,需要实现消息(信息)的转换、订阅、发布、传送、分派、事件解析、事件通知、事件注册、事件储存等功能,如图4所示。

图4 ESB总线实现基本原理
信息转换和时间订阅/发布等,需要写代码完成,本例中外部全部使用Web Services,可以不进行信息转换的工作。事件的存储、注册、订阅、发布等,在JMS中有比较完整的实现,由于篇幅的限制,在此不再赘述。
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。
