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(面向服务的架构)的概念解析 面向服务的架构(Service-Oriented Architecture, SOA)是一种设计思想,它定义了一组原则和架构模式来组织软件功能和服务。这些服务可以通过...
理解并掌握WebService、SOA和ESB对于构建可扩展、灵活的企业级系统至关重要。开发者需要了解XML、HTTP/HTTPS、SCHEMA/DTD等相关基础,才能有效地设计和实现这些服务。通过使用这些技术和工具,企业能够构建出适应...
### ESB和SOA介绍与比较 #### 一、SOA与ESB概念解析 **SOA(面向服务的架构)**是一种设计思路,强调通过服务接口实现不同系统的交互,这些服务可以被发现、调用,并且具备独立性和可重用性。SOA的核心理念在于将...
- ESB的选择与配置,例如Apache ServiceMix、IBM WebSphere ESB或Tibco ActiveMatrix ESB - OSGi框架的使用,如Apache Felix或Eclipse Equinox - 服务注册、发现、调用的示例代码 - 如何利用ESB进行服务的中介、转换...
先描述了SOA和ESB的概念和结构, 再详细介绍了怎么用SOA来实现一个ESB,并对服务Router,Broker,off-the-bus service,Exposed ESB Gateway有详细的说明.
ESB是SOA架构中实现服务间智能化集成与管理的中介。ESB是一种在松散耦合的服务和应用之间标准的集成方式。ESB的架构模型可以分为三种: 1. 面向消息的架构:ESB可以实现应用之间的消息传递。 2. 面向服务的架构:...
- **ESB与SOA的关系**:ESB作为SOA的重要组成部分,提供了服务间通信的基础设施,使得SOA能够在复杂的企业环境中实现灵活的服务组合和服务交互。 ##### 1.3 Mule - **定义**:Mule是一款高性能的企业级集成平台,由...
总结而言,《SOA服务ESB平台开发手册》是一份全面的开发指南,涵盖了从基础类库到服务端和客户端开发,再到服务注册发布的全过程,旨在提升开发效率和保证服务的质量与稳定性。对于涉及SOA架构的企业,这份手册是不...
### 企业集成(SOA、EAI、ESB 比较) #### 引言 在信息技术领域,随着企业业务的复杂性和规模不断增长,如何有效地整合不同系统、应用程序和服务成为一个亟待解决的问题。企业集成(Enterprise Integration)是...
### SOA、EAI与ESB:企业集成的不同面向 #### 引言 在现代企业的IT架构中,如何实现高效且灵活的企业应用集成是至关重要的。随着技术的发展,出现了多种不同的方法来解决这一问题,包括企业应用集成(EAI)、服务...
WSDL(Web Service Description Language)是用于描述Web Service接口的语言,它定义了服务的端点、操作、输入和输出参数等信息,使得其他应用程序可以找到并理解如何与该服务进行交互。 【REST vs XML-RPC vs SOAP...
### GlassFish Open ESB 在 SOA 开发中的应用 #### 什么是 SOA? 服务导向架构(Service-Oriented Architecture,简称 SOA)是一种设计原则与实践方法,它旨在创建共享、可重用、分布式的软件服务。SOA 的关键属性...
#### 八、WebSphere ESB与Message Broker简介 - **WebSphere Enterprise Service Bus (ESB)**:提供了一个全面的企业级服务平台,支持服务的注册、查找、调用以及消息的路由和转换等功能。 - **WebSphere Message ...
- **ESB与SOA的融合**:早期的SOA实践中,ESB往往被视为SOA的核心组成部分。随着时间的推移,随着SOA的发展,ESB的功能也在不断发展和完善,以更好地适应SOA的需求。当前的趋势表明,ESB不仅仅是SOA的基础架构,更是...
**基于ESB实现SOA的模式汇总** 在IT领域中,Service-Oriented Architecture(SOA)是一种设计和构建分布式系统的方法,它强调通过服务之间的交互来实现业务功能。Enterprise Service Bus(ESB)是SOA的核心组件,它...
#### 三、ESB与SOA - **ESB概念**:ESB是一种软件架构模式,用于支持SOA,通过提供一个中心化的通信基础设施来促进服务之间的交互。 - **ESB功能**: - 服务路由与转换:自动处理消息的传递、路由和格式转换。 - ...
高校近期的关于SOA ESB的论文,主要包括基于ESB构架的交通行业数据交换平台的应用研究、基于SOA的政务综合服务系统研究、基于SOA构建数字校园网
WebService&SOA&ESB入门介绍(手把手xfire开发WS入门实例)