web services简介

1. web services

Web Services 可使您的应用程序成为 Web 应用程序,通过 Web 进行发布、查找和使用。

Web Services 是应用程序组件,使用开放协议进行通信,是独立的(self-contained)并可自我描述,可通过使用UDDI来发现,可被其他应用程序使用,XML 是 Web Services 的基础。

web services如何工作

基础的 Web Services 平台是 XML + HTTP。
Web services 平台的元素:SOAP (简易对象访问协议)、UDDI (通用描述、发现及整合)、WSDL (Web services 描述语言)。

2. SOAP

SOAP 是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息。

SOAP 指简易对象访问协议,是一种通信协议,用于应用程序之间的通信,是一种用于发送消息的格式,被设计用来通过因特网进行通信,独立于平台、 独立于语言、基于 XML、很简单并可扩展,允许您绕过防火墙,将作为 W3C 标准来发展

soap消息的基本结构

3. WSDL

WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问。

WSDL 指网络服务描述语言,使用 XML 编写,是一种 XML 文档,用于描述网络服务,也可用于定位网络服务,还不是 W3C 标准。

WSDL 语法

元素 定义
<portType> web service 执行的操作
<message> web service 使用的消息
<types> web service 使用的数据类型
<binding> web service 使用的通信协议

4. UDDI

UDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。UDDI,英文为 “Universal Description, Discovery and Integration”,可译为“通用描述、发现与集成服务”。

UDDI 指的是通用描述、发现与集成服务,是一种用于存储有关 web services 的信息的目录,是一种由 WSDL 描述的 web services 界面的目录,经由 SOAP 进行通信,UDDI 被构建入了微软的 .NET 平台。

soap

NO-WSDL

函数
server.php

client.php


server.php

client.php

WSDL

wsdl可使用工具(如zend studio)创建,也可自己创建。

创建wsdl
1. zend studio来生成wsdl文件:File->New—>Other—>Web Service—>WSDL。
2. 生成wsdl的类SoapDiscovery.class.php(集成类)

server.php

创建wsdl文件的creat_wsdl.php

运行create_wsdl.php文件,此时会生成一个Service.wsdl的文件

调用
再在server.php文件中添加一些代码

client.php

nusoap

NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService。它是一个开源软件,是完全采用PHP语言编写的、通过HTTP收发SOAP消息的一系列PHP类。NuSOAP的一个优势是不需要扩展库的支持,这种特性使得NuSoap可以用于所有的PHP环境,不受服务器安全设置的影响。

首先,下载 nusoap.zip
服务端:建立 server.php 文件

客户端 建立client.php文件

phprpc

PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。

测试

下载phprpc_php和phprpc_js

本测试将phprpc_js放在phprpc_php目录中

服务器端:

客户端php:

客户端js:

HessianPHP

Hessian是一个轻量级的远程的数据交换工具,使用简单的方法提供了RMI(远程方法调用)的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据
hessian是独立于语言的。

server.php

client.php

附:SoapDiscovery.class.php

分类: 后端

发表评论

电子邮件地址不会被公开。 必填项已用*标注