go语言soap go语言sort( 五 )


关于客户端与服务器的通信问题,一个完美的解决方法是使用HTTP协议来通信 。这是因为任何运行Web浏览器的机器都在使用HTTP协议 。同时,当前许多防火墙也配置为只允许HTTP连接 。
许多商用程序还面临另一个问题,那就是与其他程序的互操作性 。如果所有的应用程序都是使用COM或.NET语言写的 , 并且都运行在Windows平台上,那就天下太平了 。然而,事实上大多数商业数据仍然在大型主机上以非关系文件(VSAM)的形式存放,并由COBOL语言编写的大型机程序访问 。而且,目前 还有很多商用程序继续在使用C++、Java、Visual Basic和其他各种各样的语言编写 。现在,除了最简单的程序之外,所有的应用程序都需要与运行在其他异构平台上的应用程序集成并进行数据交换 。这样的任 务通常都是由特殊的方法,如文件传输和分析,消息队列,还有仅适用于某些情况的的API , 如IBM的"高级程序到程序交流(APPC)"等来完成的 。在以 前,没有一个应用程序通信标准,是独立于平台、组建模型和编程语言的 。只有通过Web Service,客户端和服务器才能够自由的用HTTP进行通信,不论两个程序的平台和编程语言是什么 。
什么是WebService?
Web services是建立可互操作的分布式应用程序的新平台 。作为一个Windows程序员,你可能已经用COM或DCOM建立过基于组件的分布式应用程序 。COM是一个非常好的组件技术 , 但是我们也很容易举出COM并不能满足要求的情况 。
Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性 。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service  , 只要我们可以通过Web service标准对这些服务进行查询和访问 。
Web service平台需要一套协议来实现分布式应用程序的创建 。任何平台都有它的数据表示方法和类型系统 。要实现互操作性,Web service平台必须提供一套标准的类型系统 , 用于沟通不同平台、编程语言和组件模型中的不同类型系统 。在传统的分布式系统中,基于界面 (interface)的平台提供了一些方法来描述界面、方法和参数(译注:如COM和COBAR中的IDL语言) 。同样的,Web service平台也必须提供一种标准来描述Web service,让客户可以得到足够的信息来调用这个Web service 。最后,我们还必须有一种方法来对这个Web service进行远程调用 。这种方法实际是一种远程过程调用协议(RPC) 。为了达到互操作性,这种RPC协议还必须与平台和编程语言无关 。
Web Service 是一种新的web应用程序分支 , 他们是自包含、自描述、模块化的应用 , 可以发布、定位、通过web调用 。Web Service可以执行从简单的请求到复杂商务处理的任何功能 。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务 。
Web Service是一种应用程序 , 它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上 。可将Web服务视作Web上的组件编程 。
1历史
web广泛用到的技术:
◆TCP/IP:通用网络协议 , 被各种设备使用
◆HTML:通用用户界面,可以使用HTML标签显示数据
◆Java:写一次可以在任何地方运行的通用编程语言
◆XML :通用数据表达语言,在web上传送机构化数据的容易方法
他们的特点是其开放性,跨平台性,开放性正是Web services的基础 。
2 Web发展的趋势
内容更动态化
◆带宽Bandwidth更便宜 , 易于获得
◆存储器Storage更便宜,更易获得
◆普遍式计算变得更加重要:大量的设备,例如移动电话,页面 , 电脑 , pc,已经在Internet上变得普遍,平台变得更多元化,象XML这样的跨平台技术变得更重要

推荐阅读