SOA:面向服务的体系结构(Service Oriented Architecture,SOA)
ESB:企业服务总线(Enterprise Service Bus,ESB)
SOA是一种方式或架构,用于具有自服务功能的应用程序,应用程序随后通过用户接口(UI)或经过工作流将其聚合成用户需要的功能。服务不仅是可复用代码的组件,更是运行程序的一部分,客户端可以不必合并它自己的代码直接调用该程序。服务是与业务相关的一个定义。
ESB是用于调节 SOA 中的调用者及服务提供者的机制。它使得调用者在不知道提供者或提供者使用的地址的情况下调用该服务。ESB 可在多个提供者、提供者的负载平衡及停止使用提供者(当失效时)之间进行选择,并且基于调用者的需求在提供者之间进行选择,这些提供者提供了各种质量级别的服务。ESB 能够调节同步或异步服务,事实上对于同一服务可以提供同步及异步的访问。
因此 SOA 和 ESB 是相对应的。具备 SOA 的应用程序应当使用 ESB 来调用它的服务。SOA 和 ESB 不必用 Web 服务实现。然而,经常需要 ESB 来调用服务,该服务提供自我描述及发现的能力,这由 Web 服务帮助完成。在 SOA 中经常需要由一种技术实现的调用者,它们用于调用由其它技术实现的服务,这也由 Web 服务帮助完成。所以 SOA、ESB 和 Web 服务都集中于创建这样的领域:一个应用程序中的功能在其它应用程序中也是可用的,本质是复用性。
SOA和传统开发的最大区别:
传统的B/S或者C/S的开发是横向的,表现层,业务层,数据层是彼此独立,分开来开发,并且各自部署在各自的服务器上的。在这种横向架构中,一个项目不管有多少客户,必须由一个公司,或多个公司遵守相同的组件规则来完成开发。
而SOA提出的概念是纵向概念。每一个服务都是一个独立部署的单元,可以完全由独立单位开发。部署在独立服务器上,不管底层如何实现,只要最后使用预定义的接口(由WebService 实现时,调用WSDL的接口),调用它们就行了。例如银行系统的一笔交易或转账服务,和鉴权服务,可以是完全独立的服务。由不同的团队开发,并且在任何程序中可以公用。
从用户的角度来说,SOA更容易理解,它是面向业务的。ESB实际上更像是企业服务流程,比如先鉴权,然后转账等。它是面向开发者的。对用户来说是透明的,用户关注的是一个完整的功能,及其某一服务
分享到:
相关推荐
SOA与ESB的形象概念SOA与ESB的形象概念SOA与ESB的形象概念
WebService&SOA&ESB
先描述了SOA和ESB的概念和结构, 再详细介绍了怎么用SOA来实现一个ESB,并对服务Router,Broker,off-the-bus service,Exposed ESB Gateway有详细的说明.
企业服务总线 1. 关于SOA 2. ESB简介 3. ESB的适用场景及要素 4. SOA和ESB产品 5. WebMethods介绍 6. 案例说明
Enterprise Integration SOA EAI ESB 企业集成
GlassFish Open ESB for SOA DevelopmentGlassFish Open ESB for SOA Development
SOA服务ESB平台开发手册,WebService开发完成并在本机通过测试之后,可以在SOA的平台进行注册,之后才能开始在SOA平台上的测试。
NULL 博文链接:https://zoukk449-126-com.iteye.com/blog/1132940
是关于web service 的基本教程
基于SOA架构的ESB在卷烟工厂的设计与应用
基于esb架构的轻量级消息框架的研究与实现。
高校近期的关于SOA ESB的论文,主要包括基于ESB构架的交通行业数据交换平台的应用研究、基于SOA的政务综合服务系统研究、基于SOA构建数字校园网
WebService&SOA&ESB入门介绍(手把手xfire开发WS入门实例)
基于ESB实现SOA的众多模式,SOA架构师必读
ESB和SOA介绍和比较 ESB和SOA介绍和比较
ORACLE SOA 10g ESB处理模型
ibm wmb wsrr soa esb 常见问题解答及JavaAPI
火龙果软件工程技术中心 学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点关注微软在SOA领域的相关指导和.NET社区的相关开源的解决方案,和大家一起来探讨如何在企业里实现SOA,期望有实施SOA经验...