基于Web服务的高校就业信息服务平台研究
时间:2016-01-08
交互不畅是目前高校就业服务工作中面临的主要问题,学生和企业之间的就业信息传递存在障碍。成熟的Web服务分析表明,运用Web服务技术的跨平台特点,将学校各部门的不同功能进行抽取和封装形成Web服务,能够构建一个高效的就业信息服务平台。该平台可以减少系统重复建设,提高就业服务效率。
0 引言
目前就业形势严峻,如何更好地推动大学生的就业服务已经成为各高校的重要工作。一方面,学校开设了大量职业规划和职业教育类课程对学生进行专业的就业指导;另一方面,通过校企合作、校友资源等各种方式,学校联系了大量的企业为学生提供就业机会。但由于学生和企业之间职业信息交流不畅,而导致企业抱怨招不到理想的员工,学生苦恼于找不到合适的工作岗位。对于这一现象,需要学校为学生和企业之间提供一个一站式的更加畅通的就业信息服务平台。该就业信息服务平台除了及时发布学生的就业意向和企业岗位等基本信息外,还能让企业直接核实学生在校期间学业信息,保证数据准确、一致,同时学校也对企业发布的信息进行审核,以免学生遭受求职欺骗,从而使双方实现有效沟通。
近些年,很多学校在各部门的管理中建立了大量管理信息系统,并得以广泛应用。比如:学生信息管理系统、教务信息管理系统、宿舍管理系统等。这些系统各自独立、无数据共享,导致花费了大量重复的系统建设资金。于是我们希望在建立新的就业信息服务平台时,能够在已有的系统基础上,将不同平台上的各部门业务系统功能整合在一起,并融入新的服务功能,从而形成一个功能更强的服务平台。
Web服务技术作为一个成熟的分布式计算技术,具有跨平台、松散耦合、易于使用的特点。在解决网络上各个业务系统整合,实现资源共享的问题上,Web服务技术是一种广泛被业界认可的解决方案。本文通过对Web服务技术工作原理进行深入分析,详细介绍了如何运用Web服务技术,对已有的系统进行整合和扩展,构建基于Web服务的就业信息服务平台,该平台有助于提高就业服务效率。
1 Web服务概述
1.1 Web服务和主要技术
Web服务是一种基于网络的、分布式且模块化的应用程序,它可以被描述、发布、查找和调用。它提供了一种新型的技术,将完成业务的功能集合封装成单一实体并发布到网上,其他应用程序和其他Web服务就可以直接发现和调用该服务。
Web服务分散于Internet的各个地方,它们可以不断地组合和扩展。我们将不同平台上的Web服务通过互相调用整合在一起,形成一个功能更强大的应用服务。这需要支持不同语言编写的Web服务之间能够进行交互,于是, Web服务中使用了三种主要技术:SOAP(Simpe Object Access Protoco)、WSDL(Web Services Description Language)和UDDI(Universa Description Discovery and Integration)。
SOAP:一种轻量的、简单的、基于XML的协议,用于在分散的分布式环境中交换信息。SOAP定义的标准方法可以使用Internet上各种不同环境中的Web服务。 WSDL:一种基于XML格式用来描述Web服务和说明如何与Web服务通信的规范。该规范描述了诸如Web服务的功能和传递给某一Web服务的参数类型和个数,以及返回结果的类型等。
UDDI:由OASIS(Organization for the Advancement of Structured Information Standards)标准化组织制定。UDDI提供了一个开放、平台独立基于Web服务的注册和发现机制,程序开发人员通过UDDI机制查找分布在Internet上的Web 服务,在获取其WSDL文件后,就可以在自己的程序中以SOAP调用的格式请求相应的服务了。
对于Web服务而言,使用SOAP表示信息传输协议,使用WSDL进行服务本身内容描述,使用UDDI来发现、发布与集成Web服务。无论哪种技术,都可以使用XML作为描述和信息交换的标准。
1.2 Web服务的体系结构和服务交互过程
Web服务的体系结构中主要包含了以下三种基本的角色。
服务提供者:它是服务的所有者。它通过在服务代理者处注册来配置和发布服务。
服务请求者:它通过在服务代理者已发布的服务中查找需要的服务,如果找到,服务的请求者绑定服务的提供者并调用可用的服务。
服务代理者:管理发布服务。它是服务提供者和服务请求者之间的中介,服务提供者将他们的服务描述发布在这里,向服务请求者提供搜索服务的功能。
在上述Web服务的体系结构支持下,不同平台间的Web服务之间实现高效的信息交互,其信息交互过程如图1所示。
⑴ 服务提供者首先用WSDL定义好Web 服务的描述文档,将WSDL描述的Web服务注册到符合UDDI规范服务代理者,从而实现发布服务操作。
⑵ 服务请求者向服务代理者请求特定服务, 服务代理者通过UDDI机制查询满足请求的服务,并向请求者返回所需服务的WSDL文档。服务请求者获得WSDL文档后,通过对该文档进行解析,得到该Web服务相关信息。比如,服务的绑定、方法和参数信息。
⑶ 服务的调用是由服务请求者通过接口发送SOAP格式的请求消息给服务提供者。服务提供者将SOAP格式的响应消息返回给服务请求者。这种调用服务方式成为动态绑定。服务提供者也可直接将 WSDL描述文档直接发送给服务请求者,而不用通过服务代理者来完成服务的绑定,这种绑定方式称为静态绑定。
2 构建基于Web服务的就业服务平台分析
2.1 就业服务平台系统功能设计
⑴ 学生学籍信息管理
该功能主要包括以下子模块:学生基本信息管理、学籍变动信息管理、档案信息管理、成绩信息管理、班级信息管理、专业信息信息管理和课程信息管理等。这些管理子模块都具有增加、删除、查询、修改、统计、分析等功能。授权使用该功能的用人企业可直接在此模块中查询学生学业成绩、参加社团组织和在校期间所获奖励等情况,有利于企业充分了解毕业生的真实基本情况,有针对性地选取合适的人才。学校管理人员也可以随时掌握学生的基本情况,编制各种统计报表。
⑵ 学生求职信息管理
该功能主要包括以下子模块:注册和登录、职位信息查询、职位申请、个人简历管理、就业政策咨询等。学生登录平台后,可以咨询相关就业信息,查询感兴趣的职位,投递求职申请。
⑶ 企业职位信息管理
该功能主要包括以下子模块:注册和登录、发布职位信息、查询求职信息、面试通告等。企业使用该平台需要先注册,然后由学校管理人员审核后才能使用该平台开始招聘工作。
⑷ 用户管理
该功能主要包括以下子模块:用户信息管理、职位信息审核和管理、权限管理、就业政策管理等。平台主要涉及学生、企业和学校管理人员三方用户。系统管理员对用户具有添加、分配管理权限和禁用帐户等操作。
2.2 平台体系结构分析
就业服务平台系统的开发工具采用Visua Studio 2012,数据库管理运行使用SQL Server2008R2,Web服务器采用IIS7.0。使用了基于.NET Framework4.5的ASP.NET、C#语言、JavaScript等技术开发平台的各主要功能模块。其中学生学籍信息管理和企业职位信息管理模块可以通过整合已有业务系统来完成相应的功能。
整合的一般过程是:首先抽取已有业务系统中的基本功能将其封装成Web服务。比如,教务管理系统中的学生基本信息和成绩信息的查询,校企合作和校友信息管理系统中的职位基本信息的查询等。这些抽取出来的Web服务充当了服务提供者的角色,它们被发布到Web服务注册中心。然后,当用户向该平台提出了访问Web服务请求,比如,查询学生在校期间的获奖情况,这时学生学籍信息管理子功能会请求相应的Web服务,这个子功能系统担当了服务请求者角色。Web服务的请求被发送到Web服务注册中心,也就是服务的代理者,接着注册中心查找符合用户需求的Web服务。最后,注册中心返回用WSDL描述的Web服务访问位置和绑定信息。于是,服务请求者可以很方便地实现对异构系统提供的Web服务的调用。由于在Internet进行数据交换和集成采用的技术如SOAP和WSDL等,都是以XML为基础的,使得整个重新整合的系统具有平台和语言无关性。就业信息服务平台体系结构如图2所示。
2.3 平台功能实现分析
平台实现时,如果学校硬件条件允许,可以建立专门的Web服务注册中心,而在条件有限的情况下,可以采用直接绑定Web服务的方式,那么服务请求者直接从服务提供者那里获得服务的WSDL 描述文档,并直接使用服务。
下面以学生学籍信息管理功能模块中的一个查询学生在校期间所获奖项子功能为例,来分析平台功能的实现。该学籍管理系统原来采用Java语言开发,Ecipse IDE for Java EE Deveopers开发环境内置JAX-WS的API已提供了对Web服务的支持,可以使用它来创建和使用基于Java语言的Web服务,于是将获奖情况子功能封装为一个Web服务。 创建在Apache Aixs服务器端的Web服务主要代码如下:
package webserviceSearchPrize;
import java.sq.*;
import java.uti.*;
pubic cass SPrize {
pubic static String search(String no) {
try {
Cass.forName("com.microsoft.sqserver.jdbc.SQLServerDriver");
} catch (CassNotFoundException e) {
System.out.printn(e.getMessage());
return nu;
}
try {
Connection con=DriverManager.getConnection(
"jdbc:sqserver://ocahost:1433;DatabaseName= Student","sa", "123");
String strQuery="seect pname from tbPrize where sno=?";
ResutSet rs;
PreparedStatement qs=con.prepareStatement(strQuery);
qs.setString(1, no);
rs=qs.executeQuery();
ArrayList a=new ArrayList();
whie (rs.next()) {
a.add(rs.getString("p_name"));
}
Object o=a.toArray();
String a=new String[o.ength];
for(int i=0; i a[i]=o[i].toString();
}
return a;
} catch (SQLException e) {
System.out.printn(e.getMessage());
return nu;
}
}
}
将该Web服务打包成webserviceSearchPrize.war文件,并将其放在平台网站的根目录下,该Web服务生成过程中,系统自动产生的服务描述文档WSDL文件如图3所示。
接下来在ASP.NET项目中首先添加webserviceSearchPrize服务引用,然后通过在ASP.NET页面中调用基于Java的Web服务来实现服务的功能,于是用户可以通过访问平台网站来获得某个学生在校期间的获奖情况。
客户端的服务调用部分代码如下:
using System;
pubic partia cass Psearch : System.Web.UI.Page
{ …
protected void Btnsearch_Cick(object sender, EventArgs e)
{
ServiceReference1.SPrizeCient
s=new ServiceReference1.SPrizeCient();
ListBox1 .DataSource=s.search(Txtno.Text);
ListBox1.DataBind();
}
…
}
对于就业服务平台系统的其他功能模块,我们可以用同样的方法,对其他不同环境开发的系统功能创建相应的Web服务,从而使得用户在同一平台上获取和调用服务。比如,把用VB.NET开发的校友信息管理系统的子功能封装成Web服务,利用ASP.NET页面远程调用。
3 结束语
在就业信息服务平台的设计中充分结合了Web服务技术的跨平台、部署方便、易于使用的特点。平台的实现通过封装的Web服务使用户在平台上可以远程调用业务功能,更好地利用了现有的业务系统,避免了不必要的重复设计,提高了软件的复用性和可维护性,同时对提升就业服务的质量和效率有极大的推动作用。今后,随着Web服务新技术的不断发展,可以在服务安全性、服务流程组合、数据云存储等各个方面对就业服务平台进行扩充和完善,以更高效地实现就业服务。
