精华内容
下载资源
问答
  • 原文链接:...让我们从面向服务架构(SOA)和企业服务总线(ESB)的一点历史开始,来看看为什么微服务变得如此流

    原文链接:https://www.voxxed.com/blog/2015/01/good-microservices-architectures-death-enterprise-service-bus-part-one/

    品牌和营销:EAI vs. SOA vs. ESB vs. 微服务

    让我们从面向服务架构(SOA)和企业服务总线(ESB)的一点历史开始,来看看为什么微服务变得如此流行。

    很多年以前,软件供应商提供了一种用于企业应用集成(EAI)的中间件,通常叫做EAI Broker或者EAI Backbone,这个中间件是一个集中式枢纽。当时,SOA刚刚兴起,所选择的工具是ESB。很多软件供应商就将他们的EAI工具直接更名为ESB。一段时间之后,一些新的ESB出现了,不再使用集中式枢纽,而采用分布式代理。所以,ESB成为一种不同的中间件。很多人不喜欢“ESB”这个术语,因为他们只知道集中式的概念,而不知道分布式的概念。

    因此,软件商经常避免谈论ESB。他们无法再销售一个集中式的集成中间件,因为一切都变的分布和灵活了。现在,你可以购买一个服务发布平台。未来,它可能是一个微服务平台或者类似的东西。在某些情况下,代码库可能仍然与20年前的EAI Broker相同。所有这些产品相同的地方是,你能够通过实现“企业集成模式”来解决集成问题。

    总结一下集成产品的品牌与营销历史:不要关注那些性感、动人、好听的名字!优先关注它的架构和特性。问问你自己,你需要解决什么样的业务问题,评估那种架构和产品最适合你。当我们再提“ESB”的时候,不要只想到“集中式的ESB”了。

    企业服务总线(ESB)之死?

    本文的关键:ESB是否已死?答案明显是“否”。然而,ESB不再是整个企业中一个集中式,缺乏灵活行的集成主干。现在我们听到“ESB”,应该想到一个灵活的、分布式的、可扩展的基础架构,你可以使用一种敏捷、搞笑的方式创建、部署、监控各种各样的(微)服务。开发和部署既可以在企业内部,也可以在云端,或者采用混合方式(比如,使用云做短期测试环境或者处理服务消费的峰值。)

    你使用ESB做它所擅长的一些事情:集成、编排、路由、(或者类似)事件处理/协作/业务活动监控。你也可以通过(微)服务创建应用,实现你的需求或者解决你的业务问题。你还可以自动化的通过一个标准化的接口将这些服务彼此独立的部署到一个可扩展的运行平台。这些服务是松耦合的并且能够跨越不同的硬件线性扩展。

    这是我所理解的当今的ESB。ESB是处理这些需求的最好的工具。你只需要聪明的使用ESB,比如通过面向服务的方式,而不是面向ESB(集中)的方式。可以称它为ESB,集成平台,服务发布套件,微服务平台,或其他你想叫的。

    此外,对于这个工具(仍称之为ESB),你可以使用服务网关提供服务安全,服务策略执行和暴露(微)服务作为开放API给外部消费者。服务网关管理你的集成服务(通过你的ESB创建),你的应用服务(通过ESB或者其他技术创建)和外部云服务(你不需要关心他们如何创建,你只需要关心服务契约)。

    还有一点:你真的需要“总线”之类吗?如果你需要关联不同的(微)服务中发生的事件,总线是有意义的。将这些事件放入内存当中,让他们对实时监控、分析和预测行为可见。后面给将有关于这个话题更详细的信息。对于我所理解的现代ESB,我已经讨论论的微服务。所以,你可以看到,ESB和微服务不是敌人,是朋友和合作伙伴。

     “微服务”的定义

    让我们定义一下术语“微服务”。就想你在上一节中看到的,应用的设计、架构、开发和运营都必须改变。企业需要建立一种服务策略来使它在不同的应用当中重用。看起来仍然像是SOA?的确,但是还有很多重要的不同:

    • 没有承诺一个特有的技术
    • 更加灵活的架构
    • 具有自己生命周期的服务管理产品
    • 工业化部署

    这是微服务时代的开始:服务实现一组有限的功能;服务的开发、部署和扩展相互独立。这让您能够获得更短的实施时间和提升灵活性。

    微服务的挑战

    微服务具有很多优势,但是它仍然面临了一些挑战:

    • 所有这些服务都需要继承
    • 所有这些服务和技术需要自动化的部署和配置
    • 所有这些服务需要日志记录和监控
    • 所有这些服务需要混合部署

    所以,现在忘记那些关于产品的讨论吧。考虑你需要创建的微服务的架构。之前的章节提到的六个关键需求能够克服这些挑战并且充分发挥微服务的价值:

    服务契约

    • 服务契约
    • 从现有应用暴露微服务
    • 服务发现
    • 跨服务的协同
    • 管理复杂部署和扩展
    • 跨服务的可见性

    不论你使用的是ESB、服务发布平台或者“仅仅”自定义的源代码,在你未来的项目中,为了创建一个敏捷、灵活和高效的微服务架构,必须遵循了下面列出的六个需求。

    需求1:服务契约

    服务契约是分布式、独立服务世界的头号需求。服务提供者使用契约发布服务的使用目的和需求。其他开发人员可以很容易的访问这些信息。

    在SOA世界中,契约随着SOAP接口定义。SOAP仍然是一种很好的进行内部通讯的标准,它提供了很多的安全标准。此外,工具也为最重要的WS-*标准比如WS-Security或者WS-Policy提供了很好的支持。

    在微服务世界,REST成为实际的标准,原因不是因为更好的性能,而是简单、关注分离、无状态和统一接口的良好架构。尤其是针对移动设备和物联网,是两种主要的微服务驱动者。

    你也可以用REST使用不同的数据格式,比如,你可以选择JSON和XML。轻量级的JSON格式更适合于移动设备,XML是更好的企业应用选择。你可以定义模式,使用低效但是成熟的工具进行转换和验证。性能在过去一直都是对XML的争议。使用现在更强大的商业服务器和内存计算,这个在很多场合都不再是大的问题。

    通讯通常都会使用HTTP。尽管HTTP在很多情况下不符合“现代应用场景”的规模。消息发送标准,比如JMS,是事件驱动企业的一个很好的选择。WebSocket、MQTT和其他的标准也在与数百万的设备通讯中脱颖而出,成为物联网的重要需求。因此,你的微服务架构能否在不进行服务重建的情况下,支持不同的数据格式和传输协议,成为非常重要的标准。

    需求2:从现有应用暴露微服务

    大多数企业业务仍然存在于已有应用当中。他们需要将这些应用的功能与外部服务或者他们自己的微服务进行融合。因此,集成成为微服务的基础。你既可以创建全新的服务,也可以将已有应用的功能暴露成微服务。这些功能可以是API,一个内部服务或者一些遗留源代码。

    随着时间的推移,微服务可以在不同的上下文中被重用,并且满足不同的通讯需求。将传输逻辑从服务逻辑中分离是一项在微服务中至关重要的最佳实践。当创建微服务的逻辑时,你不需要考虑服务如何实现与端点的通讯——是一个企业级服务(XML/SOAP)、云服务(XML/HTTP)、移动设备(JSON/HTTP)、或者一个物联网设备(底层TCP、MQTT,或者专有协议)

    需求3:服务发现

    服务契约很重要。然而,你也必须能够发现和使用别人的服务。服务必须通过一个服务网关发布。服务网关执行消费契约,确保微服务的垂直扩展和可靠性,并且允许微服务在不经过变更的情况下,在多个上下文中重用。

    服务网关使微服务有效。它使用开放的标准,比如SAML,Kerberos,OAuth,WS-*或者XACML——取决与你的需求。此外,开发人员需要一种简单的方式去发现微服务和他们的契约。通常,会使用一个自服务的门户,来提供服务目录和契约信息。

    API开放和API管理

    谈论微服务至今,你应该已经知道大多数供应商没有讨论过他们在上下文中的服务发现,但是会包括API,API开放和API管理。像ESB仅仅是一个术语一样,不管你叫它“微服务注册”,“API管理”或者其他什么东西。真正相关的是业务问题如何解决,它的需求和良好的架构。

    下图是关于API管理的解决方案:网关、门户和分析。


    需求4:跨服务的协同

    微服务和他们的粒度对于服务的开发和维护非常理想。但是它也确实增加了应用本身的复杂度。那些应用无法管理他们在平台中经常使用的受限制资源(电池、网络、CPU)的复杂性。结合服务为满足应用目的和业务流程的高层逻辑,能够证明开发的快捷和维护的简易。

    图形化工具能够用于创建微服务,但是也能够便捷高效的创建组合服务:


    微服务的协作能够采用不同的方式实现:有状态或者无状态;服务或事件驱动。在大多数情况下,无状态是单个服务的最佳实践,一些特殊的协作/组合服务有可能更适合有状态流程。

    有状态流程的优势:

    • 状态需要进行跨调用的共享时,更易于开发
    • 不需要外部持久化存储
    • 通常会对低延迟优化

    有状态流程的劣势:

    • 如果流程没有很好的设计,会消耗更多的内存
    • 没有强制开发人员设计流程状态
    • 没有涉及的流程,状态就无法被查询

    内存数据网格

    在很多应用场景中,上下文/状态的改变需要作为事件在内存数据网格进行共享,以大幅提升性能和降低发布的延迟。非常重要的一点是要理解内存网格不仅仅能够在内存中缓存和存储数据。未来内存计算的特性是事件处理、发布/订阅、ACID(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))交易,条件查询和容错。

    需求5:管理复杂部署和扩展

    服务对于上下文的使用将会大不相同。服务需要快速的扩展。自动化是微服务开发敏捷、灵活、高效的关键。没有持续集成/持续发布(DevOps),你无法认识到微服务所带来高效性。

    在这种方式下,你对企业内部或云端的应用、中间件进行持续部署、配置和管理。工具会提供端到端的脚本、自动化和可视化图表,并且监控所部署的应用的质量、端口管理和弹性负载均衡。

    持续发布/DevOps能够通过Chef,Puppet和Docker之类的自动化工具进行实施。你能够在包括私有数据中心、虚机和云环境中部署你的微服务。每一个微服务的创建和部署都是独立的。相比自编码/脚本的DevOps脚本,你可以使用产品化的工具来进行持续发布。成熟的产品提供很多开箱即用的功能,大大提升工作效率。在大多数情况下,这些产品可以来自于与你使用的微服务架构相同的供应商,可利用大量的开箱即用特性。然而,在你选择产品是需要确认:他是一个能够从其他供应商扩展的技术;支持与其他的自动化工具和云架构服务的集成。

    统一的管理

    统一管理是一个良好的微服务架构的另一个关键因素。即使你使用不同的技术进行微服务的开发,确保你能够在一个统一的界面中管理和监控所有的微服务。全面的可视化非常重要,否则将会发生“微服务混乱”。

    要实现这一点,你不能够将每一个微服务部署到不同的运行环境中。即便是使用微服务,你的项目也应该选择一个可扩展的、容错的、高性能的运行环境。即便是微服务的基本思想,我也不喜欢每一个开发人员可以使用不同的开发语言、框架和运行环境的想法。从长期看,这样的项目或者产品很难维护和保证SLA。如果你选择一个云服务,必须有供应商能够确保SLA。你不必考虑服务契约之后的技术和运行环境。然而,在你的项目中,你必须考虑SLA和可维护性。

    需求6:跨服务的可见性

    最后,在生产环境中进行微服务的部署和运行之后,你可以结合来自于不同服务事件、上下文和洞察力,实现实时的感知与响应。相互关联的事件是真正的力量,来自Google、Amazon和Facebook的证明毫无疑问。

    事件关联是一项从大量事件和信息中精确定位几个真正重要的事件的技术。尽管有一点离题,但这是各种来自于微服务、大数据、物联网的数据的未来。因此,这个题目在这里非常重要。使用事件关联的场景随处可见,比如网络监控、情报和监视、风险管理、电商、欺诈监测、智能订单路由、价格分析或者算法交易。

    需要总线吗?

    事件管理是一个你确实需要总线的需求。然而,这个总线不是一个ESB,是一个(内存)事件服务器:


    你从不同的源头获得事件(比如微服务、标准应用、遗留代码),并且在总线中进行对他们进行实时的关联,并且主动响应。

    微服务是独立的、可扩展的服务!

    微服务是独立的、可扩展的服务。一个使用可扩展平台的现代架构,允许对不同的技术、服务、应用独立的进行自动化部署。使用你选择的工具进行服务契约的定义,实施(微)服务和服务发现,独立和可扩展的自动部署。进行不同(微)服务的协作,通过在内存中进行事件关联,实时进行事件的主动响应。这就是你怎样去创建一个良好的微服务架构。

     

    展开全文
  • ESB 企业服务总线基本内容概述

    千次阅读 热门讨论 2016-10-09 15:26:18
    ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。整个架构体系里面分为三个组件或子系统,...

    ESB全称为Enterprise Service Bus,即企业服务总线。

    它是传统中间件技术与XML、Web服务等技术结合的产物。

    ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。

    这里写图片描述

    整个架构体系里面分为三个组件或子系统,即偏开发态的设计器,偏运行态的ESB核心引擎和SOA治理管控平台三个方面的内容。以上三者组合和集成形成一款完整的ESB服务总线产品。对于三者之间的关系可以简单的描述为:

    首先对于ESB总线引擎是一个完全相对独立的内容,即常说的ESB的Server端,一个完整的ESB引擎一般都会集成消息中间件的能力。类似ServiceMix的ESB可以看到核心是基于OSGI运行框架下的ActiveMQ+CXF组件来实现基础核心功能。没有设计器和管控平台,引擎也可以独立部署和运行,即可以自己写代码或写配置文件,将开发好的服务包部署到ESB引擎环境里面。

    其次是ESB设计器,设计器是属于开发和设计态的一个内容,重点则是对http,rest,已经服务+DB,消息等各种内容进行集成。

    最后一个内容是SOA管控平台,主要的作用是实现服务的全生命周期管理,包括服务的元数据管理,服务目录库,服务的申请,服务的开通和鉴权,服务运行日志审计和监控,服务运行分析,服务预警,服务SLA等各种功能。即SOA管控平台提升了对ESB引擎本身的管控和治理能力。

    一、ESB的五个基本功能:

      
    1)服务的MetaData管理:在总线范畴内对服务的注册命名及寻址进行管理。
     
    2)传输服务:确保通过企业总线互连的业务流程间的消息的正确交付,还包括基于内容的路由功能。   

    3)中介:提供位置透明的路由和定位服务;提供多种消息传递形式;支持广泛使用的传输协议。   

    4)多服务集成方式: 如JCA,Web服务,Messaging ,Adaptor等.   

    5)服务和事件管理支持: 调用服务的记录、测量和监控数据;提供事件检测、触发和分布功能。

    二、ESB的八个扩展功能:

     
    1) 面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述;   

    2) Mediation :它必须具有某种机制能够完成中介的作用,如协议转换;   
    3) 通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等;   

    4) 集成: 遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。   

    5) 服务交互: 服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。   

    6) 服务安全: 认证和授权、不可否认和机密性、安全标准的支持等;   

    7) 服务质量: 事务,服务的可交付性等;   

    8) 服务等级: 性能、可用性等。 ESB 中最常提到的两个功能是消息转换和消息路由。

    三、ESB的出现改变了传统的软件架构

    ESB 是传统中间件技术与XML、Web服务等技术相互结合的产物,ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
    

    四、企业服务总线(ESB)的用处

    ESB 不是万能的,他不是一个应用程序框架,也不是一个企业应用的解决方案.它只是一个基于消息的调用企业服务的通信模块!你可以把它嵌入到你的应用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系统中.它的作用是对企业里面的SOA服务的调用提供一个框架和简便的方法。
    

    五、企业服务总线(ESB)的应用特征

    大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台。面向服务体系架构(SOA)是能够将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。SOA使用户可以不受限制地重复使用软件、把各种资源互连起来,只要IT人员选用标准接口包装旧的应用程序、把新的应用程序构建成服务,那么其他应用系统就可以很方便的使用这些功能服务。 
      
     支撑SOA的关键是其消息传递架构-企业服务总线(ESB)。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业应用不同消息和信息的准确、高效和安全传递。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务协调运作,实现不同服务之间的通信与整合。
    
    展开全文
  • ESB-企业服务总线

    万次阅读 2017-05-18 13:53:08
    ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以...

    ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。

    ESB的基本概念

    企业服务总线(EnterpriseServiceBus,ESB)从面向服务体系架构(Service-OrientedArchitecture,SOA)发展而来,是传统中间件技术与XML、Web服务等技术结合的产物。
    ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务级别上动态的互连互通,是一种在松散耦合的服务和应用之间标准的集成方式。它可以作用于:
    ①面向服务的架构—分布式的应用由可重用的服务组成;
    ②面向消息的架构—应用之间通过ESB发送和接受消息;
    ③事件驱动的架构—应用之间异步地产生和接收消息。
    ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为低廉的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。

    基本功能

    1)服务的MetaData管理:在总线范畴内对服务的注册命名及寻址进行管理。
    2)传输服务:确保通过企业总线互连的业务流程间的消息的正确交付,还包括基于内容的路由功能。
    3)中介:提供位置透明的路由和定位服务;提供多种消息传递形式;支持广泛使用的传输协议
    4)多服务集成方式: 如JCA,Web服务,Messaging ,Adapter等。
    5)服务和事件管理支持: 调用服务的记录、测量和监控数据;提供事件检测、触发和分布功能;

    扩展功能

    1) 面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述;
    2) Mediation :它必须具有某种机制能够完成中介的作用,如协议转换;
    3) 通信:服务的发布/订阅、响应/请求、同步/异步消息、路由和寻址等;
    4) 集成: 遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。
    5) 服务交互: 服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。
    6) 服务安全: 认证和授权、不可否认和机密性、安全标准的支持等;
    7) 服务质量: 事务,服务的可交付性等;
    8) 服务等级: 性能、可用性等。
    ESB 中最常提到的两个功能是消息转换和消息路由。

    ESB架构

    ESB 是传统中间件技术与XML、Web服务等技术相互结合的产物,ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。

    ESB的发展

    在云计算应用时代,ESB将逐步发展到EBB(Enterprise Business Bus, 企业业务总线),国际范围内EBB尚处于发展初期,当然许多人也将ESB在业务上的应用,未作区分对待而统一作为ESB看待。事实上,ESB更关注IT服务,而EBB更关注业务执行,具有不同的属性。
    国内在2008年就有人就EBB的发展做了专题研究,并就潍柴动力与湘火炬汽车集团结成战略联盟后形成的集齿轮箱、变速器、发动机和整车为一体的汽车产业链实例,使用面向服务的架构SOA和企业协同理念,给出了协同服务平台的设计与分析。
    目前国内在EBB领域研究较为超前的,是由中国最年青博士后导师之一、协达软件创先人付勇,所指导的协同软件博士后工作站。该团队所研究的成果,已经在产业应用上有良好表现,并广泛应用在办公自动化OA、企业资源计划ERP、制造执行系统MES、客户关系管理CRM等领域。

    应用特征

    大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台。面向服务体系架构(SOA)是能够将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。SOA使用户可以不受限制地重复使用软件、把各种资源互连起来,只要IT人员选用标准接口包装旧的应用程序、把新的应用程序构建成服务,那么其他应用系统就可以很方便的使用这些功能服务。
    支撑SOA的关键是其消息传递架构-企业服务总线(ESB)。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业应用不同消息和信息的准确、高效和安全传递。让不同的应用服务协调运作,实现不同服务之间的通信与整合。ESB在不同领域具有非常广泛的用途:
    电信领域:ESB能够在全方位支持电信行业OSS的应用整合概念。是理想的电信级应用软件承载平台。
    电力领域:ESB能够在全方位支持电力行业EMS的数据整合概念,是理想的SCADA系统数据交换平台
    金融领域:ESB能够在全方位支持银企间业务处理平台的流程整合概念,是理想的B2B交易支撑平台。
    电子政务:ESB能够在全方位支持电子政务应用软件业务基础平台、信息共享交换平台、决策分析支撑平台和政务门户的平台化实现。

    主要结构

    ESB提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,来完成粗粒度应用(服务)和其他组件之间的互操作,能够满足大型异构企业环境的集成需求。它可以在不改变现有基础结构的情况下让几代技术实现互操作。
    通过使用ESB,可以在几乎不更改代码的情况下,以一种无缝的非侵入方式使企业已有的系统具有全新的服务接口,并能够在部署环境中支持任何标准。更重要的是,充当“缓冲器”的ESB(负责在诸多服务之间转换业务逻辑和数据格式)与服务逻辑相分离,从而使得不同的应用程序可以同时使用同一服务,用不着在应用程序或者数据发生变化时,改动服务代码。

    7.1 Smart Service Bus

    Smart Enterprise Service Bus™是神州数码秉承SOA理念,结合十数年企业应用集成领域的最佳实践,研发的一套功能完善、高效稳定、灵巧开放的企业服务总线中间件。作为核心的交换平台,能保证7*24小时永不间断提供服务。提供最优的扩容方式,保证扩展线性度达到100%,为组织提供高吞吐量的优质基础服务。提供灵活的部署方式,支持集中部署、分布式部署及总分结构部署。最佳的IT架构治理平台,提供基于元数据的服务治理工具和系统监控工具套件。

    7.2 Oracle Service Bus

    Service Bus的前身是BEA的AquaLogic Service Bus,BEA AquaLogic产品家族交付了最全面的服务基础架构产品线,可以帮助企业成功部署SOA。作为首款完全针对SOA而构建的产品套件,它为IT提供了一组统一的产品来处理消息传递、服务管理、数据一致和安全需要。
    Oracle Service Bus为IT提供了一个理想的SOA基础,可以实现下列业务目标:
    通过动态配置异构共享服务之间的集成来节省时间。
    通过简单的集中式服务注册来减少维护工作。
    通过经济有效的服务部署和自动配置来降低成本。
    通过确保服务交互的正常进行和可用性来增加正常运行时间。
    通过使用服务元数据来简化共享服务的配置、集成和管理。
    提供支持基于SOA的业务解决方案所需的企业级可靠性和性能。[1] 

    7.3 IBM WebSphere ESB

    IBM 提供了三种 ESB 产品:IBM WebSphere ESB、IBM WebSphere Message Broker、IBM WebSphere DataPower Integration Appliance XI50。根据您的需求选择 ESB 来增强您的 SOA。WebSphere ESB 是一种基于平台的 ESB,作为集成的 SOA 平台,针对 WebSphere应用服务器进行了优化。WebSphere Message Broker 是跨平台的 ESB,是为异构 IT 环境中的统一连接和转换而构建的。WebSphere DataPower Integration Appliance XI50 是一种基于设备的 ESB,是为简化的部署和更强的安全性而构建的。客户面临着从简单到复杂的各式各样的 ESB 需求。

    7.4 Microsoft ESB

    微软通过其应用平台提供了全面的ESB服务,包括:Windows Server®2003,.NET Framework, BizTalk®Server 2008 R2. 应用平台提供了一个基础架构,基于此可以灵活和安全地重复使用架构和商业服务,并具有协调原有的服务整合到新的端到端的业务流程中的能力。
    微软通过一些列的产品Windows Server 2003, the .NET Framework 3.0, and BizTalk Server 2006作为对企业实现ESB的支撑,Microsoft ESB Guidance是基于BizTalk Server 2006一组应用,它提供以下公用的ESB组件:l Message routing (消息路由) l Message validation (消息验证) l Message transformation (消息转换) l Centralized exception management(集中的异常管理) l Extensible adapter framework(可扩展的适配器框架) l Service orchestration(服务的编制支持) l Business rules engine(业务规则引擎) l Business activity monitoring(业务活动监视)微软 ESB 指南提供了架构指导,模式和实践,以及一套BizTalk Server 和 .NET Framework 组件来简化基于微软平台的大型或小规模的ESB解决方案的开发。它还可以帮助开发人员扩展现有的信息和集成解决方案,包括的一些服务和组件。

    7.5 JBOSS SOA Platform

    JBoss Enterprise SOA Platform提供了一个基于标准的平台,用以集成应用、SOA服务、业务事件和自动化业务流程。这一SOA平台集成了特定版本的JBoss ESB、jBPM、Drools、和已得到验证的JBoss企业应用平台,把它们组织在一起形成一个单一的企业级发布。JBoss Enterprise SOA Platform打包了不少流行组件如:
    l JBoss ESB l JBoss jBPM jPDL l JBoss Rules (Drools) l JBoss Application Server l Hibernate l Hibernate Entity Manager l Hibernate Annotations l JBoss Seam l JBoss Web (嵌入式Tomcat 6.0) l JBoss Cache l JGroups l JBoss Messaging l JBoss Transactions l JBoss Web Services (JBossWS) l JBossXB l JBoss AOP l JBoss Remoting l JBoss Serialization l JacORB

    7.6 ServiceMix对ESB的实现

    ServiceMix是一个建立在JBI (JSR 208)语法规则和APIs上的开源ESB(Enterprise Service Bus:企业服务总线)项目。ServiceMix是基于JBI的ESB。它是开源的基于JBI语义和API的ESB和SOA工具包,以Apache许可证方式发布。 它是轻量的ESB实现,易于作为嵌入式ESB使用;集成了对Spring技术的支持;可以在客户端或服务器端运行;可以作为独立的ESB提供者,也可以作为另外ESB的服务组件; 可以在JavaSE或JavaEE服务器中使用;ServiceMix同Apache Geronimo以及JBoss服务器完全集成,并且在Apache Geronimo服务器中可以直接部署JBI组件和服务。Java Business Integration (JBI,Java业务集成)技术规范定义了SOA的服务导向集成的内核和组成架构。它对公共讯息路径架构、服务引擎与捆绑的插件程序接口,以及复合型服务描述机制等都进行了标准化,这样就将多种服务结合成为一个单一的可执行的和可审核的工作单元。JBI和ServiceMix关系图JBI并不是一个为开发者设计的一个接口,更准确的说它是在JBI容器里为集成商提供相互集成的一个体系和一系列的接口。所以人们能集合他们所需要的所有部分,做出一个总体解决。例如在理论你能从BPEL引擎上,EJB容器上或者是数据传输产品上集合一个基础设施,并且能够集成的很合适。 ServiceMix 中包含完整的JBI容器,支持JBI规范的所有功能要求:l 规范化消息服务和路由 l JBI管理Beans (MBeans)l 组件管理和安装的Ant任务l 对JBI部署单元的完全支持,支持JBI组件的热部署

    7.7 NEC WebOTX ESB

    WebOTX Enterprise Service Bus(以下简称WebOTX ESB)是灵活地结合基于SOA 的系统上的业务应用的,具有消息交换功能的服务运行平台的中间件,是在WebOTX Application Server 的Java EE 环境上动作的ESB 运行环境。WebOTX ESB 处于处理层和服务层中间的Hub产品的位置,使业务变更时系统能灵活对应。
    WebOTX ESB 遵循JBI1.0(服务总线的Java 标准定义),提供标准的对应了各种协议的组件,能实现与业务应用的无缝连接。此外,提供了丰富的适配器群以致能与大型计算机上的业务应用、EAI 工具等连接。而且,提供了能吸收服务间消息差异的高速XML 变换引擎,使得不进行任何变更就能灵活地实现系统的构筑。

    7.8 RES Infomatic Service Bus

    RES Infomatic Service Bus是锐易特软件信息整合解决方案中最为核心的企业级信息服务总线产品。该产品理念与核心技术跟IBM、Oracle等国际主流厂商的ESB产品同步,自2004年至今,经过了为期两年的国外产品原型设计和四年的国内本土研发与多行业重量级客户实践检验。广泛应用于金融、电信、政府、公共卫生等行业。它是由七款子产品构成的产品家族,包含了Universal Adapters 通用适配器、Message Broker消息代理、Service Monitor服务监控中心、Service Proxy 服务代理、Registry and Repository 服务资源注册中心、Configuration Manager 配置管理中心、Integration Tools 整合开发工具集,这些子产品相互支撑、协同工作,共同构成分布式信息服务总线的开发、部署、运行、管理的SOA全生命周期支持。

    7.9 Mule ESB

    Mule ESB是一种基于java的、轻量级的企业服务总线和集成平台,它允许开发者快速的、简单的连接应用,并能够实现数据的转换。
    Mule ESB的主要功能如下:
    服务的创建与管理(Service creation and hosting):用Mule ESB作为一个轻量级的服务容器来暴露和管理可重用的服务。
     服务调解(Service mediation):隐藏服务消息的格式和协议,将业务逻辑从消息中独立出来,并可以实现本地独立的服务调用。
     消息路由(Message routing):基于内容和规则的消息路由、消息过滤、消息合并和消息的重新排序。
     数据转换(Data transformation):在不同的格式和传输协议中进行转换数据。

    ESB以太网插板:

    ESB26 与ESB24 板的不同主要是在插板上提供的以太网接口的数量不一样ESB26 提供26 个接口,ESB24 上有24 个;另外ESB26 板前面板上有六个以太网接口一个com 口,ESB24 板前面板上有四个以太网接口一个com 口;通常构成EMB 的ESB 板也属于SWU 单元,还有LANU 上的ESB 板也是SWU单元。

    Apache synapse ESB

    http://synapse.apache.org/

    Apache Synapse企业服务总线(ESB)

    Apache Synapse是一种轻量级的高性能企业服务总线(ESB)。 Apache Synapse由快速和异步的中介引擎提供支持,为XML,Web服务和REST提供了卓越的支持。 除了XML和SOAP之外,Apache Synapse还支持多种其他内容交换格式,例如纯文本,二进制,Hessian和JSON。 适用于Synapse的广泛的传输适配器使其能够通过许多应用和传输层协议进行通信。 到目前为止,Apache Synapse支持HTTP / S,邮件(POP3,IMAP,SMTP),JMS,TCP,UDP,VFS,SMS,XMPP和FIX。

    Apache Synapse是Apache Software License 2.0下分发的免费开源软件。 最新版本的Synaspe是v3.0.0  此版本带来了大量新功能,错误修复,性能和稳定性改进。

    Apache Synapse,Synapse,Apache,Apache羽毛徽标和Apache Synapse项目徽标是The Apache Software Foundation的商标

    版本3.0.0中的新功能

    • 高性能PassThrough HTTP传输支持所有调解方案
      • 超快速,低延迟的HTTP请求中介
      • 同时支持大量入站(客户端 - > ESB)和出站(ESB - >服务器)连接
      • 使用共享缓冲区来智能地处理内置在引擎中的消息内容和内容感知,以处理数据
      • 在存在慢或故障的客户端和服务器的情况下,自动节流和性能下降
    • HTTP传输的OCSP / CRL证书验证支持
    • 响应中介者 - 调解人从中介流程中的任何地方回复客户端
    • Loopback Mediator - 从IN序列跳转到OUT序列的中介者
    • 标题中介者改进
      • 支持添加/删除传输头
    • 新的xpath函数
      • url-encoded xpath函数
      • 从get-property函数访问系统属性
      • base64解码功能
    • 消息处理器改进
      • 重新排序消息处理器
      • 新的阻止客户端实现
    • 消息注入任务改进
      • 支持向代理服务注入消息
      • 支持向命名序列注入消息
    • 标注调解员改进
      • 支持WS-Security
      • 内联终端支持
      • 能够使用'To'头动态设置EPR
      • NTLM支持
    • 脚本中介者改进
      • 支持删除属性
    • REST API改进
      • 运输级别访问限制

    主要特征

    • 代理服务 - 促进传输,接口(WSDL / Schema / Policy),消息格式(SOAP 1.1 / 1.2,POX / REST,文本,二进制),QoS(WS-Addressing / WS-Security / WS-RM) MTOM / SWA)
    • 用于快速HTTP交互的非阻塞HTTP / S传输,并支持数千个并发连接
    • 用于文件操作和与FTP,SFTP,CIFS和WEBDAV交互的VFS传输
    • JMS支持二进制,纯文本,XML和SOAP有效载荷
    • 邮件传输,广泛支持POP3,IMAP和SMTP
    • 支持业界推动的财务信息交换(FIX)协议
    • 内置注册表/存储库,便于动态重新配置和关联资源(如XSLT,XSD,JS等)
    • 内置支持使用Quartz调度程序调度任务
    • 负载均衡(带或不带粘性会话)和故障切换路由
    • 支持许多Web服务标准,包括WS-Addressing,WS-Security和WS-Reliable Messaging
    • 基于策略的消息限制和缓存(特别支持集群环境)
    • 消息分割和聚合
    • 使用数据库连接池进行数据库查找和更新支持
    • 针对序列,端点和代理服务的细粒度统计信息收集
    • JMX监控管理
    • 可以使用Java,Spring或BSF脚本语言(Javascript,Ruby,Groovy等)轻松扩展

    高级架构

    Apache Synapse的设计是轻量级和快速的。 非阻塞HTTP传输,多线程中介引擎和流式XML信息集合结合起来,以确保Synapse可以以最小的延迟和资源使用通过服务总线调解非常大量的消息。 Synapse还具有全面的日志记录功能,统计信息收集和JMX监视支持,这在生产部署中至关重要。

    Synapse使用Apache Axis2作为底层Web服务引擎。 因此,它对Web服务和相关标准(如SOAP和WSDL)有突出的支持。 经过测试的Axis2模块,如Apache Rampart和Apache Sandesha2,可与Synapse一起使用,无需配置开销。 使用这样的外部模块,Apache Synapse支持一系列Web服务标准,包括WS-Security和WS-Reliable Messaging。 Synapse还利用Axis2集群框架提供企业级集群支持。

    Synapse使用简单的基于XML的配置语言进行配置。 配置语言和相关功能组件的设计考虑了SOA最佳实践。 将配置片段存储在外部SOA注册表中并将其按需导入到中介引擎是微不足道的。 Synapse提供了大量的调解器,可用于实现即使是最复杂的企业集成方案。 如果需要,可以通过使用Java或您最喜欢的脚本语言开发定制调解器来扩展中介引擎。


    开源ESB方案:http://www.oschina.net/project/tag/333/esb

    展开全文
  • 企业服务治理概述

    千次阅读 2014-10-08 17:48:07
    或 Sm@rt Governance),神州数码企业服务治理,简称“企业服务治理”, 在基于SOA的架构体系中,服务规范(ServiceDefinition)对实现各相关应用系统的集成与交互起着至关重要的作用,正是由于服务规范的存在,才...

    ESG(Enterprise Service Governance Sm@rt Governance),神州数码企业服务治理,简称“企业服务治理”, 在基于SOA的架构体系中,服务规范(ServiceDefinition)对实现各相关应用系统的集成与交互起着至关重要的作用,正是由于服务规范的存在,才真正使应用的集成摆脱了传统通过应用接口点对点交互的特点,以标准、统一的模式实现良好的服务与流程整合,完善服务规范是实现SOA的必要条件之一。建立服务规范是一个ESB实施过程中一个非常重要的工作,建立一套具备前瞻性、适应银行业务发展需要的服务规范,是评判ESB项目建设成败的关键。

    随着ESB系统建设的逐步深入,在企业服务总线上发布的服务不断丰富,对服务规范的定义、管理过程提出了更高的要求,目前通过Word及Excel管理服务规范的方式,存在着全行的服务全景无法直观查看、人工作业可能出现差错、服务演变过程难于追踪的等等问题。希望通过建设ESG(企业服务治理),加强和改进服务规范定义工作过程,实现服务规范定义过程的系统化和规范化,提高服务规范定义工作效率,增加服务规范定义工作管理和审核流程,进一步提升服务规范定义交付物质量。ESG(企业服务治理)涵盖ESB服务开发设计期和运行期两大阶段,覆盖了整个ESB开发运维流程。ESG(企业服务治理)负责接口采集与统一管理工作、服务标准建立、配置自动化生成等功能。

    面向SOA的服务生命周期管理是一个周而复始的过程,服务生命周期的提出,并且在ESG(企业服务治理)中得到实现,服务的生命周期从获取服务需求开始,通过对该服务的业务背景、业务要素以及使用约束进行充分的分析、服务规范的定义和发布,到服务开发、测试、上线,并且对服务运行状态进行监控分析,优化服务质量,这是一个迭代流转的过程,通过对服务的持续改进,提高服务效益,直至该服务的最终消亡。

    服务生命周期管理重要分两部分:一、服务定义和开发;二、服务管理和运维。用两张比较直观的图片来描述:

    图1服务定义和开发

    图2服务管理和运维

    ESG(企业服务治理)是以提升组织业务能力为导向的工具,它在从业务问题出发,解决问题的过程当中,抽象一系列的业务服务。这些业务服务可以灵活地组装,动态地解决变化的业务需求。从而实现业务敏捷性,达到随需应变的目标。服务治理就是一种对所有现有以及将来新增服务所进行的整理、归纳、定义、服务关联关系的方法,并在开发、运行的规范上进行正向引导的一种组织行为。
    展开全文
  • 几种ESB(企业服务总线)介绍

    万次阅读 2018-07-16 19:24:45
    ESB(Enterprise Service Bus,即企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。 企业服务总线ESB就是一种可以提供可靠的、有...
  • 特别的是谁能与客户建立长期的,良好的合作关系,掌握客户资源,赢得客户信任,分析客户需求,就能制定出科学的企业发展经营和市场销售策略,生产客户需要的产品,提供优质的客户服务,迅速占领市场份额,获取更大的...
  • 十大企业级Linux服务器安全防护要点

    千次阅读 2018-06-22 14:06:05
    随着开源系统Linux的盛行,其在大中型企业的应用也在逐渐普及,很多企业的应用服务都是构筑在其之上,例如Web服务、数据库服务、集群服务等等。因此,Linux的安全性就成为了企业构筑安全应用的一个基础,是重中之重...
  • 企业全方位改进(CMMI)咨询服务

    千次阅读 2016-04-20 14:33:48
    要达到这样的目标,需要全方位的、根本性的改进,打造良好的组织架构、人才招聘及培养体系、绩效考核机制、软件研发过程、高战斗力的团队,积累核心业务及技术等,让企业具备稳定的并可持续进步的核心竞争力,可持续...
  • 企业有钱赚,为了更好地服务自己的客户,赚到更多的钱,花点钱,心甘情愿。只要你的商品和服务,不至于太坑。 b.企业的功利心比较强,因此,非常有目标性,有动力,一定要解决自己遇到的问题。 c.个人的付费意识很...
  • 随着信息技术的快速发展,企业应用规模也在迅速扩大,客户对应用的服务质量要求也越来越高。然而随着近年来多家网络运营商DNS解析故障,网络丢包,网络抖动等问题一直没有得到很好的解决,企业应用双活逐步成为近年...
  • 企业服务总线相关理论和技术的研究
  • 应用ITIL提升企业IT服务管理

    千次阅读 2006-06-20 09:46:00
    应用ITIL提升企业IT服务管理 我国的企业信息化从八十年代起步,九十年代以后逐步发展,本世纪开始进入了一个新的发展阶段。特别是随着企业之间竞争的加剧和世界范围内电子商务的兴起,IT受到了企业越来越多的重视。...
  • 首先,不得不说,一个良好企业应用平台的构架不单单是软件设计人员的努力就能取得。在该项目的设计实施过程中,客户的专业,对自身公司流程与难点的深刻理解,是本项目成功实施的关键因素。 客户跟我说了大致需求...
  • [企业管理]客户服务的本质

    千次阅读 2006-10-16 21:39:00
    引言我妻子在一家公司做客户服务部主任,昨天让我给她发了一段关于客户服务的内容,可是她今天没有收到邮件,我查看这封邮件的时候,顺便看了一点内容,于是和她有了后面的对话。对话2006-10-16 20:57:08 青润其实,...
  • 作为一个企业级的ESB总线产品,它具备多种协议和连接方式的支持: WebService协议 -----TCP/IP网络协议被描述封装为SOCKET协议,SOCKET协议被描述封装为HTTP协议, HTTP协议再描述封装为微服务RESTAPI(JSON)、...
  • 1. ESB架构之企业实施案例 : ...   2. ESB(Enterprise Service Bus,即企业服务总线) ...ESB(Enterprise Service Bus,即企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。 ESB提供了网络中
  • 开源企业服务总线ESB汇总与对比

    万次阅读 2011-03-29 09:09:00
    综上所述,Mule和Servicemix都实现了ESB的核心功能,都提供了广泛的可用组件和良好的扩展性,从功能上看差别不大,但从稳定性、易用性和性能上比较,Mule可能是更好的选择。             ...
  • 近年来,随着信息化的全面铺开,企业服务市场迎来了前所未有的迅猛发展。根据美国咨询机构Gartner的数据,2017年全球公有云服务市场预计增长18%达到2468亿美元,高于2016年的2092亿美元。其中,云应用服务(SaaS)...
  •  我把我们公司的需求向勤哲公司客户经理一一说出,该公司的客户经理为我一一解答,最终制定出了一份良好的软件运营管理方案。  分析二:  虽然我公司有内外网,但电子邮件和文档共享、办公自动化软件都没有...
  • 在领域模型模式中,我们大都是将服务层看作是业务层的一部分。虽然这个做法非常常见,不过显然,我们还有其他选择。通常来说,服务层为表现层定义了一个接口,从而允许表现层触发一些预定义的系统操作。正如名称表现...
  • 互联网时代的每一次技术变革都带来新的机会,而云计算这一诞生于2006年的新技术正在引领新的科技浪潮。正是从2006年开始,众多云计算公司借助...紧随其后的是大量数十亿美元市值的云计算公司,它们分布在企业服务的...
  • 很多创业者在创业初期都会发现,很多事情其实都可以很简单地去处理。比如说,如果团队之间需要共享...而这个时候你就会发现,你需要一个小型企业服务器。但是,从哪里开始呢?毕竟服务器并不是一种万能得解决方案,...
  • 企业服务总线(Enterprise Service Bus,ESB)的概念是从面向服务体系架构(Service Oriented Architecture, SOA)发展而来的。SOA描述了一种IT基础设施的应用集成模型;其中的软构件集是以一种定义清晰的层次化结构...
  • 中国十大芯片企业排名

    万次阅读 2019-05-27 11:34:34
    导语:芯片的制造工序比较复杂反映了人类的智慧和高科技水平的提高...今天排行榜123网小编为大家盘点了中国十大芯片企业排名一起来了解一下。 中国十大芯片企业排名 1.海思Hisilicon 2.Spreadtrum展讯 3.龙芯l...
  • SOA与企业应用

    千次阅读 2006-07-03 17:13:00
    SOA与企业应用 SOA(service-oriented Architecture,也叫面向服务的体系结构或面向服务架构)是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。...
  • 最近,由于萨班斯法案的出台,给企业的IT服务管理带来了新的挑战。由于面临着萨班斯法案的要求,企业不得不通过一系列的IT治理行为来加强对企业管理的控制。由于现代企业管理对IT的依赖性越来越强,对IT服务管理的...
  • 在这个世界上,只有很少几个人能把企业服务解释得足够清楚,Christian就是其中之一编写软件基础结构的代码,是最有价值、最有意思、最具挑战性的工作之一。软件基础结构往往需要包括复杂的事务系统(包括分布式事务...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 146,408
精华内容 58,563
关键字:

企业良好服务