使用UML服务组件表示SOA体系结构模式(2)

ZDNet软件频道 时间:2009-02-04 作者:CCW | CCW 我要评论()
本文关键词:SOA UML
图 3 中显示了具有 ESB 的服务集成点的交互服务。这些交互服务节点可以作为用户的 SOA 入口点。这些交互服务为 SOA 提供表示层,其中对相关的接口进行了抽象,并聚合了最终用户和 SOA 应用程序之间的各个信息源。
交互服务

图 3 中显示了具有 ESB 的服务集成点的交互服务。这些交互服务节点可以作为用户的 SOA 入口点。这些交互服务为 SOA 提供表示层,其中对相关的接口进行

了抽象,并聚合了最终用户和 SOA 应用程序之间的各个信息源。

交互服务可以分为三类主要的服务:

用户接口服务

由使用仪表板进行决策制定和可视化操作的门户应用程序组成。

用户交互服务

由可视化、协作、组合应用程序、警报和表格组成。

部署服务

包含移动设备、浏览器和富客户端。

交互服务使用支持的模板组件以简单地创建组合应用程序。这些组合应用程序:

• 为外包的或者内部的服务应用程序提供基础。

• 支持富客户端和移动设备最终用户客户端。

• 提供高度自定义和动态的数据,这将提供实时的可见性,以便将结果与基础业务流程度量关联起来。

• 作为仪表板进行使用,为用户提供该项目的关键性能指标 (KPI) 的实时视图。

交互服务

图 3. 交互服务

组合应用程序中的每个部分都可能包含预先构建的、具有特定功能和相关联的工作流的 Portlet。交互服务还可以具有内置的筛选功能、基于浏览器的配置向导、交互的 Web 窗体、搜索、Web 2.0 技术和协作。例如,协作服务组件是一个完全集成的、基于门户的协作环境,该环境包括电子邮件、日历和日程安排、即时消息传递、Web 会议、文档以及 Web 内容管理。

流程服务

图 4 显示了用于在 SOA 域内执行其功能的流程服务和组件。流程服务使用业务流程和中介模块来实现它的业务流需求。流程服务使用 SCA 编程模型对使用和产生业务数据的业务服务进行建模。

流程服务

图 4. 流程服务

可以使用业务流程执行语言 (BPEL) 来定义业务流程。业务流程是在预定义的序列中调用以实现业务目标的一组业务相关的活动、规则和条件。业务规则是一种通过业务功能的外部化来实现和实施业务策略的手段。外部化支持从应用程序的其他方面独立地管理业务规则。这种独立性支持动态业务规则更新功能,从而提供了更加灵活的业务。

SCA 组件由接口、引用和实现组成。服务组件可以包含使用 Java 编写的接口或者 WSDL 端口类型。业务流程类型组件由流程实现类型组成,这个流程实现类型可以通过 Java 接口或者 WSDL 端口类型接口实现一个或者多个 SCA 接口。流程运行的时间可能很长,也可能很短;运行时间很短的流程称为微流。运行时间很长的业务流程可以与多个合作伙伴进行交互,并且通过执行标准的、无状态的 Web 服务调用来进行交互。

可以通过 Web 服务接口与各个合作伙伴发生交互。BPEL 基于 WSDL 和 XML 模式构建。可以按 BPEL 规范定义的那样,使用一个用于语法扩展的 XML 模式,以及应用于语义约束的一组全面的规则,来完成对流程模型的验证。

信息服务

在图 5 中,您可以看到 ESB 的信息服务栈。

信息服务

图 5. 信息服务

它包含下面这些组件:

元数据管理

提供关于数据的信息(元数据是关于数据结构和含义的信息。元数据管理组件可以管理元数据、元模型和元-元模型。)

元模型(也称为元-元数据)定义了元数据的结构和语义。标准化的元模型示例包括 UML 和公共仓库元模型(Common Warehouse Metamodel,CWM)。元-元模型层由结构的描述和元-元数据的语义组成。它试图提供一种公共语言,以描述信息的所有其他模型。MetaObject Facility (MOF) 是一种用于元-元模型的标准。(有关更多信息,请参阅参考资料部分。)

提取、转换和加载 (ETL)

从一个或者多个数据源提取、转换和加载数据到一个或者多个目标(ETL 支持数据整合、迁移和传播,并且它与数据仓库和业务智能功能紧密结合。)

联合

使用数据和内容类以联合异类内容源的数据(这些分散的方法可以减少数据和内容的冗余、带宽、存储、所需进行的同步,以及与使用集中方法相关的附加管理成本。对分布式信息源的实时访问也为业务智能带来了新的功能。)

联合减少了为各种数据源开发和维护自定义应用程序编程接口 (API) 的需要。通过缓存频繁使用的数据,以及使用物化查询表 (MQT) 和分布式查询优化与执行,联合还可以改善性能。为了提高性能,联合的服务器还可以缓存并创建 MQT 表以提高性能,这些表可以是来自目标的联合数据源的行的子集。

数据布置(复制和缓存)

从一个位置复制数据到另一个位置(目标位置可以是一个中央位置,如数据仓库,也可以是网络上的另一个分布式位置。在网格环境中,复制和缓存服务用于创建布置管理服务以满足 QoS 的目标。根据访问模式和消费应用程序位置的不同,布置管理服务通过创建缓存或副本来改善响应时间以及信息的可用性。分阶段数据治理使得组织能够更好地控制信息流的生命周期。)

数据建模

提供了逻辑、物理和元数据模型的聚合,用于存储企业各自的模型(这些数据模型采用数据结构和数据使用的形式,对业务和业务应用程序有着直接的影响)。

对数据模型进行仔细地设计同样可以提高整体事务性能。在事务类型方面存在以下依赖关系:联机事务处理 (OLTP) 事务使用 E/R 模型;数据仓库事务使用多维建模技术。

搜索

主要使用它自己的搜索机制(最通用的搜索功能是通过一种查询语言,如 SQL 和 XQuery。数据库搜索对于检索结构化的和精确匹配的数据来说是非常合适的,但是需要熟悉数据模型结构以构造相应的查询。)

数据库搜索在范围上具有一定的局限;它不适合相关性排序、模糊搜索,或者多个关键字搜索。为了使搜索引擎实现更高的性能、灵活性或者相关性排序,引擎有时直接连接到数据库,以便从数据库提取数据并生成索引。

分析方法

帮助更好地进行决策制定、数据挖掘,以及跨部门的报告(传统的分析方法包括报告、数据挖掘、仪表板、记分卡、业务性能管理。各个组织都希望能够实时地访问异类数据源,以确保对相关规定的遵从、更好地对客户进行响应、预测市场趋势、提高操作效率。)

分析组件与交互服务的组合应用程序的功能和特性紧密地结合在一起,并为业务应用程序提供实时的 KPI 视图。将来,分析将构建增强的智能,以访问和关联来自异类信息源的信息,以便为更好地制定业务决策提供新的见解。

合作伙伴服务

合作伙伴服务用作 SOA 的重用入口点,如图 6 所示。这意味着,遗留系统和电子数据交换 (EDI) 系统在自定义适配器的帮助下,可以连接到 SOA 企业体系结构,并与 ESB 联系在一起,从而提高操作效率和 QoS。适配器提供了 EIS 和集成代理之间的通信。每个后端系统或者业务应用程序都需要一个特定的适配器。

业务集成适配器由一组软件 API 组成,提供了与后端企业信息系统 (EIS) 的本地通信,以及配置业务对象和适配器的工具。

合作伙伴服务

图 6. 合作伙伴服务

图 7 显示了业务集成中所使用的一种常见模式,这个模式需要在各种后端业务应用程序系统之间对语义上类似的数据进行同步。该场景显示了两个不同的后端系统,通过使用业务集成适配器,它们都与运行在流程服务器上的业务集成应用程序进行了集成。通过利用相同的 SCA 编程模型和其他集成应用程序所使用的组件,可以实现适配器的集成。

业务集成适配器服务

图 7. 业务集成适配器服务

图 7 的中心部分显示了使用业务集成应用程序的流程服务器。这个业务集成应用程序可以由 SCA 模块之外的其他服务通过 JMS 导出来调用。通过使用 JMS 导入,这个业务集成应用程序可以在 SCA 模块之外调用其他服务。适配器使用应用程序特定的数据结构或者业务对象与后端系统进行通信,并且使用连接器配置文件进行配置。

当通过导出将一个业务对象入站传递给流程服务器时,使用数据绑定(该导出中的一部分)将其转换为流程服务器可以理解的格式。在将一个业务对象出站传递给适配器时,使用数据绑定(该导入中的一部分)将其转换为适配器可以理解的格式。这种数据同步模式还可以从应用程序特定的格式到通用格式合并业务对象的映射。

一些供应商提供应用程序适配器组件,包括 Ariba Buyer、Clarify、MatrixOne (eMatrix)、JD Edwards、mySAP.com、Oracle Applications、PeopleSoft Portal Intranet、QAD MFG/PRO、Retek、SAP Exchange Infrastructure、Siebel、WebSphere Process Server 和 WebSphere Enterprise Service Bus (ESB)。

以下是一些技术适配器组件:ACORD XML、Microsoft® COM、CORBA、电子邮件、EJB、Microsoft Exchange、FIX 协议、IBM iSeries®、WebSphere Business Integration iSoft Peer-to-Peer Agent、Java Database Connectivity (JDBC)(SQL 和存储过程访问)、JMS、JText、IBM Lotus® Domino®、Society for Worldwide Interbank Financial Telecommunication (SWIFT)、WebSphere MQ、WebSphere Business Integration Message Broker、WebSphere MQ Workflow、Web 服务 和 XML。

有些技术适配器可以使用数据处理程序,包括用于 EDI、SOAP、XML 和各种文本格式的数据处理程序。

这些适配器使用一种通用的适配器框架进行构建,并且是:

• 双向的,它们能够进行事件处理和请求处理。

• 可配置的(通过元数据),并且能够处理多线程业务对象。

业务集成协作组件与其他一些组件(如客户关系管理 (CRM)、Health Insurance Portability and Accountability Act (HIPAA)、卫生保健、订单管理、采购、无线通讯、人身保险等等)相互协作。使用预先构建的模板对与各个组件相关的信息和数据进行简化和同步,可以实现业务集成协作。

例如,与 HIPAA 事务的协作可以使得与所需的规范和标准保持一致,并确保所有的事务和交互能够实现跨多个应用程序和跨企业的互连。代理插件组件提供了创建用户插件节点所需的一些类。微代理插件组件提供了所需的、与访问相关的信息,如代理名称、队列名称、数据源等等。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134