企业服务总线-SOA与ESB_第1页
企业服务总线-SOA与ESB_第2页
企业服务总线-SOA与ESB_第3页
企业服务总线-SOA与ESB_第4页
企业服务总线-SOA与ESB_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1企业级软件开发技术

-企业服务总线华南理工大学企业级软件开发技术2概述主要内容:SOA思想ESB的应用主要的ESB工具:WebsphereESBOracleServiceBusMuleServiceMix/FUSEESBSynapse/WSO2ESB华南理工大学企业级软件开发技术3信息化发展趋势地点集中化

重新将服务器安置到数目

更少的地点中物理整合

相同的架构或相同的应用从

小服务器并到大服务器上数据集成

整合到共同的系统管理存储中应用集成

应用系统的互联互通更完善的IT组织体系

更规范的IT战略与规划投资回报率高低系统管理质量低高总体拥有成本低高华南理工大学企业级软件开发技术4AsPatternsHaveEvolved,SoHasIBMFlexibility应用之间点对点的连接实现简单、基本的信息交互和数据传递传统架构基于消息传递的模式通过HUB模式实现应用之间的整合很容易管理大量的连接和系统过渡架构企业应用整合通过企业服务总线实现服务的整合集中和流程实现借助标准的接口灵活地连接,实现真正的随需应变先进构架面向服务体系架构SOAIT构架的演变

Thenextstageofintegration华南理工大学企业级软件开发技术5平台异构性操作系统开发语言访问协议HTTPTCPUDP通信技术华南理工大学企业级软件开发技术6数据异构性

ORACLE

DB企业应用A数据结构数据存储

MySQL

DB企业应用B数据结构数据存储

SQL

Server

DB企业应用C数据结构数据存储企业数据

例如:”人”华南理工大学企业级软件开发技术7网络环境的易变性企业应用企业应用Internet动态开放多变华南理工大学企业级软件开发技术8业务过程易变性原始业务流程HR系统CRM系统OA系统第一次业务变更HR系统CRM系统OA系统进销存系统第二次业务变更HR系统CRM系统OA系统进销存系统财务系统条件判断华南理工大学企业级软件开发技术9面向服务架构业务逻辑和集成逻辑分离可分布式部署能力点对点编程模式集线器模式SOA/ESB消息队列模式….华南理工大学企业级软件开发技术10SOAHTTPTCPUDP华南理工大学企业级软件开发技术11一种充分利用开放标准,将软件资产展现为服务的结构提供软件资产标准的展现和交互途径在开发其他应用的时候,可以将独立的软件资产封装为一个一个的“积木”更注重应用之间的装配而不是实现细节什么是SOA?为什么采用SOA?封装可以实现重用采用独立的实现接口描述,容易整合各种应用由于明确定义了应用系统间的接口,容易实现应用流程模型--就象搭积木!华南理工大学企业级软件开发技术12关键概念SOA通过明确的定义和松散藕荷来提升系统间的弹性:Service:服务任何事情都可以是一个服务,一个实现了唯一功能的自包容的实体Service交互外部用户调用服务服务可以彼此交互,调用操作和交换数据Service交互可以是间接的Service编排通过调用服务,可以编排实现业务流程Service发现一个注册的服务可以在构建时或者运行时被发现ServiceRequestorDiscoveryAgencyDiscoveryAgencyFindPublishInteractClientServiceProviderServiceDescriptionServiceServiceRequestorDiscoveryAgencyServiceRegistryFindPublishInteractClientServiceProviderServiceDescriptionService华南理工大学企业级软件开发技术13SOA核心组件:ESBESB(EnterpriseServiceBus)FileDBServerApplicationApplicationServerApplicationApplicationServiceProviderServiceProviderServiceProviderServiceConsumerServiceConsumerServiceConsumer

DB华南理工大学企业级软件开发技术14背景:什么是ESBESB概述ESB是一种在松散耦合的服务和应用之间标准的集成方式。它可以作用于:面向服务的架构-分布式的应用由可重用的服务组成面向消息的架构-应用之间通过ESB发送和接受消息事件驱动的架构-应用之间异步地产生和接收消息华南理工大学企业级软件开发技术15ServiceInteractionEnterpriseServiceBusServiceServiceServiceServiceClient企业服务总线(ESB)概念经常用来表示服务互相交互的机制,它提供 了通信的基础架构

企业服务总线应当提供:

一致的、位置透明的、协议独立的手段来实现交互一致的、位置透明的交互意味服务消费者和提供者之间可以是间接的无论何种通信服务,应提供端到端的连通保证华南理工大学企业级软件开发技术16背景:什么是ESB一个基于ESB的系统数据资源

(Oracle,SQLServer,JMS……)业务服务ESBWEB服务资源适配数据转换信息路由企业级应用整合应用遗留系统其他系统华南理工大学企业级软件开发技术17财务系统

DB销售系统

DB生产系统

DB质量监控系统

DBESB统一数据库

DB营销数据共享平台华南理工大学企业级软件开发技术18面对遗留系统ESB应用系统遗留系统遗留系统服务封装服务封装服务封装服务封装应用系统

数据库

数据库遗留系统遗留系统华南理工大学企业级软件开发技术19背景:什么是ESBESB的架构华南理工大学企业级软件开发技术20ESB应该有哪些服务?传输服务安全、可靠的数据传输永久性/非永久性同步/异步仲裁服务路由格式转换事件服务事件发现和发布Publish/SubscribeShape=ProtocolColor=DatatypeAnEnterpriseServiceBus(ESB)isaflexibleconnectivityinfrastructureforintegratingapplicationsandservices.AnESBpowersyourSOAbyreducingthenumber,size,andcomplexityofinterfaces.华南理工大学企业级软件开发技术21华南理工大学企业级软件开发技术22IT服务管理业务创新和优化服务业务应用程序服务开发服务合作伙伴服务应用程序和信息资产连接性服务流程服务信息服务交互服务门户应用程序EJBSAP适配器Oracle适配器联合质询数据库访问数据库访问团体管理器业务创新和优化业务用面板IT对流程的支持SOA参考架构华南理工大学企业级软件开发技术23背景:什么是ESBESB功能通信。路由,寻址,通信技术、协议和标准(例如MQ、HTTP和HTTPS),发布/订阅、响应/请求,Fire-and-Forget,事件,同步和异步消息传递集成。数据库、服务聚合、遗留系统和应用程序适配器、EAI中间件的连接性、服务映射、协议转换、应用程序服务器环境(例如J2EE和.NET)、服务调用的语言接口(例如Java和C/C++/C#)服务交互。服务接口定义(例如,Web服务描述语言(WebServicesDescriptionLanguage,WSDL))支持替代服务实现;通信和集成所需的服务消息传递模型(例如SOAP或企业应用程序集成(EAI)中间件模型)服务目录和发现华南理工大学企业级软件开发技术24背景:什么是ESBESB功能服务质量事务(原子事务、补偿、Web服务事务(WS-Transaction))各种确定的传递范例(例如Web服务可靠消息传递(WS-ReliableMessaging)或对EAI中间件的支持)安全性身份验证授权不可抵赖性机密性安全标准(例如Kerberos和Web服务安全性(WS-Security))消息处理编码的逻辑基于内容的逻辑消息和数据转换有效性中介对象标识映射

数据压缩华南理工大学企业级软件开发技术25背景:什么是ESBESB功能服务级别性能、吞吐量、可用性、其他可以构成契约或协定的持久评、估方法管理和自治服务预置和注册记录、测量和监控发现系统管理和管理工具的集成、自监控和自管理建模对象建模通用业务对象建模数据格式库B2B集成的公共与私有模型开发和部署工具基础架构智能业务规则策略驱动的行为,特别是对于服务级别、服务功能的安全和质量(例如Web服务策略(WS-Policy))模式识别华南理工大学企业级软件开发技术26主流商业和开源ESB一览类型产品公司商业OracleServiceBus(OSB)OracleOracleEnterpriseServiceBus(ESB)WebSphereEnterpriseServiceBusIBMWebSphere

Message

Broker

WebSphere

DataPowerSonic

ESBProgressActiveMatrixServiceBusTIBCO开源MuleMuleSoftServiceMix/FUSEESBProgressSynapse/WSO2ESBWSO2华南理工大学企业级软件开发技术27IBMESB简介标准的企业服务总线:WebSphereESB高级的企业服务总线:WebSphereMessageBroker企业服务总线Gateway:DataPower华南理工大学企业级软件开发技术28SOA参考框架下WebSphere产品线IT服务管理业务创新和优化服务业务应用程序服务开发服务合作伙伴服务应用程序和信息资产连接性服务流程服务信息服务交互服务BusinessModelerWebSphere工具RationalBusinessMonitorWebSphereTivoli工具PortalWebSphereWorkplaceIBMInformationIntegratorBIServerFoundationWebSphereWebSphereWebSphereWebSphereApplicationServerPartnerGatewayMQWebSphereMessageBrokerWebSphereTivoliIntelligentOrchestratorTivoli

MonitoringTivoli

AccessManagerInformationIntegratorWebSphereBusinessIntegrationAdaptersWebSphereWebSphereESBWebSphereProcessServerIntegrationDeveloperWebSphereWebSphereDataPower华南理工大学企业级软件开发技术29IBM对Web服务的工具支持华南理工大学企业级软件开发技术30WebSphereESB架构C++Client.NetClientWebSphereESBWebSphereApplicationServerTivoliAccessManagerDB2UniversalDatabaseEdgeComponentsJavaandC/C++

WebServicesClientClients:Messaging:JMS1.1MQinteroperabilityMediationFunctionWebServices:WebSphereAdapterSupportXSLTMessageRouterMessageLoggerDBLookupWS-*SOAP/

HTTPUDDIRegistry3.0SOAP/

JMSLightweightJavaClientcomingWebSphereIntegrationDeveloperSCAProgrammingModel:SDOSCA华南理工大学企业级软件开发技术31WebSphereESBandWebSphereMessageBrokerESB:

WebSphereESBAdvancedESB:

WebSphereMessageBrokerCustomersfacearangeofESBrequirements.Asaresult,anygivenprojectmightrequireanESBoranAdvancedESB…ORBOTH.WebServicesconnectivityanddatatransformationWebServicesJMSWebSphereMQHTTPXMLWebSphereAdaptersJMSTIBCORendezvous®WebServicesWeblogicJMS®WebSphereMQTIBCOEMSJMS®HTTPSonicMQJMS®Biztalk®MQeTuxedo®Real-timeIPFTPMulticastMQTTXMLCOBOLCopybookEDI-X.12ACORDEDI-FACTebXMLAL3HIPAAHL7SWIFTFIXCustomFormatsWord/Excel/PDFPlusthefollowing:WebSphereAdaptersUniversalconnectivityanddatatransformation核心版高级版华南理工大学企业级软件开发技术32SOA利器——WebSphereDataPower

IBM和DataPower利用专用的耐久性SOA设备

–为SOA实施提供优异的性能与硬件安全性

–重新定义了中间件的界限,扩大了SOA的基础。简化SOA专用的SOA设备,部署、管理及维护更加简便,降低成本;保护SOA集中化管理、丰富的安全策略,更高的可靠性,有力保障系统安全;加速SOA无与伦比的XML处理能力,大幅提高系统处理速度和吞吐量;

华南理工大学企业级软件开发技术33DataPower典型应用场景保护对外的Web服务支持合作伙伴、客户安全地访问记录的后端系统传统系统集成把大型机或传统应用连接到Web服务SOAHUB式的中介服务在应用和Web服务间有效地转换、路由、记录消息加速动态的Web站点加快XML-HTML渲染,用于动态内容生成华南理工大学企业级软件开发技术34MediationChain格式转换服务路由企业级ESB典型方案EnterpriseServiceBus(MB)交互服务Web页面内部流程服务Web页面DMS召回系统SAP…………OAAdapterSOAP/JMS/IIOPSOAP/JMS/IIOPSOAP/JMS/IIOPDataPowerSOAP/JMS/IIOPSOAP/JMS/IIOP新车销售系统SOAP/JMS/IIOPMQMQEnterpriseServiceBus(MB/WESB)SCM系统WEB展现华南理工大学企业级软件开发技术35为什么不采用传统架构,而是采用ESB总线方案采用传统架构可以实现系统交互自行开发定义系统间数据接口和应用接口采用总线的优势利用开放标准,将软件资产展现为服务的结构面向服务的体系架构完全松耦合架构提升系统间的弹性采用独立的实现接口描述,单一对外接口,容易实现各种应用整合由于明确定义了应用系统间的接口,容易实现应用流程模型--就象搭积木!总体性价比升级、维护易于管理和监控华南理工大学企业级软件开发技术36OracleServiceBus(OSB)的架构图华南理工大学企业级软件开发技术37OSB的发展趋势易用性增强

开发工具从WebConsole迁移到Eclipse,支持图形化拖拽和便于调试性能提升

嵌入OracleCoherence(企业级的内存数据网格)产品,在特定场景下为服务调用提供缓存,性能提升80%。管控能力增强

采用自动化的生命周期服务治理,从服务设计、开发、部署和运行期的整个服务生命周期内和EnterpriseRepository产品进行自动同步,无需人工干预。华南理工大学企业级软件开发技术38OSB可借鉴之处易用性在studio上直接集成测试功能,比如studio能提供直接发送和接收SOAP,JMS消息的功能,无需借助第三方工具,如SoapUI和编写JMS客户端代码。性能采用Cache机制,为静态响应信息提升性能。静态响应信息是指在一段时间内不会发生变化的信息,如天气预报,手机套餐,人民币汇率等,这些数据变化的周期通常是1天,1月。实现手段:采用比较成熟的开源Memcached或者轻量级的JCACHE。华南理工大学企业级软件开发技术39OSB的缺点依赖于Weblogic重量级的统一消息格式:通过反编译OSB的源码,可以看出OSB将各种协议(HTTP,WS,JMS…)接入的消息统一转换为SOAPMessage,再通过XqueryEngine对SOAPMessage进行XML操作。以下场景其缺点可立即显现:1.HTTP下的大数据包2.JMSObject类型的大数据包(最新版本OSB才支持JMSObject类型,之前只支持JMSText类型

依据:

对大数据包进行XML操作比较耗CPU

将大的Object转换为XML是个繁重的操作华南理工大学企业级软件开发技术40Mule的架构图

华南理工大学企业级软件开发技术41Mule的发展趋势社区活跃度

在开源ESB中,活跃程度最高,用户量大,不断推出新版本。易用性

“让一切变得更简单”是Mule的宗旨。2次重构核心架构、推出接入云应用,消息流,基于模式的配置以及热部署;MuleIDE3.0,将支持图元拖拽,简化开发。扩展性

增加一个新协议非常简单,只需实现5个接口类即可。管理性

推出MuleManagementConsole(收费),管理、部署和监控应用。文档

文档非常丰富,降低了使用门槛。华南理工大学企业级软件开发技术42Mule可借鉴之处基于模式的配置基于webserviceproxy模式的webservice的穿透场景的配置(配置非常简单,3个属性)<ws:proxyname="muleWsProxy"inboundAddress="http://localhost:8080"outboundAddress="/WeatherWS.asmx"/>华南理工大学企业级软件开发技术43Mule可借鉴之处易扩展新增一个协议/transport只需实现5个接口类

org.mule.api.transport.Connectororg.mule.api.transport.MessageReceiverorg.mule.api.transport.MessageDispatcherorg.mule.api.transport.MessageDispatcherFactoryorg.mule.api.transport.MuleMessageFactory华南理工大学企业级软件开发技术44Mule可借鉴之处异常处理框架

异常策略设置级别:model和service异常处理方式:1.将异常路由到指定的目的地2.根据异常类型过滤异常,并路由到指定目的地3.设置重试次数4.当采用了事务时,可以在异常处理策略中设置当发生异常时是继续提交还是回滚事务。华南理工大学企业级软件开发技术45Mule的缺点集群非常弱1.只能配置一个主实例和一个从实例2.不支持flow和基于模式的配置3.某些路由会丢失或者获得重复的消息MuleIDE目前的IDE只提供XML级别的编辑,还不能实现图元的拖拽稳定性

开源项目的通病,需要在测试场景下进行验证华南理工大学企业级软件开发技术46ServiceMix的架构图华南理工大学企业级软件开发技术47ServiceMix的发展趋势JBI2.0规范发展缓慢

IT巨头Oracle,IBM投了反对票,目前只有几家小公司投支持票ServiceMix迁移到OSGiJBI2.0中增加了对OSGi的支持;ServiceMix4.x完全基于OSGi,ServiceMix3.x继续前行孵化新项目CamelKaraf华南理工大学企业级软件开发技术48ServiceMix的优势无缝集成CXF,ActiveMQ,Camel和ODE因为ServiceMix,ActiveMQ,CXF,Camel都是FUSE的开源产品JBI的优势组件BC,SE可以在任何JBI容器(比限于ServiceMix)中直接运行,复用性强基于OSGi

具备OSGi的优势:模块化,热部署,易扩展基于Karaf

提供了非常丰富的命令,管理、部署和监控ServiceMix华南理工大学企业级软件开发技术49ServiceMix的缺点JBI规范太复杂已被主流中间件厂商抛弃,没有受到业界的青睐架构复杂由于JBI的复杂性所致,其架构并非轻量级缺少IDE的支持必须手写大量的XML配置文件缺少governor的支持ServiceMix4只是借助Flex的webconsole管理OSGi的bundle学习门槛高用户文档和相关资料比较少华南理工大学企业级软件开发技术50Synapse/WSO2ESB运行期架构图WSO2ESB=Synapse+Monitoring+Management+Governance

Registry华南理工大学企业级软件开发技术51Synapse/WSO2ESB的发展趋势Synapse发展缓慢

发展缓慢,新版本中没有增加比较有亮点的功能特性WSO2ESB发展迅速

对Synapse增加了企业级特征:1.基于WSO2的Carbon平台(OSGi框架)2.支持集群、负载均衡和failoverrouting3.支持流量控制和数据缓存

还增加了外围产品:1.WSO2GovernanceRegistry,服务注册产品2.WSO2ESBmanagementconsole,ESB管理控制台3.WSO2CarbonStudio,开发ESB的studio华南理工大学企业级软件开发技术52WSO2ESB的优势基于Axis

借助于Axis的特性,能非常好的支持ws规范,ws-*。因此非常适合WebService的场景。基于WSO2的Carbon平台

Carbon是WSO2的基础平台,它是一个OSGi框架,几乎WSO2的都基于它。华南理工大学企业级软件开发技术53WSO2ESB的优势支持集群

集群中节点间的通信框架基于ApacheTribes(组通信框架)

相关信息持久化在内嵌的Derby中

支持一个主节点和多个从节点failoverrouting在集群环境中,所有的请求只能被主节点接收,从节点只能作为备份节点。华南理工大学企业级软件开发技术54WSO2ESB的优势支持流量控制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论