|
基于Web Services的面向服务架构企业应用系统集成文章分析了传统企业应用系统集成存在的问题。剖析了面向服务架构(SOA)的内涵和Web Services的原理、实现机制。提出了基于web服务实现SOA的设计方案,对具体构建过程进行深入研究,并给出基于web服务的SOA的企业应用系统集成(EAI)的体系结构、通信结构和网络拓扑架构。 本文关键字: EAI | | 随着现代通信技术、计算机网络技术和企业信息化的飞速发展,企业使用的软件,如地理信息系统(GIS)、企业资源计划(ERP)、办公自动化(OA)、客户关系管理(CRM)等应用系统也越来越多。这些应用系统都是根据当时的业务需求而建设的,它们分别归属为企业不同部门所使用,虽然这些应用系统各有侧重点,但它们之间也包含着重复的信息和数据。可是,由于这些应用系统相互独立运行,使得它们之间无法进行信息的交流和共享,导致了众多的信息被封闭在相互独立的应用系统中,在企业内部形成了一个个所谓的"信息孤岛"。为了让不同的系统之间信息能够共享和集成,实现将众多的"信息孤岛"联系起来的需求,客观上的需求驱动了使能技术- 企业应用系统集成的产生和发展。 企业应用集成(EAI: Enterprise Application Integration)是指对企业中完成不同业务功能的应用系统进行集成,在它们之间建立起可供数据交流和应用沟通的纽带,进而使他们之间的信息交互成为可能。通过这种方式使用户可以访问企业的整体信息,而不必考虑这些具体信息到底是属于哪一个应用系统的,即各个不同应用系统对用户来说是透明的。这就需要采用一种应用系统集成方式将企业内部的各个现有应用系统集成起来,以达到整合企业资源的目的。 传统的企业应用集成方法主要有两种,点到点(Point-to-Point)的集成和基于企业消息总线或中间件的集成(即EAI)。点到点的方式属于硬编码的方式,在集成应用时工作量较大、开放性不好,且随着待集成的应用的增加,集成的复杂度急剧上升。基于中间件的集成如CORBA、DCOM等之间的互操作,他们的方法都是先建一个集成平台,然后开发各种各样的适配器和连接器(Adapter & connector)去连接已有的应用系统。用适配器来进行信息的有效收集、现有集成平台与原有平台的信息转发。而这种情况下,应用程序和消息总线之间的连通性是用私有总线API和应用程序API来实现的。这种集成本质上仍然是点对点的集成,不仅有失灵活,而且容易受制于传统分布式对象中间件技术存在的局限性,该集成防范成本太高、实现过程复杂且无法通用。传统方法的根本问题都是客户端与服务端之间耦合过于紧密。这种紧耦合的集成方式将影响系统的灵活性和扩展性,阻碍业务的流程调整和优化,不利于企业业务发展。 因此,企业间应用集成客观上迫切需要一种有效的、新的集成方法来克服传统的企业应用集成的缺点。如何选择新的集成方法和技术平台是我们必须考虑的重要问题之一。为此,笔者提出了面向服务架构SOA(Service Oriented Architecture)的企业应用集成方法。 面向服务架构(service oriented architecture,SOA)的概念是GartnerGroup,于1996年提出的。关于SOA,目前尚未有一个统一的、业界广泛接受的定义。一般认为:SOA,面向服务架构是一个组件模型,它将应用程序的不同功能单元(称为服务),通过服务间定义良好的接口和契约联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。 面向服务的体系架构中共有3种角色,它们分别是服务提供者、服务消费者和服务注册中心。其中服务提供者负责服务功能的具体实现,并通过注册服务操作将其所提供的服务发布到服务注册中心,当接收到服务消费者的服务请求时,执行所请求的服务。服务消费者则是服务执行的发起者,首先需要到服务注册中心中查找符合条件的服务;然后根据服务描述信息进行服务绑定/调用,以获得需要的功能。而服务注册中心则用来提供服务提供者注册服务、提供对服务的分类和查找功能,以便服务消费者发现服务(见图1)。
SOA体系结构中的每个实体(组件)都扮演着服务提供者、消费者、注册中心这三种角色中的一种或多种。在这些角色之间使用了三种操作: Web Services是建立在开放标准和独立于平台的协议基础之上的分布计算单元。Web服务本身由四大部分组成:XML ,SOAP,WSDL,UDDI。web服务技术本身的兴起也正是依托这四大开放标准的发展过程和标准化历程而发展起来的。它使用SOAP协议在服务提供者与服务使用者之间进行通信。Web Services通过WSDL协议定义服务接口,使用UDDI协议进行Web Services注册和查找。 SOA与 Web Services是两个不同层面的问题,SOA是一个概念,一种理念,一种模型,面向商业应用,SOA的具体实现技术包括CORBA、DCOM、JZEE、WEB服务等;后者则是实现模式,面向技术框架。SOA概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及如何交互。其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间的区别。另一方面,Web服务在需要交互的服务之间如何传递消息有具体的指导原则。从战术上实现SOA模型是通过HTTP传递的SOAP消息的Web服务模型。因而,从本质上讲,web服务是SOA的最佳的实现技术。这是由于web服务是标准的,它保证了来自不同的Web服务即使运行在不同的平台上,底层的实现机理不同也可以顺利交互和共享,这是传统的技术如CORAB、EJB或DCOM等都是做不到的,更为突出的是Web服务的定义和实现是分开描述的,即它的松耦合性,可以方便地修改Web服务内在的实现而不会对现有的系统造成破坏,这极大地促进了信息件架构的灵活性。基于web这种标准的成熟和应用的普及为广泛的实现SOA架构提供了基础。Web Services通过WSDL协议定义服务接口。服务提供者可以通过UDDI发布自己的Web service1,如供应商发布订单服务、客户支持服务等;服务消费者可以通过UDDI查找企业或者平台提供的Web service1,如客户需要查找供应商提供的订单状态查询服务等。发布服务的过程:1)服务提供者定义自己提供的Webservicel;2)将服务发布于UDDI上。请求者查询服务的过程:1)通过UDDI查询自己需要的服务;2)将Web service1集成在系统中。 3.3 基于web服务的SOA的企业应用系统集成3.3 基于web服务的SOA的企业应用系统集成 基于WEB服务实现企业应用系统的集成,它是以Web服务接口的形式将各种应用程序和信息系统进行封装、组合和集成作为服务提供者。Web服务能够统一地封装信息、行为、数据以及业务流程,把应用程序改变成可重用的和柔性的组件。企业的核心业务功能用Web服务封装成组件后,可以很方便地在企业之间共享。基于Web服务的组件被一次性地部署在UDDI中,所有连入网络的服务消费者(应用程序)就可以随时调用和集成这些Web服务。其体系结构如图2。基于 Wbe 服务的SOA的关键是使用标准的服务接口和松耦合的连接,其具体实现过程如下: 无论对于什么平台技术实现的应用系统,在对外接口上都用统一的对象模型Web Services进行封装。新的功能可以直接设计为一个Web Services ,已有的功能可以进行接口转换和封装。通过工具或手动定义Web Services的接口描述WSDL文档,并把WSDL文档描述的内容映射到UDDI数据结构中去,从而在UDDI注册中心对Web Services进行注册。无论什么平台的客户应用程序(业务)首先到UDDI注册中心访问Web Services服务的注册信息,通过注册信息访问相应的Web Services的接口描述WSDL文档,并在本地生成代理对象。以后各业务就通过此代理对象与Web Services进行数据交互。如果Web Services内部结构和实现发生了改变,只要WSDL描述即接口保持不变,整个系统就不需要作任何变化。以下设计了基于Web Services的SOA通信结构(图3)和网络拓扑结构(图4)。
SOA为EAI提供了理想的集成框架。这种基于Web Services的方式能够满足各种信息集成要求,体现了松散藕合、位置透明、协议独立的特点,能够支持随需应变的动态业务需求,很好的解决了传统企业应用系统集成存在的问题,为"信息孤岛"建立了联系,实现了信息的共享和集成,同时该方法能充分发挥SOA架构的服务组件重用性、异构平台的信息集成性,并且由于Web Services通信的简单性使得SOA的实现变得更加容易。
基于WEB服务实现企业应用系统的集成,它是以Web服务接口的形式将各种应用程序和信息系统进行封装、组合和集成作为服务提供者。Web服务能够统一地封装信息、行为、数据以及业务流程,把应用程序改变成可重用的和柔性的组件。企业的核心业务功能用Web服务封装成组件后,可以很方便地在企业之间共享。基于Web服务的组件被一次性地部署在UDDI中,所有连入网络的服务消费者(应用程序)就可以随时调用和集成这些Web服务。其体系结构如图2。基于 Wbe 服务的SOA的关键是使用标准的服务接口和松耦合的连接,其具体实现过程如下: 无论对于什么平台技术实现的应用系统,在对外接口上都用统一的对象模型Web Services进行封装。新的功能可以直接设计为一个Web Services ,已有的功能可以进行接口转换和封装。通过工具或手动定义Web Services的接口描述WSDL文档,并把WSDL文档描述的内容映射到UDDI数据结构中去,从而在UDDI注册中心对Web Services进行注册。无论什么平台的客户应用程序(业务)首先到UDDI注册中心访问Web Services服务的注册信息,通过注册信息访问相应的Web Services的接口描述WSDL文档,并在本地生成代理对象。以后各业务就通过此代理对象与Web Services进行数据交互。如果Web Services内部结构和实现发生了改变,只要WSDL描述即接口保持不变,整个系统就不需要作任何变化。以下设计了基于Web Services的SOA通信结构(图3)和网络拓扑结构(图4)。
SOA为EAI提供了理想的集成框架。这种基于Web Services的方式能够满足各种信息集成要求,体现了松散藕合、位置透明、协议独立的特点,能够支持随需应变的动态业务需求,很好的解决了传统企业应用系统集成存在的问题,为"信息孤岛"建立了联系,实现了信息的共享和集成,同时该方法能充分发挥SOA架构的服务组件重用性、异构平台的信息集成性,并且由于Web Services通信的简单性使得SOA的实现变得更加容易。 文章来源:中国制造业门户 责编:李华星 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
推荐博客 |
|