Web Service技术在移动平台中的应用

2012-09-04 08:45丁永尚何福男
苏州市职业大学学报 2012年3期
关键词:调用异构管理系统

孙 伟,丁永尚,何福男

(苏州工业职业技术学院 软件与服务外包学院,江苏 苏州 215104)

Web Service技术在移动平台中的应用

孙 伟,丁永尚,何福男

(苏州工业职业技术学院 软件与服务外包学院,江苏 苏州 215104)

通过分析Web Service 技术和Android平台的特点,设计现有异构系统的Web Service接口,并在Android平台上使用ksoap2访问Web Service接口,实现了对异构系统的访问,为异构系统平滑过渡到移动平台提供参考方案.

Android;Web Service;ksoap2;异构

目前,因为移动平台可以方便地实现“3A(anytime 、anywhere、anyone)模式”管理,所以基于移动平台的开发成为新的关注热点,而Android是当前最受关注的移动平台,许多传统管理信息系统拓展到Android平台之上.在此过程中也出现了一些问题,其中异构数据管理系统并存导致的“数据孤岛”问题比较突出,在移动平台上如何实现对异构系统的访问成为一个迫切需要解决的问题.

Web Service 技术的出现,为解决异构系统之间的“数据孤岛”问题带来了希望,目前它已经成功地应用于许多领域.本文在分析Web Service 和ksoap2-Andriod技术特点的基础上,设计了一套异构系统解决方案,实现在Android平台上对本单位现有多个异构系统的访问,本方案为移动平台访问异构系统提供了一个参考方案.

1 技术介绍

1.1 Web Service技术

Web服务是一种面向服务的架构系统集成技术,目的是保证不同平台的应用服务可以互操作,具有松耦合、跨平台、易扩展等特点,提高了系统数据的通用性、扩展性和兼容性,便于系统之间的集成.其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI发现和获得服务的元数据.Web Service 可以执行从简单的请求到复杂商务处理的任何功能.一旦部署以后,其他Web Service 应用程序可以发现并调用其部署的服务.Web Service 的服务架构体系如图1所示.

Web Service 提供者: 定义Web Service 服务描述,并把它发布到Web Service 注册中心.

Web Service 请求者: Web Service 请求者可由浏览器来担当,由人或无用户界面的程序来控制它.

Web Service 注册中心: Web Service 提供者在此发布Web Service 描述,Web Service 请求者在此得到服务描述.

所有的Web Service 都可以通过UDDI 标准动态地发现、绑定和使用,提高系统的灵活性和伸缩性.Web Service 可以突破防火墙的限制,不同平台上的Web Service 在很大程度上可以互操作,这就使异构平台上应用的集成变得很容易.

1.2 Android平台

Google公司的Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备.以其开放的模式吸引了无数开发商的支持,成为当前最热门的移动开发平台,目前已经到4.03的版本.Android的系统架构和其它操作系统一样,采用了分层的架构,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层.

1.3 ksoap2-Andriod技术

Google在Android中没有提供调用Web Service 的库,因此,为了实现在Android平台上访问Web Service 的功能,需要借助第三方类库来实现.Android平台上访问Web Service 需要使用的软件包是ksoap2-Andriod,ksoap2-Andriod是Enhydra.org的一个开源作品,被设计用在Applets和J2ME中,是JAVA环境下的一个轻量级Web Service 客户端库,它较好地兼容Microsoft Dot NET,它可以方便地实现对Dot NET Web Service 的访问,同时由于它是开源的,很容易加入增强特性.

2 系统的设计与实现

本单位现在有三个使用ASP.NET开发的信息管理系统:教务管理系统、图书管理系统、顶岗实习管理系统,各系统独立开发,在数据存储格式、访问方式上区别巨大,彼此之间难以实现数据交流.现在需要在Android平台上对这些系统的数据进行访问,实现异构信息的集成访问.

2.1 解决思路

由于各系统已经运行多年,并积累了大量的数据,不适合重新设计系统,考虑对现有系统建立Web Service 接口,并通过Android平台上的ksoap2-Andriod访问Web Service 接口的方式实现各系统之间的访问.

2.2 Web Service 接口设计

2.2.1 系统需求分析

依据学校现有各系统的实际情况,通过合理设计实现彼此独立的Web Service 接口,系统间只传递最必要的信息,对大部分的信息都进行抽象,这样保证各个系统之间的松散化集成.

2.2.2 确定各系统间的接口描述和接口访问方法

根据需求分析,确定各系统之间Web Service 接口的类型、需要传递的参数和数据类型,抽象出各系统Web Service 接口所需要的访问方法.

2.2.3 具体实现

根据系统设计需要分析情况,建立相应的Web Service 接口.其教务管理系统为

课表查询接口:getCourse(strclassNo,strTerm,strTeachNo)

成绩查询接口:getScore(strStuNo,iCourseNumber)

通知查询接口:getAdminNews()

图书管理系统为

图书查询接口: bookSearch(strBookName,strAuthor,strPublisher,strNo)

借阅信息查询接口:Reader(strReaderNo)

预岗实习管理系统为

学校通知查询接口:getNews(strStuNO)

2.3 调用ksoap2-Andriod访问接口

调用ksoap2-Andriod访问Web Service 的核心步骤是:

1) 导入ksoap2-Android的jar及相关依赖库到工程中;

2) 指定Web Service 的命名空间和调用的方法名,设置调用参数;

3) 生成调用方法的SOAP请求消息;

4) 创建HttpTransportSE对象;

5) 使用Call方法调用Web Service;

6) 使用getRespose方法获得Web Service 的返回结果.

2.4 系统的框架设计

在上述分析的基础上,设计移动平台的框架如图2所示.

3 系统实现

系统具体实现步骤如下:

1) 将SoapObject对象实例化,并指定Web Service的命名空间及调用方法名称.

private static final String serviceNameSpace="http://sxgl.siit.edu.cn/";

//调用方法(获得学生的学号)

private static final String getStuNo="getStuNo";

//实例化SoapObject对象:

SoapObject request=new SoapObject(serviceNameSpace,getStuNo);

2) 设置SOAP请求信息.

//以下代码获得序列化的Envelope

SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);

envelope.bodyOut=request;

3) 实现注册Envelope.

(new MarshalBase64()).register(envelope);

4) 构建要传输的对象,同时指明WSDL文档的URL.

private static final String serviceURL=" http://sxgl.siit.edu.cn/sugongyuan/WebService.asmx ";

AndroidHttpTransport transport=new AndroidHttpTransport(serviceURL);

transport.debug=true;

5) 调用WebService:transport.call(serviceNameSpace+ getNews,envelope).

6) 解析返回的XML数据,操作成功.

通过以上步骤操作后,在浏览器中输入地址(WSDL):serviceURL,你会看到一些可供调用的方法,以学生查看与自己相关的顶岗实习通知为例,得到如图3所示的结果.

通过Web Service 将智能手机终端连接和访问到Internet服务器,实现从现有校内异构信息管理系统中获得数据,这种方式将手机地方便快捷与Internet服务器的大数据容量和高性能服务支持有效的结合起来,发挥二者之优势,以较低成本对现有异构系统进行了扩展.在手机上的运行效果如图4所示.

4 结论

通过为现有的Dot Net管理系统建立Web Service 接口,并在Android平台上使用ksoap2-Android访问这些接口,在移动平台上实现了对现有管理系统的访问,方便了用户的使用.但目前功能较弱,仅能实现常用的查询功能,在此设计的基础上通过实现动态Web Service 组合,将能够实现更加复杂的功能.

[1]耿东久,索岳,陈渝,等. 基于Android手机的远程访问和控制系统[J]. 计算机应用,2011(2): 559-561.

[2]刘枫. Android智能手机天气预报系统设计及实现[J]. 计算机时代,2011(4):61-63.

[3]王向辉,张国印,陈洁. Android应用程序开发[M]. 北京:清华大学出版社,2010.

[4]闵现畅,黄理灿. 基于Android平台的Web服务技术研究[J]. 工业控制计算机,2011(4):92-94.

[5]王晨辉. 基于Android平台校园信息发布系统[J]. 数字技术与应用,2010(8):123-125.

[6]黄锦川,金炜东. 基于Android平台Web服务的应用研究[J]. 铁路计算机应用,2010(11):24-27.

[7]李金霖,赖超,龙曦,等. 基于Android平台的手机日程管理系统[J]. 计算机与数字工程,2011(3):65-68.

Application Research of Web Service Technology in Mobile Platform

SUN Wei,DING Yong-shang,HE Fu-nan

(The Software and Service Outsourcing Section,Suzhou Institute of Industrial Technology,Suzhou 215104,China)

To describe the characteristics of Web Service technology and android platform,design some Web Service interface for exiting heterogeneous systems,and use ksoap2 Technology to access these Web Service s in mobile platform,this method provide a way to integrate exiting heterogeneous systems.

Android;Web Service;ksoap2;heterogeneous

TP391

A

1008-5475(2012)03-0038-04

2012-04-26;

2012-05-20

江苏省教育技术研究所重点资助项目 (22370)

孙 伟(1974-),男,山东枣庄人,副教授,硕士,主要从事异构数据集成和移动开发技术研究.

(责任编辑: 李 华)

猜你喜欢
调用异构管理系统
基于James的院内邮件管理系统的实现
试论同课异构之“同”与“异”
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
基于LED联动显示的违停管理系统
海盾压载水管理系统
异构醇醚在超浓缩洗衣液中的应用探索
基于系统调用的恶意软件检测技术研究
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究