SOA实施的企业应用集成框架

日期: 2012-10-28 来源:TechTarget中国 英文

  随着企业信息化建设和计算机技术的快速发展,为了加强企业内部和企业之间的信息交流,开展企业应用集成(EAI)已成为信息化建设的必然趋势。介绍了企业应用集成和面向服务的架构(SOA),论证了基于SOA实现企业应用集成比较于传统企业应用集成的优越性,在分析了Web服务关键技术和企业服务总线(ESB)的基础上,提出了一种采用基于SOA的企业应用集成的解决方案,对系统的性能测试结果进行了分析。

  引言

  随着企业信息化建设的不断加强和计算机技术的快速发展,以及互联网的深入应用,企业内部和企业之间的信息交流不断增强。由于不同平台、跨域异构系统的存在,导致了部门与部门、系统与系统之间的信息沟通性差,数据共享困难,对原有应用系统与实施的新应用系统不能进行有效集成,在企业内部形成大量的“信息孤岛”。为了让不同的系统之间信息能够共享和集成,业务操作能够有效衔接,实现将众多的“信息孤岛”联系起来的需求,企业应用系统集成应运而生并得到了快速的发展。

  企业应用集成

  1.1 企业应用集成类型

  企业应用集成大致可分为:用户界面集成、数据集成、业务流程集成和服务集成4个类型。

  ① 用户界面集成。用户界面集成是为了向用户提供一个企业应用的统一门户。实现组织内外部人员之间的沟通、协作和信息共享,提高组织生产力;

  ② 数据集成。数据集成通常是应用集成的起点,发生在企业内的数据库和数据源级别,通过从一个数据源将数据移植到另外一个数据源来完成数据集成;

  ③ 业务流程集成。业务流程集成是一种更高级的面向过程集成,通过使用面向信息中间件、企业数据总线和业务流程管理等技术,实现企业内部2个或多个应用系统之间工作流和数据流整合,实现企业内部与上下游产业链之间的业务流程整合;

  ④ 服务集成。在面向服务的架构下,应用间的服务集成一般由企业服务平台这样的基础设施完成,使应用间的关系从网状变为总线结构,减少应用问的耦合度,实现服务的虚拟化。

  1.2 性能比较

  传统的应用集成存在着很多缺点,其中数据集成不是其他应用能共享的格式,扩展困难。业务流程集成只在企业内部进行,不适应企业间业务流程组合。这些集成方式不具备灵活性,集成方法复杂,成本高。而基于面向服务架构的企业应用集成,提供了一个统一的、标准的、可配置的业务集成平台,可以解决不同类型的异构系统之间难以有效整合的问题。具体来说,与传统的集成方法相比,该集成方式的优点有:

  ① 降低复杂度。面向服务的集成方式与点到点的集成相比降低了复杂度;

  ② 增加重用性。通过重用以前开发和部署的共享服务,实现了更有效的应用程序的开发;

  ③ 降低成本。用作可重用服务的遗留应用程序降低了维护和集成的成本。

  二 面向服务的架构

  2.1 SOA体系结构

  SOA有服务提供者、服务请求者和服务注册中心3个角色,有发布、查找和绑定3个操作。服务提供者通过在服务注册中心注册来配置和发布服务,服务请求者通过查找服务注册中心所拥有的服务记录来找到服务,服务请求者绑定并使用可用的服务。

  2.2 Web服务及其关键技术分析

  2.2.1 Web服务

  Web服务是由万维网联盟(W3C)制定的一套开放的标准的技术规范。一般认为它是一种新型的应用程序,向外界提供一个能够通过Web方式调用的接口。具有自包含、自描述以及模块化的特点,可以通过Web发布、查找和调用。从而可以把基于不同平台开发的、不同类型的功能块集成在一起,提供相互之间的操作,可以很好地实现SOA设计理念。

  2.2.2 关键技术

  关键技术包括:

  ① 可扩展标记语言(XML)

  XML对于Web服务是很关键的,是一种基础的技术。XML是松散耦合的并且具有很高的操作性,其本身就是文本,不论是现在的主流计算机系统还是使用了多年的老一代计算机都在使用XML,XML本身并不简单,但是可以用简单的一句话概括:XML就是一个文件或网络数据包中的文本;

  ② 简单对象访问协议(SOAP)

  SOAP是一个基于XML的,在分布式环境下交换信息的、简单的、轻量级的通信协议。由于SOAP消息的格式是完全基于XML标准的,所以可以用来在不同的计算机体系结构、不同的技术平台、不同的语言环境和不同的操作系统之间进行通信,这也是其优势所在。SOAP包括3个部分:封装结构、编码规则和远程过程调用(RPC)机制。即SOAP提供了标准的远程过程调用方法来调用Web服务,并在应用和Web服务之间传送命令、参数和XML文档;

  ③ Web服务描述语言(WSDL)

  WSDL以XML格式描述Web服务接口。WSDL首先对访问的操作和访问时使用的请求响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。简单来说,WSDL是用来描述如何来使用SOAP来调用Web服务的;

  ④ 通用描述、发现和集成规范(UDDI)

  UDDI是在XML和SOAP的基础上定义了新的一层,在这一层,不同企业可以用相同的方法询问对方的服务、描述自己的服务。UDDI提供了通过网络注册、发现Web服务的机制,能为Web服务提供“一次注册,到处发布”的功能。

  三 解决方案

  3.1 企业服务总线

  ESB是由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的协议转换以及基于事件的服务、消息的交互,并且具有适当的服务级别和可管理性。ESB通过采用总线的结构来构建和管理各个应用之间的拓扑关系,使得消息和事件能够在服务器上便捷地进行交互和通信,为客户提供了在分布式异构环境中与服务进行交互的机制。作为传统EAI技术发展的新阶段,ESB并不等同SOA,而是SOA的一个典型的架构实现形式。

  3.2 架构设计

  目前自主研发的信息系统包括项目管理系统、生产管理系统、生产齐套与计划管理系统、物资管理系统、合同管理系统和质量管理系统。这些分步实施的、异构的应用系统造成了企业数据及业务资源分散,共享困难,用户体验不佳。现采用基于SOA架构的方法来实现企业应用系统的集成,将以上系统的核心业务功能转化为具有自描述能力的服务,并通过其间定义良好的接口和契约联系起来。接口通过统一的规划和定义,独立于事先服务的硬件平台、业务逻辑和代码逻辑,构建在各系统中的业务服务可以以一种通用、统一的方式进行交互和共享。

  基于SOA的企业应用集成框架

  基于Web服务的SOA的关键是使用标准的服务接口和松耦合的连接,其具体实现过程如下:

  ① 建立服务注册中心,实现服务的发布和管理:

  ② 对于已有的应用系统业务逻辑进行封装,实现统一接口,以Web服务的形式发布,使其他系统可以通过SOAP进行调用。对于新应用系统,要基于Web服务构件式的开发,并作为业务构件发布预先规划定义的接口服务;

  ③ 将各系统发布的服务进行描述,生成服务的描述文档WSDL,并注册到UDDI注册中心,以便其他应用系统能够发现和访问这些服务;

  ④ 服务请求者发出消息请求。经过解析被封装成SOAP消息,发送给企业服务总线;

  ⑤ 通过ESB的消息转换和动态消息路由机制,用户将请求发送给服务提供者;

  ⑥ 服务提供者接收到请求信息后,提供服务,由服务代理调用服务,服务请求者绑定并使用服务。

  3.3 主要功能实现

  客户端应用集成是实现企业应用门户的关键,企业应用门户客户端集成的流程。

  客户端集成流程

  统一认证系统作为企业应用门户的系统组件,是企业门户平台的核心。其提供的服务有登录状态验证服务、认证标识创建和认证标识验证服务。权限管理组件能实现应用系统的统一权限配置、统一权限管理和分配,拥有独立的授权信息数据库,用于保存用户对于各业务应用系统的授权信息。各应用系统实现的功能有登录状态同步服务和登录状态失效转接服务。

  四 性能测试结果分析

  为评估系统的安全性和稳定性,考察系统在高负载下的执行效率,使用LoadRunner开展了小规模的性能测试。企业门户登录模块200用户以1个用户/s的方式递增并持续加压5 min的测试结。

  测试结果

  图3反映了平均事务响应时间指标和吞吐量指标与用户数量的变化趋势一致,平均事务响应时间越小,说明系统处理的速度越快。而吞吐量越小,说明对系统的带宽依赖越小。从图3中可以看到,4 min时平均事务响应时间达到峰值为9.2 s,当用户数量达到峰值时,平均事务响应时间均值为7.5 s,基本满足系统的性能要求。3 min左右吞吐量达到峰值,为4116620 B/s,刚好为用户数量达到峰值时,远远低于100 M/s的局域网带宽,系统不存在带宽瓶颈。

  五 结束语

  上述提出了一种基于面向服务架构的企业服务总线的体系架构模型,这种集成方式更好地体现了连接松散耦合、服务位置透明、应用协议独立和调用异步执行等SOA的特点,能够很好地支持和适应业务需求的扩展,具有广阔的应用前景。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 架构安全模型开发方式探索

    维护一个强大的安全模型,以及相关合规和管控的需求越来越重要,特别是在如今黑客和入侵几乎每天都会发生的情况下。