APP下载

基于Web Service的Web应用系统与Android移动端整合研究

2016-10-21罗明挽

电子技术与软件工程 2016年5期
关键词:整合

摘 要 随着移动互联网的发展,越来越多用户通过智能终端接入到移动互联中,在移动客户端开发应用的需求也日渐增多。而在移动客户端开发的过程中,移动端与服务器端的交互与整合是不可缺少的一环。由于当前Android操作系统是较为主流的移动操作系统,因此本文探索了一种基于Web service的技术的Android移动端与服务器端的整合技术,并设计了比较通用的整合架构,阐述了整合过程。

【关键词】Web Service Android 整合

1 Web应用系统与Android移动端的整合概述

1.1 移动端与服务器端的整合概述

在本文所论述的Web应用系统主要是指传统的基于PC电脑端的Web应用系统,如网站,或相关的基于B/S架构的应用程序。由于当前的移动互联网技术飞速发展,移动端的用户越来越多,越来越多人通过智能终端接入了移动互联网,因此,在移动端开发应用的需求也是日渐增多。在开发一个移动端的时候,常常要进行移动端及PC端的整合,或者移动端与服务器端的整合。

本文要讨论的,就是移动端与移动端的整合问题。

1.2 Android开发技术概述

在Android开发中有四大组件,他们分别是:用于表现功能的活动(Activity);主要在后台运行的服务(Service)用于接收广播的广播接收器(BroadcastReceiver);相当于数据库的、支持在多个应用中存储和读取数据的内容提供商(Content Provider)。Android中所有程序的流程都运行在Activity 之中,它是所有程序的根本,是Android当中最基本的模块之一。在Android的程序当中,Activity一般代表手机屏幕的一屏。事实上,Activity与普通Web页面类似,在实际开发的过程中也可在Activity当中可以添加一些UI控件。一般一个Android应用是由多个Activity组成的。Activity之间可以像Web页面一样互相切换。

2 Web service技术

2.1 Web Service简介

Web Service是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。它基于SOAP等协议的远程调用标准,通过Web Service可以将不同操作系统平台,不同语言,不同技术整合到一起。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。Web Service是自描述、自包含的可用网络模块,可以执行具体的业务功能。

Web Service架构具有的特点有:首先是连网特性,Web Service的服务器端和客户端应用程序都能连网;其次,在大多数情况下使用SOAP标准作为数据通信格式的标准,且遵循的标准必须是开放性的。第三,客户端和服务器端的系统是松耦合的,即Web Service不关心客户端和服务器端所使用的操作系统、对象模型或者编程语言。

2.2 Android通过Web Service访问异构系统数据

Web Service是基于SOAP协议的。简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。

Web Service使用SOAP用来传递信息的格式。SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。

在Android中访问Web Service的方法有两种,一种是通过链接进行访问;另一种是通过第三方类库进行访问。

通过第三方类库进行访问,需要下载一个第三方Jar包:ksoap2。这个包可以从Google上下载,即ksoap2-Android项目包。这个第三方包提供了Android 调用Web Service的一些接口。使用它,可以使得Android方便地与服務器端进行数据交互。基本流程是首先要得到服务器提供的地址、命名空间、方法名,参数的键和返回值的键;然后Android应用程序通过这些键来传递值。

2.3 Android的两种开发方式

Android App又可分为Web App和Native App。其中,Web App是基于普通网站形式的App,而Native App是基于本地系统的应用,相当于电脑的桌面应用程序。两种App各有优缺点,相对而言,Native App更加高效,但开发难度更加大。当然,有些功能用Web App的形式是无法实现的,必须用Native App的形式进行开发。本文主要讨论Web应用系统与Android原生App的整合问题。

3 Web服务器端与Android移动端的整合

3.1 以Web service作为通用的接口

Android端与服务端可以通过不同的方式通信,其中一种比较通用的方式就是使用Web service。在Android与有些服务端语言开发的应用通信,则必须使用Web service。比如Android客户端与.NET服务器端通信,则必须采用Web service,因为Android客户端没办法直接访问.NET页面并操作后端数据库。

因此,Web service主要目的就是为了实现Android客户端和Web网站端进行整合。因为Android Native App客户端是用Java语言设计的,而Web网站端则是用其他语言进行设计的。两种不同语言开发的系统,需要用特定的方法对系统进行整合。为了实现Android客户端与网站服务器端及与SQL Server数据库服务器端等进行通信,需要构建Web service比如.NET Web service。如果采用的数据库是SQL Server数据库,通过Web Service,就可以将对SQL Server数据库服务器相关操作的接口发布出去,供Android客户端进行调用。

3.2 Web service与服务器端整合的架构设计

下面以Android Native App客户端与基于.NET的服务器端平台的通信为例,说明Web service与服务器端的整合架构。

Android Native App客户端主要实现客户端的功能,比如信息的查看、信息的咨询等,主要是通过移动端进行操作。

由于Web端使用到的语言是ASP.NET语言,而Android Native App用的是Java语言,两种技术所开发出来的平台是异构的,故需要进行系统整合。

要使基于Java SE技术的Android Native App与基于.NET技术的Web服务器端及SQL Server数据库进行通信和交换数据,要通过Web Service进行。

Android Native App客户端功能模块及其与Web端整合的框架图1所示。

由图1可见,Web Service成为Android Native App客户端及服务器端的粘合剂作用,它是这两个子系统的桥梁。Android Native App客户端通过Web Service与SQL Server数据进行通信和交换数据。Android Native App客户端对数据库操作的结果既可以在移动客户端查看,也可以在Web端查看。

3.3 移动客户端与Web Service通信的实现流程

要实现Android对ASP.NET服务器端的访问,需要编写Web Service接口,通过Web Service接口连接所需要的操作。

对于.NET应用程序来说,可以借助Visual Studio软件对系统进行设计和实现。对于Android客户端的实现,可以借助Eclipse工具。Android Native App常用的开发工具是Eclipse。在软件架构中,尽量采用分层结构。其中,与ASP.NET Web Service进行通信的方法可单独计一个公共通信类,以实现移动端与服务器端的交互。

移动终端一般分为几个基本页面,比如登录验证页以及相关的功能页面。Android Native App的页面由两部分组成,一部分是XML形式的界面设计文件,一部分是页面对应的Activity。对页面的控制及业务代码在Activity文件中实现。

以登陆页为例,其中登录页的Activity包含用户验证、修改用户名、修改密码等方法。Android的原生程序就是由这些页面组成的,通过在页面的操作,从服务器端请求信息,或者将信息发送给服务器端。当然,服务器端与客户端的交互还需要进行数据格式的统一与转换。

在Android端来说,可以让几个Activity共享一个Web Service公共通信类,在通信類中封装与Web Service通信的基本方法。

Web Service层发布在Web服务器端,Web Service层封装了与移动端相对应的Web Service方法。

上面已提到,Web Service是一种基于SOAP协议的远程调用标准,通过Web Service可以将不同操作系统平台、不同语言、不同技术整合到一块。对于Android原生应用程序与Web Service通信来说,Android SDK中还需要使用第三方的SDK来调用Web Service。这个第三方SDK可以从Google下载相关的SDK项目包。

具体而言,Android调用Web Service步骤有几步:

(1)指定Web service的命名空间和调用的方法名;

(2)如果调用方法有参数,则需要设置调用方法的参数值;

(3)SOAP请求信息的生成。该信息由SoapSerializationEnvelope对象来进行描述。

(4)创建HttpTransportsSE对象。通过HttpTransportsSE类的构造方法可以指定Web Service的WSDL文档的URL;

(5)使用getResponse方法获得Web Service方法的返回结果。

4 结论

以Web Service作为异构系统的整合技术是一种较为常用的整合技术,因为Web Service是语言中立的,它不受开发语言和操作系统的影响,因此,利用它能进行跨平台开发。在传统的基于电脑的Web应用与移动App的整合应用中,Web Service能发挥关键的作用,它可以开发一种通用的异构系统接口,使得移动端与不同语言开发的服务器端进行整合。

参考文献

[1]宋小倩,周东升.基于Android平台的应用开发研究[J].软件导刊,2011,10(2):104-106.

[2]王志勤.Web App还是Native App[J].商学院,2012,11(5):16-17.

[3]张趁香.基于Web Services的高校教学质量监控系统的分析与设计[J].电脑知识与技术,2011,21(35):30-31.

[4]StephenWalther,Kevin Scott Hoffman,Nate Dudek.ASP.NET4 Unleashed[M].Amarican:Sams Publishing,2010.

[5]刘艾侠.基于Asp.net的web service调用[J].科技信息,2010,21(23):76-76.

作者简介

罗明挽(1979-),男,广东省阳江市人。阳江职业技术学院讲师,大学本科学历。研究方向为Web应用开发。

作者单位

阳江职业技术学院 广东省阳江市 529500

猜你喜欢

整合
谈高职院校计算机教学中学生创新能力培养
浅析信息技术与小学数学教学整合
记初中英语词汇教学的一次归类、整合改革及反思
音乐与科学有效整合的研究
幼儿教育中美术与科学整合的研究
“1+1”微群阅读