论文部分内容阅读
摘 要:系统集成是Web Service和SOA的主要应用领域,集成技术主要用于解决数据库爆炸和信息孤岛问题。集成通过自适应技术来整合IT信息资源,发挥IT的整体作用,集成技术包括了连接、管理、规范和整合企业内外的信息。随着Web Service和SOA的不断成熟,一种基于SOA的集成框架ESB也日趋完善。ESB融合了EAI和B2B的优点,采用ESB可以使系统集成更方便、更经济。
关键词:SOA 系统集成 Web Service ESB
中图分类号:TP303文献标识码:A 文章編号:1673-8454(2009)17-0081-04
一、概念
系统集成泛指连接、管理和组合各种企业内和企业间的系统,使集成后的系统能以统一的方式互联互操作以支持业务过程的自动化技术。将两个或者两个以上的系统进行集成时主要涉及组织、角色、任务和过程的定义和管理。系统集成的主要工作有集成方案的确定,集成功能范围的划分,工作流系统的创建改造,数据格式的规范,组织模型的统一等。
SOA(Service-Oriented Architecture),一般翻译为“面向服务的体系结构”,它是一种良好分布式软件架构模型,它将不同的功能单元(服务)通过单元之间的接口和契约联系起来。接口采用中立的方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言,使得构建的服务可以以一种统一和通用的方式进行交互。所以,SOA是将软件组织在一起的抽象概念。
二、系统集成
系统集成是一种新兴的服务方式,指在企业范围内外,将多个应用系统的过程、软件、标准、数据库和硬件集成在一起,使集成后的系统成为一个无缝运作的系统。系统集成的本质就是最优化的综合统筹设计,对一个大型的综合计算机网络系统,系统集成所要达到的目标——整体性能最优,即所有部件和成分合在一起后不但能工作,而且全系统是低成本的、高效率的、性能匀称的、可扩充的和可维护的系统。一般的系统集成包括业务过程集成、应用集成、数据集成和功能集成。通过集成可以增进与客户的关系,增强供应链间的联系,改善内部流程,减少市场周期等。我们经常把系统集成分为:表示集成、数据集成和功能集成(如图1所示),另外API集成是所有集成的基础。系统集成实现的关键在于解决系统之间的互联和互操作性问题,它是一个多厂商、多协议和面向各种应用的体系结构。这就需要解决各类设备、子系统间的接口、协议、系统平台、应用软件等与子系统、建筑环境、施工配合、组织管理和人员配备相关的一切面向集成的问题。
SOA的主要组件结构如图2所示。SOA是通过http传递的SOAP消息。SOAP(简单对象访问协议)是一种基于XML文本的通信协议,它是一种轻型的分布式计算协议,在分布式环境中交换信息。Http允许SOAP利用Web服务器、代理服务器和防火墙等进行投资,达到简单、可扩展的目的。
2.XML
XML(Extensible Markup Language)可扩展标记语言,是一套定义语义标记的规则,也是元标记语言,用于定义其他与特定领域有关系的、语义的、结构化的标记语言的句法语言。XML具有简明有效、易学易用、开放、国际化、标准高效、可扩展等特点。它是一种简单、灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。使用XML有以下好处:使搜索更有意义,开发灵活的Web应用软件更简单,可实现不同的数据集成,适用于多种应用环境,方便客户端的数据处理和计算,数据标准满足个性化要求,局部数据可随时更新,与现有的Web发布机兼容,可扩展性高和有良好的压缩性能。
3.Web Service
Web Service是由URI标识的软件应用,其接口和绑定可以用XML来定义和描述并且可以被发现,与其他软件通过基于Internet的协议以XML消息交换方式直接交互。Web Service是实现SOA的具体方式之一,它是架构在XML和Internet之上的分布式计算技术。Web Service是系统集成中用来解决应用程序之间相互通信的技术,同时也是描述一系列操作的接口。在Web Service中需要一系列标准的支持,例如WSDL、UDDI、SOAP等,这些标准在角色、操作和构件三者之间起连接作用,如图3所示。
(1)WSDL(Web Service Description Language)包含文档或面向过程消息的端点操作信息的XML格式网络服务描述,可以绑定描述与SOAP、HTTP GET/POST和MIME技术。
(2)UDDI(Universal Description,Discovery and Integr-ation,统一描述、发现和集成)是一个规范,可以用于以Web Service为基础的信息注册,是一个公用的可接入集合,以登记的形式将信息登记出来以便可以发现这些服务。
(3)SOAP(Simple Object Access Protocol)是一种轻量级的编程,常用于没有控制中心、分布式的环境中交换信息,它以XML为基础,一般由信封、编码规则、远程过程调用和应答规则、捆绑方式组成。
4.CORBA、DOM、EJB
CORBA是Common Object Request Broker Architecture的縮写,简称公共对象请求代理体系,它由国际对象,管理组织OMG指定。在该环境下开发的软件既可面向对象又具有可重用性、可移植性及可操作性等特点。CORBA是一种分布式计算标准,其主要分三层:对象请求代理、公共对象服务和公共设施。CORBA是一种应用于开发和配置分布式应用的服务器端中间件模型规范,包括:抽象构件模型、构件容器结构和构件的配置以及打包规范。
5.ESB
ESB(Enterprise Service Bus)采用SOA原则,在大粒度服务级别通过事件驱动和基于XML的消息引擎,以与实现无关的方式集成企业应用的新型标准。它使用许多可能的传递消息协议来负责适当的控制流甚至还可能是服务之间所有消息的传输,相当于计算机的系统总线。模块(服务)都以松耦合连接到BUS上,以此方式来提高服务效率,ESB主要有智能路由(Routing)、传输(Transformation)和事件(Event)组成,如图4所示。
在J2EE平台下,Web服务器通过两种方式访问J2EE应用程序,一种是携带一组类型参数(最初的Web服务版本)的RPC风格调用(同步和异步),这种类型的服务调用非常类似传统的方法调用,使用在分布式对象和RPC实现中;另外一种则是消息传递风格调用(同步和异步),这种类型的服务调用类似传统的消息系统。客户在访问JAX-RPC API创建的Web服务,JAX-RPC就使用Servlet来实现相应的Web服务。Web服务的客户也可以通过Bean的服务端点接口访问无状态会话Bean。如果不采取消息的同一规范,则Web服务的客户不能访问其他类型企业的Bean。
五、总结
SOA将应用程序不同的功能单元,通过组件(服务)之间接口和契约联系起来,甚至将不同的应用系统整合成一个功能强大、服务性能强的系统。其接口采用中立的方式进行定义,我们一般称之为松耦合。松耦合的系统有很好的灵活性,当整个应用程序的每个组件的内部结构和实现逐个发生改变时,它能继续存在。接口独立于硬件、操作系统和编程语言,使得系统中的服务可以统一和通用的方式进行消息传递和交互。通过使用基于XML的语言WSDL来描述接口,相应的服务已经转到更动态且灵活的接口系统。以SOA为基础的系统集成很好地解决了信息孤岛的问题。
参考文献:
[1]全国计算机技术与软件专业技术资格(水平)考试办公室,2006年下半年试题分析与解答.北京:清华大学出版社,2007.
[2]张友生.系统分析师技术指南[M].北京:清华大学出版社,2007.
[3](美)科拉夫兹格,(美)本克,(美)斯拉姆著,韩宏志译. Enterprise SOA中文版——面向服务架构的最佳实战[M].北京:清华大学出版社,2006.
[4]梁爱虎.SOA思想、技术与系统集成应用详解[M].北京:电子工业出版社,2007.
[5]毛新生.SOA 原理·方法·实践[M].北京:电子工业出版社,2007.
[6]Stephen R.Schach.面向对象与传统软件工程[M].北京:机械工业出版社,2006.
[7]史济民等.软件工程——原理、方法与应用[M].北京:高等教育出版社,2002.
[8]喻坚,韩燕波.面向服务的计算:原理和应用[M].北京:清华大学出版社,2006.
[9]吴维元等.Web服务数据传输通道的安全性分析[M].北京:网络安全技术与应用,2008.2.
关键词:SOA 系统集成 Web Service ESB
中图分类号:TP303文献标识码:A 文章編号:1673-8454(2009)17-0081-04
一、概念
系统集成泛指连接、管理和组合各种企业内和企业间的系统,使集成后的系统能以统一的方式互联互操作以支持业务过程的自动化技术。将两个或者两个以上的系统进行集成时主要涉及组织、角色、任务和过程的定义和管理。系统集成的主要工作有集成方案的确定,集成功能范围的划分,工作流系统的创建改造,数据格式的规范,组织模型的统一等。
SOA(Service-Oriented Architecture),一般翻译为“面向服务的体系结构”,它是一种良好分布式软件架构模型,它将不同的功能单元(服务)通过单元之间的接口和契约联系起来。接口采用中立的方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言,使得构建的服务可以以一种统一和通用的方式进行交互。所以,SOA是将软件组织在一起的抽象概念。
二、系统集成
系统集成是一种新兴的服务方式,指在企业范围内外,将多个应用系统的过程、软件、标准、数据库和硬件集成在一起,使集成后的系统成为一个无缝运作的系统。系统集成的本质就是最优化的综合统筹设计,对一个大型的综合计算机网络系统,系统集成所要达到的目标——整体性能最优,即所有部件和成分合在一起后不但能工作,而且全系统是低成本的、高效率的、性能匀称的、可扩充的和可维护的系统。一般的系统集成包括业务过程集成、应用集成、数据集成和功能集成。通过集成可以增进与客户的关系,增强供应链间的联系,改善内部流程,减少市场周期等。我们经常把系统集成分为:表示集成、数据集成和功能集成(如图1所示),另外API集成是所有集成的基础。系统集成实现的关键在于解决系统之间的互联和互操作性问题,它是一个多厂商、多协议和面向各种应用的体系结构。这就需要解决各类设备、子系统间的接口、协议、系统平台、应用软件等与子系统、建筑环境、施工配合、组织管理和人员配备相关的一切面向集成的问题。
SOA的主要组件结构如图2所示。SOA是通过http传递的SOAP消息。SOAP(简单对象访问协议)是一种基于XML文本的通信协议,它是一种轻型的分布式计算协议,在分布式环境中交换信息。Http允许SOAP利用Web服务器、代理服务器和防火墙等进行投资,达到简单、可扩展的目的。
2.XML
XML(Extensible Markup Language)可扩展标记语言,是一套定义语义标记的规则,也是元标记语言,用于定义其他与特定领域有关系的、语义的、结构化的标记语言的句法语言。XML具有简明有效、易学易用、开放、国际化、标准高效、可扩展等特点。它是一种简单、灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。使用XML有以下好处:使搜索更有意义,开发灵活的Web应用软件更简单,可实现不同的数据集成,适用于多种应用环境,方便客户端的数据处理和计算,数据标准满足个性化要求,局部数据可随时更新,与现有的Web发布机兼容,可扩展性高和有良好的压缩性能。
3.Web Service
Web Service是由URI标识的软件应用,其接口和绑定可以用XML来定义和描述并且可以被发现,与其他软件通过基于Internet的协议以XML消息交换方式直接交互。Web Service是实现SOA的具体方式之一,它是架构在XML和Internet之上的分布式计算技术。Web Service是系统集成中用来解决应用程序之间相互通信的技术,同时也是描述一系列操作的接口。在Web Service中需要一系列标准的支持,例如WSDL、UDDI、SOAP等,这些标准在角色、操作和构件三者之间起连接作用,如图3所示。
(1)WSDL(Web Service Description Language)包含文档或面向过程消息的端点操作信息的XML格式网络服务描述,可以绑定描述与SOAP、HTTP GET/POST和MIME技术。
(2)UDDI(Universal Description,Discovery and Integr-ation,统一描述、发现和集成)是一个规范,可以用于以Web Service为基础的信息注册,是一个公用的可接入集合,以登记的形式将信息登记出来以便可以发现这些服务。
(3)SOAP(Simple Object Access Protocol)是一种轻量级的编程,常用于没有控制中心、分布式的环境中交换信息,它以XML为基础,一般由信封、编码规则、远程过程调用和应答规则、捆绑方式组成。
4.CORBA、DOM、EJB
CORBA是Common Object Request Broker Architecture的縮写,简称公共对象请求代理体系,它由国际对象,管理组织OMG指定。在该环境下开发的软件既可面向对象又具有可重用性、可移植性及可操作性等特点。CORBA是一种分布式计算标准,其主要分三层:对象请求代理、公共对象服务和公共设施。CORBA是一种应用于开发和配置分布式应用的服务器端中间件模型规范,包括:抽象构件模型、构件容器结构和构件的配置以及打包规范。
5.ESB
ESB(Enterprise Service Bus)采用SOA原则,在大粒度服务级别通过事件驱动和基于XML的消息引擎,以与实现无关的方式集成企业应用的新型标准。它使用许多可能的传递消息协议来负责适当的控制流甚至还可能是服务之间所有消息的传输,相当于计算机的系统总线。模块(服务)都以松耦合连接到BUS上,以此方式来提高服务效率,ESB主要有智能路由(Routing)、传输(Transformation)和事件(Event)组成,如图4所示。
在J2EE平台下,Web服务器通过两种方式访问J2EE应用程序,一种是携带一组类型参数(最初的Web服务版本)的RPC风格调用(同步和异步),这种类型的服务调用非常类似传统的方法调用,使用在分布式对象和RPC实现中;另外一种则是消息传递风格调用(同步和异步),这种类型的服务调用类似传统的消息系统。客户在访问JAX-RPC API创建的Web服务,JAX-RPC就使用Servlet来实现相应的Web服务。Web服务的客户也可以通过Bean的服务端点接口访问无状态会话Bean。如果不采取消息的同一规范,则Web服务的客户不能访问其他类型企业的Bean。
五、总结
SOA将应用程序不同的功能单元,通过组件(服务)之间接口和契约联系起来,甚至将不同的应用系统整合成一个功能强大、服务性能强的系统。其接口采用中立的方式进行定义,我们一般称之为松耦合。松耦合的系统有很好的灵活性,当整个应用程序的每个组件的内部结构和实现逐个发生改变时,它能继续存在。接口独立于硬件、操作系统和编程语言,使得系统中的服务可以统一和通用的方式进行消息传递和交互。通过使用基于XML的语言WSDL来描述接口,相应的服务已经转到更动态且灵活的接口系统。以SOA为基础的系统集成很好地解决了信息孤岛的问题。
参考文献:
[1]全国计算机技术与软件专业技术资格(水平)考试办公室,2006年下半年试题分析与解答.北京:清华大学出版社,2007.
[2]张友生.系统分析师技术指南[M].北京:清华大学出版社,2007.
[3](美)科拉夫兹格,(美)本克,(美)斯拉姆著,韩宏志译. Enterprise SOA中文版——面向服务架构的最佳实战[M].北京:清华大学出版社,2006.
[4]梁爱虎.SOA思想、技术与系统集成应用详解[M].北京:电子工业出版社,2007.
[5]毛新生.SOA 原理·方法·实践[M].北京:电子工业出版社,2007.
[6]Stephen R.Schach.面向对象与传统软件工程[M].北京:机械工业出版社,2006.
[7]史济民等.软件工程——原理、方法与应用[M].北京:高等教育出版社,2002.
[8]喻坚,韩燕波.面向服务的计算:原理和应用[M].北京:清华大学出版社,2006.
[9]吴维元等.Web服务数据传输通道的安全性分析[M].北京:网络安全技术与应用,2008.2.