如,Web 开发人员所用的适合于角色的工具是所见即所得的页面设计工具,用来构建动态页面,使用与 HTML 和 JSP 标签库相关的控件,并将控件连接到 EJB。使 Web 服务易于实现和使用的关键是对现有技术和知识进行增量扩展,从而使 SOA 可以被消费。以 CICS COBOL 事务
程序形式存在的服务与用 BPEL 编写的服务差别很大。从数据库存储过程中调用服务与从 JSP 中调用也是不同的;技能和期望值是不同的。通过提供工具的分类来使部件类型适应于各种技能,并适应于开发流程的阶段,你可以实现可消费性(consumability)。 产品架构
支持 IBM SOA 方案的产品分成两个主要类别:服务端点和连接它们的消息传送结构。这个通用的架构 -- 包含了许多产品,这些产品都不是 IBM SOA 的专用传输工具 -- 如图 1 所示。 核心是服务间的 ESB 提供的连通性。ESB 是多协议的,支持点到点和发布-订阅两种通信类型,并支持快速处理消息的中介服务。IBM WebSphere MQ,IBM WebSphere MQ Integrator Broker 以及支持 Web 服务和 Java 消息服务(JMS)的 WebSphere 都属于第一个类别。 服务存在于抽象的托管环境(容器)中,并且提供了特定的编程框架。容器加载服务的实现代码,提供到 ESB 的连接性,并管理服务实例。不同类型的服务存在于不同的容器中。(在典型的递规设计的例子中,ESB 本身被认为是用于中介服务的容器。)表 1 列出了一些主要的 IBM SOA 托管环境和托管的组件类型。 表 1. 托管各种组件和服务类型的容器 服务/组件类型 容器 用 COBOL、PL/1 和其他语言编写的事务处理程序 CICS 或者 IMS(信息管理系统 -- 一种企业事务处理系统)。程序员可以使用 SOAP/HTTP、WebSphere MQ 和 J2EE J2C 连接来访问服务。 业务流程编排 WebSphere Business Integration Server Foundation。该容器支持长期存在的工作流,这些工作流实现了 Web 服务接口并调用其他 Web 服务上的操作。它同样支持长期运行的业务活动事务。 应用程序适配器 -- 为现有的应用程序和系统提供 SOA/Web 服务的会话虚包(facade)。 WebSphere Business Integration Server Foundation 提供的应用程序适配器容器。适配器在 SOA 协议和格式,以及现有应用程序和系统的协议和格式之间进行转换。例如,SAP 适配器将 SOA 编码并通过 HTTP 传输的 XML 转换到 SAP 的现有业务应用程序编程接口格式和 Remote Function Call(RFC)。 预定义的 SQL 查询、XML 查询或数据库存储过程实现的服务 DB2 结合 WebSphere Application Server。
查询的参数来自 SOA 操作的输入消息以及提供输出消息的结果。 使用 Java 类和 EJB 实现的服务 WebSphere Application Server 结束语 IBM SOA 编程模型系列文章的第一篇概述了 IBM 工具和产品如何适用于模型,以及开发人员如何有效的在应用
程序开发中使用它。• 使用 SDO 简化数据访问 • 服务定义以及组件模型发展状况的介绍 • 用组件类型来简化开发 • 基本组件类型 • 服务组合和定制 • 流程组件:BPEL 和业务状态机 • 定制服务:设计模式,
模板和可变点 • 面向服务的用户接口 • 用于管理的 SOA 方法 • SOA 软件生命周期开发工具 • SOA 的安全性