进化中的技术与产品
从广义的角度而言,ESB最主要的技术与Web服务密不可分,如WSDL(Web服务描述语言)、UDDI(统一发现、描述和集成)和SOAP(简单对象访问协议),这方面的技术目前处于稳定的发展阶段,而有关WS*的发展正处于一个整合和渗透不稳定过程中。
此外,还有一些相关的技术正在活跃起来,比如流程方面BPEL(业务流程执行语言); 安全方面SAML(安全断言标记语言)、XML处理的XQuery;服务组件模型SCA/SDO(服务组件架构/服务数据对象)与JBI(Java Business Integration)等。
朱律玮告诉记者:“目前大部分的ESB技术规范还处于发展之中。例如服务的查找,在行业内是基本可行的,但在互联网上,由于语义的差异,服务的查找还很困难,WSDL规范了技术语义的描述,但关于商务语义的描述还没有正式的规范出台。目前比较火的SCA/SDO的版本还是0.9,没有正式发布。”
刘汩春说:“ESB目前正处于快速发展的时期,随着ESB逐渐在实际项目中深入应用,用户对其提出更多的要求。比如,服务生命周期管理,就是指从服务发布、注册、使用、推广、效益统计、升级等;服务质量控制和服务级别保证;服务目录和元数据管理;异构适应性:跨越具有不同所有权的多种网络、多个协议以及多个管理域的真正意义上的总线。”
刘汩春认为,ESB还必须解决用户对传统EAI的主要诟病,就是其客户化开发工作量问题。ESB必须提供给客户越来越多的在线配置功能,而非开发框架来适应业务变化,所以其工具的优化是促进应用的一个重要因素,也是一个发展趋势。
目前,从厂商产品的划分来看,专门以ESB为主要产品线的中间件厂商的ESB产品覆盖面较广,他们一般认为自己的ESB产品可以帮助用户实现所有与SOA有关的工作,其中也包括了BPM。有些厂商还把门户功能也加入其中。而原来提供SOA平台产品的软件厂商则认为ESB是SOA中的一部分,他们的ESB产品是其整个SOA平台软件中的一块,通常会把BPM作为另一个单独的产品,例如BEA、甲骨文、IBM、东方通等公司。
王志伟谈到:“SOA影响力的扩大,让目前的中间件产品有了更细分的市场,最明显的就是产生业务流程管理和总线两个独立的市场,而在以前这两个部分都统称中间件。”
无论是IBM,还是BEA、甲骨文等公司都在套件产品的同时,推出了单独的BPM产品和ESB产品,对于用户服务而言就有了更多的选择,因为这些产品可以与其他厂商的中间件产品相互搭配使用,中间件产品原来的功能也是集成的,ESB的成熟对原有套件型中间件产品市场产生了不小的冲击。
王志伟说: “SOA带来了ESB与BPM等产品市场的细分,是一个重新洗牌的机会,但对于国内的中间件厂商而言,更需要完善主要产品的功能,还不可能与国外的平台厂商全面竞争,重点突破是目前能做的事。”
朱律玮谈到:“东方通的ESB产品线不会追求大而全,实用是第一位的,对于里面的关键技术都做到最好,例如连接服务和流程服务是我们的重点,其他一些产品可能会寻找合作伙伴或开源产品。”
ESB的应用
由于目前厂商对ESB产品有不同的划分,导致ESB的应用范围也产生了不同,综合主要ESB的产品应用,可以概括为应用在消息层面的转换、数据集成、以及流程的集成和管理。从应用领域而言,ESB与EAI没有大的区别,但由于ESB是基于开放的Web服务而来,在通向SOA的道路上,ESB可以当仁不让地挑起大旗。例如政府部门之间的跨系统互联,企业之间的跨系统电子商务应用。
周有衡说:“目前国内的用户还大多更关心例如数据整合、门户整合、应用集成这类的集成项目,从这些项目开始,SOA才得以导入。”
部分ESB产品列表
|
厂商名称
|
ESB主要产品
|
关键特性
|
|
BEA
|
AquaLogic Service Bus2.0
|
支持多种消息格式和传输协议,消除了消息之间的差距,发送方和接收方在不替换现有基础架构的 情况下,实现服务之间的快速集成和部署。可配置监控能力提供服务交互标准、消息跟踪事件和消息记录,并根据可配置的SLA设置界限和警告(不需要购买和集 成其他管理产品),支持有效的日常SOA运行,有在线建模能力。
|
|
东方通
|
TongIntegrator3.0
|
有一个内在的伸缩性设计,保证了在系统规模扩大的情况下,不牺牲效率。这保证了能够迅速和容 易地连接新系统而不影响吞吐量。使用简单,每个TongIntegrator的适配器都通过一个简单的配置文件来定义。因为TongIntegrator 提供了一套标准组件,构建一个适配器,甚至可以不用写任何程序代码。
|
|
IBM
|
WebSphere ESB
|
提供了基于SCA的开发模式和完备的开发工具,并且提供了预先定义的元中介 (Mediation Bean)。这样用户通过工具WID (WebSphere Integration Developer),可以采用拖拽/配置的方式简单地开发中介信息流,实现ESB不再是复杂的任务。
|
|
IONA
|
Artix4.0
|
广泛的操作系统平台支持和编程语言支持,多协议集成;基于ART的高性能内核Artix底层 采用C++实现,不依赖于Java虚拟机,因此更具性能优势。Artix内核内存占用率低,更能充分利用操作系统资源,特别适合于大用户量、大并发量的企 业级应用。而ART的插件式结构也是用户能充分优化运行时环境,选用不同的插件集适用于不同的集成需求。
|
|
中和威
|
InterESBInterESB
|
将多种通信模式融为一体,其中包括目标通信模式、点对点通信模式、发布/订 阅通信模式、扩展的发布/订阅集群模式。InterESB将上述多种通信方式有机封装成一个整体,并通过多种标准接口方式对外进行发布,从而使得基于 InterESB构建的企业应用能够以透明、一致、高效的方式应用不同的底层通信机制。与CORBA、J2EE技术实现良好结合。
|
SOA的岔路口
实现SOA有两种途径,一种是在现有应用系统的基础上将需要复用的的模块进行SOA封装,另一种是将所有的应用系统按SOA重新设计和开发。前一种SOA之路是平滑的渐进之路,更容易被多数的企业用户所接受,毕竟,许多早期开发的应用系统正在承担着关键业务运行的重任,容不得半点闪失。而后一种SOA之路则是彻底地“动大手术”,肯定会在短期内带来巨大的阵痛,做好了可以脱胎换骨,做不好可能伤筋动骨。
站在SOA的岔路口,也许用户会感到有些为难。“目标是光明的,道路是曲折的,”这句话最能反映SOA实施策略的选择。信息化不是革命,而是促进业务发展(至少在大部分情况下笔者这样认为),从这个角度而言,选择SOA的渐进之路是可以掌控的,但如果是一个新企业上全新的应用系统,那么不妨来个彻底的SOA。
ESB的兴起让SOA的渐进之路可以走得更开放和平稳,而ESB也代表了中间件产品本身的进化方向,中间件已经由广义的产品范畴向着细分的领域深入——应用服务器、ESB、BPM的分界逐渐清晰。尽管每个领域都在不断发展,但每个领域之间的关系变得更加透明、标准化。对于用户服务而言,分步实现SOA不是一句空话,因为在产品上已经有了可以实现的基础,用户可以根据自己的应用系统环境,由小到大、由局部到整体地去实施。那么,站在SOA的岔路口就不必心慌了。