基于服务的建模和架构

发表于:2008-01-30来源:作者:点击数: 标签:
本文讨论了基于服务的建模和架构的重要部分,以及构建面向服务体系结构(SOA)所需的分析和设计的关键活动。作者着重强调了选择鉴别、制定和实现 服务所需的技术,它们的 流程和组合,以及实现和确保 SOA 所需的服务 质量 的企业级 组件。 引言 目前,关于由
本文讨论了基于服务的建模和架构的重要部分,以及构建面向服务体系结构(SOA)所需的分析和设计的关键活动。作者着重强调了选择鉴别、制定和实现 服务所需的技术,它们的 流程和组合,以及实现和确保 SOA 所需的服务质量的企业级 组件。

    引言

    目前,关于由 Service-oriented Architectures(SOA)和它的 Web 服务实现所表现的时机有许多传言 -- 有一些是有事实根据的,但是一些却没有什么事实依据。分析家已经预言,博学者已经声称,教授已经讲演,公司已经匆忙的卖他们的产品,作为 SOA 产品 -- 经常失去 SOA 不是一个产品的要点。它是业务和 IT 之间的桥梁,通过一系列使用一些设计原则、模式和技术的依赖于业务的 IT 服务来实现。

    ZDNet 最近报道说,“Gartner 预言到了 2008 年,至少 60% 的企业将使用 SOA 作为创建任务苛刻的应用程序和过程的“指导原则”。

    开发和实现 SOA 有很大的需求。因此如果 SOA 不仅仅和产品和帮助实现它的标准相关(比如通过 Web 服务),那么为了实现 SOA 你还需要什么附加的元素吗? 基于服务的建模需要其他的行为和构件,这些在传统的基于对象的分析和设计(OOAD)中是不存在的。“ 基于服务的分析和设计的元素”这篇文章描述了一些最初的原因,解释了为什么你需要 OOAD 之外更多的内容。它同样描述了业务流程管理或企业架构(EA)和 OOAD 为什么不是管理分析和设计的适当手段。同样,在 IBM Redbook 中名为 “ 模式:Service-Oriented Architecture 和 Web Services”的文章中,我举例说明了基于服务的建模方法的主要活动。

    然而,你还需要重视一些额外的重要的需要考虑的事项。首先,目前的 OOAD 方法没有定位 SOA 三个重要的元素: 服务, 流,和实现服务的 组件。你同样需要可以明确定位鉴别、制定和实现服务所需的技术和过程,它们的流程和组合,以及实现和确保所需服务质量的企业级组件。

    第二,需要进行范例的替换,以便更好的区分 SOA 的两个关键角色之间的截然不同的需求:服务提供者和服务消费者。第三,假设为一个企业或者业务线构建的应用程序,现在必须被提升到一个供应链中使用,并且公开给合作伙伴,这些合作伙伴可能组合、联合和封装应用程序到一个新的应用程序中。这是服务生态系统或者服务价值网的概念。

    这是仅从“分布式对象”的一个微小的进步。它是关于通过网络作用创造的价值:例如,当合作伙伴利用了 Amazon.com 与 Google 搜索的联合,并且与 eBay 服务结合在一起,来构建他们自己的混合解决方案。或者当旅行社深入到机票预订系统,并且与汽车租赁公司以及宾馆相互协调,更新他们的记录并且将旅行计划发送到你的电子档案中。无论什么样的应用程序,你如果想成功地创建 SOA,需要的都不仅仅是好的工具和标准。你需要一些规范的步骤来支持你的 SOA 生命周期;用来分析、设计、实现服务、流程和组件的技术。因此,对于任何对企业应用程序开发感兴趣的人来讲,理解基于服务的建模和架构中包含的细节步骤是非常重要的。

    在我详细描述这些步骤以前,我们首先应理解你打算要做什么: 什么是 SOA,以及它看起来像是什么?在定义了 SOA 后面的概念和观点以后,我将描述 SOA 的层和你如何去记录每个层中的关键架构决策,这些层帮助你为 SOA 构建蓝图,这些 SOA 正是那些你试图同一系列实现了 SOA 服务、流程和组件集成以及出现的项目、业务线、企业级成果和价值链所需要的。

    Service-Oriented Architecture:概念模型

    这个概念基于一种架构样式,该样式在三个主要参与者之间定义了交互模型:服务提供者,公布服务描述并且实现服务,服务消费者,他既可以使用统一资源标记符(URI)来直接使用服务描述,也可以在服务注册中心来查找服务描述并且绑定和调用服务。服务代理提供和维护服务注册中心,然而现在并没有通用公共注册中心。

图 1 是一个显示了这些关系的元模型。

 

原文转自:http://www.ltesting.net