WebService的前世今生
WebService的前世今生
2010-4-2 蒋彪
1.什么是WebService
我们用一段话来描述WebService:
Web services are typically application programming interfaces (API) or web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services. Web服务是一种可以穿越网络,比如Internet,并且在远程系统上调用服务的WebAPIs。 |
1.1 从类型上WebService目前分成以下两种:
・ Big Web Services
该类型的Web服务主要依靠SOAP消息来传输通信,但是它有一个致命的缺点,就是要求所有的客户端机器上都要有SOAP的容器(比如Apache Axis2),也就是说,在它的体系上的所有架构都将变成C/S
・ RESTful Web Services
和前一种不同的是,该类型的Web服务,不要求数据之间的通信一定用SOAP来传输,普通的Put,Get,Post之类的HTTP请求就能正常的传输消息。结果就是,客户端用IE就能调用到Web服务。所以,现在产品化的Web服务一般都是此类。(如亚马逊)
1.2 定义WebService的标准文档(JSR之类)的具体如下
标准名 |
标准的作用 |
对标准有影响力的企业 |
发布标准的组织 |
定义了如何在SOAP中使用XML,在https协议下,进行安全的数据传输 |
|||
定义了如何保障通信中数据的健全性 |
|||
定义了通信之间的事务操作 |
BEA Systems, IBM, and Microsoft. |
BEA |
|
定义了通信过程中,如何向对方发送自己的网络硬件信息(如路由,MAC等等) |
1.3 WebService的几种著名的实现
实现名称 |
出品组织 |
地址 |
Metro 2.0 |
Sun |
http://wikis.glassfish.org/metro/Wiki.jsp?page=Roadmap |
wcf |
Mircosooft |
http://msdn.microsoft.com/en-us/netframework/aa663324.aspx |
2.WebService的前世
・ 在1975年,philosopher George Santayana就提出了EDI技术,用来在整个网络上
标准的传输数据。
・ 25年以来,为了解决EID问题,提出了以下三种主要的解决方法
解决方法 |
开发公司 |
优点 |
缺点 |
CORBA |
Unix社区 |
最完美的标准 |
几乎不可能实现 |
DCOM |
微软 |
完美整合微软开发环境 |
对其他平台不支持,很复杂 |
Java远程调用(EJB) |
Sun |
跨平台 |
对其他语言不支持,很复杂 |
・ 随着以下技术的发展,问题出现了转机
技术名称 |
出现时间 |
解决问题 |
HTTP协议 |
1994~1997 |
跨网络信息传输 |
XML |
1998 |
跨平台通信 |
SOAP |
1999 |
跨平台通信 |
WSDL |
2000 |
STUB技术 |
UDDI |
2000 |
服务的注册技术 |
・ 最后,在2000年前后,微软和IBM几乎同时,提出了Web服务的概念。他们决定把下个世纪的希望放在Web服务上。可惜的是,十年以来,他的发展并不是很好。直到出现了SOA.
3.WebService的今生
WebService虽然推出了将近10年,但是似乎成长的并不快。这和企业之间的排挤,技术的复杂是相关的。直到,SOA的诞生。
SOA最好的实现是什么?当然是WebService
如下图,我们能看到整个SOA体系的骨架,其实就是WebService。
以上