在SOA中,复合服务是非常重要的一个概念。总体来说,按其复合程度,复合服务可以分为:一般意义上的“简单”复合服务和“工作流类型”的复杂复合服务两种。
一般意义上的“简单”复合服务这类复合服务就是将已有的一些细粒度的服务重新整理包裹成一个粗粒度的服务。大多数的复合服务都属于此类型。值得深入探讨和研究的是“简单”复合服务的应用场景,这里列举两类典型场景:
场景一:为满足应用集成的需要,在集成多个既有系统的服务基础之上,又实现了一部分“集成逻辑”的服务。例如:假定存在两个独立的系统:销售系统和财物系统,销售系统有合同信息,财务系统有客户的信用信息,假设现在要对两个系统进行集成,希望集成后的系统能根据财务系统中客户信用对销售系统中的合同进行风险评估,将这一功能抽象成一个独立的服务后,我们不难发现,它需要同时调用财务系统的CreditService和销售系统的ContractService,这个服务就是一种典型的复合服务。
场景二:在某公司的多套遗留系统中都涉及到了“订单”实体,在实现集成后,如果要“增删查改订单”的话,应该如何保证各遗留系统中的订单数据保持一致呢?这在应用集成中是一个非常典型的问题,这个问题也可以表述为:在多个系统中都存在的某个实体,到底应该以谁为准呢?下图是对这一问题的一个形象的描述(以Customer实体为例):

这一问题正是通过“复合服务”来解决的,由“复合服务”来协调各既有系统,保证数据的一致性。这就回答了前面提出的“以谁为准”的问题,那就是以这个“复合服务”为准。下图描述了复合服务在此类场景下的应用:

“工作流类型”的复杂复合服务
这类复合服务就很直白了,它往往代表一个业务流程,里面包含了业务流程中所涉及的多个服务。这类服务的典型代表就是通过BPEL定义的服务组合。
分享到:
相关推荐
特别是对于全新服务(greenfield services)和合成服务(composite services)进行了详细的讲解。 - **全新服务**:这类服务通常是指那些新开发的服务,它们要么提供了新的业务功能,要么用于取代即将淘汰的传统系统。...
【TB0-118认证考试】:TIBCO复合应用程序和服务架构 在TIBCO的TB0-118认证考试中,考生需要对构建复合应用程序和服务有深入理解。以下是一些关键知识点: 1. **IT架构的定义**: - 正确答案:C - 描述了一个解决...
"A model-driven method for describing and predicting the reliability of composite services" 这篇论文可能探讨了如何使用模型驱动的方法来描述和预测复合服务的可靠性。在Web服务组合中,模型驱动的方法通常...
5. **复合服务**(Composite Services):能够创建由多个基础服务组成的复合服务。 6. **虚拟化服务**(Virtualized Services):服务可以通过动态配置来满足不同需求。 7. **动态重构服务**(Dynamically Re-...
#### 四、WSCDL(Web Services Composite Description Language) WSCDL是一种用于描述复合Web服务的语言。它关注的是如何定义由多个简单服务构成的复合服务。WSCDL的主要特点包括: 1. **接口定义**:清晰定义...
2. **服务(Services)**:CAB的服务模型允许开发者定义和注册服务,这些服务可以在应用程序的不同部分之间共享。这包括数据访问、业务规则、状态管理等各种服务。 3. **模块(Modules)**:模块是CAB的可插拔组件...
在BPEL中,业务流程可以分为原子服务(atomic services)和复合服务(composite services)。原子服务是不可分割的基本操作,而复合服务是由多个原子服务通过特定逻辑组合而成的。这些服务通过操作系统的渠道进行...
CXF这个名字是"Composite eXtensible Services Framework"(复合可扩展服务框架)的缩写,它整合了XFire和 Celtix两个项目,旨在提供一个统一的、全面的Web服务开发和消费平台。 【知识点详解】 1. **Web服务**:...
在单页应用中常见的架构模式,如活动记录(Active Record)、拦截过滤器(Intercepting Filters)、复合视图(Composite)、解释器(Interpreter)、模板视图(Template View)、观察者(Observer)模式、责任链...
- **《Packaged Composite Applications》**:讲解如何构建复合应用。 - **《Prefactoring》**:介绍代码重构的技巧。 - **《Programming .NET Web Services》**:.NET平台下的Web服务开发指南。 - **...
这些案例可能包括使用NetWeaver BI(Business Intelligence)进行数据分析,或利用SAP Composite Application Framework创建复合应用。 5. **SAP工具的使用**:除了上述工具外,书中还讨论了其他重要的SAP工具,如...
复合人工智能 (Composite AI) 复合人工智能是一种集成了多种人工智能模型和技术的解决方案,可以实现更复杂的功能和服务。这类技术处于创新触发阶段,反映了业界对超越单一模型输出的需求,进而推进过程自动化和...
选择"File" > "New" > "Business Intelligence" > "BI Composite",然后按照向导的提示进行操作。这个BI复合体将是你应用程序的基础,你可以在这里添加各种组件,如BIBeans。 BIBeans是Oracle BI中的可重用组件,...
在第2章,教程深入到壳体(Shell)和服务(Services)的概念,这是SCSF架构中的核心元素。壳体是应用程序的基础结构,提供容器和基础设施服务,而服务则封装了应用的业务逻辑和功能。这一章将引导读者如何使用SCSF...
在当前的网络环境中,由复合服务或混合服务(mashup services)所提供的服务可能变得不可用或失效。加之,随着越来越多的服务发布到互联网上,用户发现所需服务的难度也在不断加大。为了解决这一问题,本文提出了一...
// 使用下面示例中说明的数据约定将复合类型添加到服务操作。 [DataContract] public class City { [DataMember] public string CityID { get; set; } // 其他属性和数据成员... } ``` 客户端使用jQuery发起AJAX...
6. **Composite Application Builder**:这是一个可视化开发环境,帮助开发者轻松地组合和部署服务,创建复合应用程序。 7. **Integration with ADF (Application Development Framework)**:Oracle SOA Suite 11g...