面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。本文对此进行了一些研究,文章是一篇高工论文发表范文,主要论述了基于SOA的应用集成中间件研究。
摘 要:概述了面向服务体系结构(SOA),并讨论了其中的关键技术。分析了传统中间件设计中存在的不足,给出了具有高度可扩展性、基于SOA的应用集成中间件模型。
关键词:中间件,SOA,服务
一、引言
随着信息化建设的不断发展,各个行业产生了大量的“软件组件”,例如ERP,CRM,OA,CAD,电子商务和电子政务软件组件。作为连接各应用系统之间的胶合剂,一个基础软件的组成部分,中间件技术逐渐成为解决“信息孤岛”问题的有效技术。具有可扩展的体系结构的中间件尤为重要。据ZapThink调研公司预测,今后几年,基于SOA架构的中间件产品将成为网络化商业系统的主要设计思路。
二、应用集成中间件技术
1. 中间件技术
中间件(middleware)是位于操作系统、网络和数据库之上,应用软件之下的一类软件,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统、网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。
2. 应用集成中间件
应用集成中间件属于应用中间件的一种,包括基于消息代理的企业应用集成框架和技术适配器与应用适配器。它可满足E-Commerce、ERP、CRM、SCM、OA、数据库、数据仓库等重要系统之间无缝共享和交换数据的需要。但是,传统应用集成中间件是针对特定的多个系统而开发的,扩展性差。
3. 基于SOA的应用集成中间件
SOA概述:为提高计算的高效性、可用性、规模性,系统通过添加新的服务来不断的升级,这样面向服务的体系结构(SOA)就应运而生了。迄今为止,对于SOA还没有一个公认的定义,许多组织从不同角度和不同侧面对SOA进行了描述;W3C将SOA定义为:“一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程”。
SOA的关键是“服务”的概念,W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。在SOA架构下,以服务或组件形式出现的业务逻辑可以被共享、重用和配置,各个系统通过标准化的服务接口连接起来。以服务为核心,SOA定义了3个主要参与者之间的交互模型:服务提供者、服务请求者、服务代理。
SOA的特点是标准的接口定义、灵活的消息转换、松耦合以及平台无关性。如BEA的SOA有3个层次:基础层——由只需少量改动的ERP、SFA等标准核心应用构成;企业基础架构服务层——用于集成和扩展底层应用,并且作为公用层提供安全服务和访问管理,这些公用服务能够重复使用;定制门户应用层——可以量身定做,满足特定的业务需求。
在基本SOA概念模型图中,关键元素是机器可读的服务描述,典型的是描述服务行为的不同方面的文档收集。把这些描述文档通称为“服务元数据”。服务元数据允许请求者(服务使用者)选择一个服务并使用。
理解怎样完全有效利用元数据,对与服务描述关联的元数据的类型分类很有帮助。区分三个主要的服务信息类型:
服务位置和联系信息,例如URL地址,还有其他象技术支持号码等相关联的要点。
服务的技术特征,包括通信协议、服务能力和需求的质量等等。
服务的语义或业务特征:服务完成什么,怎么完成,对业务伙伴的需求是什么等等。
在SOA基本模型中,发现服务基于匹配一组适合客户端需求的、在注册中心已经发布的描述的过程。请求者这样找到技术上和语义上度符合需求的服务。本质上,客户端定义一组静态的需求并发现合适的服务来满足需求。
三、中间件设计
在SOA中,不同的应用也能交换数据,并且不需考虑每个应用是用什么编程语言开发的或在什么操作系统下运行。在这种模式下,一个应用软件或一个应用软件的一部分是一种服务,其它应用和客户可在无需编写大量代码的情况下使用这些服务。复杂的服务也被封装起来,并体现为WEB形式。
核心层是整个应用集成中间件系统的最底层也是核心层,包含了支撑中间件正常运行的基础框架、基本类库等,同时还需要从底层上实现一个ESB(企业级服务总线Enterprise Service Bus)从而能够保证将外部的各类软件插接到上面实现应用集成。ESB能够实现到何种程度也就意味着最终能够实现多大程度的应用集成。
基于SOA的应用集成中间件首先是一个中间件系统,因此必须提供一个外部可以对访问并进行配置甚至直接操作的接口,比较主流的当属portal。通过一个企业级的门户,操作人员可以直接通过浏览器登录、浏览或者使用上面的各种服务对应的功能。这个门户具有动态配置与发布的能力,一站式登录的能力,当然也应该有较强的交互能力。SAP的NETWeaver就具有一个非常强的Portal。
四、总结
基于SOA的应用集成中间件不仅秉承了传统中间件的优点,将不同环境下的不同应用进行集成,共享数据,使得资源得到充分的利用,提高生产力,而且增强了扩展性,易于扩展新应用。然而,SOA本身尚在不断发展中,在SOA环境中,其应用组件之间是一种松散耦合的关系,要使一个组件很容易的与其他组件进行对话,并保证系统的效率、可靠性、可控性和安全性,是需要深入并加以解决的问题。
参考文献:
[1]黄俊斌,汤德佑.基于SOA的数据交换中间件研究[J].株洲工学院学报,2006,20(6),55-57
[2]叶宇风.基于SOA的企业应用集成研究[J].微电子学与计算机,2006,23(5),211-213
作者简介:高峰(1981-),男,河北定州人,本科,工程师。
研究方向:计算机应用。
高工论文发表期刊推荐《自动化技术与应用》主要报导国内外自动化控制理论及应用、过程控制与自动化仪器仪表、电气自动化、模式识别与智能控制,综合办公自动化、系统仿真、系统工程建模、控制与决策、生物控制理论与技术、计算机与管理信息系统、计算机图形学及辅助设计、人工智能与专家系统以及其它自动化领域的相关论文。