APP下载

基于SOA的校园信息化平台设计与仿真

2010-08-23赵芳云

制造业自动化 2010年11期
关键词:应用程序架构校园

赵芳云

ZHAO Fang-yun

(贵阳学院,贵阳 550001)

0 引言

随着现代通信技术、计算机网络技术和高校信息化的飞速发展,高校信息化建设正在向全面数字化的方向迈进。许多高校提出了校园信息化统一平台的方案,以构成统一的用户管理、统一的资源管理和统一的权限控制。通过该平台,管理人员能高效、规范地进行管理,教师能及时、快捷地进行教学,并随时和学生保持一定的互动,学生能方便、准确地学习和应用先进的科学知识,从而提高教学质量、办学水平和办学效率[1]。

由于传统的软件开发使用的平台、开发工具、操作系统在结构上的偶合,使得过去校园内位置散的各种管理系统如:科研管理系统、教学辅助系统、财务管理系统等逐渐形成了“信息孤岛”。为了实现全校的的管理过程自动化,许多高校投入了大量的人力和财力来进行系统集成,许多高校和企业一样,采用传统的企业应用集成(enterprise application integration,EAI)解决方案,EAI有4种类型:数据集成,业务逻辑集成,函数或方法集成,用户界面集成[3]。EAI采用紧密耦合的集成方式,忽视了流程设计,不利于企业流程重组和调整,缺乏可扩展性和灵活,难以适应现代业务快速变化的需求,因而不能实现必要的灵活性和适应性[4]。随着高校的发展,学校可不希望扔掉他们重来,重来的代价太高,也显得很不科学,EAI应用要求新的软件系统不再是从底层做起,而是依据高校逻辑需求重新组织己有的数据存储,将现有的数据和事务通过新的渠道呈现给广大用户[5]。

随着计算机技术发展,Web Service为实现EAI提供了一种全新的机制,它为本地和远程服务的定义、发布和访问提供了一整套开发标准的方法。它能彻底地改变传统EAI中点对点的集成方式。本文采用基于Web Service的面向服务的体系结构(service oriented architecture,SOA)的软件设计方法能够对服务流程化的组织来构建分布式系统,在不改变学校各种应用底层架构的基础上,可以很好地解决上述问题,它支持在中间层以服务模块方式实现的解决方案,当多个运行在不同平台和技术下的应用程序需要相互通讯时,这种SOA结构尤其适用。

1 基于SOA架构的校园信息平台

1.1 基于SOA的校园信息化平台设计

SOA是一个组件模型,它将应用程序的不同功能单元通过它们之间定义良好的接口和契约联系起来,这些功能单元就称之为服务;而接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在各种各样的系统中的服务可以以一种统一、通用的方式进行交互。

通过采用SOA框架,将传统校园信息平台的集成模式转变为应用系统之间基于标准协议对话的模式,使应用系统可以通过校园网进行数据、信息及服务的交换。通过采用Web Service,服务的内部实现细节被封装在通过SOAP/WSDL传递的信息流之中,解决了异构应用系统之间的信息交换和集成的问题。克服了传统校园信息平台建设模式集成困难、结构复杂、兼容性差、厂商依赖性大、成本过高等缺陷。

对于一个学校来说,选择SOA是非常关键的,因为实施SOA策略不仅仅是开发一个小软件那么简单,它涉及学校的方方面面,是对业务流程和所有信息系统的整合,涉及将来若干年的业务模式、部门之间的协作、系统的整合。目前,大多数单位实现了单位内部信息资源的集成应用,大多采用直接建立系统之间连接的方法,即开发应用程序实现信息共享和集成,应用系统之间需要清楚对方的结构,然后通过系统开发获得需要的数据信息,系统之间联系过于紧密,容易造成“牵一发而动全身”的局面。有的用户干脆全部重新开发新的信息系统,这样暂时或者局部解决了问题,但可能又会造成新的问题,同时资金、人力投入和工作量非常巨人,效果并不理想。要追求最大程度的信息集成与共享,就要考虑基于SOA的信息资源整合[6,7]。

当数据分布程度非常高时,使用SOA将操作数据的代码放置在与数据较近的位置,然后将其封装为服务,以供在任何地方进行访问

当希望功能具有高可用性时,使用SOA将功能作为服务部署,在提供的多个冗余程序中,若其中一些不可使用,可以使用其他的对等服务。

当应用程序的各个部分需要独立开发、维护和更新时,使用SOA只要保持各个部分之间的接口,每个团队就可以使用其喜爱的技术按照自己的计划实现各自的部分。

当多个应用程序需要重用功能和数据时,使用SOA共享的代码及重用功能,可使各个独立应用程序重用一组共享数据,而无需将数据分发给所有应用程序[8]。

对于一个系统,能用简单的SOA解决的,就不必选择复杂的SOA。

1.2 贵阳学院信息平台结构框架

对基于SOA的可扩展校信息平台实现基于“把握趋势、兼顾现实、统一规划、逐步实现”的方针。系统整体采用SOA来实现各个子系统之间的通信;在各个子系统中,可以保持面向对象的设计来实现模块功能。这样,一方面使各子系统的业务部门能紧密联系,增强各子系统的安全性和稳定性,合理利用原有资源;另一方面可以逐步实现整体向面向服务体系结构的过渡,不至于操之过急,对日常工作造成影响[9]。

各模块具体开发实现过程主要包括4个部分:首先在SOA下建立Web服务应用程序,其中包括建立Web服务框架、创建Web服务的服务接口、实现数据连接;其次要建立Web服务的客;户端应用程序;再次是数据库的设计;最后实现系统调试与应用。根据贵阳学院实际情况与业务要求,结合SOA思想与Web服务实现技术,设计该校信息化平台系统结构如图1所示。

图1 基于SOA的学校信息化平台系统结构

2 基于SOA构架的校园信息平台实现

2.1 服务封装

校园信息平台的实现很少从全新的项目开始,校园信息 平台环境的创建几乎总需要涉及到原有遗留系统的集成问题。在基于SOA的校园信息平台的体系结构中,集成的方法是将它们分解成服务、操作、业务流程和业务规则,并根据原有系统提供的功能把它分解成多个Web服务,每个服务都用Web Service技术进行封装。从服务使用者的视角去看,只能看到与一个Web服务进行交互,而Web服务背后是使用什么样的技术细节是无需知道的,这样可以屏蔽系统的实现技术,以标准方式将它们集成在一起。

2.2 公共服务总线

校园信息平台应用系统之间的交互、对话和连接功能主要通过PSB来实现,它主要由 2部分组成:消息路由器和一系列Web服务静态客户桩程序。

2.3 服务引擎

应用系统提供的通常是细粒度的 API 接口,这与SOA思想中服务单元粗粒度原则相矛盾,同时难以满足校园信息平台高可用性、扩展性、灵活性的需求。因此,必须通过服务引擎重新组合使应用系统暴露具有一定粒度的服务接口。

3.4 信息平台中的办公系统SOA实现

开发工具为Web服务的开发工具采用.NET,使应用程序具备跨语言、跨平台的能力。数据库采用SQLServer 2005。下面以办公系统SOA的简单实现为例,介绍如构建SOA服务,这里采用了基于Apache的Axis2Java编程技术来进行实现。它的主要实现过程为:

1)创建实现服务的类。

2)创建Services.xml来解析web Service。

3)将其打包成一个*.aar文档(Axisrchive)。

4)部署web Service。

首先先实现一个评估服务类(Evaluate Service),码如下:

然后打包成为EvaluateService.aar文件,就可以为外界提供评估服务了。

例如建立一个TestEvaluteClient类检验一下该服务:

2.5 与传统校园信息平台对比

目前,基于SOA的校园信息平台解决方案已经在贵阳学院的校园信息建设中得到了初步应用。在实际应用过程中,该架构主要表现出以下优点:

1)摆脱了面向技术的解决方案的束缚,朝着面向服务的方向发展,与其他架构相比更具弹性,能够更快地响应校园应用和需求的变化,满足未来学校的业务发展需求。

2)较好地集成了原有应用。无须重构原有系统,只须将原有应用系统封装成标准的服务组件,通过这些服务的接口和名称就可以访问或合并构建在不同的机器上、运行在不同操作系统中的遗留系统,有效地保护了原有资本。

3)服务设计松散、位置透明,服务协议是独立的,不必与特定的系统或网络相连接,服务间的通信框架使服务重用成为可能。

4)统一了业务架构,可扩展性大大增强。在校园信息平台的基础架构上,不同应用系统之间的开发和部署将变得更加一致。现有组件、新开发组件和从厂商购买的组件可以合并在一个框架内。

5)通过采用基于SOA的校园信息平台结构,开发人员可以把精力集中于服务流程的构建和数据标准的制定,而无须事先关注有关集成或应用程序的底层实现问题,使学校摆脱了对具体厂商和具体技术的依赖,加快了系统集成和开发的速度,降低了信息平台园的建设成本。

6)基于SOA构建可扩展的校园信息平台,与传统的校园信息平台在各模块的功能上区别不是很大,它的侧重点在于该系统的实时性、安全性和可扩展性。当某个部门业务变化需要更改内部系统时,只要保证使用SOA的通用接口与整个系统的通信,就不会影响到整个系统的运行。因此子系统在对内部系统改造时的顾虑大大减小,新系统的安全性也得到保障。另外,当系统需要扩展业务时,子系统可以很轻松地增加到校园信息平台中来,实现与其他子系统之间良好的通信。在以Web服务为前提的情况下,运用SOA可以实现安全快捷的消息传输,使各业务部门能够灵活变更,任意扩展服务,保证整个系统协调工作不受影响,从而提高整个校园信息平台的功能。

3 结束语

传统EAI技术点对点的集成方式不能灵活、低代价地实现异构系统的集成,难以适应企业快速的业务变化需求。SOA架构提供了一种松耦合的服务模式,大大降低了应用系统的集成和维护难度,Web Service技术,能够去除原来处在不同平台,使用不同对象技术的CORBA,DCOM,EJB构架的实现差异,将其统一在一个Web Service技术层面上,这也使得它成为现阶段构建基于SOA架构集成系统的重要手段。然而Web Service技术现在尚未成熟,应该进一步针对面向服务的SOA体系架构的其他实现技术,进行研究和探索,比较其各自的优势和适用范围,在校园网信息平台的构建中,能够根据原有信息系统的实际情况,灵活选用不同的SOA技术手段,高效率地实现校园信息集成。

[1]杨勇,杨薇薇.Web服务的一种通用集成模型的研究[J].华中科技大学学报:自然科学版,2004,32(1):44-46.

[2]吴渝.基于EAI的企业数据集成技术的研究[J].微计算机信息,2006,22(15):32-34.

[3]李建华,陈松乔.面向服务架构参考模型及应用研究[J].计算机工程,2006,32(20):100-102.

[4]OASIS SOA Reference Model TC.Mapping of W3C Webservice Architecture Work to SOA RM work [R].USA,2005.

[5]Hammer K.Web Services and Enterprise Integration[J].EAI Journal,2001,11(3):12-15.

[6]Werawarana S.Web services platform architechcture SOAP,WSDL,WS-Policy,WS-Addressing,WS-BPEL,WSReliable messaging and more[M].New Jercy:Prentice Hall,2005:101-120.

[7]柴晓路.Web服务架构与开放互操作技术[M].北京:清华大学出版社,2002.

[8]田林,于建军,王建白,等. Web Service技术在教育资源整合中的研究与实现[J].计算机工程与设计,2004,(12):2136-2144.

[9]吴敏,刘小强,陈家训.基于Web服务的高校管理系统集成框架[J].东华大学学报,2004,(2):28-32.

猜你喜欢

应用程序架构校园
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
WebGIS架构下的地理信息系统构建研究
校园的早晨
春满校园
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序