DoneVII CET & CPPLITE

SOA and Web services 新手入门

最近因为工作需要,需要具体了解一些 SOA、SOAP 等相关概念。先看 SOA 吧,一步步来,转自 IBM。

什么是 SOA?
体系结构
SOA 生命周期
SOA 采用阶段:您可能已经开始了
辅助工具






引言:使 IT 满足您的业务需求

或许已经有人告诉您,您公司的新 IT 策略将要涉及到创建一个基于面向服务的体系结构的系统。也许您已经听到了大量的长篇大论,正想知道面向服务的体系结构(Service-Oriented Architecture,SOA)是否适合您的业务。或许您正在经历一场集成噩梦,尝试寻找让很多不同的系统彼此进行通信的方法。不管是何种情况,您都可能希望找到让 IT 基础设施为业务服务的方法,而不是其他。无论您是刚刚接触面向服务的体系结构这一概念,还是已经涉足其中,您肯定都希望找到方法来提高实现的效率,“developerWorks SOA 新手入门” 部分将为您提供了解和着手使用 SOA 所需的资源。


什么是 SOA?

我们可能应该回答的第一个问题也是最基本的问题。什么是面向服务的体系结构(Service-Oriented Architecture, SOA)?这个问题的答案实际上涉及与开发相关的若干不同方面。

SOA 是一种 IT 体系结构样式,支持将您的业务作为链接服务或可重复业务任务进行集成,可在需要时通过网络访问这些服务和任务。这个网络可能完全包含在您的公司总部内,也可能分散于各地且采用不同的技术,通过对来自纽约、伦敦和香港的服务进行组合,可让最终用户感觉似乎这些服务就安装在本地桌面上一样。需要时,这些服务可以将自己组装为按需应用程序——即相互连接的服务提供者和使用者集合,彼此结合以完成特定业务任务,使您的业务能够适应不断变化的情况和需求(在有些情况下,甚至不需要人工干预)。

这些服务是自包含的,具有定义良好的接口,允许这些服务的用户——称为客户机或使用者——了解如何与其进行交互。从技术角度而言,SOA 带来了“松散耦合”的应用程序组件,在此类组件中,代码不一定绑定到某个特定的数据库(甚至不一定绑定到特定的基础设施)。正是得益于这个松散耦合特性,才使得能够将服务组合为各种应用程序。这样还大幅度提高了代码重用率,可以在增加功能的同时减少工作量。由于服务和访问服务的客户机并未彼此绑定,因此可以完全替换用于处理订单的服务,下订单的客户机-服务将永远不会知道这个更改。所有交互都是基于“服务契约”进行的;服务契约用于定义服务提供者和客户机之间的交互。通常,您将通过创建“基于消息的”系统来实现此目标。

从业务的角度来说,面向服务的体系结构的重点在于开发能帮助您完成业务任务的技术,而不是通过技术约束来规定您的行动。例如,销售过程(制造、运输和收到货款)可能会涉及数十个步骤和若干不同的数据库和计算机系统。但就其实质而言,此过程包含一系列人工活动,例如:

  • 销售人员找到潜在客户
  • 客户订购产品
  • 生产部门制造产品
  • 生产部门发出产品
  • 收款部门开具产品帐单
  • 客户支付产品货款

面向服务的体系结构基于这些实际活动或业务服务进行组织,而不是形成公司所维护的不同的信息竖井 (Silo)。

通过实现 SOA,可以带来大量好处,包括以下各个方面:

  • 更高的业务和 IT 一致性
  • 基于组件的系统
  • 松散耦合的组件和系统
  • 基于网络的基础设施,允许分散于各地且采用不同技术的资源协同工作
  • 动态构建的按需应用程序
  • 更高的代码重用率
  • 更好地标准化整个企业内的流程
  • 更易于集中企业控制

下面提供了一些有用的资源,可帮助您了解面向服务的体系结构的总体概念:


体系结构

服务是用于实现 SOA 的最常见技术标准。不过,这并不是可以用于开发 SOA 的各个部分的唯一技术。很多 SOA——实际上是大部分——都涉及到集成遗留数据,此类数据包含在使用 MQSeriesCommon Object Request Broker Architecture (CORBA) 等技术的系统中。其中的许多技术都已针对 SOA 进行了调整,不管有无 服务包装均可使用。事实上,可以仅使用 MQSeries、CORBA 甚至远程过程调用(Remote Procedure Call,RPC)技术来实现 SOA。但 服务正迅速成为用于支持 SOA 的事实标准。

下面提供了一些有用的资源,可帮助您很好地理解用于实现 SOA 的一些可能方法。

服务

CORBA

MQSeries

RPC

其他技术


SOA 生命周期

由于 SOA 涉及到业务的诸多方面,因此需要从一开始就对 SOA 项目进行细心的规划和设计。您需要考虑项目的整个生命周期,从最初的阶段到第一个实现,再一直到可能的修订和重用。

现在让我们看看 SOA 生命周期,如图 1 中所示。此部分概略说明了在生命周期的各个阶段发生的事项,并详细介绍了实现生命周期的各个步骤。

图 1. SOA 生命周期 图 1. SOA 生命周期


SOA 采用阶段:您可能已经开始了

已经向您介绍了面向服务的体系结构和 SOA 开发的步骤,您现在可能已经确信应该开始构建自己的 SOA 了。如果您已经构建了基于 Web 的软件服务,则已经达到了 SOA 采用的第一个阶段。在此部分,我们将分析各个采用阶段(从偶然构建服务到基于面向服务的体系结构原则对业务进行全面转换),从而帮助您了解自己目前所处的位置以及确定需要实现的目标。


辅助工具

迁移到面向服务的体系结构的好处诸多,包括提高应用程序易维护性和易开发性,让您能够更容易地使业务和 IT 紧密结合。IBM 提供了全套开发工具,无论您处在 SOA 生命周期和开发阶段中的任何位置,都可帮助您获得这些好处。下面列出了一些工具,可用于更方便地构建、集成和扩展 SOA。

Leave a comment for: "SOA and Web services 新手入门"

Tag Cloud