Java Web系统
常用的第三方接口
编写人:阿蜜果
日期:2010-12-21
版权所有,转载请注明出处:1. Web Service接口
1.1 接口方式说明和优点
在笔者的开发生涯中,当作为接口提供商给第三方提供接口时,以及作为客户端去调用第 三方提供的接口时,大部分时候都是使用Web Service接口,Web Service作为接口使用广泛 的原因,与它的特点息息相关。
Web Service的主要目标是跨平台的可互操作性,为了实现这一目标,Web Service 完全 基于XML(可扩展标记语言)、XSD(XML Schema)等独立于平台、独立于软件供应商的标 准,是创建可互操作的、分布式应用程序的新平台。因此使用Web Service有许多优点:
1.1.1 跨防火墙的通信
如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信 将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。要调用Web Service,可以直接使用SOAP客户端,然后把它和应用程序连接起来。不仅缩短了开发周期, 还减少了代码复杂度,并能够增强应用程序的可维护性。
1.1.2 跨程序语言的应用程序集成
在企业的各种应用系统中,很多系统不是使用相同的语言编写的,例如有的使用Java,有 的使用php、C#、asp。当各种系统之间需要交互时,可使用各种语言都通用的WSDL定义接 口,对外将需要的接口暴露给指定的客户。
XML Web services 提供了在松耦合环境中使用标准协议(HTTP、XML、SOAP 和 WS DL)交换消息的能力。消息可以是结构化的、带类型的,也可以是松散定义的。
1.1.3 软件和数据重用
Web Service在允许重用代码的同时,可以重用代码背后的数据。使用Web Service,再也 不必像以前那样,要先从第三方购买、安装
软件组件,再从应用程序中调用这些组件;只需要直 接调用远端的Web Service就可以了。
另一种软件重用的情况是,把好几个应用程序的功能集成起来,通过Web Service “暴露” 出来,就可以非常容易地把所有这些功能都集成到你的门户站点中,为用户提供一个统一的、友 好的界面。
可以在应用程序中使用第三方的Web Service 提供的功能,也可以把自己的应用程序功能 通过Web Service 提供给别人。两种情况下,都可以重用代码和代码背后的数据。
1.2 重要概念
1.2.1 何为Web Service?
Web Service是构建互联网分布式
系统的基本部件,它是一个应用程序,它向外界暴露 出一个能够通过Web进行调用的API。这就是说,别人能够用编程的方法通过Web来调 用这个应用
程序。
它通过标准
通信协议,在互联网上以服务的方式发布有用的程序模块,目前大部分是用SO AP作为通信协议。
它提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫WSDL(We b服务描述语言,Web Service Description Language)。
通常已发布的Web Service要注册到管理服务器,便于使用者查询和使用。这个是通过U DDI (统一描述、 发现和集成,Universal Discovery Description and Integration) 来完成的。
1.2.2 何为SOAP协议?
SOAP定义SOAP消息的XML格式(XML格式),如果你用一对SOAP标记(SOAP El ements)把XML文档括起来,那么这个就是一个SOAP消息。
SOAP规范还定义了怎样用XML来描述程序数据,怎样执行RPC(远程过程调用,Remote Pr ocedure Call)。大多数SOAP解决
方案都支持RPC-style应用程序,因为很多程序员已对DCOM 或CORBA熟悉。它还支持Document-style应用程序(SOAP消息只包含XML文本信息)。Do cument-style应用程序有很好的灵活性,所以很多用RPC很难构建的Web Service用这种方式 构建。
最后SOAP规范还定义了HTTP消息是怎样传输SOAP消息的。这并不代表SOAP只能用 HTTP来作为传输协议,MSMQ、SMTP、TCP/IP都可以做SOAP的传输协议。
安全