Android应用通常都是运行在手机平台上,手机系统的硬件资源是有限的,不管是存储能力还是计算能力都是有限的,在Android系统上开发、运行一些单用户、小型应用是可能的,但对于需要进行大量的数据处理、复杂计算的应用,还是只能部署在远程服务器上,Android应用将只是充当这些应用的客户端。
为了让Android应用与远程服务器之间进行交互,可以借助于Java的RMI技术,但这要求远程服务器程序必须采用Java实现也可以借助于CORBA技术,但这种技术显得过于复杂;除此之外,Web Service是一种不错的选择。
Web Service用于消除不同平台、不同语言之间的实现差异,将现有的应用程序发布成开放式服务,从而允许互联网上任何地方、任何平台、任何语言的应用程序来访问该服务。通过使用Web Service,我们可以将应用程序转换为网络应用程序,从而让本地的应用程序可以向全世界发布信息或提供某种服务。
对于Web Service使用者而言,Web Service API与任何操作平台无关,与任何编程语言无关,它只是以XML语言作为服务描述语言,使用XML语言作为数据交换格式。因此,不管Web Service使用者使用何种操作平台、何种编程语言,只要权限允许,都可以调用Web Service暴露出来的服务。至于Web Service底层如何实现,以怎样的平台、以怎样的技术来实现这些服务,对Web Service使用者完全透明。
对于Web Service服务提供者而言,他们既可以为Web Service服务重新提供实现,也可以直接将已有的应用程序包装成Web Service。由于Web Service本身可以说只是一种思想,并不是一种特有的技术,各种编程语言都有自己的Web Service实现,因此不管现有的应用程序建立在哪种操作平台上,也不管现有的应用程序以哪种编程语言实现,都可以将其暴露成平台无关的、语言无关的Web Service。
Web Service主要的设计思想是:充分利用Web分布式编程模型的松散耦合性,允许各种平台、各种编程语言的应用可以交换数据,可以无缝地整合在一起。也就是说,Web Service提供了一种建立分布式应用的平台,使得不同操作平台上、不同语言实现的软件,所有已开发、部署的软件,都可以充分利用这个平台实现分布式计算。
总结起来,Web Service有如下特点:
1、自包含性:Web Service是自包含的,Web Service使用者无需安装任何·附件软件,只要一种支持Web和XML的编程语言即可;Web Service服务提供者则只需要Web 服务器和SOAP服务器。
2、自描述性:Web Service是自描述的,客户端和服务器都无须关心除请求和响应消息的内容和格式之外的任何内容,消息格式与消息的内容一起传播,无须外部程序辅助。
3、封装性:Web Service是一种部署在Web应用上的对象,具备良好的封装性。对使用者而言,仅能看到服务描述,而该服务的具体实现,运行平台都是透明的,调用者无需关心,也无法关心。Web Service作为整体提供服务。
4、可编程性:Web Service并不提供图形用户界面,而是提供编程访问的API、Web Service调用者只需知道Web服务器的API接口,即可使用任何平台上的、任何编程语言来调用Web Service。
5、松散耦合:当Web Service的实现发生改变时,调用者是无法感受到这种改变的。对调用者而言,只要服务实现的接口没有变化,具体实现的改变时完全透明的。
6、高度的开放性:Web Service可以与其他的Web Service进行交互,具有语言和平台无关性,支持CORBA、EJB、DCOM等多种组件标准,支持各种通信协议如:HTTP、SMTP、FTP和RMI等。
7、使用标准协议:Web Service所有的公共协议都是用标准协议描述、传输和交换,这些标准协议在各种平台上完全相同,使用Web Service完全可以在不同供应商之间实现互操作。
8、高度整合的能力:由于Web Service采用简单的、易理解的标准的Web协议作为通信协议,完全屏蔽了不同平台的差异,无论是CORBA、DCOM还是EJB,都可以通过这种标准的协议进行交互操作,实现系统的最高的可整合性。
与Web Service相似的是,软件开发领域还有一些基于网络的系统集成技术,例如DCOM(Distributed Component Object Model,分布式组件对象模型),CORBA(Common Object Request Broker Architecture,通用对象请求代理结构)等,但这些传统的技术大都采用了专有的通信协议,限制了它们的使用。但Web Service则采用标准的互联网协议,如HTTP,而且Web Service采用的XML语言作为数据交换格式和服务描述文件,因此更加简单。
与其他网络集成技术相比,Web Service具有如下量大优势:
1、Web Service使用SOAP作为基本通信协议,更加简单、易用。
2、Web Service采用已经广泛使用的技术和协议,如XML、HTTP等,因此Web Service更容易掌握。