科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道使用UML服务组件表示SOA体系结构模式(下)

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在本文中,您从逻辑的角度了解了 SOA,以及如何创建节点和相关的 UML 组件,它们可以以一种非专有的、与产品无关的方式来表示 SOA的参考体系结构。

来源:gocom 2007年10月10日

关键字: 组件 服务 UML 中间件

  • 评论
  • 分享微博
  • 分享邮件

  接上文:使用 UML 服务组件表示 SOA 体系结构模式(上)

  信息服务

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

  业务应用程序服务

  业务应用程序服务构成了 SOA的重用入口点。业务应用程序是松散耦合的,以便通过使用 Web 服务为企业带来业务价值。

  Web 服务减少了构建昂贵的业务应用程序的成本,并且支持在企业结构中部署新的业务模型。对于大多数组织,在快速部署到主流的过程中,主要的问题是安全性。业务应用程序服务合并了一些业务安全特性,以确保业务事务执行期间的安全。

  图 8 显示了使用业务流程和策略管理组件为企业的业务应用程序提供业务安全服务的业务应用程序服务。

  

  

  图 8. 业务应用程序服务

  

  业务流程和策略管理组件使用了下面的安全组件,以实现它对业务应用程序的安全职责。

  安全治理框架

  处理对企业内部的有效治理结构和决策权的需求(这一框架用于建立一系列命令、职责和权力,以确保从安全的角度对企业业务应用程序进行有效控制)。

  信任管理

  在任何两个将要一起执行安全业务事务的企业或者组织之间建立信任(信任建立在这两个实体都同意遵守一组关系和责任管理规则以执行相应业务的基础上)。

  从技术的角度来看,还可以使用各种加密方法来建立信任,包括加密密钥、私钥或公钥、数字签名,或者协议。

  标识和访问管理

  提供了必要的 ID 管理和跨企业的访问权限。这个组件使用了下面的附加组件来实现它的服务:

  • HR 标识供给,以便通知管理人员有关 ID 状态更改的情况,并触发合适的工作流初始化工作。

  • 审批组件,以获得进行标识或信息访问的修改或更新所需的管理批准。

  • 用户自助组件,使得最终用户能够执行某些安全管理任务,而无需管理监督,如周期性地更改密码。

  • 委托组件,以提供将 IT 安全管理功能委派给其他人的能力。

  • 重新验证组件,以提供对需要定期进行审批的系统的访问。

  确保系统和网络的安全

  提供安全服务,如防火墙、入侵检测系统、病毒检测、补丁管理以及操作和网络安全(业务应用程序服务组件使用一个联合组件来管理企业中许多不同的服务环境。)

  数据保护

  在业务信息内容传输期间或者在它的目的地,负责业务信息内容的安全(通过管理私有策略、获得关于敏感信息的详细报告、发布用户检查的策略,以及捕获并实施用户首选项,数据保护组件可以建立信任)。

  风险管理

  在企业 IT 系统中确定相关的风险级别,并确定需要采取有效措施来根据成本优势分析评估它对整体安全操作的影响,以及对系统的影响。

  遵从性管理

  确保遵从外部联邦的或者国家/地区的法律法规,并在内部遵从 IT 组织的业务安全策略。

  审核跟踪和记录

  调解和评估如何在日常操作中实际应用 IT 系统中引入的不同 IT 安全策略,以确保对内部和外部策略的遵从性。(这有助于管理和技术团队在背离策略的情况下迅速地采取纠正措施。)

  应用程序和数据访问服务

  应用程序和数据访问服务组件用作信息和 SOA的重用入口点,如图 9 所示。跨异类技术的服务之间的连通性是 SOA的基础。图 9 显示了一个带有应用程序和数据访问服务组件的企业应用程序场景,它支持各种交互协议和 QoS。当大多数组织决定将应用程序公开为 SOA环境中的服务时,他们的业务应用程序必须能够处理各种不同的数据表示形式。

  处理各种数据表示形式已成为一项挑战;对于一般通用的 API 来说,迫切地需要具有处理各种数据源的能力。SCA编程模型可以公开与基础数据层进行交互的服务。有一种称为关系数据库数据访问服务 (RDB DAS) 的可靠数据访问实用工具,它在基于 SCA的应用程序中提供了与服务数据对象 (SDO) 的紧密集成。

  

  

  图 9. 应用程序和数据访问服务

  

  总结

  架构师和利益相关者常常发现,对于清楚地说明 SOA的体系结构模式,并确定选择哪一个入口点,这是一项颇具挑战性的工作。因此,他们可能希望选择多个 SOA入口点,以便解决企业所面临的最紧迫和最具挑战性的问题。在阅读完本文之后,通过在各个入口点所标识的各种节点上进行深入研究,架构师和其他重要的参与者可以帮助他们的组织更好地满足其需求,并开始他们的 SOA体系结构之旅。

  在本文中,您从逻辑的角度了解了 SOA,以及如何创建节点和相关的 UML 组件,它们可以以一种非专有的、与产品无关的方式来表示 SOA的参考体系结构。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章