都别装了,ESB真的很容易么

首先对该标题表示歉意,沿袭了“都别装了”系列,果断的做了一回标题党。

第一次来SOA板块发帖,在看过了[url]http://www.iteye.com/topic/831144[/url]对ESB的精华帖讨论之后,结合目前项目的状况,想针对以下问题进行咨询,希望朋友给小弟出点建议:

首先说一下项目情况:智能电网物联网(Internet of things)项目,该项目拥有多个独立的子系统,各个子系统由各个“兄弟”公司负责开发,类似生产管理系统(PMS),B/S和C/S的都有,可以说是异构独立的系统,业务基础数据各自子系统都有对应的数据库,现在我所在公司负责2个项目:

1. 物联网项目其中一个子系统A的开发,也是PMS系统,目前已经进入开发后期,基础功能也已经开发完毕;
2. 针对项目子系统(包括A)的业务数据,搭建一个综合展示平台,展示各子系统(A,B,C,D...)的核心数据,要求数据实时、高效、安全的展示。

物联网,说白了就是炒作一个概念(没有贬低的意思),我接触到的部分主要还是使用有源/无源传感器自动采集数据,自动(主动推送或主站请求)传输到主站,我们接受主站的数据进行分析,处理,展示。

现在问题来了:

1. “领导”要求使用ESB(企业服务总线)来将各子系统间的通信做到集中、规范、统一管理,但是目前项目组都没有人有ESB方面的经验 :( ,第二个项目一直进展不顺利,目前只是通过webservice来获取自己开发的A系统的数据进行处理和展示。如何将自己开发的系统A和其他子系统的服务接口和ESB关联起来?

2. 综合展示平台有一个中心数据库,如何保证该数据库和其他子系统的数据库之间数据的同步实时性,因为展示功能有时候必须是实时的,比如系统B刚更新某个列表的数据,展示平台必须同步展示,B系统数据如何自动推送到中心数据库?

希望朋友们给点建议,拍砖,指教都行,谢谢。
07-22
### ESB(企业服务总线)技术原理与应用场景 #### 技术原理 ESB(企业服务总线)是一种基于消息的通信模块,旨在支持松散耦合的服务和应用之间的集成。它通过提供标准化的消息传递机制,使得同服务之间能够高效、可靠地进行通信。ESB 的核心原理是将服务之间的通信抽象为总线结构,允许服务以对等的方式进行交互,而是传统的 Hub-and-Spoke 架构[^2]。 在 ESB 中,服务的集成是通过总线结构实现的,而是集中式的 Hub。这种开放式的架构支持无限扩展,并且能够灵活地部署各种服务。即使需要引入 Hub,它们也是以服务的形式存在于总线上,从而提高了系统的灵活性和可扩展性[^2]。 ESB 的实现通常依赖于一系列核心功能,包括协议转换、消息路由、服务编排、安全控制和流量管理。例如,协议转换允许调用方使用 HTTP 协议,而服务提供方使用 RMI 协议,通过 ESB 的转发功能实现透明的通信[^5]。 #### 应用场景 ESB 的应用场景广泛,特别是在需要集成多个异构系统的企业环境中。以下是一些典型的应用场景: 1. **服务编排**:在复杂的业务流程中,ESB 可以协调多个服务的调用,例如将服务 A 和服务 B 编排为服务 C,而无需单独启动一个新的服务[^5]。 2. **协议转换**:ESB 可以在同的通信协议之间进行转换,使得服务调用方和服务提供方可以使用同的协议进行通信,而无需关心底层协议的差异[^5]。 3. **安全控制**:ESB 提供了安全机制,如身份验证、授权和数据加密,确保服务之间的通信安全可靠[^5]。 4. **流量管理**:ESB 可以控制服务调用的流量,防止系统过载,同时支持负载均衡和故障转移,提高系统的可用性和可靠性。 5. **服务注册与发现**:ESB 可以作为服务注册中心,管理服务的注册信息,并支持服务的动态发现和调用,简化服务的管理和维护[^4]。 6. **企业应用集成**:ESB 可以集成企业内部的各种应用,如 ERP、CRM 和 SCM 系统,实现数据的共享和业务流程的自动化[^3]。 7. **微服务架构支持**:在微服务架构中,ESB 可以作为服务网格的一部分,提供服务之间的通信、监控和管理功能,支持微服务的快速部署和扩展[^1]。 #### 示例代码 以下是一个简单的 ESB 配置示例,展示如何在 ESB 中定义服务和路由规则: ```xml <esb> <services> <service name="OrderService" endpoint="http://order-service:8080"/> <service name="PaymentService" endpoint="http://payment-service:8080"/> </services> <routes> <route from="OrderService" to="PaymentService" method="POST"/> </routes> </esb> ``` 在上述配置中,`OrderService` 和 `PaymentService` 是两个服务,分别部署在同的端点上。通过 ESB 的路由规则,`OrderService` 可以调用 `PaymentService` 的 POST 方法。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值