基于SOA架构的高校实验室网站设计

2011-06-02 01:33西安欧亚学院基础部李玉翠
电子世界 2011年13期
关键词:中间件客户端架构

西安欧亚学院基础部 李玉翠

引言

随着信息化进程的不断深入,网络技术和校园信息化的快速发展,大量的信息都存储在许多不同的数据源之中,建立完善的、功能强大的实验室网站建设已成为目前我校的一个迫切需要解决的问题。目前,我校实验室已经有可以使用的平台,但是系统的架构采用的是传统的BS结构设计实现的,业务代码和展现层代码紧密耦合。由于功能的增加,我们面临一个继续向已有系统增加功能模块和重新设计新系统的问题。经过仔细分析论证,我们决定抛弃已有的系统架构,采用SOA和Web Services技术重新构建网站。

一、总体设计思想

图1 SOA架构模型设计

设计一个好的网站需要一个很好的系统设计思想,根据我校实验室的需求,本网站的设计从较高层次看,其主要目的是网站要有较高的信息发布功能,并以松耦合原则实现数据间的共享,以满足大量在线用户的信息传递顺利,而且操作简单,方便。系统后台对于系统管理员,也力求尽最大可能方便其进行操作。

我校实验室架构采用传统的B/S系统,使用服务器来承载了大部分或者全部的数据,所以系统的升级只需要服务器进行即可,客户端不需要做任何的同步,因为客户端只是以浏览器作为宿主,服务器在Unix还是windows上都没有关系,客户端只要可以访问Internet就可以访问,浏览器对系统性能的要求比较小,所以客户端可以更加的广泛。但是B/S系统架构中有着很大的缺陷。客户端和服务器之间并没有真正的互操作,业务代码和展现层代码紧密耦合。通过使用SOA框架,可以将业务服务构造成现有组件的集合。使用这种新的服务只需要知道它的接口和名称。服务的内部细节以及在组成服务的组件之间传送的数据的复杂性都对外界隐藏了。

二、SOA架构模型设计

SOA是一个组件模型,它将应用程序的不同功能单元服务,通过这些服务之间定义良好的接口相互联系起来。由于我校实验室有各种各样的系统、应用程序以及不同时期的技术的系统体系结构,所以异构和改变将变得非常困难。集成来自多个厂商跨不同平台的产品更是一大难题。因此,随着功能的增加,这些问题,需要运用SOA面向服务的体系结构加以解决。使系统具有较强的重用性和扩展性。

如果我们选择Hub的模式来构建SOA基础架构,可能会出现以下问题。首先,整个SOA架构的性能,如果每个服务的请求都经过中央Hub的中转,那么Hub的负担会很重,速度会随着参与者的增多而愈来愈慢;其次,这样的系统会很脆弱,一旦Hub出错,整个SOA架构都会瘫痪;最后,这样的架构会破坏SOA的开放性原则,参与者运行在一个相对封闭的环境中,扩展起来十分麻烦。因此,我们使用Web Services作为系统与外部交流的接口,数据库中间件使用hibernate的SOA架构模型。设计了如图1,图2所示的SOA架构模型设计和系统类图。

图2 系统类图

1.Web Services服务

Web Services是SOA一种重要的实现方式,提供了一种分布计算的方法,通过网络集成异构的应用,与所要实现语言、操作系统和硬件环境无关,服务提供者和请求者之间松耦合,基于开放的标准提升了不同应用的互操作能力。Web Services是自描述的,通过Web发布、定位和调用数据。Web Services是一种非常适合实现SOA的技术,Web Services是自描述和模块化的应用程序,通过服务暴露业务逻辑,这些服务可以在网络上被发布、发现并调用。使用Web Services作为系统与外部交流的接口,能够使新的系统和别的系统之间保持松耦合的关系,保持较高的可扩展性。

本文中使用Web Services作为系统与外部交流的接口,Web Services负责按照客户端提交的请求,并按照业务逻辑提取、过滤和处理数据,并将处理完的数据包返回给客户端进行显示,相当于程序架构中封装了业务逻辑层。本文中主要设计用户身份验证Web Services和业务数据Web Services。在系统中都是作为类来实现的。

2.数据库中间件hibernate

根据我校实验室的环境和功能的需求,数据库中间件使用hibernate,使用业务需求发生变化而数据库操作代码的改动降到最低,开发人员只需要改变相应的配置文件,即可完成数据库表到类之间的映射。交互简单,具有很好的扩展性和灵活性,这使得作为服务的业务应用程序的分发更加方便,而这种服务对于任何人在任何时间、任何地点和任何平台上都是可访问的。基于Web Services的松耦合系统很容易通过重新配置实现功能元素地替换。

三、结束语

本文从实际需求出发,在查阅了大量相关文献的基础上,设计了基于SOA架构的模型设计和系统类图,该系统是基于异构平台的应用,系统的页面和服务开发相互分离,这就使得在需求确定的情况下,系统的表现层和服务层的开发能够同时进行,灵活的架构,大大减少了系统开发周期。可以确定哪些Web服务能够达到最佳的性能,并且不会发生SOA超载的问题。尤其是使用Web Services作为系统与外部交流的接口,Web Services能够充分利用Internet上已普遍采用的HTTP作为传输的底层协议,使用户所用的信息服务都能够成为随取即用的资源,以服务的形式对外发布,以松耦合原则实现数据间的共享,并可将各种服务快速整合。本架构所不足的是Web Services通常需要大量的CPU资源和内存资源,使用Web Services,XML数据的传输需要经过网络,XML数据的传递通常数据量要比二进制的协议要大的多,会耗费一定的网络资源。

[1]齐德昱,胡镜林,张鹏.多数据库中间件的模型研究[J].计算机工程与设计,2005(10):2602-2604.

[2]于振梅.基于SOA模式的企业架构设计[J].中山大学学报论丛,2006,26(8):98-100.

[3]叶宇风.基于SOA的企业应用集成研究[J].微电子学与计算机,2006,23(05):211-213.

[4]http://www.vldb.org.

猜你喜欢
中间件客户端架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
如何看待传统媒体新闻客户端的“断舍离”?
RFID中间件技术及其应用研究
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
基于Android 平台的OSGi 架构中间件的研究与应用
WebGIS架构下的地理信息系统构建研究
一种基于FPGA+ARM架构的μPMU实现