武汉大学经济与管理学院 王亚明
基于SOA的中小型企业管理信息系统研究
武汉大学经济与管理学院 王亚明
1.中小型企业内部各信息系统应用集成和协作程度不高。在中小型企业各部门的日常工作中,一方面,各种功能强大的信息系统的应用有效地提高了企业的业务处理能力并增强了管理的效率水平。但局限于当时的技术水平,并没有考虑信息系统的发展空间和各个不同系统之间的连通,形成了所谓的“信息孤岛”。另一方面,各个信息系统之间通常存在很多的相互交叉,甚至重复的信息和数据,造成了信息和数据的重复处理和更新不同步,甚至不一致,既浪费资源又不便于管理。
2.多部门间无法实现系统的互操作,信息交流与共享存在问题。大多数企业的业务部门都拥有各种不同的遗留系统和应用程序,由于系统设计时所运用的语言、平台、数据结构等方面的不同,又缺乏统一的端口设计标准,导致目前的系统在功能上很难实现系统间的互操作。这样,在业务上需要合作的业务部门难以实现系统资源功能上的互补,又会导致部门之间信息交流与共享无法得到充分的保证,给管理工作带来很大的影响。
1.采用SOA架构的意义。SOA(Service Qriented Architecture,面向服务的体系架构)并不是一个新概念,早在1996年,Gartner Group就已经提出了SOA的预言。不过在当时还仅仅是一个“预言”,当时的软件发展水平和信息化程度还不足以支撑这样的概念走进实质性应用阶段。而到了近几年,SOA技术的实现手段已渐渐成熟,相关的理论研究非常活跃,但业界关于SOA还没有形成一个统一的概念,一般认为,它是一种软件开发的体系架构,它以服务(Service)作为软件设计、开发、部署、调用和维护的基本结构和功能单元,这种服务是一种能独立完成一定业务功能的粗粒度模块,对它可以在互联网范围内进行描述、发布、定位、调用和集成。因此,它可以跨越不同的硬件平台、软件平台和网络的边界进行交互,它对外提供完全独立于软硬件平台的接口,隐藏内部实现细节,而且,不同的服务可以聚合成一个新的服务,对外呈现出单一服务相同标准的交换口,这体现了服务与服务之间广泛的交互性和灵活的松耦合性。
在竞争激烈而多变的市场环境下,企业的管理模式本来就很难固化,架构基于SOA的中小型企业管理信息系统能方便地继承这些遗留系统,也可以随着企业规模扩展而方便地实现应用规模的扩展。
2.SOA的体系架构。面向服务的体系架构,如图1所示。
图1 面向服务的体系架构
SOA包含3个角色:服务注册库,服务请求者,服务提供者。
(1)服务注册库(Service Regitry)。服务请求者(Service Requestor)是一个应用程序、一个软件模块或者是需要一个服务的另一个服务。他发起对注册中心的服务的查询,通过传输绑定服务,并且执行服务功能。服务使用者根据接口契约来执行服务。服务提供者在服务注册库发布服务描述,并允许服务请求者搜索注册库所包含的服务描述。服务注册库就是服务提供者与服务请求者之间的中介。
(2)服务请求者(Service Requestor)。服务提供者(Service Provider)是一个可通过网络寻址的实体,它接受和执行来自使用者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发布和访问该服务。服务请求者查找分布在一个或多个服务注册中的服务描述,并利用服务描述绑定或调用服务提供者提供的服务。服务请求者可以是用户,也可以是程序。
(3)服务提供者(Service Provider)。服务注册中心(Service Registry)是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。服务提供者负责创建并在服务注册库上发布服务描述,同时接受一个或多个服务请求的调用消息,并向其提供服务。
3.SOA的主要操作。SOA的操作主要包括以下方面:
(1)服务发布(Publish)。为了被访问,服务的描述信息必须被发布以便服务请求者发现和调用。
(2)服务查找(Find)。服务请求者通过查询注册库去定位符合其需求标准的服务。
(3)服务绑定和调用(Bind)。在获得服务描述信息之后,服务请求者据此去调用服务。
4.Web Service架构的相关技术。目前的Web系统和Web Service架构是SOA的典型实例,通过Web系统和Web Service架构可以了解SOA的具体实施方式。Web Service以分散的形式存在于不同的系统中,它主要采用了以下5种技术:HTTP(hypertext Transfer Protocol),为Web的网络传输协议;XML(Extensible Markup Language),可扩展的标记语言,为Web Service提供了统一的数据格式,包括消息、服务描述以及工作流的描述;SOAP(Simple Qbject Access Protocol),用于交换XML编码信息的轻量级协议;WSDL(Web Service Definition Language),是借助XML来描述一个网络服务或端点,用于定义 Web Service及调用方式;UDDI(Universal Description Discovery Integration),提供了在Web上描述并发现商业服务的框架,是面向Web服务的信息注册中心的实现标准和规范。
在分析现有中小型企业管理信息系统体系结构的基础上并根据当前中小企业的需求特点,给出了一个基于SOA的中小型企业管理信息系统的框架结构,如图2所示。
图2 基于SOA的中小型企业管理系统的框架结构
该框架主要包括部门SOAP服务器和企业业务服务UDDI注册中心。企业门户Web服务器各部门拥有自己的SOAP服务器,用WSDL对自己发布的服务进行描述,同时在企业服务UDD注册中心进行注册。而对于部门内部的服务实现,可采取开发Web Service组件的方式进行。
企业门户Web服务器主要用来对用户进行服务的集成与展现。用户通过门户登录,根据相应的权限,浏览相应的页面,使用具有访问权的服务。用户也可以使用查询工具,在UDDI注册中心进行服务查询,既可以通过UDDI的定位URL静态定位到需要访问服务的SOAP服务器,也可以通过Web服务或者应用程序的方式,动态查找相应的SOAP服务器。
在此框架中,通过在Web服务中集成多个管理信息的应用软件,并提供一个跨越这些应用的业务处理的入口点。通过使用私有UDDI注册中心来获取可提供的Web服务管理信息,并且在企业内部网上调用这些服务。
系统的工作原理。一般由企业信息部门建设和管理Web服务器以及UDDI注册中心。其他部门或相关目录管理机构通过WSDL定义自己的服务,并且在UDDI注册中心完成注册后,所有服务请求者就可以在该框架模型下开展自己的业务了。每个部门拥有自己的SOAP服务器作为服务发布器,而以前遗留系统可以通过适配器连接到SOAP服务器。同时,以后该部门的系统建设可以直接按照Web Service组件的方式进行开发和建设。
系统的具体工作流程。Web服务提供者根据需求信息编写相应的Web服务功能模块,并以WSDL的形式描述这些功能,保存在SOAP服务器中,然后在UDDI注册中心注册。UDDI注册中心更新当前信息或者其他服务的注册信息。
本地用户应用程序(包括终端、PC、手持设备)请求元数据服务体系查询所需服务,元数据服务体系返回客户的所需求的服务信息(如服务的当前地址、参数、功能描述等)。
浏览器向Web服务器发送事务请求和身份认证,服务器接受请求后,浏览器可以调用Web服务,实现对数据的操作和处理,在浏览器处得到服务端的处理结果和相应的消息信息。
此外,在中小型企业管理信息系统内,各服务之间也可以相互调用、相互服务,将网络作为操作平台,实现真正的分布式处理。采用Web服务的方式进行功能组织,在各个部分之间使用SOAP协议进行通信,能较容易穿透防火墙,可很好地解决跨平台的问题。
面向服务架构是一种面向服务的企业应用体系结构,是一种分布式的软件架构模型。在该模型中,任何业务功能都被作为提供的一个服务应用。应用程序的不同功能通过这些服务之间定义的结构和合约联系。因此,应用系统可以看做是一系列服务的集成。
服务是由它对与其他服务交换的消息来定义的。服务与应用之间是联通的,服务可以很容易地在整个部门、企业或者Internet范围内共享数据。面向服务架构定义了部署和管理服务的方式,采用面向服务的架构可以提高可重用性,降低总成本,并可提高快速修改和演化IT系统的能力。
SOA不是一种语言,也不是一种具体的技术,而是一种架构模式,它将应用程序不同功能单元通过这些服务之间定义良好的接口契约联系起来,使得构建在系统中的服务可以以一种统一和通用的方式进行交互。
在整个中小型企业管理信息系统中,体系结构部分的研究是关系到整个系统是否灵活、可靠的关键部分。本文中提出的中小型企业管理的体系结构是基于SOA这种以服务为导向的、松耦合的架构,不仅满足了目前中小型企业管理的需求,而且满足了不断变化的企业管理的需要,具有十分重要的现实意义。