资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Enterprise Service Bus,技术交流,目录,SOA,与,ESB,什么是,SOA,SOA,与,ESB,的关系,ESB,的概念,什么是,ESB,ESB,功能模型,ESB,最简功能定义,ESB,常用技术与规范,ESB,实现,Apache Synapse,其它开源,ESB,实现,SOA,与,ESB,软件开发的演变历程,面向机器语言,(Monolithic),的开发模式,面向过程,(Procedure),的开发模式,面向对象,(Object),的开发模式,面向组件,(Component),的开发模式,面向服务,(SOA),的模式,什么是,SOA,Service Oriented Architecture,一种以服务为基础的架构,服务边界清晰,服务自治,低耦合,服务通过,Schema,和,Contract,发布,而不是,Class,和,Type,SOA,将业务应用拆分为动态的和可重用的服务,传统应用程序,组件化的应用程序,组合的应用程序,因需求重新组合的应用程序,3,2,1,1,、将应用分解为模块和可重用的函数以及服务;,2,、组合服务和模块以符合业务需求;,3,、重用现有的服务和模块以满足变化的业务需求;,服务之间如何交互?(,1,),Legacy Business Services,Legacy Applications and Data,New,Business,Services,On Demand,PROCESS,Services,On Demand,INFORMATION,Services,ON Demand,PEOPLE,Services,Partner(B2B)Business,Services,Connectivity Medium,Control Services,Component Services,服务之间如何交互?(,2,),Legacy Business Services,Legacy Applications and Data,New,Business,Services,On Demand,PROCESS,Services,On Demand,INFORMATION,Services,ON Demand,PEOPLE,Services,Partner(B2B)Business,Services,Enterprise Service Bus,Control Services,Component Services,什么是,ESB,?,ESB,是传统中间件技术与,XML,、,Web,服务等技术相互结合的产物,用于实现企业应用不同消息和信息的准确、高效和安全传递。,Enterprise Service Bus,ESB全称为Enterprise,Service,Bus,即企业服务总线,。,一个,ESB,是一个预先组装的,SOA,实现,它包含了实现,SOA,分层目标所必需的基础功能部件。,ESB,要解决的问题,整合,ESB,功能模型,ESB,功能模型定义,通信,服务交互,集成,服务质量,安全性,服务级别,消息处理,管理及自治,建模,基础架构智能,1,、通信,路由,寻址,通信技术、协议和标准(例如,JMS,、,HTTP,和,HTTPS,),发布,/,订阅,响应,/,请求,Fire-and-Forget,,事件,同步和异步消息传递,2,、服务交互,服务接口定义(例如,,Web,服务描述语言(,Web Services Description Language,,,WSDL,),支持替代服务实现,通信和集成所需的服务消息传递模型(例如,SOAP,或企业应用程序集成,(EAI),中间件模型),服务目录和发现,3,、集成,数据库,服务聚合,遗留系统和应用程序适配器,EAI,中间件的连接性,服务映射,协议转换,应用程序服务器环境(如,J2EE,和,.NET,),服务调用的语言接口(如,Java/C/C+/C#,),4,、服务质量,事务(原子事务、补偿、,Web,服务事务(,WS-Transaction,),各种确定的传递范例(例如,Web,服务可靠消息传递(,WS-,ReliableMessaging,)或对,EAI,中间件的支持),5,、安全性,身份验证,授权,不可抵赖性,机密性,安全标准(例如,Kerberos,和,Web,服务安全性(,WS-Security,),6,、服务级别,性能,吞吐量,可用性,其他可以构成契约或协定的持久评估方法,7,、消息处理,编码的逻辑,基于内容的逻辑,消息和数据转换,有效性,中介:提供位置透明性的服务路由和定位服务;多种消息传递形式;支持广泛使用的传输协议。,对象标识映射,数据压缩,8,、管理和自治,服务预置和注册,记录、测量和监控,服务发现,系统管理和管理工具的集成,自监控和自管理,9,、建模,对象建模,通用业务对象建模,数据格式库,B2B,集成的公共与私有模型,开发和部署工具,10,、基础架构智能,业务规则(,EIP,),策略驱动的行为,特别是对于服务级别、服务功能的安全和质量(例如,Web,服务策略(,WS-Policy,),最简单,ESB,功能构成,支持,SOA,的最低功能的,ESB,实现原则,ESB,是一种逻辑体系结构组件,它提供与,SOA,的原则保持一致的集成基础架构。,SOA,原则需要使用与实现无关的的接口、强调位置透明性和可互操作性的通信协议、相对粗粒度和封装可重用功能的服务定义。,ESB,可以作为分布式的异构基础架构进行实现。,ESB,提供了管理服务基础架构的方法和在分布式异构环境中进行操作的功能。,最低的,ESB,功能,通信,提供位置透明性的路由和寻址服务,控制服务寻址和命名的管理功能,至少一种形式的消息传递范型(例如,请求,/,响应、发布,/,订阅等等),支持至少一种可以广泛使用的传输协议,集成,支持服务提供的多种集成方式,比如,Java 2,连接器、,Web,服务、异步通信、适配器等等,服务交互,一个开放且与实现无关的服务消息传递与接口模型,它应该将应用程序代码从路由服务和传输协议中分离出来,并允许替代服务的实现。,ESB,常用技术与规范,XML/SOAP,Web Service,(技术与相关规范),JMS/,Servlet,/EJB,JBI/SCA,JBI,SUN,公司解决,SOA,的方案,SCA BEA,、,IBM,、,Oracle,等知名中间件厂商联合制定的一套符合,SOA,思想的规范,EIP,Routing Rules,Mediation Rules,ESB,应用,ESB,在不同领域具有非常广泛的用途,电信领域:电信行业,OSS,的应用整合,电力领域:电力行业,EMS,的数据整合,金融领域:银企间业务处理平台的流程整合,电子政务:支持电子政务应用软件业务基础平台,其它领域,一个轻量级的,ESB,实现,-Apache Synapse,Apache Synapse,特性,1,、基于,Apache Axis2,最新,1.2,版本,2,、支持服务注册以及寻址管理,3,、支持,WS-Addressing/WS-Security/WS-RM,等规范,4,、支持,HTTP(S)/JMS/POP3/SMTP/IMAP/FIX,等协议以及转换,5,、消息处理:消息接收、转发、中介、路由、错误处理,6,、服务质量,7,、支持,Load Balance,和,Failover,以及服务缓存,8,、支持脚本中介,无需修改应用代码,通过,JS,等脚本来控制消息,9,、,JMX,支持自治监控,消息仲裁框架,Apache Synapse,实现了通用的中介框架。可以指定一个对消息进行操作(基于它所到达的端点、或基于某种筛选)的,中介序列,。,Synapse,的目标是支持一组有价值的、即时可用的中介。,Synapse,中介,1,、记录日志到,log4j2,、修改,Header,,包括,WS-Addressing Header,。实现基于内容的路由功能。,3,、运行脚本,包括,JavaScript,、,Groovy,、,Ruby,和,Bean Scripting Framework(BSF),所支持的其他脚本。,E4X,支持允许,JavaScript,直接操纵,XML,消息,而不需要使用像,DOM,这样的,API,。在,Ruby,中也存在类似的支持。,4,、启用和终止,WS-Security,与,WS-,ReliableMessaging,。可在,SOAP,版本和,XML/HTTP,之间进行切换。,5,、协议转换,,JMS/HTTP(S)6,、,XML,模式验证。,7,、发现消息中的错误或者丢弃它们。,8,、用户自定义中介,Synapse,配置架构,Synapse,代理模型,例一、,Web Service,代理示例,场景说明:可以将不同应用上的,Web Service,发布到一台,Synapse,主机上,例二、,CBR,示例,场景说明:基于内容的消息路由。匹配,SOAP,消息中的“,To”,属性值,将符合条件的请求转发到指定的端点处理。,例三、负载均衡,60,60,60 ,。,场景说明:以,round-robin,的方式在三个服务端点之间实现负载均衡。,例四、,Fail Over,60,60,60 ,。,场景说明:在三个服务端点之间实现失效备援。,例五、,jms,/http,协议转换,场景说明:用,jms,客户端,API,跨协议访问远程,Web Service,。,例六、可靠消息交互,场景说明:通过,WS-RM,在,synapse,与服务提供者之间实现可靠消息交互。,例七、自定义中介,场景说明:通过,Synapse API,自定义中介(实现,org.apache.synapse.Mediator,接口)来实现对传输消息的访问和控制。,其它开源,ESB,产品或项目,JBOSS SOA Platform,Servicemix,ESB,Mule ESB,FUSE ESB,WSO2 ESB,ESB,的方案设计,原则,1,、,ESB,涉及,IT,应用环境分析,定义,ESB,与相关应用的接口模式;,2,、,ESB,架构概要设计,并定义架构原则;,3,、,ESB,相关产品选择,包括与外围系统的适配器选择和,ESB,产品选择;,4,、,ESB,组件模型设计,分解,ESB,的相关模块,满足,SOA,的分离关注点等架构原则;,5,、,ESB,运作模型设计,满足平台的非功能性需求;,6,、,ESB,平台的服务流设计,涉及路由、转换和映射等;,7,、,ESB,的同步、异步或者发布,/,订阅模式设计;,8,、,ESB,平台的接入渠道和数据接口设计,包括,XML/JMS,、,SOAP/HTTP,、,EDI/MQ,等;,9,、,ESB,相关的适配器设计,包括技术适配器或者自开发的适配器;,10,、,ESB,平台的容错和重试机制设计,包括日志等的统一管理等;,ESB,技术总结,服务的,MetaData,管理,传输服务,中介,多种服务集成方式,服务和事件管理支持,服务集成、交互、安全、质量、等级,通信,服务管理与自治,ESB,中最常提到的两个功能是消息转换和消息路由,A,Q,&,Thanks!,
展开阅读全文