企业服务总线的基本概念

合集下载

关于ESB(企业服务总线)

关于ESB(企业服务总线)

关于ESB(企业服务总线)⼀.什么是ESBESB是Enterprise Service Bus的简称,中⽂翻译为企业服务总线,企业服务总线是⼀个实现系统间集成和互联互通的重要技术架构,可以理解为是⼀种消息和服务集成的中间件平台。

⼆.ESB解决了什么问题以及什么是HSBESB主要是为了解决多个应⽤系统互联所⾯临的的复杂性,减低集成和维护成本。

举个例⼦,⽐如我们的医疗业务系统都知道分为很多个系统,包括HIS、LIS、EMR等等。

如果这些业务系统是由多个商家做的,可能会有构建语⾔不同、通信协议不同、数据传输格式不同等问题,那么如何把这些系统⽤⼀条线串起来呢?就是⽤ESB;还有我们医疗从业者、患者、管理⼈员等可以通过多个渠道访问后台系统,⽐如浏览器的portal,移动设备等;还有⼀些特殊的医疗业务应⽤系统,⽐如双向会诊、远程会诊、业务协同等等,即实现了ESB的基本特点,⼜满⾜医疗卫⽣⾏业的特定需求的ESB,叫做健康服务总线(Health Service Bus,HSB)。

ESB为了解决刚才说的问题,就需要保证多个应⽤系统的服务接⼊,协议转换,提供可靠的消息传输,数据格式转换,基于内容路由等功能。

有⼈可能会有疑问,应⽤A发送消息给ESB,ESB再将消息转换给应⽤B,那么应⽤A直接通过SOAP协议发送给B,效率不是应该更⾼吗?⽽且如果这些IT系统都在⼀个⽹络中,提供的WebService都在统⼀命名空间下,就可以相互通信,为什么还要加上这⼀层?有两点需要考虑。

(1)点对点做服务的时候,通常需要考虑⽇志记录,服务访问安全、传输安全、数据安全、路由分发等⼀系列问题,⽽这些完全可以统⼀管理,统⼀验证,灵活配置;如果应⽤A调⽤了应⽤B,在调⽤了应⽤C等具有逻辑流程的调⽤时,还可以在ESB上实现流程引擎;(2)ESB是⼀个中间件平台,包含了消息中间件的全部功能,有异步消息处理机制,可以实现业务系统之间真正的松耦合的结构。

企业服务总线解决方案

企业服务总线解决方案

企业服务总线解决方案随着科技的不断发展,企业的业务系统和应用程序数量也在不断增加。

然而,这些系统和应用程序之间的集成及通信问题却成为了企业面临的一个重要挑战。

为了解决这一问题,许多企业开始采用企业服务总线解决方案。

一、什么是企业服务总线解决方案?企业服务总线(Enterprise Service Bus,简称ESB)是一种用于集成企业中各种应用程序和系统的解决方案。

它提供了一条统一的通信通道,通过这个通道,不同的应用程序可以相互之间进行数据传输和交流。

ESB充当了一个中间层,负责处理不同应用程序之间的数据格式转换、消息传递和协议转换等任务。

二、为什么需要企业服务总线解决方案?1. 提高系统整合效率:企业内部通常拥有多个应用系统,这些系统之间的数据和消息传递需要进行集成和协调。

采用ESB可以将多个系统的数据进行整合,提高数据的处理效率和质量。

2. 实现系统互联互通:不同的应用程序通常使用不同的数据格式和通信协议,直接进行通信会非常困难。

ESB可以作为中间层,将不同系统之间的通信进行协调和转换,使得系统之间可以进行无缝的互联互通。

3. 简化企业系统架构:采用ESB可以将企业系统架构中的复杂性进行简化。

通过ESB,企业可以将不同的应用程序和系统进行解耦,从而提高系统的可维护性和可扩展性。

三、企业服务总线解决方案的主要特点1. 中央集中管理:ESB作为中央枢纽,集中管理企业中的各种应用程序和系统。

通过ESB,企业可以实现对不同系统的集中监控、管理和调度。

2. 支持多种通信协议:ESB提供了对多种通信协议的支持,包括SOAP、REST、JMS等。

这使得不同系统之间可以使用适合自身的通信协议进行数据传输和交流。

3. 数据转换和格式转换:不同应用程序和系统之间通常使用不同的数据格式。

ESB提供了数据转换和格式转换的功能,可以将不同格式的数据进行转换,使得系统之间可以无缝进行数据交互。

4. 消息路由和转发:ESB可以根据不同的规则和条件对进入的消息进行路由和转发。

企业服务总线的基本概念

企业服务总线的基本概念

企业服务总线的基本概念引言在当今数字化转型日益加速的时代,企业面临着众多的挑战和机遇。

为了提高企业的运营效率、降低成本、提供更优质的客户服务,许多企业开始采用企业服务总线(Enterprise Service Bus,简称ESB)来实现业务系统之间的集成和通信。

本文将介绍企业服务总线的基本概念,包括ESB的定义、功能、特点以及其在企业中的作用和优势。

1. 企业服务总线的定义企业服务总线(Enterprise Service Bus,简称ESB)是一种用于集成企业内部各种应用程序和系统的软件架构。

它提供了一种可靠、高效、可扩展的机制,用于实现不同应用之间的通信和信息交换。

ESB充当了企业系统之间的中枢枢纽,通过统一的接口和协议,实现了数据的传输、转换和路由。

2. 企业服务总线的功能2.1 消息传输和路由ESB作为企业系统之间的中介,负责接收和发送消息。

它能够根据事先定义好的规则和路由策略,将消息从发送方传递给接收方,实现点对点的通信。

ESB还可以根据消息的内容进行路由选择,将消息发送到特定的目标系统。

2.2 数据转换和格式化不同的系统往往使用不同的数据格式和协议,这给系统集成带来了很大的困难。

ESB可以将不同系统的数据进行格式化和转换,使得它们能够互相理解和交互。

ESB可以将XML、JSON、SOAP等不同的数据格式进行转换,从而实现系统之间的无缝对接。

2.3 安全性和可靠性保障在企业中,数据的安全性和可靠性非常重要。

ESB可以提供各种安全机制和协议,保证数据在传输过程中的安全性和完整性。

它还可以通过实现消息队列、事务处理和失败重试等机制,确保消息的可靠传输和处理。

2.4 监控和管理ESB可以提供全面的监控和管理功能,帮助企业及时发现和解决问题。

它可以记录和跟踪消息的流动和处理情况,生成运行报告和统计数据。

同时,ESB还可以对服务进行动态管理,包括发布、订阅、配置和升级等操作。

3. 企业服务总线的特点3.1 松耦合ESB使用灵活的接口和协议,实现了系统之间的松耦合。

企业服务总线的基本概念

企业服务总线的基本概念

企业服务总线的基本概念企业服务总线(Enterprise Service Bus,简称ESB)是一种软件架构模式,用于实现不同企业应用之间的通信和集成。

它提供了一种可靠的、可扩展的、消息驱动的通信机制,能够将各种应用程序和服务连接在一起,实现数据传输、消息路由和服务协调等功能,统一管理企业内部的信息流动。

ESB的基本概念可以分为以下几个方面:1.消息传输:ESB通过提供一种标准化和可替代的消息传输机制来解决不同应用程序之间的通信问题。

它基于消息传递的方式,采用异步和同步的通信模型,实现应用程序之间的解耦,提高系统的灵活性和可扩展性。

2.消息路由:ESB可以根据事先定义好的消息路由规则,将消息传递给特定的服务或应用程序。

通过消息路由,ESB可以实现各种灵活的消息传递和数据转换操作,以满足不同应用程序之间的通信需求。

3.服务协调:ESB提供了一种中央调度和协调机制,能够将不同的服务组织起来,实现复杂的业务流程。

通过ESB,企业可以将不同的服务组合成为一个完整的业务流程,实现业务的自动化和集成。

4.数据传输:ESB通过支持不同的数据格式和协议,实现企业内部不同应用程序之间的数据传输和交换。

它可以将消息从一个应用程序传递到另一个应用程序,并在传输过程中进行消息的转换和格式化。

5.安全和可靠性:ESB提供了安全和可靠性保证,确保消息的传输和处理过程中不会丢失或被篡改。

它通过使用验证、授权、加密等安全机制,保护企业的数据和信息不受未授权访问和攻击。

6.扩展性和可配置性:ESB具有高度的可扩展性和可配置性,能够根据具体需求进行定制和扩展。

企业可以根据自己的业务需求,通过选择和组合不同的ESB组件来构建和管理自己的企业服务总线。

总的来说,企业服务总线是一种架构模式,通过提供统一的消息传输、消息路由、服务协调和数据传输等功能,帮助企业构建灵活、可扩展和可集成的信息系统。

ESB的引入可以简化企业内部应用集成的难度,提高系统的可维护性和可扩展性,实现业务的快速响应和灵活调整。

企业服务总线

企业服务总线

服务调 用组件
OA


协议
提 供


HR 业务 系统
OA 业务 系统
为什么使用ESB
传统集成
N(N-1)
人力资源 B/S | J2EE
财务 C/S
营销 B/S | .net
物流计划 B/S | .net
办公自动化 B/S: Lotus
资产管理 NEW
2009新应用 PDM/PDL
项目管理 B/S | .net
在等待类型的结点上可以 配置定时器。
当流程进入等待结点的时 候,定时器会启动。
当定时器到期时,流程如 果还没有离开该结点,则 定时器就会被触发。触发 的逻辑可以是流程继续执 行,也可以发布事件。
当流程离开该结点时,定 时器就会销毁。
通知申请人
流程结点
流程由一系列的结点构成,那么UFESB的流程中支持哪些类 型的结点呢?ຫໍສະໝຸດ 总线汇总反馈 判断是否允许
离职
同意离职
HR系统办理离职手 续
不允许离职,提示 去相关系统处理代
办事宜
场景描述:
企业员工在离职时,需要由HR 系统发起,进行人员离职询问。其 他相关系统获知请求后,判断用户 在系统中的状态和代办事宜,并反 馈信息给HR系统。当所有相关系 统均同意该员工离职的时候,HR
方可为员工办理离职手续。
主数据管理
UUFFIDIDAA | | 项项目目最最佳佳案案例例
文档自动归集
UUFFIDIDAA | | 项项目目最最佳佳案案例例
合同联合处理
档案处 总经办 集团领导 总经办 法务部 相关部门 法务部 责任单位
<合同评审流程方案3>
<相关业务系统>

esb总线的理解

esb总线的理解

esb总线的理解【实用版】目录1.ESB 总线的概念和作用2.ESB 总线的基本组成部分3.ESB 总线的主要功能和特点4.ESB 总线在企业应用中的优势5.ESB 总线的发展前景和挑战正文1.ESB 总线的概念和作用ESB(Enterprise Service Bus,企业服务总线)是一种用于实现企业级应用程序集成(EAI)的技术。

ESB 总线是一种基于消息传递的分布式系统架构,它支持不同类型和格式的数据传输,并提供可靠的数据传输和消息路由功能。

通过 ESB 总线,企业可以更高效地管理和整合各种复杂的业务流程和 IT 系统。

2.ESB 总线的基本组成部分ESB 总线主要包括以下几个基本组成部分:(1)消息代理:负责处理和路由消息,实现不同协议之间的转换和数据格式的映射。

(2)服务注册表:存储服务提供者和服务消费者的信息,方便消息代理查找和路由消息。

(3)服务接口:定义了服务提供者和服务消费者之间的交互方式,包括消息格式、协议和数据格式等。

(4)服务实现:实现具体的业务功能,响应服务请求并产生相应的响应。

3.ESB 总线的主要功能和特点ESB 总线的主要功能包括:(1)消息传输:提供可靠的消息传输机制,确保消息在不同系统之间的传递。

(2)协议转换:支持多种协议和数据格式,实现不同协议之间的转换。

(3)服务注册和服务发现:动态地注册和发现服务提供者和服务消费者,方便消息代理进行路由。

(4)路由和负载均衡:根据服务注册表的信息,实现智能的路由和负载均衡。

ESB 总线的特点包括:(1)松耦合:ESB 总线通过消息传递实现服务之间的交互,降低了系统之间的耦合度。

(2)可扩展性:ESB 总线具有良好的可扩展性,可以灵活地集成新的服务和系统。

(3)高可用性:ESB 总线提供可靠的消息传输和路由机制,确保系统的高可用性。

4.ESB 总线在企业应用中的优势ESB 总线在企业应用中具有以下优势:(1)降低系统集成成本:通过 ESB 总线,企业可以避免复杂的系统集成和重复开发,降低 IT 成本。

企业服务总线


企业服务总线将支持企业持续发展和竞争力提升
• 提供灵活和可扩展的集成平台
• 适应业务变化和技术演进
CREATE TOGETHER
谢谢观看
THANK YOU FOR WATCHING
DOCS
企业服务总线的消息传递与路由机制
企业服务总线采用消息传递方式进行通信
• 服务提供者发送消息到消息代理
• 服务消费者从消息代理获取消息
企业服务总线实现智能路由和负载均衡
• 根据服务元数据和路由规则选择合适的服务提供者
• 避免单点故障和性能瓶颈
企业服务总线的服务注册与发现功能
企业服务总线实现服务注册和发现
企业服务总线在21世纪初得到广泛应用
• 随着企业数字化转型的推进
• 企业服务总线成为实现业务整合和信息共享的关键
企业服务总线的发展趋势更加智能化和自动化
• 利用人工智能、大数据等技术提高集成效率
• 实现自动发现、自动配置和智能路由等功能
企业服务总线在数字化转型中的作用与价值
企业服务总线是实现企业数字化转型的基石
• 使得不同系统之间的业务逻辑可以相互协作
企业服务总线支持业务流程再造和优化
• 通过服务组合和流程自动化
• 提高业务流程的效率和效果
企业服务总线在跨系统集成中的应用
企业服务总线实现跨系统的数据交换和业务协作
企业服务总线支持多种数据格式和传输
方式
• 通过统一接口和标准协议
• 如XML、JSON、二进制数据等
• 提供技术架构和基础设施支持
• 促进业务整合和数据共享
企业服务总线有助于降低IT成本和提高运营效率
• 通过自动化和智能化的集成方式
• 减少人工干预和错误

ESB企业服务总线概述

ESB企业服务总线概述ESB(Enterprise Service Bus)企业服务总线是一种集成系统架构模式,它提供了一种可靠、可扩展、高效的方式来集成企业内部和外部的应用程序和服务。

ESB通过提供统一的消息传递和数据转换机制,将不同的应用程序和服务连接在一起,使它们能够相互通信和协作。

ESB的主要功能包括消息传递、路由转换、数据传输、事务管理和安全性等。

它使用标准的消息协议和格式,如SOAP(Simple ObjectAccess Protocol)、XML(Extensible Markup Language)和HTTP (Hypertext Transfer Protocol),实现了不同系统之间的互操作性。

ESB的工作原理是基于"解耦"的概念。

各个应用程序和服务通过ESB进行通信时,它们不需要直接相互依赖和了解彼此的细节。

通过将所有的通信和转换工作都交给ESB完成,应用程序和服务可以专注于自身的核心功能。

这种解耦的方式使得系统更加灵活和可扩展,能够更好地应对变化和需求的增加。

ESB的优点主要有以下几个方面:1.提升系统的灵活性和可扩展性:ESB提供了一种松耦合的集成方式,使得不同的系统可以独立演化和扩展,而不会对其他系统产生影响。

当需求变化时,只需要修改ESB中的规则和配置,而无需修改和重构现有的系统。

2.实现异构系统的互操作性:不同的系统使用不同的通信协议和数据格式,这使得它们之间难以直接通信。

ESB通过提供标准的消息协议和格式转换机制,可以将不同的系统连接在一起,实现异构系统之间的互操作。

3.提高系统的可靠性和可用性:ESB通过提供消息的路由和传递机制,确保消息的可靠传输和保存。

当一些系统无法正常工作时,ESB可以将消息保存在队列中,待系统恢复正常后再进行处理,从而提高系统的可用性和可靠性。

4.提升系统的安全性:ESB可以通过提供身份验证、授权和加密等机制,保护系统和数据的安全性。

企业服务总线ESB研究

企业服务总线ESB研究企业服务总线(ESB)是一种新兴的企业集成模式,它通过一种统一标准的方式连接不同的应用程序和服务,使得它们可以相互之间交换数据和信息。

ESB是一种基于消息的中间件,它利用各种传输协议和消息格式来连接企业内部的不同系统,实现数据的传输和转换,从而实现不同系统和应用程序之间的互联互通。

ESB的出现,使得企业管理和应用集成的难度大大降低,通过ESB,企业内部的各种系统和应用程序可以轻松地实现互联互通,实现数据的共享和交换,以及业务流程的协同工作。

ESB不仅可以连接企业内部的系统,还可以连接企业外部的合作伙伴和供应商,实现企业资源的整合和优化。

ESB的研究旨在深入探讨ESB的原理、架构、功能、应用和发展趋势,帮助企业更好地了解ESB的作用和意义,为企业的信息化建设和业务流程优化提供支持和指导。

本文将从ESB的基本概念出发,对ESB的研究内容进行详细介绍,分析ESB的优势和应用价值,并展望ESB的未来发展趋势,为企业管理和信息技术人员提供参考和借鉴。

一、ESB的基本概念1. ESB的定义ESB是一种集成和连接的架构模式,它利用一种基于标准的消息传送机制,实现不同系统和应用程序之间的数据传输、转换和路由,从而实现业务流程的协同工作和信息共享。

(2)面向服务的架构:ESB是一种面向服务的架构,它将业务逻辑和功能封装成服务,可供其他系统和应用程序调用和使用。

(3)可扩展的基础设施:ESB提供了一种可扩展的基础设施,可以灵活地扩展和添加新的功能和服务。

(5)安全性和可靠性:ESB提供了一种安全和可靠的通信机制,保障数据传输的安全和可靠性。

二、ESB的研究内容ESB的架构是ESB研究的重要内容之一,它包括ESB的基本组成部分、工作原理和实现机制。

ESB的架构一般包括ESB核心引擎、消息处理器、连接器、适配器、注册表和安全机制等组成部分,通过这些组成部分,ESB实现了不同系统和应用程序之间的消息传递、转换和路由。

esb 实现方式

esb 实现方式摘要:1.ESB概念及作用2.ESB实现方式分类3.常见ESB实现技术4.ESB在企业中的应用场景5.如何选择合适的ESB实现方式6.总结正文:一、ESB概念及作用ESB(Enterprise Service Bus,企业服务总线)是一种企业级的消息传输架构,它用于在不同的企业应用系统之间进行通信。

ESB的作用在于实现系统间的解耦,降低系统间的耦合度,提高系统的可扩展性和可维护性。

二、ESB实现方式分类1.基于传统消息队列的ESB实现:通过消息队列来实现消息的发送和接收,如RabbitMQ、Kafka等。

2.基于Web服务的ESB实现:借助Web服务技术,如SOAP、RESTful API等,实现系统间的通信。

3.基于事件驱动的ESB实现:通过事件驱动架构,实现系统间的解耦和异步通信。

4.基于微服务的ESB实现:在微服务架构中,ESB作为微服务之间的通信桥梁,实现服务的发现、路由、负载均衡等功能。

三、常见ESB实现技术1.IBM Websphere:一款成熟的企业级ESB产品,支持多种消息传输协议和应用集成技术。

2.Apache CXF:一个开源的Java框架,支持SOAP、REST等Web服务技术,并提供服务注册、发现等功能。

3.Mule ESB:一款基于Java的开源ESB框架,支持多种消息传输协议和应用集成技术。

4.Spring Cloud:基于Spring Boot的微服务框架,内置了Netflix OSS 组件,提供服务注册、发现、路由等功能。

四、ESB在企业中的应用场景1.系统集成:ESB可用于整合企业内部的各种异构系统,实现系统间的互联互通。

2.业务流程整合:通过ESB实现企业内部的业务流程整合,提高业务运行效率。

3.跨企业通信:ESB可用于实现企业间的跨系统通信,如供应链管理、电子商务等场景。

4.微服务架构:ESB作为微服务之间的通信桥梁,实现服务的解耦和模块化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引言"一切都在流动,没有什么是持久的。

一切都在融化,没有什么是固定不变的" - 赫拉克利特(Heracleitus)大约在2003年中的时候,SOA的概念逐渐进入人们的视野,一时间众人乐此不疲的发表各自对SOA的见解。

SOA已经成为IT业,尤其是软件开发及系统集成领域从业者的热门话题。

很多的权威机构也纷纷预测SOA的美妙前景,例如,Gartner 预言,到了 2008 年,至少60% 的企业将使用 SOA 作为其IT架构。

抛开喧嚣躁动以及随声附和,对于软件开发者而言,经过了一年多的概念灌输,伴随着不断增长的困惑,更多的人希望能静下心来看一看:究竟怎样的系统架构是符合SOA设计的,而又有哪些技术可以用来实现SOA呢?特别是企业服务总线(Enterprise Service Bus, ESB),看起来更是SOA中一个玄虚的概念,本系列文章将通过实际的案例分析来详细讲解在SOA系统中是怎样实施ESB的。

本系列文章将直接面向广大的软件开发人员,首先以直观的方式介绍什么是ESB,然后引入一个实际案例,以此为基础,详细介绍怎样一步一步实现ESB。

现在我们谈论SOA和ESB的时候都不再是空中楼阁,IBM作为SOA的倡导者,已经提供了很好的产品来实现我们的设想。

我们会在本系列中的第二、第三部分中分别介绍基于WebSphere 6 和IBM EAI产品的两种实现方式,然后在第四部分中介绍在复杂的企业应用场景中总线(Bus)怎样互联,怎样扩展。

希望通过本系列文章,能让广大读者朋友快速掌握ESB的实际开发技巧。

回页首关于SOA关于SOA的概念,你可以找到很多的文章从不同的角度来描述它,不同的软件提供商也有不同的定义方式。

BEA有流体计算,微软有Indigo 和SOA-building, SAP有ESA。

每个人都可以从不同的视角来理解SOA,从程序员的角度,SOA是一种全新的开发技术,新的组件模型,比如说Web Service;从架构设计师的角度,SOA就是一种新的设计模式,方法学;从业务分析人员的角度,SOA就是基于标准的业务应用服务。

从概念的角度,IBM对SOA的定义是最为全面的,既SOA是一种构造分布式系统的方法,它将业务应用功能以服务的形式提供给最终用户应用或其他服务。

SOA包括如下要素:•一个体系架构,用开放的标准将软件资产(Asset)化为服务•提供标准的方法来表示软件资产及其交互•单独的软件资产作为构造单元,被重复使用来开发其他应用•将关注点从细节实现转移到应用(application)组装•整合企业外部的应用(B2B)的方式•开发(现在)和整合(未来)的统一本文针对的读者是软件开发人员,站在开发人员的角度,往往希望软件开发能够满足对于开发效率、可靠性、易维护性、易管理等多方面的更高要求。

让我们通过回顾软件开发的演化过程来看一看SOA出现的必然性:•面向机器语言(Monolithic)的开发模式:需要根据不同平台的机器语言来开发代码。

•面向过程(Procedure)的开发模式:独立于机器的程序语言(C, Pascal等)使开发过程变得简单了,用过程来代表一个抽象的代码集合,包装重用现成的代码。

•面向对象(Object)的开发模式:用更接近现实的对象来表述一个相对完整的事物。

面向对象的语言(Smalltalk,Java等),提供了更抽象的封装和重用模式。

面向对象的开发强调从现实世界问题域到软件程序的直接映射,更接近人类的自然思维方式。

•面向组件(Component)的模式:随着软件开发规模的扩大,在涉及分布式、异构等复杂特征的环境中,代码级别的重用性差,可维护性差,效率低的弱点是不可逾越的,因此人们以架构运行环境(如.Net,J2ee等)来提供完善的支撑平台,从而把开发者解放出来,更专注于业务核心的开发。

而这些业务功能(Business Function) 以组件的形式(DCOM, EJB等)发布运行在架构运行环境中。

软件开发的重用模式也上升到业务组件的级别。

•面向服务(SOA)的模式:当软件的使用范围扩展到更广阔的范围,往往会面对更加复杂的IT环境和更加灵活多变的需求。

服务(Service)的概念出现了,人们将应用(Application)以业务服务(Business Service)的形式公布出来供别人使用,而完全不需要去考虑这些业务服务运行在哪一个架构体系上,因为所有的服务都讲着同样的语言。

SOA考虑了业务发展的长期性,体现了"变化就是永恒"的思想。

SOA的核心体现在企业应用或者业务功能上的"重用"和"互操作",而不再把IT与业务对立起来,这可以被视为在IT驱动业务的方向上迈出的重要一步。

我们注意到,SOA同样也强调重用(Reuse),但是相对于传统的代码重用,对象重用,和部件重用,SOA的重用粒度更粗。

SOA的重用在于业务级的应用,即服务的重用,这与软件的发展规律是相一致的。

在软件发展的过程中,软件重用的对象越来越接近我们的现实生活。

通过部件的重用,软件的开发更具效率,并且开始试图用组件表达业务模式。

但是,IT人员仍很难对业务人员解释清楚IT结构怎样映射到业务模型上。

然而,IT架构与业务模型的弥合是不可避免的方向。

现代企业的业务环境所面临的最大挑战就是变化,规则在变,需求在变,而对变化做出最快的反应,尽快地适应变化,成为企业占得先机,成功运作的关键。

很多企业的业务环境依赖于他们的IT架构,因此,IT部门往往直接承载了业务变化带来的压力。

每一个具体的业务变化,都直接反应到对现有的IT平台的要求:要么企业IT架构本身对变化自适应,要么IT架构能够在短时间内根据新的业务规则做出调整。

这就是SOA架构提出的根本原因,我们需要一种更加贴近业务的IT架构,能够直接描绘业务,对那些不懂IT技术的业务领域专家来说,业务服务却是他们最熟悉的,也就是说是SOA把软件重用的对象从IT人员上升到了业务人员。

因此,我们可以说SOA与其它的模式相比,最大的进步在于它与业务的关联性,"服务"对应到实际业务。

IT通过"服务"与业务发生了密切的关系,业务人员和IT人员都可以专注于业务逻辑的实现,而共同的语言就是"服务"。

但不是什么场合都适用SOA。

通常来讲,SOA适用于较为复杂的IT架构,经常需要与外部复杂的IT环境交互,并且需要快速地应对频繁发生的业务变化。

就像你不可能在控制洗衣机的芯片上使用EJB开发一样,如果你的IT环境规模很小,足以灵活地应对变化,不需要与其他的异构IT环境频繁交互,那么SOA带来的好处就不足以抵消它给你带来的系统复杂性。

但是,即令如此,你也并没有被完全排除在SOA的大趋势之外。

SOA是如此地倍受瞩目,我们可以预见到它的迅猛发展,因此即使你的内部IT架构本身并不是基于SOA的,你也还有机会参与到未来的SOA架构中去。

例如,将你的某个业务以服务的形式发布到某个外部SOA平台上供别人使用,作为第三方SOA平台的一个服务提供者(Service Provider)存在。

在选择SOA的实施方案时,要记住,软件的具体实现技术诸如Web 服务与SOA是两回事,SOA是一个概念,方法学,或者用一个更时髦的词:一种模型。

而Web 服务呢?它是一种具体的实现技术,就像EJB一样。

SOA ≠ Web服务。

不过公平地讲,Web 服务倒确实是目前最适合实现SOA的技术之一,用Web 服务来封装业务服务是个不错的选择。

因为Web服务是标准的,WS-I协议保证了来自不同厂商的Web服务即使运行在不同的平台上,底层的实现机理不同也可以顺利交互,这是以前的任何一种技术如CORBA,EJB,或DCOM都不能做到的。

而且,Web服务的定义与实现是分开描述的,即松散耦合,因此,可以很方便地替换服务的内在实现而不会对现有的系统造成任何冲击,这也极大地促进了IT架构的灵活性。

对于SOA更进一步的了解,可以参考IBM developerWorks上其他SOA 相关的文章(请参见参考资料),我们的系列文章将主要讨论ESB,因此不再此过多地论述SOA了。

为了使我们下面的论述更顺畅,请先牢记典型的SOA架构有哪些基本的要求:1.SOA在相对较粗的粒度上对应用服务或业务模块进行封装与重用;2.服务间保持松散耦合,基于开放的标准,服务的接口描述与具体实现无关;3.灵活的架构 -服务的实现细节,服务的位置乃至服务请求的底层协议都应该透明;回页首ESB让我们暂时回到网络技术不普及的时代,你怎样在两台机器之间传递文件?我还记得为了给实验室的每台机器安装Borland C++的环境,猜猜我动用了什么:一根"串口线"。

不过,我仍然觉得庆幸,好在每台机器都运行同样的操作系统- DOS(很少有人还记得DOS中有Interlnk这样一个命令吧),用来通过串口线在两台机器间传递流文件。

否则我将不得不用软盘来拷贝所有的安装文件。

我那个时候的梦想就是,哪一天有这么一个叫做"网络"的东西能够把实验室里面所有机器都连接起来,而不用我在各机器之间跑来跑去。

让我们回归主题,你现在已经基本明白了什么是SOA。

假定你已经按照SOA的思想提炼出了各种业务服务,公布出来,同样,你发现其他很多人也做了同样的事情。

大家都很振奋,开始踊跃的尝试,我调用你的一个服务,你调我的一个服务。

啊哈!大家都SOA了。

且慢,那么这个SOA给你们带来了什么好处呢?Ok,现在我可以在J2EE环境里调用.Net的组件了,但是原来没有SOA的时候也可以做到的呀。

只要两个节点之间互相认可对方的方式,即使不存在公开/统一的服务界面也可以实现点到点的互联。

因此我们不得不承认,如果我们只有服务,而服务的请求者和服务的提供者之间仍然需要这种显式的点到点的调用,那么这就不是一个典型的SOA架构。

请看图二,服务的参与双方都必须建立1对1 的联系。

这样一个结构与我十几年前的那种互联的方式何其相似!但是,还记得我们上面提到的SOA三个基本要素吗?显然第三点没有做到。

因此,在SOA中,我们还需要这样一个中间层,能够帮助实现在SOA 架构中不同服务之间的智能化管理。

最容易想到的是这样一个HUB-Spoke结构,在SOA架构中的各服务之间设置一个类似于Hub的中间件,由它充当整个SOA架构的中央管理器的作用。

请看图三,现在服务的请求者和提供者之间有了一个智能的中转站,服务的请求者不再需要了解服务提供者的细节。

不错!看上去是一个好的SOA结构。

事实上,传统的EAI就是通过这样一种方式来试图解决企业内部的应用整合问题。

相关文档
最新文档