




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ORACLE OSB消息总线原理、作用、功能技术方案一、 概述消息交换总线技术是为了实现企业数据共享和应用集成,提供一种基于企业服务总线(ESB)的信息共享交换平台。该技术采用面向服务体系结构(SOA)的设计思想,以信息共享为目标,具有松散耦合的特点,实现了集中式管理、分布式运行的工作模式。通过设计标准的适配器组件,实现各种数据库和应用系统之间的数据共享与交换,能有效实现企业中信息共享,并具有良好的可扩展性和可靠性。ORACLE的OSB总线包括ESB(Enterprise Service Bus)和 WSM(Web Service Management)两大部分,是ORACLE公司的消息交换总线产品。ESB包括MOM, ORBs, RPCs, WebServices功能的新型、综合类型中间件,通过配置集成;WSM包括服务管理,消息跟踪两个部分。使用OSB可以很容易的将企业已有的对外功能集成进来,并且能够集成和开发出来新的功能。OSB的下载、安装、使用、实验、培训课件请参考以下附件:二、 服务总线使用OSB服务总线,可以实现以下功能:1、 SOA中的服务中介 高速中介l 一次连接l 松散耦合l 动态扩展l 交易处理可视化 敏捷架构l 企业范围内的可重用l 集中化管理l 控制风险 改善总所有成本(TCO)2、 服务的代理 支持多种协议格式 Web Services 的处理l 完全支持相应的Web Services (WSDL, SOAP包) 和non-SOAP包的消息 多种通讯方式l 请求/响应(同步/异步),异步消息队列,一对多的发布l 组合方式(例如: sync-to-async 桥)3、 支持消息类型OSB支持下列消息类型: JMS with headers Email (无论是否带有附件) MFL (Message Format Language) Raw data Text SOAP( 无论是否带有附件) XML (无论是否带有附件)4、 访问目标透明(Location Transparency)OSB可以将服务与位置变化隔离。5、 向后的兼容性(Backwards Compatibility)隔离服务的约定/接口(contract/interface) 的变化。6、 格式转换(Service Enablement) 转换消息的格式,以便与服务接口吻合 允许多协议/消息格式的服务调用7、 动态路由(Dynamic Routing)通过业务规则,决定如何访问目标服务8、 丰富服务访问的消息(Message Enrichment)通过调用其他服务,根据响应内容更新消息。9、 服务编排(Service Orchestration)组织已有服务,合成新服务。10、 安全管理- 如何控制松耦合的安全模型,提供身份传递,WS-Security(基于消息的安全)以及传输安全保障。 SSL for HTTP/JMS One-way/Two-way Certificate-based authentication WS-Policy. WS-PolicyAssertions11、 服务水平协议SLAProxy Service可以设定下列属性来实现Service Level Agreements (SLA)控制。 服务平均处理时间Average processing time of a service 处理量 错误数量 安全违例情况 计划验证错误情况管理员可以配置针对SLA统计的告警。三、 消息机制1、 OSB项目开发步骤 打开OSB WEB管理控制台或者Workshop for WebLogic 10gR3 创建OSB项目 创建项目文件夹目录 导入资源,如wsdl、jar、xq等资源文件;编制wsdl文件或者调用外部服务的客户端 新建Business Service,接入外部服务 新建Proxy Service 绘制消息流,实现服务路由、服务编排、消息内容操作、业务逻辑操作等功能处理 Proxy Service调试、测试、运行2、 消息运行原理 服务定义OSB中的服务包括代理服务(Proxy Service)和业务服务(Business Service)两种。业务服务一般用作将外部已有服务接入到OSB总线上,代理服务的作用是将已有服务进行重新包装和整合,进行服务路由、逻辑处理之后对外发布新的服务。 消息处理机制在OSB消息流中,一般都是通过Proxy Service对外发布服务的,客户端通过调用在Proxy Service中定义好的URL来调用OSB总线上的服务。当客户端调用Proxy Service的时候,消息先经过Proxy Service传输层(Transport)进入,传输层是有协议的,他可以解析和接入各种传输协议;然后通过绑定层(Binding)对传输层接入的消息及协议进行解析弄明白变量的作用域,对消息内容进行解析并且存放到上下文变量中,经过绑定层解析后的消息格式一般是通过SOAP格式进行包装并且附在以后的整个消息流传输过程中,以后的处理节点就通过访问上下文变量来查看、获取、编辑消息内容和消息结构;当然,在绑定层解析之后,消息协议仍然可以访问,绑定层会将协议信息存放在上下文变量中的$inbound变量中。消息输出时候的处理过程与消息输入相反。 消息上下文(Message Context)模型OSB中的消息上下文是一组存储消息内容的属性,并提供消息的元信息。l $header 变量变量的作用域?$header表示SOAP的header元素,并将指向实际的头元素作为其子元素。l $body变量对SOAP和非SOAP消息的实际payload,永远是包装成元素。l $attachments 变量$Attachments变量包含0或多个attachment子元素;每个attachment子元素是一个MIME元数据描述的附件。l $fault 变量OSB使用$fault变量保存外部系统抛出的出错代码以及出错原因。l Inbound变量在接入(Inbound)过程中,消息派发:如果消息中包含二进制数据,那么一个指针索引被创建;对于非二进制数据,就按照原样传递。l Outbound变量在调用(outbound)过程中,消息派发:如果是的URI被识别出是内部管理的二进制数据,数据会重新加载回到body内容中,然后传递给外部服务;否则就将指向描述的XML ( ) 按照原样传递给目标。在OSB Proxy Business中开发消息流的时候,经常需要使用XPATH或者XQUERY进行节点参数配置,这是就经常用到上下文变量中的元素;熟悉消息上下文的含义和结构,对于开发配置消息流、应用各种节点有着十分重要的指导作用。 消息流运行机制OSB可以使得传输协议与传输的消息之间保持独立。l Pipeline表示一个消息流转中批量的处理逻辑l Stage可以被认为是一组动作处理的容器l Action是消息流中的逻辑,它用于具体决定如何处理消息l Branch节点可以让流程处理进入具体多个可能的处理路径中的一个 XPATH和XQUERY语言在OSB消息流开发过程中,对于各种功能节点都可以使用XQUERY或者XPATH语言对节点属性、处理流程进行配置;而对于消息流的流程控制语句也是使用XQUERY来实现的。对XQUERY和XPATH有个基本的了解是能够进行消息流深入开发的重要基础。XPATH是标准的XML表达式语言,用于标识或定位XML文档中的某一部分,对于很多消息处理节点中的配置参数,都需要使用XPATH语言来表述,如对于DELETE(作用是删除消息中的某个元素或者属性)处理节点,就需要使用XPATH语言来描述删除目标元素;XQUERY是一种用于XML文档的结构化语言,用来描述循环和判断、函数处理、流程处理和控制、构造SOAP消息、处理消息结构和内容等处理命令的一种语言。在OSB上,一般比较复杂的处理逻辑都需要这两种语言来实现。 消息处理节点和格式转换OSB中提供了多种常用节点来操作消息元素,包括增加、删除、重命名、更改内容等常用节点。OSB中对消息结构/内容进行转换一般通过XQUERY语言来实现,可以在WORKSHOP中使用可视化界面进行拖拽操作来实现消息格式转换,然后将生成的xq文件上传到控制台即可。 其它功能OSB还提供了其它的有些常有功能和节点,这些可以通过练习来熟悉。四、 OSB术语1、 服务(Service )在OSB中,注册在OSB上的内部或者外部的端点,包括代理服务和业务服务;其实外部系统对外发布的功能接口也可以称之为服务。2、 端点(Endpoint)一个基于资源定位标志符的地址。Business Service的端点是接入的外部服务的资源地址;而Proxy Service是对外发布的新服务的资源地址。3、 业务服务(Business Service )业务服务是您要与其交换消息的企业服务的AquaLogic ServiceBus 定义。使用WSDL(Web Services 定义语言)定义业务服务的方式与定义代理服务的方式相同。但是,业务服务的配置与代理服务的配置不同,因为业务服务没有管道。因此,不是由BEAAquaLogic Service Bus 管道实现的服务即为业务服务。Business Service是在OSB中所定义的,用于表示希望与后端交换信息的企业服务。使用业务服务,有以下优点: 集中管理 简化服务的监控和管理 易于变更的实施Business Service主要解决如何将已有的外部企业服务接入到OSB消息总线上(非OSB上提供的服务)。4、 代理服务(Proxy Service )代理服务是在WebLogic Server 上本地实现的服务的AquaLogicService Bus 定义。可以在WSDL、管道和策略等方面定义代理服务。如果代理服务需要安全凭据,则可以创建代理服务提供程序,以管理这些从AquaLogic Service Bus 控制台映射到密钥库条目的安全证书。通过配置代理服务的消息流可以实现代理服务。消息流可包括下列节点:启动、管道对、分支和路由。业务服务主要作用如下: 将传输逻辑和决定与应用解耦 通过松耦合提升可扩展性 为多个接入客统一访问入口代理服务主要解决如何对外发布服务,将已有的服务进行整合/包装后重新对外发布,并且提供个外部客户进行访问。5、 消息流(Message Flow )消息流定义了代理服务的实现。消息流可以包括管道对和下列节点:开始、路由和分支。消息路由、业务逻辑处理、服务编排、服务整合等操作都是在消息流中实现,在OSB开发中,主要工作就是消息流的开发和调试。6、 管道对(Pipeline )通过“编辑消息流”页可以添加管道对节点。管道对节点包含一个请求管道和一个响应管道。消息流可以不包含管道对节点,也可以包含多个管道对节点:代理服务(或对服务的操作)的请求和响应管道,以及可为阶段、管道和代理服务定义的错误处理程序管道。管道可以包括一个或多个阶段,阶段又可以包括操作。7、 阶段(Stage )阶段是操作的容器,如消息路由、日志记录、消息广播、消息传送等操作都可以放到阶段中操作。8、 动作(Action )动作是用户定义的运行时的逻辑步骤,用户需要实现的功能一般通过添加动作节点来实现,OSB已经提供了很多不同类型功能各异的默认节点,方便用户进行消息流开发。9、 路由节点(Route Node )路由节点是在管道对中的请求和返回之间的交换节点,主要是用于调用业务服务。用于定义消息目标的容器也可以用于执行单向通信,例如使用文件或email作为代理服务中请求处理和应答处理的分界点当Route节点分发了请求消息后,请求处理就认为结束,而当Route节点收到应答消息时,表明应答处理的开始。路由节点一般出现在管道对之后,处于管道对中的请求和应答之间。10、 上下文变量(Context Variables)上下文变量是消息进入OSB总线之后的存储载体。在消息通过传输层之后,绑定层会自动根据消息协议和消息内容,将其绑定到上下文变量中;当消息要输出OSB之前,OSB会根据需要自动将上下文变量中的消息内容转换成为符合输出协议类型的消息格式。上下文变量主要包括以下结构: $header: 包含SOAP 消息的SOAP 标头(用于包含SOAP 标头的SOAP 消息)。header 变量对于非SOAP 消息类型包含一个空的SOAP 头元素。 $body: 有下列几种情况:SOAP 消息- 包含从SOAP 信封中提取的 部分;非SOAP、非二进制消息- 包含包括在 元素中的整个消息内容。二进制消息- 包含包括在 中的对该二进制消息的内存中副本的引用。 $attachments: 包含某个特定消息的MIME 附件。 $fault: 包含在消息处理期间所发生错误的相关信息。OSB中的消息上下文是一组存储消息内容的属性,并提供消息的元信息五、 功能开发列表1、 OSB中使用Web Service服务OSB中的代理服务中的消息流中的数据传递都是以SOAP消息来传输的(消息进入OSB之后和输出OSB之前),对于非标准的SOAP消息,其内容存放在SOAP的body体中,消息头为空。OSB提倡的服务接口是Web Service服务,所以对Web Service的支持十分完善,控制台中的大部分配置都是与Web Service相关的。2、 OSB中使用Java方法可以将Java类包导入到OSB中,在OSB的Proxy Service的消息流中,调用Java方法完成相关的业务功能。OSB上能够使用的Java类中的方法只能够是public static(公开、静态)类型的方法。具体使用参考“ESB_HandsOn_LabGuide.doc”文档的“练习六:OSB中使用Java方法”。3、 OSB中调用EJB可以在OSB的Proxy Service的消息流中,调用EJB方法完成业务功能。在OSB上导入EJB的客户端jar包,配置好jndi,然后就可以使用OSB配置来开发调用EJB功能。具体使用参考“ESB_HandsOn_LabGuide.doc”文档的“练习七:OSB中调用EJB”。4、 OSB中使用文件服务可以在OSB中配置文件类型的Business Services,在消息流程中可以输出消息到文件中,也可以对文件(监听文件新增的操作,轮询监听时间)进行监听来触发消息流。具体使用参考“ESB_HandsOn_LabGuide.doc”文档的“练习八:OSB中使用文件服务”。5、 OSB中配置Local Proxy可以在OSB中使用本地代理服务Local Proxy Service,通过Local Proxy Service组装Business Services,并利用Proxy Service作为外部代理,通过调用Local Proxy完成后续业务操作。Local Proxy Service是提供给其它Proxy Service调用的服务,Proxy Service不对外发布URL,不供外部调用,可以将内部通用功能定义成为本地代理服务。在Local Proxy Service中可以增加动作(action),调用Business Service,可以将一些服务以及针对这些服务的共同操作集成在Local Proxy Service中,提供给多个Proxy Service调用。具体使用参考“ESB_HandsOn_LabGuide.doc”文档的“练习九:OSB中配置Local Proxy”。6、 OSB中使用FTP服务在OSB中可以使用FTP服务,通过OSB提供的FTP协议Buseness Sservice来开发,FTP可以实现上传、下载文件,其它的支持没有FTP服务那样完善。7、 OSB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招商银行厦门市湖里区2025秋招笔试英文行测高频题含答案
- 广发银行北京市西城区2025秋招笔试创新题型专练及答案
- 2025年福建连城县文化体育和旅游局下属事业单位专项招聘笔试高频难、易错点备考题库及完整答案详解1套
- 平安银行绵阳市涪城区2025秋招笔试综合模拟题库及答案
- 2025辅警招聘考试模考模拟试题附完整答案详解(全优)
- 广发银行大连市庄河市2025秋招笔试英语题专练及答案
- 2025年海南省人大常委会办公厅招聘事业编制人员笔试备考题库附答案详解
- 2025年辅警招聘考试模拟试题含答案详解【轻巧夺冠】
- 浦发银行蚌埠市蚌山区2025秋招笔试英语题专练及答案
- 光大银行成都市龙泉驿区2025秋招金融科技岗笔试题及答案
- YC/Z 550-2016卷烟制造过程质量风险评估指南
- 工程水文第3章课件
- GB/T 4032-2013具有摆轮游丝振荡系统的精密手表
- GB/T 34875-2017离心泵和转子泵用轴封系统
- GB/T 21063.4-2007政务信息资源目录体系第4部分:政务信息资源分类
- GA/T 1081-2020安全防范系统维护保养规范
- 02药物不良反应adr课件
- 施工项目成本管理课件
- 文物建筑保护修缮专项方案
- 营销与2008欧锦赛ktv渠道方案
- 故障录波器课件
评论
0/150
提交评论