Welcome

首页 / 软件开发 / 数据结构与算法 / 基于服务的企业集成模式轻松入门,第2部分:进一步介绍基本概念的演变

基于服务的企业集成模式轻松入门,第2部分:进一步介绍基本概念的演变2010-03-01 IBM Dr. Waseem Roshen引言

本系列文章的第 1 部分和第 2 部分主要探索企业集成模式的发展,介绍一些基本概念,并重点介绍基于面向服务的体系结构 (SOA)的集成模式。第 1 部分介绍了两个早期模式:数据共享(socket 编程)和 RPC,探索了服务提供者和服务使用者、平台独立性和连接性的概念。

为改进 RPC的功能,现在我们介绍以下两种方法:

分布式对象,也称为对象请求代理(Object Request Broker,ORB):此方法侧重于代码重用和语言独立性。

异步消息传递:此方法解决了应用程序之间的紧密耦合问题。

让我们首先了解一下分布式对象这一方法,因为它与 RPC的关系更密切一些。目前,大多数应用服务器都基于ORB 技术。

分布式对象:对象请求代理

分布式对象技术的实现有三个主要类型。其中之一就是语言独立性和平台独立性,即所谓的公共对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)。其他技术则依赖于语言或者依赖于平台和语言。Java 远程方法调用 (RMI)是依赖于语言技术的示例,而Microsoft分布式对象组件模型 (DCOM)和IBM® 系统对象模型 (SOM)是依赖于平台技术的示例。

现在我们将详细介绍 CORBA,因为它是最常见(独立于语言和平台)的技术,并且来自不同供应商且基于此技术的产品可以一起使用。例如,基于ORB的IBM WebSphere® Application Server可以与许多其他供应商的应用服务器通信。

除引入面向对象的优点(如继承、多态性和封装)外,CORBA 还引入了大量的新功能。最重要的可能要数 ORB 这一概念,ORB提取了用于封送输入和输出参数的代码和用于从客户端和服务器应用程序到独立软件组件通信的代码。另外,ORB 还提供了用于获取远程对象引用的设备,以便调用该远程对象上的方法。

此分离允许多个应用程序重用同一代码,并通过从点到点的集成中移去应用程序,使这些应用程序之间能够进行一定程度的分离。从点到点的集成中移去应用程序可能是 ESB 概念发展的第一步。图 1 演示了这一情况,该图显示了同一台计算机上的多个应用程序可以使用同一 ORB 相互通信,并可以与不同计算机上的应用程序进行通信。

图 1.多个应用程序通过 ORB 相互通信,演示代码重用和通过 ESB的间接通信(ESB 方向的第一步)

图 2 显示了ORB的基本工作原理。当应用程序需要使用另一个组件的服务时,它首先获取提供该服务的对象的引用。获取对象引用后,客户端应用程序可以调用该对象上的方法,该对象就好像是本地对象。

图 2.远程对象上使用 ORB的方法调用,包括获取远程对象引用