关闭

关闭

关闭

封号提示

内容

首页 ESB技术交流

ESB技术交流.ppt

ESB技术交流

十井人生 2010-12-18 评分 0 浏览量 0 0 0 0 暂无简介 简介 举报

简介:本文档为《ESB技术交流ppt》,可适用于IT/计算机领域,主题内容包含EnterpriseServiceBus技术交流目录目录SOA与ESB什么是SOASOA与ESB的关系ESB的概念什么是ESBESB功能模型ESB最符等。

EnterpriseServiceBus技术交流目录目录SOA与ESB什么是SOASOA与ESB的关系ESB的概念什么是ESBESB功能模型ESB最简功能定义ESB常用技术与规范ESB实现ApacheSynapse其它开源ESB实现SOA与ESBSOA与ESB软件开发的演变历程软件开发的演变历程面向机器语言(Monolithic)的开发模式面向过程(Procedure)的开发模式面向对象(Object)的开发模式面向组件(Component)的开发模式面向服务(SOA)的模式什么是SOA什么是SOAServiceOrientedArchitecture一种以服务为基础的架构服务边界清晰服务自治低耦合服务通过Schema和Contract发布而不是Class和TypeSOA将业务应用拆分为动态的和可重用的服务SOA将业务应用拆分为动态的和可重用的服务、将应用分解为模块和可重用的函数以及服务、组合服务和模块以符合业务需求、重用现有的服务和模块以满足变化的业务需求服务之间如何交互?()服务之间如何交互?()LegacyBusinessServicesLegacyApplicationsandDataNewBusinessServicesOnDemandPROCESSServicesOnDemandINFORMATIONServicesONDemandPEOPLEServicesPartner(BB)BusinessServicesConnectivityMediumControlServicesComponentServices服务之间如何交互?()服务之间如何交互?()LegacyBusinessServicesLegacyApplicationsandDataNewBusinessServicesOnDemandPROCESSServicesOnDemandINFORMATIONServicesONDemandPEOPLEServicesPartner(BB)BusinessServicesEnterpriseServiceBusControlServicesComponentServices什么是ESB?什么是ESB?ESB是传统中间件技术与XML、Web服务等技术相互结合的产物用于实现企业应用不同消息和信息的准确、高效和安全传递。EnterpriseServiceBusESB全称为EnterpriseServiceBus即企业服务总线。一个ESB是一个预先组装的SOA实现它包含了实现SOA分层目标所必需的基础功能部件。ESB要解决的问题ESB要解决的问题整合整合ESB功能模型ESB功能模型ESB功能模型定义ESB功能模型定义通信服务交互集成服务质量安全性服务级别消息处理管理及自治建模基础架构智能、通信、通信路由寻址通信技术、协议和标准(例如JMS、HTTP和HTTPS)发布订阅响应请求FireandForget事件同步和异步消息传递、服务交互、服务交互服务接口定义(例如Web服务描述语言(WebServicesDescriptionLanguageWSDL))支持替代服务实现通信和集成所需的服务消息传递模型(例如SOAP或企业应用程序集成(EAI)中间件模型)服务目录和发现、集成、集成数据库服务聚合遗留系统和应用程序适配器EAI中间件的连接性服务映射协议转换应用程序服务器环境(如JEE和NET)服务调用的语言接口(如JavaCCC#)、服务质量、服务质量事务(原子事务、补偿、Web服务事务(WSTransaction))各种确定的传递范例(例如Web服务可靠消息传递(WSReliableMessaging)或对EAI中间件的支持)、安全性、安全性身份验证授权不可抵赖性机密性安全标准(例如Kerberos和Web服务安全性(WSSecurity))、服务级别、服务级别性能吞吐量可用性其他可以构成契约或协定的持久评估方法、消息处理、消息处理编码的逻辑基于内容的逻辑消息和数据转换有效性中介:提供位置透明性的服务路由和定位服务多种消息传递形式支持广泛使用的传输协议。对象标识映射数据压缩、管理和自治、管理和自治服务预置和注册记录、测量和监控服务发现系统管理和管理工具的集成自监控和自管理、建模、建模对象建模通用业务对象建模数据格式库BB集成的公共与私有模型开发和部署工具、基础架构智能、基础架构智能业务规则(EIP)策略驱动的行为特别是对于服务级别、服务功能的安全和质量(例如Web服务策略(WSPolicy))最简单ESB功能构成最简单ESB功能构成支持SOA的最低功能的ESB支持SOA的最低功能的ESB实现原则ESB是一种逻辑体系结构组件它提供与SOA的原则保持一致的集成基础架构。SOA原则需要使用与实现无关的的接口、强调位置透明性和可互操作性的通信协议、相对粗粒度和封装可重用功能的服务定义。ESB可以作为分布式的异构基础架构进行实现。ESB提供了管理服务基础架构的方法和在分布式异构环境中进行操作的功能。最低的ESB功能最低的ESB功能通信提供位置透明性的路由和寻址服务控制服务寻址和命名的管理功能至少一种形式的消息传递范型(例如请求响应、发布订阅等等)支持至少一种可以广泛使用的传输协议集成支持服务提供的多种集成方式比如Java连接器、Web服务、异步通信、适配器等等服务交互一个开放且与实现无关的服务消息传递与接口模型它应该将应用程序代码从路由服务和传输协议中分离出来并允许替代服务的实现。ESB常用技术与规范ESB常用技术与规范XMLSOAPWebService(技术与相关规范)JMSServletEJBJBISCAJBISUN公司解决SOA的方案SCABEA、IBM、Oracle等知名中间件厂商联合制定的一套符合SOA思想的规范EIPRoutingRulesMediationRulesESB应用ESB应用ESB在不同领域具有非常广泛的用途电信领域:电信行业OSS的应用整合电力领域:电力行业EMS的数据整合金融领域:银企间业务处理平台的流程整合电子政务:支持电子政务应用软件业务基础平台其它领域一个轻量级的ESB实现ApacheSynapse一个轻量级的ESB实现ApacheSynapseApacheSynapse特性ApacheSynapse特性、基于ApacheAxis,最新版本、支持服务注册以及寻址管理、支持WSAddressingWSSecurityWSRM等规范、支持HTTP(S)JMSPOPSMTPIMAPFIX等协议以及转换、消息处理:消息接收、转发、中介、路由、错误处理、服务质量、支持LoadBalance和Failover,以及服务缓存、支持脚本中介无需修改应用代码通过JS等脚本来控制消息、JMX,支持自治监控消息仲裁框架消息仲裁框架ApacheSynapse实现了通用的中介框架。可以指定一个对消息进行操作(基于它所到达的端点、或基于某种筛选)的中介序列。Synapse的目标是支持一组有价值的、即时可用的中介。Synapse中介Synapse中介、记录日志到logj、修改Header包括WSAddressingHeader。实现基于内容的路由功能。、运行脚本包括JavaScript、Groovy、Ruby和BeanScriptingFramework(BSF)所支持的其他脚本。EX支持允许JavaScript直接操纵XML消息而不需要使用像DOM这样的API。在Ruby中也存在类似的支持。、启用和终止WSSecurity与WSReliableMessaging。可在SOAP版本和XMLHTTP之间进行切换。、协议转换JMSHTTP(S)、XML模式验证。、发现消息中的错误或者丢弃它们。、用户自定义中介Synapse配置架构Synapse配置架构Synapse代理模型Synapse代理模型例一、WebService代理示例例一、WebService代理示例<definitionsxmlns="http:wsapacheorgnssynapse"><proxyname="DisableCitizen"><target><endpoint><addressuri="https:apinciicorgcnnciicwsservicesNciicServices"><endpoint><outSequence><send><outSequence><target><publishWSDLuri="https:apinciicorgcnnciicwsservicesNciicServiceswsdl"><proxy><definitions>场景说明:可以将不同应用上的WebService发布到一台Synapse主机上例二、CBR示例例二、CBR示例<definitionsxmlns="http:wsapacheorgnssynapse"><!filteringofmessageswithXPathandregexmatches><filtersource="getproperty('To')"regex="*DisableCitizen*"><send><endpoint><addressuri="https:apinciicorgcnnciicwsservicesNciicServices"><endpoint><send><drop><filter><send><definitions>场景说明:基于内容的消息路由。匹配SOAP消息中的“To”属性值将符合条件的请求转发到指定的端点处理。例三、负载均衡例三、负载均衡<definitionsxmlns="http:wsapacheorgnssynapse"><sequencename="main"onError="errorHandler"><in><send><endpoint><loadbalance><endpoint><addressuri="http:localhost:soapLBService"><enableAddressing><suspendDurationOnFailure><suspendDurationOnFailure><address><endpoint><endpoint><addressuri="http:localhost:soapLBService"><enableAddressing><suspendDurationOnFailure><suspendDurationOnFailure><address><endpoint><endpoint><addressuri="http:localhost:soapLBService"><enableAddressing><suspendDurationOnFailure><suspendDurationOnFailure><address><endpoint><loadbalance><endpoint><send><drop><in><out><!Sendthemessageswheretheyhavebeensent(ieimplicitToEPR)><send><out><sequence>。。。<definitions>场景说明:以roundrobin的方式在三个服务端点之间实现负载均衡。例四、FailOver例四、FailOver<definitionsxmlns="http:wsapacheorgnssynapse"><sequencename="main"onError="errorHandler"><in><send><endpoint><failover><endpoint><addressuri="http:localhost:soapLBService"><enableAddressing><suspendDurationOnFailure><suspendDurationOnFailure><address><endpoint><endpoint><addressuri="http:localhost:soapLBService"><enableAddressing><suspendDurationOnFailure><suspendDurationOnFailure><address><endpoint><endpoint><addressuri="http:localhost:soapLBService"><enableAddressing><suspendDurationOnFailure><suspendDurationOnFailure><address><endpoint><failover><endpoint><send><drop><in><out><!Sendthemessageswheretheyhavebeensent(ieimplicitToEPR)><send><out><sequence>。。。<definitions>场景说明:在三个服务端点之间实现失效备援。例五、jmshttp协议转换例五、jmshttp协议转换<definitionsxmlns="http:wsapacheorgnssynapse"><proxyname="StockQuoteProxy"transports="jms"><target><inSequence><propertyaction="set"name="OUTONLY"value="true"><inSequence><endpoint><addressuri="http:localhost:soapSimpleStockQuoteService"><endpoint><outSequence><send><outSequence><target><publishWSDLuri="file:repositoryconfsampleresourcesproxysampleproxywsdl"><proxy><definitions>场景说明:用jms客户端API跨协议访问远程WebService。例六、可靠消息交互例六、可靠消息交互<definitionsxmlns="http:wsapacheorgnssynapse"><in><RMSequencesingle="true"version=""><send><endpointname="reliable"><addressuri="http:localhost:soapReliableStockQuoteService"><enableRM><enableAddressing><address><endpoint><send><in><out><headername="wsrm:SequenceAcknowledgement"action="remove"xmlns:wsrm="http:schemasxmlsoaporgwsrm"><headername="wsrm:Sequence"action="remove"xmlns:wsrm="http:schemasxmlsoaporgwsrm"><send><out><definitions>场景说明:通过WSRM在synapse与服务提供者之间实现可靠消息交互。例七、自定义中介例七、自定义中介<definitionsxmlns="http:wsapacheorgnssynapse"><sequencename="fault"><makefault><codevalue="tns:Receiver"xmlns:tns="http:wwwworgsoapenvelope"><reasonvalue="Mediationfailed"><makefault><send><sequence><sequencename="main"onError="fault"><in><send><endpointname="stockquote"><addressuri="http:localhost:soapSimpleStockQuoteService"><endpoint><send><in><out><classname="samplesmediatorsDiscountQuoteMediator"><propertyname="discountFactor"value=""><propertyname="bonusFor"value=""><class><send><out><sequence><definitions>场景说明:通过SynapseAPI自定义中介(实现orgapachesynapseMediator接口)来实现对传输消息的访问和控制。其它开源ESB产品或项目其它开源ESB产品或项目JBOSSSOAPlatformJBOSSSOAPlatformServicemixESBServicemixESBMuleESBMuleESBFUSEESBFUSEESBWSOESBWSOESBESB的方案设计原则ESB的方案设计原则、ESB涉及IT应用环境分析定义ESB与相关应用的接口模式、ESB架构概要设计并定义架构原则、ESB相关产品选择包括与外围系统的适配器选择和ESB产品选择、ESB组件模型设计分解ESB的相关模块满足SOA的分离关注点等架构原则、ESB运作模型设计满足平台的非功能性需求、ESB平台的服务流设计涉及路由、转换和映射等、ESB的同步、异步或者发布订阅模式设计、ESB平台的接入渠道和数据接口设计包括XMLJMS、SOAPHTTP、EDIMQ等、ESB相关的适配器设计包括技术适配器或者自开发的适配器、ESB平台的容错和重试机制设计包括日志等的统一管理等ESB技术总结ESB技术总结服务的MetaData管理传输服务中介多种服务集成方式服务和事件管理支持服务集成、交互、安全、质量、等级通信服务管理与自治ESB中最常提到的两个功能是消息转换和消息路由A

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +1积分

资料评分:

/51
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部

举报
资料