`
can4you
  • 浏览: 99696 次
  • 性别: Icon_minigender_1
  • 来自: 天朝
社区版块
存档分类
最新评论

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

    博客分类:
  • SOA
阅读更多
首先对该标题表示歉意,沿袭了“都别装了”系列,果断的做了一回标题党。

第一次来SOA板块发帖,在看过了http://www.iteye.com/topic/831144对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系统数据如何自动推送到中心数据库?

希望朋友们给点建议,拍砖,指教都行,谢谢。
分享到:
评论
22 楼 can4you 2011-08-10  
ltian 写道
不好意思,借你地盘胡乱发挥了一些,请恕罪。

非常感谢你的“胡乱发挥”,看来你是我的前辈啊,对智能电网和物联网的阐述也给了我一些有意义的启发,谢谢 Q:443638599

ltian 写道
你谈到的智能电网和物联网,我认为并非一个概念,其实智能电网可以看做一个物联网,从系统工程的角度看,智能电网是由若干具有电气接口和信息接口的执行者连接在一起组成的系统。 这里的执行者可以是人、组织、计算、设备或者程序。比如说,在智能电网里面,变压器可以说是一个执行电压转换业务的执行者,而计费程序可以看做是为客户提供计费服务业务的执行者。
随着物联网的发展,每个连接到智能电网里面的系统都应具备自我描述能力,包括我是谁,我能做什么,我现在工作的怎么样。随着这一趋势的发展,对我们开发人员来讲,以后通过人机界面录入的信息会越来越少。系统之间自动信息交换的能力将会逐步增强,因此基于公共语义的自动数据交换(ADE)产品的作用会逐渐凸显。

的确,物联网中的每个个体都需要具备自我认知,数据分析和处理,信息交换等特性,物联网的特点就是:自组网络,网内计算,信息感知末梢,具备个体计算能力。

ltian 写道
ESB是一种支持系统集成,或者说“互操作”的技术产品。
真正的系统集成=技术标准(诸如WebSevice)+语义标准(诸如电力里面的CIM模型)。
二者缺一不可。如果以上两个标准已经定义清楚了,使用点对点方式也可以很好地完成系统之间的集成,ESB只是可选项。
ESB集成与点对点方式相比,主要是可以较容易地实现服务的治理,因为服务不是直接调用,是通过ESB进行的,这时候,如果某个服务不能提供了,则ESB这个中介就会发现,从而实现某种程度的服务监控,当然还有其他一些服务治理功能,比如服务的抽取和发现等。
ESB只是容易实现治理,若点对点的服务调用失败时也能发出一些事件,则可以实现同样的功能。当然,服务治理需要对服务本身除技术之外的管理属性需要定义,可以用一个Excel文件也可以完成,这些管理属性包括服务的版本,拥有者,提供者,支持的业务集成点需求(便于追查到需求)等等。
若ESB无法满足某些性能要求,可以采用点对点的方式调用,但要注意加入服务调用失败的监控点处理代码。

不知道你说的P2P的方式是不是可以结合JMS来完成,因为JMS中也提到了通过Queue的方式来实现P2P的消息发送,当然这里需要发送的消息就是一些业务数据。
21 楼 ltian 2011-08-09  
不好意思,借你地盘胡乱发挥了一些,请恕罪。
20 楼 ltian 2011-08-09  
你谈到的智能电网和物联网,我认为并非一个概念,其实智能电网可以看做一个物联网,从系统工程的角度看,智能电网是由若干具有电气接口和信息接口的执行者连接在一起组成的系统。 这里的执行者可以是人、组织、计算、设备或者程序。比如说,在智能电网里面,变压器可以说是一个执行电压转换业务的执行者,而计费程序可以看做是为客户提供计费服务业务的执行者。
随着物联网的发展,每个连接到智能电网里面的系统都应具备自我描述能力,包括我是谁,我能做什么,我现在工作的怎么样。随着这一趋势的发展,对我们开发人员来讲,以后通过人机界面录入的信息会越来越少。系统之间自动信息交换的能力将会逐步增强,因此基于公共语义的自动数据交换(ADE)产品的作用会逐渐凸显。
19 楼 ltian 2011-08-09  
上一个回帖是说单单从技术角度说ESB可以完成系统集成其实是缺少了公共语义模型这一关键要素,而带来实际的困难。
本回帖主要针对你提出的第二个问题:
大批量的数据同步,一般来说需要其他的工具,比如ETL等,若ETL可以将启动这些导数据的过程包装成服务,注册到ESB上也是一种很好的方法。若ETL工具无法包装为服务。那么手工编写触发导数据过程的服务,当数据同步完成后,向任务发起者发出一个消息即可,总之,大批量数据导入不宜采用ESB,但ESB可以作为一个传话筒,真实的数据流传不通过ESB。
18 楼 ltian 2011-08-09  
ESB是一种支持系统集成,或者说“互操作”的技术产品。
真正的系统集成=技术标准(诸如WebSevice)+语义标准(诸如电力里面的CIM模型)。
二者缺一不可。如果以上两个标准已经定义清楚了,使用点对点方式也可以很好地完成系统之间的集成,ESB只是可选项。
ESB集成与点对点方式相比,主要是可以较容易地实现服务的治理,因为服务不是直接调用,是通过ESB进行的,这时候,如果某个服务不能提供了,则ESB这个中介就会发现,从而实现某种程度的服务监控,当然还有其他一些服务治理功能,比如服务的抽取和发现等。
ESB只是容易实现治理,若点对点的服务调用失败时也能发出一些事件,则可以实现同样的功能。当然,服务治理需要对服务本身除技术之外的管理属性需要定义,可以用一个Excel文件也可以完成,这些管理属性包括服务的版本,拥有者,提供者,支持的业务集成点需求(便于追查到需求)等等。
若ESB无法满足某些性能要求,可以采用点对点的方式调用,但要注意加入服务调用失败的监控点处理代码。
17 楼 wang_scu 2011-05-31  
互联网企业的化 性能和使用可能要求高一些 pb rpc,thrift rpc就够了
can4you 写道
首先对该标题表示歉意,沿袭了“都别装了”系列,果断的做了一回标题党。

第一次来SOA板块发帖,在看过了http://www.iteye.com/topic/831144对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系统数据如何自动推送到中心数据库?

希望朋友们给点建议,拍砖,指教都行,谢谢。

16 楼 eredlab 2011-05-31  
<p>
</p>
<div class="quote_title"> <span style="">kimmking</span>写道</div>
<div class="quote_div">ESB必定要支持 ws/jms/tcp 这些基本的东西~ <br>MQ可以看做是一个退化的ESB <br><br>ESB的关注点是集成,是解耦和整合,而不是开发的视角。 <br>ESB要做的是把集成和业务本身区分开来。把涉及到集成的部分工作,从业务系统里提出来, <br>放在esb这种的集成层来做。 <br><br>ESB改变系统集成的方式,同时改变系统间的连接关系。从网状的结构到星形结构。 <br>把不同位置的服务和资源,整合到一起。对应用透明化。 <br>在esb与系统间,esb需要提供丰富的adapter来实现各种方式的消息接入接出。 <br>在esb的内部,消息通过统一的组织管理方式和可编排的中介方式,来实现消息的流程编排、数据转换、协议转换和路由。同时提供消息的安全、监控、流控、QoS和系统的水平垂直扩展性等等。。。 <br>... <br>... <br><br>这些都是ESB需要具有的能力。 <br><br>but现实是,目前大部分用ESB的场合,都是把ESB作为 一个ws的代理来用的。用的有点鸡肋。~ </div>
 圣经啊,一字不漏的抽在笔记本上了 :)
15 楼 ray_linn 2011-05-31  
。。。。物联网,无非用点modbus组网就好了,搞什么ESB?
14 楼 k.y 2011-05-31  
你们老板给的方向也没错,对你们比较实际的是设计的时候多想着面向消息的设计方式。这东西小项目小公司用起来反而麻烦。就像用设计模式写一个helloworld一样。

跨国那种大公司,业务复杂,变化快的公司,这种公司还用得到。

你们现在服务有了,无非就是管理一下消息的流向,服务的发现这种。加入ESB能使你们以后扩展有利。

加中间层这种东西都会牺牲一定的性能了,就看你们怎么取舍,是要扩展还是要性能。当然像helloworld这样的程序不扩展也罢。

对个人发展还是有用的。
13 楼 lkj107 2011-05-31  
感觉你们的项目弄个portal就可以实现了
12 楼 kimmking 2011-05-31  
F.U.C.K 写道
ESB主要应用在异构系统中消息的交换,路由等,是由JMS规范所实现的一种商业消息中间件(MOM)。

去读《JMS 消息服务》一切都会明白。。。。

地址:http://book.51cto.com/art/201001/178449.htm


ESB必定要支持 ws/jms/tcp 这些基本的东西~
MQ可以看做是一个退化的ESB

ESB的关注点是集成,是解耦和整合,而不是开发的视角。
ESB要做的是把集成和业务本身区分开来。把涉及到集成的部分工作,从业务系统里提出来,
放在esb这种的集成层来做。

ESB改变系统集成的方式,同时改变系统间的连接关系。从网状的结构到星形结构。
把不同位置的服务和资源,整合到一起。对应用透明化。
在esb与系统间,esb需要提供丰富的adapter来实现各种方式的消息接入接出。
在esb的内部,消息通过统一的组织管理方式和可编排的中介方式,来实现消息的流程编排、数据转换、协议转换和路由。同时提供消息的安全、监控、流控、QoS和系统的水平垂直扩展性等等。。。
...
...

这些都是ESB需要具有的能力。

but现实是,目前大部分用ESB的场合,都是把ESB作为 一个ws的代理来用的。用的有点鸡肋。~

11 楼 can4you 2011-05-31  
F.U.C.K 写道
ESB主要应用在异构系统中消息的交换,路由等,是由JMS规范所实现的一种商业消息中间件(MOM)。

去读《JMS 消息服务》一切都会明白。。。。

地址:http://book.51cto.com/art/201001/178449.htm


谢谢推荐
10 楼 can4you 2011-05-31  
给太阳洒水 写道
朋友,ESB本来就是个中间件,主要的功能真的就只能体现在消息的路由和转发上。你的第一个问题,只需要用ESB提供统一的消息入口,在ESB中对消息进行路由,再送到相应的子系统。第二个问题跟ESB其实没直接关系……


嗯,其实正是因为不了解,所以可能提问的出发点就在于搞清楚是否有必要用ESB,如何用,以及了解一下整体的思想,多谢指点。
9 楼 给太阳洒水 2011-05-31  
朋友,ESB本来就是个中间件,主要的功能真的就只能体现在消息的路由和转发上。你的第一个问题,只需要用ESB提供统一的消息入口,在ESB中对消息进行路由,再送到相应的子系统。第二个问题跟ESB其实没直接关系……
8 楼 F.U.C.K 2011-05-31  
ESB主要应用在异构系统中消息的交换,路由等,是由JMS规范所实现的一种商业消息中间件(MOM)。

去读《JMS 消息服务》一切都会明白。。。。

地址:http://book.51cto.com/art/201001/178449.htm
7 楼 can4you 2011-05-31  
hu437 写道
第一个问题:既然你们公司买的有ESB产品,那直接找厂家来培训就行了,如果你们现在的系统有比较全面的WebServices接口,和ESB接入是非常简单的事情

简单说就是将你们现在的系统接口配置到ESB上,有ESB统一对外提供,将原来的网状结构变化星状结构

ESB会提供各种适配器,来适应不同的协议如:webServices、JMS、http、数据库等,如果有特殊系统,如SAP等,可能需要别外购买适配器

第二个问题:我感觉ESB并不适合做这种事,ESB的主要作用是协议的转换、服务的路由等功能;而且ESB的性能并不高,你们要保证数据为之间的数据同步,可以考虑ETL工具


谢谢给出的建议!
6 楼 can4you 2011-05-31  
prowl 写道
LZ你们的系统需要ESB来集成?领导不懂你可以给他分析,领导不懂又不肯听别人分析那就没办法了。

至少就你的描述来看没看出你们系统有必要用ESB的必要,也许你没表述清楚。



每次开项目组会议,TM总是说领导有这方面的要求,我就无语。因为的确没方向感╮(╯▽╰)╭
我们的系统平台已经将Webservice封装的很好了,直接拿来用就好了,还干嘛套一个没用的壳子。
5 楼 prowl 2011-05-31  
LZ你们的系统需要ESB来集成?领导不懂你可以给他分析,领导不懂又不肯听别人分析那就没办法了。

至少就你的描述来看没看出你们系统有必要用ESB的必要,也许你没表述清楚。
4 楼 beeke 2011-05-31  
IBM帮我们一个客户做了一个ESB项目,结果,ESB就是起到了消息转发到功能

有个客户打算全面用ESB产品,即:所有的系统(10几个)只提供后台服务,前台也统一。
比如:后台有客户管理系统、销售系统、财务系统。
当前台输入一组数据,后台可能查询客户管理系统,写销售系统,写财务系统...

我比较疑惑:
1.性能如何保证
2.事务如何保证
3 楼 hu437 2011-05-31  
第一个问题:既然你们公司买的有ESB产品,那直接找厂家来培训就行了,如果你们现在的系统有比较全面的WebServices接口,和ESB接入是非常简单的事情

简单说就是将你们现在的系统接口配置到ESB上,有ESB统一对外提供,将原来的网状结构变化星状结构

ESB会提供各种适配器,来适应不同的协议如:webServices、JMS、http、数据库等,如果有特殊系统,如SAP等,可能需要别外购买适配器

第二个问题:我感觉ESB并不适合做这种事,ESB的主要作用是协议的转换、服务的路由等功能;而且ESB的性能并不高,你们要保证数据为之间的数据同步,可以考虑ETL工具

相关推荐

    ESB技术学习教程,适用初学ESB人员

    ESB ESB技术学习教程ESB ESB技术学习教程ESB ESB技术学习教程ESB ESB技术学习教程ESB ESB技术学习教程ESB ESB技术学习教程

    关于ESB关于ESB关于ESB

    关于ESB项目的一些整理,工作原理之类。

    ESB介绍和案例

    ESB介绍和案例

    ESB原理及Mule ESB实践

    ESB原理及Mule ESB实践

    esb简单例子 学习esb的初学者 可以看看

    esb的 实例 学习esb的初学者 可以看看

    IBM ESB 介绍(IBM ESB Story)

    IBM ESB产品介绍(官方) 初步介绍ESB和IBM的两个ESB产品-WESB WMB

    ESB大合集ESB大合集

    ESB大合集ESB大合集,包含你所需的文档!

    国产ESB产品介绍

    文档列举了三个国产ESB的介绍:金蝶ApusicESB、锐易特软件、合众企业服务总线,希望可以对后来者提供一些建议

    ESB开源系统mule

    开源ESB框架 Mule 2增加了基于Schema的spring xml配置,用于集成传统的web应用。表达式赋值被内建在运行时的消息传递中,因此头信息,Xquery或是其他的测试可以很容易的完成,不需要新建POJO或是这些活动转换器。

    Jboss ESB简介及开发实例

    一、Jboss ESB的简介 1、 什么是ESB。 ESB的全称是Enterprise Service Bus,即企业服务总线。ESB是过去消息中间件的发展,ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放...

    esb 资料大全汇总

    ESB.rar ESB设计与最佳实践.ppt IBM ESB, WebSphere ESB and WebSphere Message Broker.pdf IBM_ESB_MB企业服务总线系统集成的核心平台.ppt IBMESB总体架构交流.ppt

    WebService&ESB入门

    ESB减少了你的SOA体系中的接口的数量,大小和复杂度。 ESB在请求者和服务之间实现了: 路由服务间的消息 转化请求者和服务之间的传输协议 转换请求者和服务之间的消息格式 处理分离资源间的业务事件

    泛微Ecology9.0数据展现集成之ESB接口应用

    3.1. ESB事件说明 3.1.1. 查询事件 3.1.2. 回显事件 3.2. 数据展现集成配置 3.2.1. 是否支持分页 3.2.2. ESB查询服务 3.2.3. ESB回显查询服务 3.2.4. 字段设置 4. 功能示例 4.1. 数据展现集成“ESB服务”数据来源...

    ESB原理架构实现及应用

    摘要:随着面向服务体系结构(s0A)的推出及其深入应用,企业服务总线(EsB)在理论和应用方面成为软件开发、集成与部署的 热点技术。论文分析了ESB的原理,对其体系结构进行了归纳,根据现有的ESB实现平台,重,最介绍...

    ESB结构

    ESB结构,ESB结构

    Microsoft Esb 2.1 Overview

    Microsoft Esb Overview

    esb的简介和优点

    esb的简单介绍,详细介绍了esb的主要种类,esb的特征和功能,以及esb有哪些优缺点等。

    wso2 esb installation part 5

    wso2 esb installation part 5

    ESB案例解析和项目实施经验分享

    ESB案例解析和项目实施经验分享

    Mule ESB手册-中文版

    文档主要介绍了Mule ESB的使用方法,并结合具体实例加深对ESB的理解,对新手很有帮助哦!

Global site tag (gtag.js) - Google Analytics