ESB架构之企业实施案例(一)

本文探讨了ESB(企业服务总线)在企业级应用整合中的关键作用,详细介绍了ESB的质量属性及其在企业域视角下的架构设计,包括企业服务查找注册组件与监控组件的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二部分:http://guoshiguan.iteye.com/admin/blogs/838691

第三部分:http://guoshiguan.iteye.com/blog/838704

1       主要概念

SOA :英文全称是 Service-oriented architecture ,现在概念比较的不统一,主要由以下几种定义

  1. W3C :可以调用的一系列组件,其接口描述可以发布和发现。
  2. CBDI :一组策略,实践和框架,支持将应用程序功能作为一组服务在与能够调用,发布和发现的服务使用者相关的粒度发布; 这组服务是使用接口的单一标准形式从实现抽象出来的。
  3. Gartner: 面向服务的体系结构是一种客房机/ 服务器软件设计方法,其中的应用程序由软件服务和软件服务的使用者(也称为客户机或服务请求方)组成。SOA 与更为通用的客户机/ 服务器模型不同,其定义强调软件组件间的松散偶合及对独立接口的使用。
  4. IBM :面向服务的体系架构(Service Oriented Architecture,SOA )是一个建设企业IT 架构的架构风格。采用面向服务的原则,达到业务与支持业务的信息系统的紧密结合。
  5. BEA :面向服务的体系架构是一个IT 战略,将企业应用中分散的功能组织成为支持互操作、基于标准的服务。这些服务可以被组合及快速重用以满足业务需求。  

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

BPMBusiness Process Management 业务流程管理

2       概述

ESB 的存在主要是为了整合企业内部的应用,使一个企业能的应用能合为一体,而不是成为一个个独立的应用。可以说 ESB 企业内所有的服务的中心点,其他的系统间的交互都要通来 ESB 来完成。为此他的质量属性的重要性依次是这样的,可用性、性能、可修改性、可测试性、易用性。它门描述可以参看下面的 2.1 章节

为了完成这些属性,我们可以从企业域, 部门 域, ESB 内部视角三个层次来进行说明。因为 ESB 除了高可用性和性能之外,高可伸缩性也很重要,在实际的应用过程中,你可以进行对整个结构进行裁减,在开始时,你可能只要一个部门域,一个部门域内支持水平扩展,当到了瓶颈后,你可能会部署多个部门域,这样做到这时你可以把他看成一个垂直扩展。

2.1     ESB 的质量属性

第一位:可用性

    ESB 是企业内应用之间及对外第三方系统之间交互的集中点,他集中的管理了交互的所有服务。他还有服务查找,管理,审计,监控,分析,等功能。当一个 ESB 服务出现了故障,它就将会影响企业内的所有应用的正常运行。所以,可用被性放在了第一位。

第二位:性能

随着企业内部整合的推进,ESB 内部的服务交易量应该不会是个小数,高性能对于一个ESB 的应用也是非常重要的。

第三位:可修改性

因为 SOA 的企业治理是一个循序渐进的过程,在ESB 部署的开始之初,很难对交易的量上有一个准确的估计,对性能的扩展性有比较高的要求。

在实际的生产运维过程中,我们还是会常常发现,服务可能会出现这样或那样的问题。为了让使用这个服务的应用能正常的使用,快速的修改和部署,是一个很重要的问题。

ESB 的项目是随着SOA 的企业治理而进行一次次的迭代过程,这也就意味这可修改性在ESB 中的重要性。

    第四位:可测试性

   ESB 的上线既然是一个迭代的过程,服务会根据SOA 理念的深入而增加。在迭代的过程中,要保证以前的服务能顺利的通过,可测试性是一个很重要的保障。

企业内应用的交易,应该只面向ESB ,它们要交互并不需要知道这个服务在哪里或是给谁使用。这时,ESB 的测试就是一个很大的问题,因为这支交易在开始的时候,你可能并不知道他会在哪里被使用,但我们至少要保证这支交易基本上是正确的,这样才能便于使用。

    第五位:易用性

    易用性,这当然是要提高一个服务的开发效率,能快速的开发和部署一个服务。因为他对生产上的活动没有影响,在这里它只能放在第五位

 

 

3       企业域视图

在大多数据情况下,如果你的交易量不大,你大可以只使用一个部门域来支撑整个企业内的服务。但如果只是一个 ESB 的部门域的话,是没有办法支撑后来交易量的年年增长的。虽然我们的每一个部门域,都可以自行进行水平的扩展,但这还是有一个度,如果超过这个度后,你就只能使用垂直扩展,这种扩展方式当然没有水平扩展来得廉价,但他能支撑更大的交易量。

在企业域中,最大的特点就是有多个部门子域,每个部门子域都是高度自治的。他们可以独立的处理域内各个系统的整合,只有当需要别的域的服务时,他才会请求其他的域。为了防止部门域之间变成一个蜘蛛网,这里我们引入了企业域管理器,来统一管理域内的服务与及对这些部门域进行必要的监控。

在企业域管理器中主要有以下的几个组件:

企业服务查找注册组件:这个组件一般情况下是独立部署的,而且应该有很高的可用性,在理想状态下,应该可以查找到所有部门域中的所有交易。跨域的交易都需要通过这个组件来查找到对应域的服务。

监控组件:这个组件可以查看各个部门域内的运行情况。

        

        


图表 3 1

3.1     元素

3.1.1  企业域管理器

3.1.1.1        企业服务查找注册组件

这个是企业域管理器的核心组件,使用他来管理整个企业内的所有服务,这个组件应该有以下几个功能。

服务注册:注册服务的地址,服务的说明。

服务版本管理:可以管理个服务的版本。

服务客户端代码的生成,根根服务的地址和说明生成服务的客户端,一般是 java 版本。

服务路由表的查找:主要是为了查找对应的服务的地址,而且可以对服务路由进行推送。

服务的使用方注册:你要请求其他的域的服务,你就需要告诉服务查找注册组件,这样就可以通过此组件找到此服务的使用路径,从而当服务进行更改后,可以有效的通告相对应的交系域。

3.1.1.2 监控组件

这个组件可以查看各个部门域内的运行情况,并在部门域的运行超过伐值时进行相应的预警,必要时,操作域内流控来操作交易。具体的功能如下:

查看各个部门域内的运行情况。如硬件资源,交易信息,流控信息,配置信息。

对资源使用情况进行预警

根据情况操作部门域内的配置参数,比如流控的配置参数。

定时收集各个域内的信息,保存后,为报表、决策分析等提供信息支持。

3.1.2  部门域

部门域是整个企业域内的一个个的 ESB 结点,每个部门的域内会根据项目群,或者根据部门来进行划分,在各个部门域内都有一个 ESB 的应用,通过这个 ESB 来整合整个部门内的服务和应用。这个元素我们将会在部门域的视角中祥细进行阐述。

 

3.2     场景

3.2.1  子域间交互

所有的服务都会被注册到企业管理器的服务查找组件中,这个组件拥这些服务的描述和服务的地址信息。一个具体的流程可以查看序列图(图表 3 2 ),部门域 A 如果要发起一个跨域的服务请求,那就必须要使用企业域管理器的服务查找组件,通过这个组件的路由表来获取此服务的服务方的部门域 B 的服务的地址后,才能请求对应的部门域 B

为了提高性能,在这个场景里,我们也可以在启动的时候就去取对应的路由表信息,然后缓存起来,通过缓存来找到部门域 B 的地址,但这样有一个注意点,那就是当部门域的改变了服务的地址后的通知部门域 A 的策略问题,我们可以有下以几种策略

服务查找组件进行推送

如果服务请求地址出错,重新请求服务查找组件

定时清空路由缓存


图表 3 ‑2

 

本文已经首发于InfoQ中文站,版权所有,原文为《ESB架构之企业实施案例》,如需转载,请务必附带本声明,谢谢。
        InfoQ中文站是一个面向中高端技术人员的在线独立社区,为Java、.NET、Ruby、SOA、敏捷、架构等领域提供及时而有深度的资讯、高端技术大会如QCon 、线下技术交流活动QClub、免费迷你书下载如《架构师》等。

Skip Headers 跳过标题 Oracle® Application Server Adapter for MySAP ERP User's Guide 甲骨文®应用指南服务器适配器mySAP ERP的用户 10 g Release 3 (10.1.3.4.0) 10克第3版(10.1.3.4.0) Part Number E14196-01产品编号E14196 - 01 转到文档主页 Home 首页 前往预订名单 Book List 图书清单 转到目录 Contents 内容 转到索引 Index 指数 转至反馈页面 Contact Us 联系我们 转到前页 Previous 上页 转到下页 Next 下页 View PDF 查看PDF格式 6 ESB Integration Examples 6 ESB集成的例子 This chapter contains the following examples:本章包含以下例子: * Configuring an ESB Outbound Process 配置ESB的外向处理 * Configuring an ESB Inbound Process 配置ESB的入境Process The scenarios shown in this chapter require the following prerequisites.本章所示的场景需要以下先决条件。 Prerequisites先决条件 The following are installation and configuration requirements:以下是安装和配置要求: * OracleAS Adapter for MySAP ERP must be installed on Oracle Application Server. OracleAS mySAP ERP的适配器必须安装在Oracle应用服务器。 * SAP must be configured for inbound and outbound processing. SAP公司必须配置为入站和出站处理。 See Appendix A, "Configuring MySAP ERP for Inbound and Outbound Processing" for more information.见附录A,“配置mySAP ERP的入站和出站处理”获取更多信息。 * OracleAS Technology adapters must be deployed and properly configured.的OracleAS技术适配器必须部署和正确配置。 See Also:另见: Oracle Application Server Adapters Installation Guide Oracle应用服务器适配器安装指南 The examples in this chapter present the configuration steps necessary for demonstrating service and event integration with SAP.本章中的例子目前的配置步骤演示与SAP集成的服务和必要的事件。 Prior to using this material, you must be familiar with the following:这种材料的使用之前,你必须熟悉以下内容: * How to configure OracleAS Adapter for MySAP ERP for services and events.如何配置mySAP ERP的服务和活动的OracleAS适配器。 For more information, see Chapter 3, "Configuring OracleAS Adapter for MySAP ERP" .有关详细信息,请参阅第3章“配置的OracleAS适配器mySAP ERP的” 。 * How to configure a new Application Server and Integration Server connection in Oracle JDeveloper.如何配置个新的应用服务器在Oracle JDeveloper和集成服务器连接。 For more information, see Chapter 5, "Integration with O
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值