ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:482.30KB ,
资源ID:3275361      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3275361.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle Service Bus技术白皮书.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Oracle Service Bus技术白皮书.docx

1、Oracle Service Bus技术白皮书产品白皮书Oracle Service Bus从技术角度论述Oracle Service Bus及其服务集成和管理功能目录关于本白皮书 4读者对象 4Oracle Service Bus简介 4SOA服务总线组件 5服务总线的重要作用 6服务总线和服务生命期 8主要架构概念 9代理服务和基于代理的路由 10服务总线的消息流定义 11服务总线的部署方式 12Oracle Service Bus的特性 12服务供应 12服务类型 13内容类型 14通信类型 14更改中心 15项目管理器 16开发、测试和生产环境的迁移 17服务集成和路由 17管道 18

2、管道阶段和活动 19运行分支 20转换 20消息操纵 21消息验证 22动态路由 23服务调用 23错误处理 24安全性 24服务管理 25监视 25利用提示实施SLA 26报告 27小结 28关于BEA 29关于本白皮书本白皮书从技术角度描述Oracle Service Bus。分析Oracle Service Bus(Oracle服务总线)提供的ESB(Enterprise Service Bus,企业服务总线)和运行服务管理功能,这些功能拥有企业级的可靠性和扩展性,可用来集成和管理企业内部和企业之间的服务交互。读者对象本白皮书面向IT组织的集成团队。如果你的角色或职位与以下描述的相同或相

3、似,本文将尤其值得一读: 服务设计人员或业务分析师。讲述关于组织业务流程、过程、策略、业务规则和资源的知识,讨论如何将这些过程表示为服务。业务分析师的相关技能包括:业务分析、流程设计、建模和运营知识。服务设计人员可与开发团队共同工作,了解如何将流程和应用表示为可供重用和使用的服务。 集成专家或集成架构师。定义集成项目的业务和技术要求,并设计相应的集成解决方案。这些技能包括业务和技术分析、架构设计和项目管理。 系统、服务或集成管理员。深入讨论组织基础架构、服务和应用的相关技术及运行知识。系统管理员的技能包括:加载和能力分析、性能分析、优化、部署拓扑和支持规划。Oracle Service Bus

4、简介面对变幻莫测的市场需求的变化,企业希望通过推进“服务化”提高敏捷性和响应能力:更方便地与客户和合作伙伴交互,更灵活地设计和构建IT基础架构。为此,SOA(Serice-Oriented Architecture,面向服务的架构)日益引起企业高层的重视。SOA将分散在企业应用中的功能组合为基于标准的互操作“服务”,与使用传统应用相比,企业可利用SOA,更快地组合和重用“服务”,以满足业务需求。SOA围绕“服务”,而不是“应用”组织企业IT,能帮助企业更快地推出新服务,并灵活响应业务环境的变化。为了优化IT基础结构,以便交付服务,将SOA变成现实,IT组织需要一个智能化的基础架构,以降低服务重

5、用的复杂性,并可靠地集成IT环境的各种技术、协议和应用。为此,IT组织创建了一个以“服务”为中心的抽象层,以隐藏各种应用和技术带来的底层复杂性,并提供一个定制企业应用的平台。今天,我们将上述服务或集成层称为ESB(Enterprise Service Bus,企业服务总线)。ESB使“服务端点”本身不必再管理服务之间的交互。ESB允许方便地扩展服务,消除了专门编写的点对点、硬编码实现的脆弱性,以及带来的昂贵代价。有了ESB,开发人员不必再在各个服务端点构建集成和中介服务,如路由、协议代理、转化、安全策略和SLA(Service Level Agreement,服务级别协议)质量策略,只需在“E

6、SB”中配置这些策略即可。也就是说,开发人员不必重编服务端点的集成和管理策略,通过“ESB配置步骤”就能创建动态服务端点,适应动态变化。Oracle Service Bus是一个ESB,用于集成服务,管理服务交互,并在不同IT环境之间执行消息代理。它的轻量级、无状态、高性能架构扮演“中间人”角色。Oracle Service Bus是部署和实现SOA的理想工具,支持智能消息代理,监控和管理服务;它在企业基础架构中添加一个可扩展的动态路由和转换层,并管理服务生命期:配置和供应服务、监控服务的运行和履行SLA。Oracle Service Bus以“配置”为中心,由策略驱动,实现了“服务使用者”和

7、“服务提供者”之间的松耦合配合。Oracle Service Bus提供动态配置服务和策略的多功能控制台和环境,能支持多个服务集成项目,能确保所有配置元素的引用完整性,并能在测试或生产期间监控和运行系统。开发人员通过“配置”,而不是“编码”动态更改服务集成关系,以便从几个方面扩展服务架构:安全类型、服务位置、服务可用性、服务响应性、数据格式、监控、传输和通信;与传统的EAI方法相比,ESB需要的时间少得多。图1 Oracle Service Bus可防止服务蔓延 “一次性连接” 松耦合架构 促进企业范围的重用 集中管理 减少总拥有成本SOA服务总线组件服务总线软件的中心是“共享服务”,而不是“

8、应用程序孤岛”。利用简捷高效的SOA基础结构,IT组织可以在几乎不影响IT基础架构的前提下,快速提供新服务功能,重用极具价值的业务功能,从而实现服务化,实现与业务需求的同步,响应业务流程的更改,并满足客户提出的新需要。下面将详细分析服务总线的必要性,讨论它如何管理组织的整个服务生命期。服务总线的重要作用SOA之所以变得经济可行,是因为受到了两种现状的推动:行业利用Web服务“公开”和“使用”新服务及遗留服务,构建了支持“松耦合服务交互”的工具包和基础架构。在采用SOA策略时,由于成本和复杂性等因素,IT专业人员并不愿意完全淘汰现有的基础架构,而是希望将现有应用业务表示为服务,以供其他业务流程和

9、应用重用。这就是说,SOA的成功离不开“集成层”,集成层支持异构环境下的动态服务交互。集成层必须对服务使用者隐藏服务端点的更改,同时支持现有服务的发展,并能够业务的发展,快速添加新服务以满足客户和合作伙伴的要求。在构建和维护SOA时,企业架构师面临挑战:如何使架构适应业务需求的增长,并满足新客户的需要? 在系统中引入动态行为和运行时配置能力 在企业范围内重用服务,管理服务的生命期 适应服务使用者和服务提供者间的变化 确保企业服务的统一使用 确保服务的安全性 确保企业服务符合IT策略 监控和审计服务使用,并管理系统停运图2演示很多组织的典型架构和SOA挑战。此时,必须维护服务使用者和服务提供者间

10、的点对点连接,也就是说,使用者启用一个服务端点时,必须复制传输、转换、安全和路由机制。如果服务端点接口发生变化,使用各个服务使用者将与该服务断开,并重新开发和重新部署,最终造成了服务中断。企业架构师和其他专家想要简化和控制IT基础架构,并促进重用。Oracle Service Bus是他们的理想工具。Oracle Service Bus支持不同服务的动态交互,具有以下特点:“本地服务资源缓存”注册在总线集成的服务,通过UDDI(Universal Description Discovery and Integration,统一描述、发现和集成)集成到企业服务注册表,“服务配置环境”支持验证和版

11、本控制;异构服务端点间的协议和消息代理;服务间的动态路由和转换;消息和传输安全。将Oracle Service Bus添加到图2的架构,Oracle Service Bus成为一个分布的服务中间层。它提供上述功能,运用路由规则、转换、安全和访问策略,将这些从服务端点分离出来,并予以维护,如图3所示。图2 SOA面临的挑战将Oracle Service Bus作为服务使用者和服务提供者间的中间层,可消除脆弱的点对点连接,并消除这些连接的专门维护。使用者不必详细了解服务端点的接口和实现,企业可以更灵活地连接不同资源。不同客户端可与各种资源通信,例如,.NET客户端不必了解底层服务端点的实现细节就能

12、使用Java业务服务。消除点对点连接还意味着,更改服务端点不再影响服务使用者,在服务总线中更改策略配置即可。这将在服务使用者级别减轻或消除重新开发和重新部署产生的影响。图3 SOA与Oracle Service Bus服务总线和服务生命期Oracle Service Bus是一个服务中介,在整个服务生命期都扮演着重要的角色:公开服务,并配置、管理和监控服务使用者和服务提供者之间的“请求-响应”消息流。图4演示服务生命期。在开始阶段,架构师建立服务模型,构建服务;在开发阶段,开发人员创建和公开应用及服务接口。在创建这些服务接口后,Oracle Service Bus随着服务的创建注册这些服务,并

13、公开它们,以供其他服务或流程在后期使用。Oracle Service Bus可能在本地注册表中直接注册服务,也可能从诸如Oracle Service Registry的企业服务注册表导入服务。注册后,Oracle Service Bus配置代理接口,以定义服务通信的消息流。消息流包含传输和安全要求,并说明如何将消息路由给服务自身。在用Oracle Service Bus注册服务后,由BEA WebLogic Integration等工具创建的业务流程就可以使用和编排这些服务,以满足各种业务要求。编排过程包括利用服务满足业务要求,将服务运用于细粒度业务流程。最终用户可通过UI(用户界面),如BE

14、A WebLogic PortalTM交易门户, 或Oracle User Interaction协作门户,使用这些业务流程。图4 服务生命期Oracle Service Bus还监控和管理服务端点之间的消息流、系统健康状况以及可用性。业务和运营分析师可能获取这些信息,以分析行为模式,寻找有待改进之处。随着服务的改进和新服务版本的推出,新一轮的生命期重新开始。主要架构概念Oracle Service Bus是策略驱动的中介层,它处理消息,确定如何根据要求路由和转换消息。它通过诸如JMS或HTTP的传输协议接收消息,并用相同协议或另一指定的传输协议发送消息。消息响应按相反的方向进行。消息处理由元

15、数据驱动,元数据由Oracle Service Bus控制台配置的代理服务的消息流定义指定。使用代理方法,企业可实现服务客户端和业务服务之间的松耦合,并维护一个集中的安全控制和监控点,如下图所示。图5 Oracle Service Bus使用Oracle Service Bus,服务集成关系通过配置策略和代理服务动态实现。在使用这种方法时,可以快速扩展服务架构的某些系统特性: 传输协议和通信范例 服务安全性 服务位置 服务可用性和响应性 数据格式 日志记录和监控由于代理服务扮演中间人角色,故Oracle Service Bus能消除以下领域的服务客户端和业务服务需求之间的差别: 加载内容和模式

16、 封送协议 传输协议 “点对点”和“发布-订阅”协议 单向和请求/响应范例 同步和异步通信 安全性Oracle Service Bus在元数据中存储永久策略、代理服务和相关的资源配置;元数据可从开发环境传给部署环境,再传给生产环境,还能根据需要修改。消息代理引擎从元数据缓存访问配置信息。代理服务和基于代理的路由代理服务是Oracle Service Bus架构的一个核心概念。服务使用者经由这个接口与托管的后端服务连接。代理服务是“服务总线”在本地实现的中介Web服务的定义。使用Oracle Service Bus控制台,可按照WSDL和使用的传输类型定义接口,配置代理服务;并在消息流定义和配置

17、策略中指定消息处理逻辑。由于代理服务可将消息路由给多个业务服务,故可以独立于与代理通信的业务服务,配置代理服务的接口。在这种情况下,代理将被配置为消息流定义,它根据路由逻辑,将消息路由给相应的业务服务,然后将消息数据映射为业务服务接口需要的格式。代理服务的核心是“上下文”,上下文是一组XML变量,由请求流和响应流共享。可将新变量动态地添加到上下文,也可从上下文删除变量。预定义上下文变量包含有关消息、传输头、安全原理的信息,当前代理服务的元数据,以及代理服务调用的主要路由服务和发布服务的元数据。上下文可由Xquery表达式读取和更改,并通过转换和适当更新操作进行更新。上下文核心包括$header

18、、$body和$attachment变量。这些变量各自包装SOAP(Simple Object Access Protocol,简单对象访问)头元素、SOAP正文元素和MIME(Multipurpose Internet Mail Extensions,通用Internet邮件扩展)附件。消息均采用SOAP格式,如果不是SOAP格式,就映射为SOAP格式。请浏览BEA文档帮助站点http:/e- Service Bus资源配置和概念指南,通过表格详细了解指定消息类型的上下文变量。服务总线的消息流定义代理服务的实现由“消息流”的定义指定,消息流确定经由代理服务的消息流动。在构建消息流时,将用到以

19、下四个元素:一对管道:一个用于请求,一个用于响应。管道由多个连续阶段组成,“阶段”指定处理请求或响应时执行的操作。分支节点:根据消息、消息上下文指定的值分岔,或根据调用的操作分岔。路由节点:用来定义消息目的地。默认的路由节点是一个回显节点,可根据请求返回响应。启动节点。可通过多种方法,将以上元素结合成一颗“树”,“启动节点”一定是“根”,而且是惟一的根。路由节点只作为“叶子”。请求消息从启动节点开始,沿路径到达叶子,在请求管道执行操作。如果叶子是路由节点,就生成响应,对于单向服务而言,响应将为空。如果叶子是一个回显节点,则根据请求返回响应。响应沿相反路径,忽略分支节点的操作,但在响应管理执行操

20、作。图6演示一个典型的消息流例子。图6 一个消息示例可以灵活使用路由节点: 可组合和嵌套if结构、for-each结构和case结构,以定义单个端点和路由消息的操作。 在将消息发送给所选端点前,或接收到响应后,可进行一系列影响上下文变量的转换。 在调用消息流之前,可透明地执行WS安全策略和授权。服务总线的部署方式Oracle Service Bus在BEA WebLogic ServerTM 9.0上运行,并使用BEA WebLogic Server TM 9.0的运行时工具。BEA WebLogic Server TM提供企业级可用性、扩展性和可靠性。可通过两类企业级配置部署Oracle S

21、ervice Bus: 单个服务器,该服务器也用作管理服务器 执行消息处理的托管服务器集群。“域”包含部署Oracle Service Bus的集群及管理服务器。集群还能运行其他应用。Oracle Service Bus允许集中管理和控制多个分布服务端点,可部署为一个管理部门或企业所有Web服务通信的“集线器”。还可以对底层BEA WebLogic Server实施集群化,以便水平扩展单个Oracle Service Bus,将消息负载均匀分布在集群服务器上,防止出现系统瓶颈。Oracle Service Bus将元数据和配置自动传给托管服务器,加快了本地检索速度;并自动从这些服务器收集监控信

22、息,将它们集成和显示在“管理控制台”上。对于分布式部署用例而言,可将多个Oracle Service Bus迭代连接起来,为分布企业相应创建一个分布网络。Oracle Service Bus的特性Oracle Service Bus将ESB的概念、消息代理和运行服务管理融合一个产品中,在服务网络上管理、集成消息及服务。其核心特性分为三类: . 服务供应:注册和公开服务,以便重用. 服务集成和路由:与服务间通信有关的路由逻辑. 服务管理:监视和管理服务的活动性和可用性服务供应“服务供应”在机构、系统和部门内部和之间公开和分配服务。与服务供应相关的特性如下: . 服务类型. 内容类型. 通信类型.

23、 更改中心. 开发、测试和生产环境的迁移. 服务版本控制服务类型Oracle Service Bus支持各种服务类型,如常见的Web服务(使用WSDL中的XML或SOAP绑定)和非XML(通用)服务。创建业务和代理服务时,服务类型在注册服务时选择。它还定义服务端点通信使用的协议。Oracle Service Bus的服务类型包括: SOAP服务:在创建SOAP消息时,将标题和正文变量的内容打包到元素。如果正文变量包含一个引用XML,就原封不动地发送它,即不将引用内容替换为消息。如果用附件变量定义附件,则从主消息和附件数据创建MIME包。每个附件部分的内容处理类似于消息传输服务的处理方式。 XM

24、L服务(非SOAP):发送给基于XML服务的消息是XML,也可以是代理服务配置允许的任何类型。在包含附件的消息中,它们的内容是MIME包,其中包含主XML载荷通常是第一部分或由顶级内容类标题标识。 消息传输服务:消息传输服务指可以接收一类数据并响应不同数据类型的消息。支持的数据类型包括XML、MFL、文本和非强型二进制数据。 上面已经提到,选择的服务类型定义了可用于与服务端点通信的协议。表1显示了服务类型和支持的传输协议,以及未来版本将支持的其他传输协议。 表1 支持的服务类型和传输协议服务类型传输协议SOAP WSDL或XMLnicJMS1 HTTP(S) SOAP(非WSDL) JMS1

25、HTTP(S) XML(非WSDL)2 JMS HTTP(S) 电子邮件文件FTP消息传输类型(二进制、文本、MFL、XML)JMS HTTP(S) 电子邮件文件FTP 1. 如果启用了WS-Security,就不支持JMS请求和JMS响应。 2. HTTP GET仅用于非WSD的XML。 图7是一幅屏幕快照,它显示了如何在Oracle Service Bus中选择服务类型。 图7 服务类型内容类型为支持与异构端点的互操作性,Oracle Service Bus允许利用“服务配置”,控制使用的内容类型、JMS类型和编码。它不对外部客户或服务的需要进行假设,而是使用为此目的配置的服务定义信息。O

26、racle Service Bus从服务类型和接口推导出站消息的内容类型。 如果服务类型是: XML或SOAP(有或没有WSDL),内容类型就是文本或XML MFL或二进制消息传输和接口,内容类型就是二进制或八位字节流 文本消息传输和接口,内容类型就是文本或纯文本 XML消息传输和接口,内容类型就是文本或XML。 如果代理服务调用服务,出站上下文变量 ($outbound) 中就可以覆盖内容类型。代理服务响应时,入站上下文变量 ($inbound) 也可以覆盖内容类型。还有JMS类型(字节或文本),在“Administration Consol”(管理控制台)定义服务时,可配置此类型。在服务定

27、义中还可以为所有出站消息明确配置编码。 通信类型为了支持异构环境,Oracle Service Bus提供了多个消息传输方式。它支持以下几种通信类型: 同步请求和响应 异步一对一发布 异步一对多发布 异步请求和响应(同步与异步桥接)同步和异步通信是标准传输方式,这里需要对“异步请求/响应”或“同步-异步桥”接作进一步解释。在“同步异步桥接”中,同步客户程序向异步提供者发出请求。为此,Oracle Service Bus在一个JMS队列上发布消息,配置第二个JMS队列以便响应,并设置一个超时值监听响应。在收到请求后,服务总线在请求队列发布消息,并监听响应队列中的响应。对于服务使用者,这类服务就像

28、同步服务。 使用“异步请求和响应”消息具有以下优势: 请求线程不会阻塞等待响应,消除了执行大量阻塞请求/响应调用时潜在的线程管理问题。 消息传输更可靠。 异步请求和响应的一个用例是:客户端通过HTTP调用代理Web服务,而代理服务调用的后端系统使用JMS请求和响应。 更改中心Oracle Service Bus最重要的一个功能是“Change Center”(更改中心),更改中心是在服务总线进行配置更改的关键。更改中心有独特功能,可在更改时锁定当前配置(见图8)。使服务总线可在控制台执行配置更改时,继续接收和处理服务请求。此外,对配置更改“激活”前,不影响当前配置。完成后,这些更改立即生效,服

29、务总线即可以使用新配置。也就是说,可在不中断服务的情况下随时执行更改。 表2归纳了Oracle Service Bus更改中心提供的特性。 表2 更改中心的特性页面相关任务查看配置更改内部会话:查看当前会话所做的配置更改。 外部会话:查看以前会话激活的配置更改。 撤销更改内部会话:撤销当前会话所做的配置更改。 外部会话:撤销会话的激活,将过去会话的激活撤销到新会话。 查看所有会话内部和外部会话:查看Oracle Service Bus控制台中现有的全部会话。 查找和替换内部会话:查找和替换环境值。 外部会话:查找环境变量(替换功能无效)。 查看冲突只有内部会话:查看和解决控制台内所有会话的更改

30、之间的所有冲突。如果当前会话修改的资源已经被另外的会话修改并激活,就发生了冲突。如果两个会话对同一资源进行两次更改,在其中一次会话激活前,不发生冲突。将显示会话中的语义资源错误。任务细节内部会话:查看当前会话进行的具体更改的细节。 外部会话:查看激活会话进行的具体更改的细节。 图8更改中心(屏幕左上角)如果激活的更改引起意外事件,更改中心还能撤销任何会话的所有更改。任务细节提供有关更改资源、更改者和时间信息。由于可撤销整个会话或会话中的个别更改,Oracle Service Bus能将受影响的配置恢复到先前的状态。项目管理器Oracle Service Bus包含“Project Explor

31、er”(项目管理器),可按逻辑分类Oracle Service Bus的实体,使开发人员和管理员能更好地组织大型开发项目。项目属于非层次、分散和顶级分组结构。所有资源(例如服务、WS策略、WSDL、XQuery转换等)位于一个不重叠项目中。可在项目中直接创建资源,或将资源组织到文件夹中。项目或其他文件夹中可创建文件夹,这类似于文件系统的目录,项目级别是根目录。为了增强导航能力,可为所有项目和文件夹添加描述。图9描述了项目管理器。项目管理器的另一个功能是跟踪文件夹内资源引用的外部资源。查看这些引用可以了解所引用资源的位置(/格式)和类型。 图9 项目管理器开发、测试和生产环境的迁移Oracle Service Bus能简化从一个环境到另一环境(从开发到测试、再到生产)迁移配置。“

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2