论文部分内容阅读
摘 要 对基于SOA思想的Web服务技术进行研究,以“培训信息管理系统”为设计案例,设计一个基于SOA的应用软件系统,讨论Web服务模型中的概念层、逻辑层和物理层的具体内容,分析Web服务架构的优点以及还需要解决的一些问题,并运用JSP的Web服务技术在系统原型上实现这种架构,为正在建设中的校园网管理系统的集成提供一个可参考方案。
关键词 SOA;Web服务;管理系统模型
中图分类号 G434 文献标识码 A 文章编号 1671-489X(2008)18-0044-02
当前,大学校园无论在教学管理还是行政管理方面都进行了多年的信息化建设。很多部门正在使用的管理系统可能是在不同时期、由不同厂商或自主开发的软件,基于不同的软硬件平台和网络结构环境。对于新、老系统之间的数据如何集成和共享,如何按需要实现它们之间的相互调用,成为一道难题。
SOA(SOA,service-oriented architecture)——面向服务架构,为解决以上问题提供了有效的技术解决方案。
1 基于SOA的培训信息管理系统模型构建
1.1 基于SOA的系统架构方案面向服务的集成完全是开放的,能够解决培训管理系统的异构集成、互操作问题;另一方面,也是更重要的一点,SOA提供了一个服务协作和事务的业务流程自动化框架实现服务的编排。根据以上分析,从安全性、可集成性等方面考虑,本培训信息管理系统架构如图1所示。
培训信息管理系统各用户访问系统形式如下:
1)培训管理内部,如培训部主任、系统管理员等使用三层C/S结构的客户端程序来访问数据库,使用Windows版的应用程序;
2)各学院成人教育部门以及各学院任课教师可利用浏览器通过校园网访问数据库,属于校园网B端用户,使用Web版应用程序;
3)普通用户、校外参加培训的学员通过Internet访问数据库,浏览系统资源,属于三层B/S架构的B端用户,使用Web版应用程序;
4)把所有公用功能单元逻辑从系统中抽取出来,以Web服务的形式发布到校园网Web服务器的私有UDDI(Universal Description,Discovery and Integration),以便其他业务层或系统集成使用。
1.2 用Web服务实现的系统逻辑架构由Web服务的工作原理,结合三层分布式体系结构计算模型,设计出培训信息管理系统的Web服务逻辑架构,如图2所示。
培训信息管理系统Web服务架构分为以下几个层次。
1)表示层。表示层实际上是一个接入终端,可以是浏览器,也可以是用户自己定制的应用程序等。其功能主要是发出应用请求,比如登录、检索、数据管理等。
1)存储过程的使用。数据访问层对数据库的访问要尽量采用存储过程的方式进行,该策略有效利用了SQL Server数据库系统对性能优化的特点。在基于SOA的系统设计上,把存储过程用在Web服务的设计中,同样能够简化程序的设计,隐藏系统内部的细节,并提高系统的灵活性。
2)在JSP中使用JDBC访问数据库。数据库管理系统中主要操作对象是数据,因此优化数据的操作设计对于系统整体性能的提高起着积极的作用。JDBC API为Java开发者使用数据库提供统一的编程接口,它由一组Java类和接口组成。
2.2 业务层的实现通过Web服务协议可暴露应用程序的一个Web方法。以下程序清单定义了一个接口,它用来暴露一个EJB方法,该方法列出符合查询条件的学员记录。该接口扩充了远程接口,并将selectstudent()方法标记为抛出RemoteException异常。接口定义了一个方法,该方法将查询到的学员记录作为字符串返回。
一个查询功能的Web服务接口(Service.java)
Package wsexampls;
Import java.rmi.*;
public interface Service extends Remote
{ public String[] selectstudent(String List) throws RemoteException; }
2.3 表示层的实现表示层实现的任务实质是调用服务程序。对于客户端程序的服务调用,需先给客户端工程添加Web引用,实质上就是将Web Service的代理类对应的DLL文件导入客户端。完成添加代理类后,即可通过调用代理类来调用Web 服务。主要有通过创建Web 服务中定义类的实例、调用类的方法等完成。
下例说明表示层完成服务调用的实质性工作:
1)添加Web引用;
2)StudentGetSet GETSET=new StudentGetSet()‘创建类的实例,本例为GETSET;
3)list =GETSET.selectstudent(StudentId)‘调用类的方法,本例为selectstudent()。
由于采用Web 服务中间层,客户端不直接操作数据库,提高了系统的安全性和可靠性。同时,由于对Web服务的访问(使用SOAP协议访问)可以穿透防火墙,所以Web 服务有较好的可复用性。例如将学员基本信息查询功能整合到其他系统中时,只需开发客户端程序,并调用完成学员信息查询的Web 服务即可。
3 结束语
由于目前Web服务技术还在发展中,笔者只对与本课题应用的相关部分进行学习和研究。本课题所开发的Web服务系统还不完整,只是以一个简单Web服务为原型示例,为整个系统的开发提供一个参考模型,做一些基于SOA技术上的准备。
关键词 SOA;Web服务;管理系统模型
中图分类号 G434 文献标识码 A 文章编号 1671-489X(2008)18-0044-02
当前,大学校园无论在教学管理还是行政管理方面都进行了多年的信息化建设。很多部门正在使用的管理系统可能是在不同时期、由不同厂商或自主开发的软件,基于不同的软硬件平台和网络结构环境。对于新、老系统之间的数据如何集成和共享,如何按需要实现它们之间的相互调用,成为一道难题。
SOA(SOA,service-oriented architecture)——面向服务架构,为解决以上问题提供了有效的技术解决方案。
1 基于SOA的培训信息管理系统模型构建
1.1 基于SOA的系统架构方案面向服务的集成完全是开放的,能够解决培训管理系统的异构集成、互操作问题;另一方面,也是更重要的一点,SOA提供了一个服务协作和事务的业务流程自动化框架实现服务的编排。根据以上分析,从安全性、可集成性等方面考虑,本培训信息管理系统架构如图1所示。
培训信息管理系统各用户访问系统形式如下:
1)培训管理内部,如培训部主任、系统管理员等使用三层C/S结构的客户端程序来访问数据库,使用Windows版的应用程序;
2)各学院成人教育部门以及各学院任课教师可利用浏览器通过校园网访问数据库,属于校园网B端用户,使用Web版应用程序;
3)普通用户、校外参加培训的学员通过Internet访问数据库,浏览系统资源,属于三层B/S架构的B端用户,使用Web版应用程序;
4)把所有公用功能单元逻辑从系统中抽取出来,以Web服务的形式发布到校园网Web服务器的私有UDDI(Universal Description,Discovery and Integration),以便其他业务层或系统集成使用。
1.2 用Web服务实现的系统逻辑架构由Web服务的工作原理,结合三层分布式体系结构计算模型,设计出培训信息管理系统的Web服务逻辑架构,如图2所示。
培训信息管理系统Web服务架构分为以下几个层次。
1)表示层。表示层实际上是一个接入终端,可以是浏览器,也可以是用户自己定制的应用程序等。其功能主要是发出应用请求,比如登录、检索、数据管理等。
1)存储过程的使用。数据访问层对数据库的访问要尽量采用存储过程的方式进行,该策略有效利用了SQL Server数据库系统对性能优化的特点。在基于SOA的系统设计上,把存储过程用在Web服务的设计中,同样能够简化程序的设计,隐藏系统内部的细节,并提高系统的灵活性。
2)在JSP中使用JDBC访问数据库。数据库管理系统中主要操作对象是数据,因此优化数据的操作设计对于系统整体性能的提高起着积极的作用。JDBC API为Java开发者使用数据库提供统一的编程接口,它由一组Java类和接口组成。
2.2 业务层的实现通过Web服务协议可暴露应用程序的一个Web方法。以下程序清单定义了一个接口,它用来暴露一个EJB方法,该方法列出符合查询条件的学员记录。该接口扩充了远程接口,并将selectstudent()方法标记为抛出RemoteException异常。接口定义了一个方法,该方法将查询到的学员记录作为字符串返回。
一个查询功能的Web服务接口(Service.java)
Package wsexampls;
Import java.rmi.*;
public interface Service extends Remote
{ public String[] selectstudent(String List) throws RemoteException; }
2.3 表示层的实现表示层实现的任务实质是调用服务程序。对于客户端程序的服务调用,需先给客户端工程添加Web引用,实质上就是将Web Service的代理类对应的DLL文件导入客户端。完成添加代理类后,即可通过调用代理类来调用Web 服务。主要有通过创建Web 服务中定义类的实例、调用类的方法等完成。
下例说明表示层完成服务调用的实质性工作:
1)添加Web引用;
2)StudentGetSet GETSET=new StudentGetSet()‘创建类的实例,本例为GETSET;
3)list =GETSET.selectstudent(StudentId)‘调用类的方法,本例为selectstudent()。
由于采用Web 服务中间层,客户端不直接操作数据库,提高了系统的安全性和可靠性。同时,由于对Web服务的访问(使用SOAP协议访问)可以穿透防火墙,所以Web 服务有较好的可复用性。例如将学员基本信息查询功能整合到其他系统中时,只需开发客户端程序,并调用完成学员信息查询的Web 服务即可。
3 结束语
由于目前Web服务技术还在发展中,笔者只对与本课题应用的相关部分进行学习和研究。本课题所开发的Web服务系统还不完整,只是以一个简单Web服务为原型示例,为整个系统的开发提供一个参考模型,做一些基于SOA技术上的准备。