集成ESB实现SOA

标签: esb soa | 发表时间:2014-01-07 23:40 | 作者:zouruixin
出处:http://www.iteye.com
soa初步设想:
  服务消费者,服务提供者, 服务注册中心(UDDI模型)。由于UDDI模型过于复杂,而服务提供者与消费者点对点的进行协作依赖性大大增强,因此产生演变。
soa演进:
   服务代理 -- ESB
   基于ESB总线,使得服务请求者统一入口,而ESB管理服务,使得耦合降低,由ESB来应对提供者提供的服务的改变而服务请求者不需要进行任何的修改。

目前能想到的方案:
    使用esb(初步想法是mule的免费版本),进行路由,编排,转换等工作。
    将端点地址与命名、组织、版本等配置在DB。
    每个端点编排或者代理一个现有的webservice
   
    服务消费者访问端点地址,访问传输日志保存在ESB db中
    ESB进入端点后,查找服务注册表来确定服务地址
    通过服务地址可以决定动态访问哪个已经配置或者代理在ESB的服务
   

所以开发分两部分。
1.ESB中配置 需要代理的webservice,并规约address(包括仅代理的服务或者是经过编排的服务)
2.将代理的webservice信息配置在路由表中
3.服务消费者访问统一入口,请求头部信息带有服务名称或者服务编号类似的字段
4.ESB配置DB查询路由表,查找服务地址等内容。如不存在,访问失败。
5.查询到服务后进行调用。
6.返回payload
7.记录调用日志

再进一步思考:

是否可以通过调用日志记录,来分析各个服务的稳定性?
如何测试服务连通性并且及时预警
是否可以将所要进行代理的服务相关配置也通过DB 进行动态的管理

服务的版本如何控制(如部分系统需要调用1.0,而其他系统需要调用服务的2.0)
服务调用失败如何进行重新连接?


如何对服务进行负载均衡?
esb如何保证单点故障问题

如何做到热部署

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [esb soa] 推荐:

[SOA] Mule ESB Linux 部署

- - CSDN博客架构设计推荐文章
本文介绍如何在 Linux 上部署 Mule ESB. Mule 是一个以Java为核心的轻量级的消息框架和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf编写的一本书)而实现的. Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑.

集成ESB实现SOA

- - 企业架构 - ITeye博客
  服务消费者,服务提供者, 服务注册中心(UDDI模型). 由于UDDI模型过于复杂,而服务提供者与消费者点对点的进行协作依赖性大大增强,因此产生演变.    服务代理 -- ESB.    基于ESB总线,使得服务请求者统一入口,而ESB管理服务,使得耦合降低,由ESB来应对提供者提供的服务的改变而服务请求者不需要进行任何的修改.

[SOA] Mule ESB 3.x 入门(一)—— 消息流

- - CSDN博客架构设计推荐文章
关于Mule ESB,简单来说Mule接受一个消息,按照某种顺序处理这个消息,这样的处理可导致多种结果. 有时,Mule改变或变换消息返回到原来的消息来源(request-response). 或者,在其原有的基础上改变形式发送到一个或多个第三方(router, transfer). 而在其他一些情况下,如果消息没有达到的具体要求,Mule可以拒绝处理的消息validation, throttling).

再谈SOA和ESB总线平台价值

- - 人月神话的BLOG
关于SOA的咨询实施方法论,SOA平台和云平台的融合,SOA咨询方法论和EA企业架构思想的融合在前面很多文章都有谈到. 在多年的SOA咨询和实施中,经常遇到的一个问题就是SOA是不是已经过时了. 而这个问题追溯本源还是客户没有真正理解SOA咨询方法论,SOA组件化架构带来的好处,而是把SOA或ESB理解为了一个简单的接口平台或数据交换平台,如果一开始的思维方式或规划就是错误或偏差的,那么最终效果自然大打折扣.

文章: Mule ESB 3.3与CloudHub

- - InfoQ cn
MuleSoft最近发布了企业服务总线(ESB)产品Mule ESB 3.3. 在新版本中,除了应用程序集成之外,Mule ESB还拥有了数据集成功能;从而为开发者提供了一个面向本地或云端应用的集成解决方案. 分享云计算在传统IDC、移动互联网、SaaS应用、PaaS平台等领域应用,阿里云开发者大会,免费报名中.

SOA资料学习

- - 人月神话的BLOG
从对象到组件,首先可以把对象理解为更细粒度东西,而组件是更加粗粒度的模块,对象更多关注技术,而组件应该更加关注业务. 前面我们谈过技术组件和业务组件,在SOA思想下业务组件化的思想就更加重要. 组件本身而言很简单,南向接口和北向接口,或者再有底座平台支撑. 接口通过服务方式来实现,组件通过OSGI等技术实现高度的解耦和可热插拔性.

SOA架构咨询

- - 人月神话的BLOG
对于SOA架构咨询,其核心还是在于组件化和服务化,然后才是服务管控和治理,基于服务化思想对传统软件开发生命周期过程的改进. SOA架构大家刚接触时候很容易将其理解为一种单纯的技术架构,或者更多的人仅仅是将SOA理解为service服务接口,这些都是对SOA方法论很大的误解. SOA咨询一个重点就是业务驱动IT,而非单纯的IT架构咨询,SOA咨询一般都会结合企业架构和云的思想,结合组件化架构和领域服务的思想,高层结合BPM端到端流程整合目标,并对这些内容进行有效的融合.

谈ESB服务总线改进

- - 人月神话的BLOG
对于消息中间件部分进行单独剥离,即讲服务设计和ESB协议转换和适配部分同消息中间件分离,对于消息中间件部分初步考虑采用RabbitMQ或zeroMQ来实现,其中zeroMQ由于用c语言实现,相当来说更加轻量和高性能. 但是RabbitMQ本身更适合做一个企业级的消息系统,其在集群,持久化,高可用性和分布式可扩展性方面往往更加有优势.

ESB总线和能力开放平台

- - 人月神话的BLOG
上图是ESB企业服务总线和互联网Open API能力开放平台的一个简单对比. 对于在企业内部的服务集成和管控,由于需要面对企业内复杂的业务系统间集成和遗留系统适配,因此使用较多的仍然是ESB企业服务总线. 而对于互联网应用,更多考虑的是轻量和高性能,已经开发和接入的效率,当前使用较多的是类似Open API方式下的能力开放平台.

开源ESB-Talend产品研究

- - 人月神话的BLOG
对于ETL部分要注意,当前用的更多的是ELT,其最大的差别就在于首先是将源数据库中的数据抽取到目标数据库中,然后再在目标数据库中进行相应的数据映射和转换等操作,刚方法比传统的ELT在性能方面有明显的优势. 在Oracle ODI产品里面当前即用的ELT方式,在Talend产品里面可以看到这部分也是通过ELT方式来实现,但是在ESB产品里面可以看到,对于ELT方式的数据集成提供的相应组件并不多,要实现负责的数据转换和处理往往并不容易.