论文部分内容阅读
摘 要:本文指出了应用集成对于高校管理工作的重要性,并分析了传统集成技术的缺陷,提出了基于面向服务的架构(SOA)的高校应用系统集成解决方案及其优越性,最后给出了该集成平台上服务的定义与调用过程实例。
关键词:SOA 应用集成 数字化校园
中图分类号:TP311 文献标识码:A
文章编号:1673-8454(2007)09-0027-03
一、引言
1.高校建立应用集成平台的意义
随着计算机的普及与网络信息技术的飞速发展,信息化建设已成为当今高校重要的建设方向,各个高校的不同职能部门先后拥有了自己的应用管理系统,管理工作越来越方便。同时,各系统之间的数据交换需求也越来越强。例如:财务处在发放人员工资时需要人事处的人员薪金信息和后勤部门的房租、水费、电费等扣款数据。但是由于缺少整体规划和统一信息管理标准,各部门管理系统之间的数据流通矛盾日渐突出,“信息孤岛”现象越来越明显。常常由于数据更新不及时的原因,出现工作上的失误。具体问题如下:
(1)各部门的信息管理或办公系统以提供局部运算功能为主要目的,缺乏完整统一的数据标准,本部门产生的数据不能直接被其他部门使用;
(2)不同的应用系统由不同的人员在不同时期开发,兼容性及开发水平等方面差异很大;
(3)数据管理权责不明确,不同部门间缺少相互制约机制,基础数据信息统计不完全,不准确,更新的速度不一致;
(4)用户进入不同的系统查询信息需要进行不同的身份验证,操作起来不方便;
鉴于以上分析,将不同的应用系统进行集成,在全校范围内实现数据的互转互通、以及为用户提供更加方便快捷的信息查询方式,已经成为高校信息化建设迫在眉睫需要解决的问题。这不仅能够节约信息化建设成本,而且可以提高学校的管理效率,真正达到校园信息化,管理智能化。
2.高校应用集成的概念
高校信息系统集成是企业应用集成(EAI)在特定领域的应用。主要是指通过整体协作优化将分布在校内的各部门的业务进行整合,对各个应用系统的数据进行集成,在各应用系统之间建立起可供数据交流和沟通的纽带,保证校园内分布的信息资源能够共享,数据能畅通流转。同时,在此基础上更进一步地将信息以统一的方式展示给广大师生和行政管理人员,为校园内分布的数据资源提供一个统一入口,使用户可以透明地访问学校的整体信息,为学校的教学、科研和管理提供有效及时、全面一致和开放方便的数字化服务。
这些集成方法难于快速适应基于企业现代业务变化不断产生的需求。有没有更好的方法来架构应用集成系统平台呢?一种前几年就提出但是现在才发展起来的新的架构方法SOA,能帮我们解决这个问题。
2.面向服务架构的应用集成方法
SOA是英文Service-Oriented Architecture的缩写,即面向服务的架构。W3C将SOA定义为:“一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程”。
围绕着服务,在SOA中,存在着三种角色:服务提供者、服务请求者、服务注册中心。这三种角色之间的关系构成了面向服务架构体系的运行模式。服务提供者提供符合标准接口的服务,并将它们发布给服务注册中心;服务注册中心发布服务所在位置,并在使用者请求服务时定位服务; 服务请求者通过服务注册中心调用服务。
由于所有的服务都基于统一标准的接口,基于标准的服务成了应用间的集成点。服务的编排和组合增加了服务的灵活性、重用性和集成性。这样既吸取了传统集成方法的优点,又能避免其因紧密耦合而带来的缺点。新功能的增加和异构系统的集成都更加方便与灵活。这种技术特性给高校应用集成带来了新的集成模式。只要将高校中各应用管理系统的功能通过“服务”的方式“暴露”出来,就可以非常容易地将这些功能都集成到高校的门户站点中,或者组织新的业务流程。从而充分利用现有资源,降低新应用软件的开发及维护成本,提高重用率,建立一个标准统一、通用性强、功能扩展与日常维护都简单的应用集成平台系统。
三、方案设计
1.结构框架
根据我校实际情况与业务要求,结合SOA思想与Web Service实现技术,设计我校应用集成平台系统结构如图1。
该方案共由六层组成:表示层、业务层和服务层、数据层、基础设施层、服务保障层。各层对应的功能描述如下。
(1)表示层:为访问系统的用户提供接口。主要包括两类用户,一类是访问集成平台功能的教职员工、学生等,他们的目的是查询信息,主要采用的是用Web浏览器调用其他部门的信息系统。这类用户可根据自己的需要选择在自己登陆进入后的界面中放置自己喜欢的信息查询入口; 另一类用户是各系统的管理者,这一层主要为该类用户提供操作界面,以完成所负责系统数据的更新与维护。
(2)业务层:该层主要按客户端的输入完成具体业务逻辑的实现。
(3)服务层:该层是基于SOA的数据集成系统中的最重要的一层,主要功能是将系统所提供的服务进行接口定义,以及完成服务的发布与查询。
(4)数据层:主要是各个系统的数据库,以及全校的公共数据库。该层主要负责为业务逻辑层的各类功能模块提供相应的数据支持。其中公共数据库从分布的各个子系统中及时地、自动地获取最新的数据更新情况,保证数据的一致性和完整性。
(5)基础设施层:主要是指网络、计算机系统等基础设施。
(6)服务保证层。主要处理有关Web服务调用的安全性以及协调事务,保证web服务消息的可靠传输。[2]
2.实现技术
SOA作为一种架构技术,它松散耦合的接口特性使它独立于任何具体技术之上。但是由于我校要构建的基于SOA架构的应用集成平台不仅要求具有松散的耦合性和协议通用性,还要求具有高度的可集成性,并且能够在异构系统之间交互,为了达到这一目的,考虑到J2EE的平台无关特性,决定采取在J2EE平台上开发Web Services技术来实现我们所设计的高校应用集成平台。J2EE侧重于应用逻辑的实现,而Web Services提供了一种在应用边界处包装事务的新方式,它侧重于对外交互功能的封装。一方面可以通过J2EE提供的成熟技术来保证业务逻辑稳定、高效的实现,另一方面Web服务使应用功能得以通过标准化接口(WSDL)提供,并可基于标准化传输方式(HTTP和JMS)、采用标准化协议(SOAP)进行调用。同时,由于J2EE对Web服务的支持,使得我们能方便、快捷地对外发布或调用Web服务。因此,在J2EE平台上以Web服务方法来开发基于SOA架构的高校应用集成平台,可以满足我们对可靠性、适用性、兼容性、安全性、可拓展性等方面的需求。
基于SOA思想设计的应用集成平台系统中最关键技术就是服务的设计,在实施时应注意以下事项:避免过度使用Web服务、尽量使用提供某项特定的业务功能的粗粒度接口来开发服务、服务的设计上也要以产生最少的网络通信量为目标。
3.安全策略
应用集成平台不仅是整个校园网络信息枢纽,还应该成为校园网的安全枢纽。要避免越权操作、非法操作、窃取系统机密信息等威胁安全的事件发生,在该系统中可采用以下策略来保证系统的安全性。
(1)严格按统一的标准来封装平台中集成的各个应用系统的功能及信息,只将接口暴露给使用者。
(2)基于角色保护。只有赋予了特定安全角色的用户才能够对资源进行访问。对登陆平台的各类用户的存取权限进行严格控制。
(3)设置防火墙。在外网与平台之间设置防火墙,减少来自外界的侵害。
(4)服务注册中心建立在校园网范围内,这样既安全又能保证运行的速度。
4.实施阶段划分
根据以上的设计及我校实际情况决定分步实施、以逐步推广:
第一阶段:数据存储阶段。此阶段应明确不同管理部门的职能,完成数据标准的制定、以及各系统数据库的建立。其中组织机构代码和数据代码的表示以教育部出版的《教育管理信息化标准》为基础,以便于以后与教育部或其他高校接轨。
第二阶段:服务开发阶段。主要完成服务接口标准的规定、服务的发布与实现。
第三阶段:应用整合阶段。能够实现数据共享,数据互通,学校各业务正确流转。
第四阶段:门户建设阶段。给用户统一的信息查询入口,并进行统一的权限管理。
四、实例分析
基于以上分析,下面以科研管理子系统调用人事管理子系统中专家管理服务为例来介绍基于SOA架构的高校应用集成平台中服务的定义与交互过程。本文在此采用的是J2EE中的JAX-RPC规范推荐的JNDI(Java Naming and Directory Interface,Java命名和目录接口)方法来查找服务接口。通过JNDI,能够方便简单地调用Web服务。
1.两个系统间服务交互过程
两个系统间服务调用过程如图2所示。其中科研管理子系统根据输入的查询条件形成相应的SOAP消息后,向UDDI注册中心发出查询请求;UDDI中心对其请求信息进行分析后根据WSDL文档内容,查找到相应的服务描述,再将此服务描述信息发给科研管理子系统;科研管理子系统再根据服务描述文件上所提供的端口地址等信息向人事管理子系统发出服务请求,人事管理系统收到请求后完成相应查询功能后,将查询结果以SOAP消息响应的形式返回给科研管理子系统。
2.服务接口的定义
在此,我们将设专家信息查询服务的命名为Expert-Service,具体服务的接口定义如下,布署与调用过程略。
package hzau.rsc.webservice.expert;
import java.rmi.Remote;
import java.rmi.RemoteException;
/*专家信息查询Web服务接口**/
public interface ExpertServiceextends Remote
{
public boolean findexpert(string name) throws java.rmi.RemoteException;
}
注意: web service端点必须实现java.rmi.Remote接口,并且在端点接口中的每一个方法都必须抛出java.rmi.RemoteException异常。
五、结束语
目前关于异构系统的集成技术正在逐步发展,SOA与Web Services技术也是当今研究的热点,将面向服务的架构思想应用于高校应用集成平台设计方案中,能较好地解决高校中不同时期构建的应用系统之间难以沟通的问题,可以克服传统集成方法中数据协调困难、应用系统之间耦合紧密的缺点,不仅能节省开发成本,而且能够独立于开发语言和跨越不同的平台,为高校管理业务的变更提供了很好的灵活性与良好的再开发环境,具有较大的实用价值。本文需要进一步加强的工作和笔者计划进行的研究重点是深入研究该平台的安全性及传输速度问题。
参考文献:
[1]柴晓路.web服务架构与开放互操作技术[M].清华大学出版社,2002
[2]刘松.面向服务的企业应用集成架构[J].吉林大学学报,2005(11):657
[3]陈亚强.在J2EE组件中引用和查找Web服务http://searchwebservices.techtarget.com.cn/tips/252/2103252_4.shtml
关键词:SOA 应用集成 数字化校园
中图分类号:TP311 文献标识码:A
文章编号:1673-8454(2007)09-0027-03
一、引言
1.高校建立应用集成平台的意义
随着计算机的普及与网络信息技术的飞速发展,信息化建设已成为当今高校重要的建设方向,各个高校的不同职能部门先后拥有了自己的应用管理系统,管理工作越来越方便。同时,各系统之间的数据交换需求也越来越强。例如:财务处在发放人员工资时需要人事处的人员薪金信息和后勤部门的房租、水费、电费等扣款数据。但是由于缺少整体规划和统一信息管理标准,各部门管理系统之间的数据流通矛盾日渐突出,“信息孤岛”现象越来越明显。常常由于数据更新不及时的原因,出现工作上的失误。具体问题如下:
(1)各部门的信息管理或办公系统以提供局部运算功能为主要目的,缺乏完整统一的数据标准,本部门产生的数据不能直接被其他部门使用;
(2)不同的应用系统由不同的人员在不同时期开发,兼容性及开发水平等方面差异很大;
(3)数据管理权责不明确,不同部门间缺少相互制约机制,基础数据信息统计不完全,不准确,更新的速度不一致;
(4)用户进入不同的系统查询信息需要进行不同的身份验证,操作起来不方便;
鉴于以上分析,将不同的应用系统进行集成,在全校范围内实现数据的互转互通、以及为用户提供更加方便快捷的信息查询方式,已经成为高校信息化建设迫在眉睫需要解决的问题。这不仅能够节约信息化建设成本,而且可以提高学校的管理效率,真正达到校园信息化,管理智能化。
2.高校应用集成的概念
高校信息系统集成是企业应用集成(EAI)在特定领域的应用。主要是指通过整体协作优化将分布在校内的各部门的业务进行整合,对各个应用系统的数据进行集成,在各应用系统之间建立起可供数据交流和沟通的纽带,保证校园内分布的信息资源能够共享,数据能畅通流转。同时,在此基础上更进一步地将信息以统一的方式展示给广大师生和行政管理人员,为校园内分布的数据资源提供一个统一入口,使用户可以透明地访问学校的整体信息,为学校的教学、科研和管理提供有效及时、全面一致和开放方便的数字化服务。
这些集成方法难于快速适应基于企业现代业务变化不断产生的需求。有没有更好的方法来架构应用集成系统平台呢?一种前几年就提出但是现在才发展起来的新的架构方法SOA,能帮我们解决这个问题。
2.面向服务架构的应用集成方法
SOA是英文Service-Oriented Architecture的缩写,即面向服务的架构。W3C将SOA定义为:“一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程”。
围绕着服务,在SOA中,存在着三种角色:服务提供者、服务请求者、服务注册中心。这三种角色之间的关系构成了面向服务架构体系的运行模式。服务提供者提供符合标准接口的服务,并将它们发布给服务注册中心;服务注册中心发布服务所在位置,并在使用者请求服务时定位服务; 服务请求者通过服务注册中心调用服务。
由于所有的服务都基于统一标准的接口,基于标准的服务成了应用间的集成点。服务的编排和组合增加了服务的灵活性、重用性和集成性。这样既吸取了传统集成方法的优点,又能避免其因紧密耦合而带来的缺点。新功能的增加和异构系统的集成都更加方便与灵活。这种技术特性给高校应用集成带来了新的集成模式。只要将高校中各应用管理系统的功能通过“服务”的方式“暴露”出来,就可以非常容易地将这些功能都集成到高校的门户站点中,或者组织新的业务流程。从而充分利用现有资源,降低新应用软件的开发及维护成本,提高重用率,建立一个标准统一、通用性强、功能扩展与日常维护都简单的应用集成平台系统。
三、方案设计
1.结构框架
根据我校实际情况与业务要求,结合SOA思想与Web Service实现技术,设计我校应用集成平台系统结构如图1。
该方案共由六层组成:表示层、业务层和服务层、数据层、基础设施层、服务保障层。各层对应的功能描述如下。
(1)表示层:为访问系统的用户提供接口。主要包括两类用户,一类是访问集成平台功能的教职员工、学生等,他们的目的是查询信息,主要采用的是用Web浏览器调用其他部门的信息系统。这类用户可根据自己的需要选择在自己登陆进入后的界面中放置自己喜欢的信息查询入口; 另一类用户是各系统的管理者,这一层主要为该类用户提供操作界面,以完成所负责系统数据的更新与维护。
(2)业务层:该层主要按客户端的输入完成具体业务逻辑的实现。
(3)服务层:该层是基于SOA的数据集成系统中的最重要的一层,主要功能是将系统所提供的服务进行接口定义,以及完成服务的发布与查询。
(4)数据层:主要是各个系统的数据库,以及全校的公共数据库。该层主要负责为业务逻辑层的各类功能模块提供相应的数据支持。其中公共数据库从分布的各个子系统中及时地、自动地获取最新的数据更新情况,保证数据的一致性和完整性。
(5)基础设施层:主要是指网络、计算机系统等基础设施。
(6)服务保证层。主要处理有关Web服务调用的安全性以及协调事务,保证web服务消息的可靠传输。[2]
2.实现技术
SOA作为一种架构技术,它松散耦合的接口特性使它独立于任何具体技术之上。但是由于我校要构建的基于SOA架构的应用集成平台不仅要求具有松散的耦合性和协议通用性,还要求具有高度的可集成性,并且能够在异构系统之间交互,为了达到这一目的,考虑到J2EE的平台无关特性,决定采取在J2EE平台上开发Web Services技术来实现我们所设计的高校应用集成平台。J2EE侧重于应用逻辑的实现,而Web Services提供了一种在应用边界处包装事务的新方式,它侧重于对外交互功能的封装。一方面可以通过J2EE提供的成熟技术来保证业务逻辑稳定、高效的实现,另一方面Web服务使应用功能得以通过标准化接口(WSDL)提供,并可基于标准化传输方式(HTTP和JMS)、采用标准化协议(SOAP)进行调用。同时,由于J2EE对Web服务的支持,使得我们能方便、快捷地对外发布或调用Web服务。因此,在J2EE平台上以Web服务方法来开发基于SOA架构的高校应用集成平台,可以满足我们对可靠性、适用性、兼容性、安全性、可拓展性等方面的需求。
基于SOA思想设计的应用集成平台系统中最关键技术就是服务的设计,在实施时应注意以下事项:避免过度使用Web服务、尽量使用提供某项特定的业务功能的粗粒度接口来开发服务、服务的设计上也要以产生最少的网络通信量为目标。
3.安全策略
应用集成平台不仅是整个校园网络信息枢纽,还应该成为校园网的安全枢纽。要避免越权操作、非法操作、窃取系统机密信息等威胁安全的事件发生,在该系统中可采用以下策略来保证系统的安全性。
(1)严格按统一的标准来封装平台中集成的各个应用系统的功能及信息,只将接口暴露给使用者。
(2)基于角色保护。只有赋予了特定安全角色的用户才能够对资源进行访问。对登陆平台的各类用户的存取权限进行严格控制。
(3)设置防火墙。在外网与平台之间设置防火墙,减少来自外界的侵害。
(4)服务注册中心建立在校园网范围内,这样既安全又能保证运行的速度。
4.实施阶段划分
根据以上的设计及我校实际情况决定分步实施、以逐步推广:
第一阶段:数据存储阶段。此阶段应明确不同管理部门的职能,完成数据标准的制定、以及各系统数据库的建立。其中组织机构代码和数据代码的表示以教育部出版的《教育管理信息化标准》为基础,以便于以后与教育部或其他高校接轨。
第二阶段:服务开发阶段。主要完成服务接口标准的规定、服务的发布与实现。
第三阶段:应用整合阶段。能够实现数据共享,数据互通,学校各业务正确流转。
第四阶段:门户建设阶段。给用户统一的信息查询入口,并进行统一的权限管理。
四、实例分析
基于以上分析,下面以科研管理子系统调用人事管理子系统中专家管理服务为例来介绍基于SOA架构的高校应用集成平台中服务的定义与交互过程。本文在此采用的是J2EE中的JAX-RPC规范推荐的JNDI(Java Naming and Directory Interface,Java命名和目录接口)方法来查找服务接口。通过JNDI,能够方便简单地调用Web服务。
1.两个系统间服务交互过程
两个系统间服务调用过程如图2所示。其中科研管理子系统根据输入的查询条件形成相应的SOAP消息后,向UDDI注册中心发出查询请求;UDDI中心对其请求信息进行分析后根据WSDL文档内容,查找到相应的服务描述,再将此服务描述信息发给科研管理子系统;科研管理子系统再根据服务描述文件上所提供的端口地址等信息向人事管理子系统发出服务请求,人事管理系统收到请求后完成相应查询功能后,将查询结果以SOAP消息响应的形式返回给科研管理子系统。
2.服务接口的定义
在此,我们将设专家信息查询服务的命名为Expert-Service,具体服务的接口定义如下,布署与调用过程略。
package hzau.rsc.webservice.expert;
import java.rmi.Remote;
import java.rmi.RemoteException;
/*专家信息查询Web服务接口**/
public interface ExpertServiceextends Remote
{
public boolean findexpert(string name) throws java.rmi.RemoteException;
}
注意: web service端点必须实现java.rmi.Remote接口,并且在端点接口中的每一个方法都必须抛出java.rmi.RemoteException异常。
五、结束语
目前关于异构系统的集成技术正在逐步发展,SOA与Web Services技术也是当今研究的热点,将面向服务的架构思想应用于高校应用集成平台设计方案中,能较好地解决高校中不同时期构建的应用系统之间难以沟通的问题,可以克服传统集成方法中数据协调困难、应用系统之间耦合紧密的缺点,不仅能节省开发成本,而且能够独立于开发语言和跨越不同的平台,为高校管理业务的变更提供了很好的灵活性与良好的再开发环境,具有较大的实用价值。本文需要进一步加强的工作和笔者计划进行的研究重点是深入研究该平台的安全性及传输速度问题。
参考文献:
[1]柴晓路.web服务架构与开放互操作技术[M].清华大学出版社,2002
[2]刘松.面向服务的企业应用集成架构[J].吉林大学学报,2005(11):657
[3]陈亚强.在J2EE组件中引用和查找Web服务http://searchwebservices.techtarget.com.cn/tips/252/2103252_4.shtml