`
zzhonghe
  • 浏览: 248137 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle SOA Suite: Medicator and OSB

 
阅读更多
Medicator和OSB (Oracle Service Bus)存在的目的,从架构的设计模式上看,和解耦多态等理念非常的相似。 通过Proxy代理的方式,把真正某个Service的实现进行隐藏,让依赖于Service的应用只依赖Service接口,而在接口后面Routing过去的Service,可以更方便的维护和修改。专业的术语Loosely-Coupling Services.



Service解耦设计原则:

Service的输入参数,越少越好,只输入必要的参数。过多的参数,以及通用的参数只会让Service更加难以维护。比如Credit Rate的Service,比较好的参数就只限定在Individual信息,而其他比如交易的Amount, 货物的Type等就最好不加入到输入参数里面。

Service的输出参数,也是越少越好,不要过多的把不必要的内部数据暴露在外面。

减少Service之间的依赖关系。Service之间可以互相组合成新的Service,但是这个组合尽量不要有业务上的组合。

Service里面的实现不要引用Share Global Data

尽量加入asynchronous message来解耦dependency.  Request和Response不需要在同时完成是比较好的方法。

Service一般情况下不应该是有状态的,Client不应该依赖Service的状态而设计Functionality。 有状态的Service一般用在两种情况, 1是查询结果,返回的总数量多于每次获取的数量。2是Client和Service之间要有多次交互。 

对于有状态的Service的管理,比较好的实践就是把State Management移除到service外面,用Medicator或者是OSB来实现。 Client-->Facade(Session Mgmnt)-->Native StateMgmnt


Medicator和OSB的应用场景:

Medicator是Service Component的一部分,和OSB不同,OSB是另外一个独立的应用在Service Componet之外。

Medicator:

* 一个Service里面有多个Service Component的时候,采用Medicator进行Routing.
* 校验SCA的Message.  Service Component Assemblies.
* SCA内部数据类型,格式转换
* 通过Message Content来判断选择指定的Component


OSB:  相对SCA来说是独立的JVM

缺点是会有多余的响应时间, Client --> OSB --> SCA  vs Client -- > SCA
优点是让所有公司内部Service,或者外部的Non-SCA service,都统一Suite,方便使用和管理
由于Client Code不是直接引用到目标Service Code,所以在Runtime很方便进行维护
OSB作为一个Service入口可以调节Request的负载均衡,避免真正的Service突然被海量Request给挤垮


Oracle Service Bus的主要功能:

Message Flow:
invoker的message首先到达的是Proxy Server
然后进入到Input Pipeline, 进行Format, Validation, Logging, Enrich等操作。
之后进入到Routing Step,用来决定由哪个Business Service来执行这个Request
最后,被选中的Business Service调用真正的Service来响应。
Response的信息同样要经过Format, Logging, Enrich等操作才到达Invoker.

Service Endpoint Vitalization:

* 把真正的Service隐藏在Business Service后面 ,配置Business Service的Protocal,让invoker可以采用各种不同的Protocal访问真正Service
* 添加了负载均衡的策略
* 添加Retry的策略,超时策略等


Monitoring:
提供非常强大的功能为所有失败的响应生成Logging, Alert或者是Report.

0
2
分享到:
评论

相关推荐

    Oracle SOA Suite 11g Developer's Cookbook

    2. **Oracle SOA Suite组件**:书中会详细讲解Oracle SOA Suite包含的主要组件,如BPEL Process Manager(用于业务流程执行)、ESB(Enterprise Service Bus,企业服务总线)和OSB(Oracle Service Bus,Oracle的...

    ORACLE SOA SUITE

    Oracle SOA Suite是一款全面的企业服务总线(ESB)和业务流程管理(BPM)解决方案,由Oracle公司提供。它为企业提供了一整套工具和服务,用于构建、部署和管理面向服务的架构(SOA)。本篇文章将深入探讨Oracle SOA ...

    ORACLE OSB 以及 SOA安装步骤(含weblogic安装和rcu的使用)

    - OSB: `ofm_osb_generic_11.1.1.5.0_disk1_1of1.zip` - SOA Suite: `ofm_soa_generic_11.1.1.6.0_disk1_1of2.zip` 和 `ofm_soa_generic_11.1.1.6.0_disk1_2of2.zip` - RCU: `ofm_rcu_win_11.1.1.6.0_disk1_1of1....

    Oracle SOA Suite

    Oracle SOA Suite是一款全面的企业服务总线(ESB)和业务流程管理(BPM)解决方案,由Oracle公司提供。它为企业提供了一整套工具和服务,用于构建、部署和管理面向服务的架构(SOA)。Oracle SOA Suite的核心目标是...

    Oracle SOA Suite 11g Handbook.pdf

    Oracle SOA Suite 11g是甲骨文公司推出的一个集成解决方案,它为构建、部署、管理服务导向架构(SOA)中的服务和业务流程提供了全面的平台支持。SOA本身是一个设计原则,目的是提高业务流程的敏捷性、可重用性和解耦...

    soasuitehandbook:Oracle SOA Suite 12c 手册的源代码

    Oracle SOA Suite 12c 是一款全面的企业服务总线(ESB)和业务流程管理(BPM)解决方案,用于构建、集成和管理企业的服务和应用程序。它支持企业级的跨系统集成,允许灵活地连接不同的IT资产,实现业务流程自动化,...

    Oracle SOA Strategy and Roadmap_ch

    6. **Oracle Developer Tools for Visual Studio**:提供对Oracle SOA Suite的开发支持,方便开发者在熟悉的环境中进行SOA开发。 **Oracle SOA路线图** Oracle的SOA路线图通常会涉及以下几个方面: 1. **云化**:...

    liunx soa 集群安装配置手册 英文版

    Oracle Application Server 10g Release 3 (10.1.3.1.0) provides the Oracle SOA Suite, which is a complete set of service infrastructure components for creating, deploying, and managing Service Oriented ...

    SOA_与业务流程:实现连接

    本文将深入探讨SOA的概念、优势、面临的挑战及其与业务流程的关系,并重点介绍Oracle SOA Suite 11g如何解决SOA实施中的难题。 ### SOA概念 SOA的基本思想是将复杂的业务流程分解为一系列小型、独立的服务单元。每...

    Oracle Service Bus

    8. **集成与互操作性**:介绍OSB与其他Oracle产品(如BPEL、SOA Suite)的集成,以及与非Oracle系统的互操作性。 9. **最佳实践**:提供关于代码复用、服务治理、性能优化和版本控制等方面的最佳实践建议。 10. **...

    soa_development_planning

    Oracle 11g的SOA Suite是一套全面的集成解决方案,包括了用于构建、部署和管理SOA应用的工具和服务。主要组件有: - **BPEL(Business Process Execution Language)**:用于定义和执行业务流程。 - **OSB(Oracle ...

    OSB安装部署.doc

    Oracle Service Bus(简称OSB)是Oracle SOA Suite的重要组成部分之一,它提供了一个灵活、可扩展的服务中介层,用于连接不同的应用程序和服务。本文档旨在详细介绍在特定环境下OSB的安装与部署过程。 #### 二、...

    SOA 智能企业之路

    - **集成能力**:提供了强大的集成工具和服务,如Oracle Service Bus (OSB)和Oracle Business Process Management (BPM),使企业能够在不同的系统之间高效地交换数据和服务。 - **业务流程管理**:通过Oracle BPM ...

    osb开发配置手册(oepe)v2.docx

    WebLogic 11g是Oracle Fusion Middleware 11g的核心应用服务器,支持包括Oracle WebCenter Suite在内的多种SOA框架组件。 - **安装前准备**:确保已完成数据库和RCU的安装配置。 - **安装过程**:按照WebLogic ...

    Oracle中间件产品培训资料

    此外,Oracle的工作流产品,如Oracle Business Process Management Suite(BPM),帮助企业自动化业务流程,提高效率。 Oracle的数据库产品,尤其是Oracle Database,也是其中间件生态的重要部分。数据库提供了一个...

    weblogic11goracle原厂培训教材

    7. **Oracle SOA Suite**: 提供一套完整的SOA和BPM解决方案,支持各种类型的业务流程,包括系统为中心、人工为中心、文档为中心和决策为中心的流程。 8. **Oracle Business Process Manager (BPM)**: 支持业务流程...

Global site tag (gtag.js) - Google Analytics