关键字:soa 在面向服务的体系结构中,映射到业务功能的服务是在业务流程分析的过程中确定的。服务可以是细粒度的,也可以是粗粒度的,这取决于业务流程。每个服务都有定义良好的接口,通过该接口就可以发现、发布和调用服务。 企业可以选择将自己的服务向外发布到业务合作伙伴,也可以选择在组织内部发布服务。服务还可以由其他服务组合而成。
服务与组件
服务是粗粒度的处理单元,它使用和产生由值传送的对象集。它与编程语言术语中的对象不同。相反,它可能更接近于业务事务(如 CICS 或 IMS 事务)的概念而不是远程 CORBA 对象的概念。
服务是由一些组件组成的,这些组件一起工作,共同提供服务所请求的业务功能。因此,相比之下,组件比服务的粒度更细。另外,虽然服务映射到业务功能,但是组件通常映射到业务实体和操作它们的业务规则。作为一个示例,让我们看一看 WS-I 供应链管理(WS-I Supply Chain Management)样本的定购单(PurchaseOrder)组件模型,如图 2-9 所示。
图 2-9 定购单组件模型
在基于组件的设计中,可以创建组件来严格匹配业务实体(如顾客(Customer)、定购单(Purchase Order)、定购项(Order Item)),并且封装匹配这些实体所期望的行为的行为。
例如,定购单(Purchase Order)组件提供获取关于已定购的产品列表和定购的总额的信息的功能;定购项(Order Item)组件提供获取关于已定购的产品的数量和价格的信息的功能。每个组件的实现都封装在接口的后面。因此,定购单(Purchase Order)组件的用户不知道定购单(Purchase Order)表的模式、计算税金的算法、以及定单总额中的回扣和/或折扣。
在面向服务的设计中,不能基于业务实体设计服务。相反,每个服务都是管理一组业务实体中的操作的完整单元。例如,顾客服务将响应来自任何其他系统或需要访问顾客信息的服务的请求。顾客服务可以处理更新顾客信息的请求;添加、更新、删除投资组合;以及查询顾客的定单历史。顾客服务拥有所有与它管理的顾客有关的数据,并且能够代表调用方进行其他服务查询,以提供统一的顾客服务视图。这意味着服务是一个管理器对象,它创建和管理它的一组组件。
第四部分:面向服务的体系结构所带来的好处
如前所述,企业正在处理两个问题:迅速地改变的能力和降低成本的要求。为了保持竞争力,企业必须快速地适应内部因素(如兼并和重组)或外部因素(如竞争能力和顾客要求)。需要经济而灵活的 IT 基础设施来支持企业。
文章来源于领测软件测试网 https://www.ltesting.net/