一步一步学习webservice(一)开篇
Webservice技术在web开发中算是一个比较常见技术。这个对于大多数的web开发者,别管是Java程序员还是.NET程序员应该都不是很陌生。今天我就和大家一起来学习一下webservice的基本内容。此篇文章作为webservice的开篇,首先我们来看一下什么是webservice。他能干什么用呢?
什么是webservice? ?????Web?Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。?用简单点的话说,就是系统对外的接口!一个企业开发出某种功能之后,我就对外提供一个接口。别人如果也想要这个功能的话直接通过internet调用我所提供的接口。就可以实现相同的功能。当然了这些功能可以收费的。 ?????它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。WebService是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问WebService,通过WebService内部执行得到所需结果.Web?Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务?
Webservice的相关技术 在构建和使用Web?Service时,主要用到以下几个关键的技术和规则: 1.XML:描述数据的标准方法. 可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。?
2.SOAP:简单对象访问协议. 是一种轻量的、简单的、基于?XML?的协议,它被设计成在?WEB?上交换结构化的和固化的信息。 ?SOAP协议?=?HTTP协议?+?XML数据格式 ?WebService采用HTTP协议传输数据,采用XML格式封装数据?
3.WSDL:Web服务描述语言. 是一个用来描述Web服务和说明如何与Web服务通信的XML语言。为用户提供详细的接口说明书。? 它是WebService客户端和服务器端都能理解的标准格式,其中描述的信息可以分为what,where,how等部分! what:服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么) where:服务的网络地址用哪个url地址表示 how:服务通过什么方式来调用 WSDL文件保存在Web服务器上,通过一个url地址访问WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:注册到UDDI服务器,以便被人查找。直接告诉给客户端调用者,例如,在自己网站给出信息或邮件告诉。 4.UDDI(Universal?Description,?Discovery?and?Integration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。可译为“通用描述、发现与集成服务”。 实际上,WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Webservice的工作过程:
下面我们用几个图的实例来简单理解一下webservice 如何实现实时天气预报?
如何使用安付通进行货款支付?
Web服务在其中起到的作用:
由上面的图我们可以看出:Web?Service的出现 ?1.让任何平台上的用任何语言编写的服务进行交互。 ?2.将应用程序功能概念化成任务,从而形成面向任务的开发和工作流。这使得更抽象的软件能够为工作在业务层面具有较少软件分析技术的用户所用。 ?3.允许松耦合,这意味着,每当其中某个或多个服务在设计或实现中发生改变时,服务应用程序之间的交互不会因此而中断。 ?4.使现有的应用程序能适应不断变化的业务条件和客户需求。 ?5.向现有或遗留软件应用程序提供服务接口,而无需改变原来的应用程序,从而使这些应用程序完全可以运行在这种服务环境下。 ?6.引入其他一些与原有功能无关的管理或操作管理功能,比如可靠性、责任性和安全性等等,从而在业务计算环境中增加其通用性和实用性。
Webservice应用场景 跨防火墙的通信 ??????如果中间层组件换成WebService的话,就可以从用户界面直接调用中间层组件,从而省掉建立JSP页面的那一步。要调用WebService,可以直接使用SOAP这样的客户端,也可以使用自己开发的SOAP客户端,然后把它和应用程序连接起来。不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。同时,应用程序也不再需要在每次调用中间层组件时,都跳转到相应的“结果页”。?
长项三:B2B的集成 长项四:软件和数据重用 软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。最基本的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。当前,像表格控件或用户界面控件这样的可重用软件组件,在市场上都占有很大的份额。但这类软件的重用有一个很大的限制,就是重用仅限于代码,数据不能重用。原因在于,发布组件甚至源代码都比较容易,但要发布数据就没那么容易,除非是不会经常变化的静态数据。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |