正在加载图片...
MyEclipse6Java开发中文教程 Web service平台是一套标准,它定义了应用程序如何在web上实现互操作性。你可以用 你喜欢的任何语言,在你喜欢的任何平台上写 Web service 我想,看到这定义的人都会感到一头雾水,不知所谓。那么好了,看图152中的Web 服务结构图吧。在这个图中,列出了 Web service的几个关键部分。包括 简单对象访问协议(SOAP, Simple Object Access Protocol) Web服务描述语言(WsDL, Web Service Definition Language) 统一描述、发现和集成(UDDl, Universal Description, Discovery, and Integration 」描述信息 UDD注册表 WsDL(服务描 述语言) 指向服务 描述服务 查找服务 调用服务 Web service Web service服 客户端 SOAP消息(通过HTP交换XML)米务器端(Jaa (Jaa.NET等) NET等) 图152 Web service结构图 现在,让我们把它和图15.1的就餐过程进行类比。假设我们在路上饥肠辘辘,忽然, 眼前一亮,前面出现一指示牌:前方500米处有就餐服务,详情请去店内咨询。这是什么? 这就是UDD,它告诉您在什么位置有什么样的Web服务,但是很显然服务的细节是不会 贴在指示牌上的,需要你亲自去店内查看。到了店内,您最关心的内容就是菜单,也就是 WsDL,它会描述每种菜的特点和定价,您根据自己的情况,来选择打算吃那种菜(当然, 这里是国际标准的菜单描述格式)。然后,您用英文,一种大家都听得懂的语言,来向服务 员表明您的希望,当然,内容必须是和菜单有关的内容,您不能向服务员说:请问一只轮胎 多少钱?这就是SOAP所做的事,您必须用XML协议来表达您在WSDL上看到的服务项 目。服务员听到兵翻译成自己能理解的内容后根据实际情况作出反应:很好,某某菜一会 就做好;或者不幸的是:对不起,这道菜原料用完了,请换一道。同样,它也用SOAP 您返回结果。这就是Web服务的过程,不过在计算机的世界里,客户端成了某电脑上的程 序(可以用各种语言开发),服务器端则是某台运行HTTP并支持Webservice服务的服务 器程序。因此,问题也潜在存在,那些无法写上菜单的服务项,是无法通过这种途径来传播 的,换句话说web服务只能在一定范围内实现互联互通,所以它无法取代现有的其它沟通 途径,例如QQ和MSN。最后,UDD|的出发点很好,不过在企业内部,因为WSDL唾手 可得,所以没有人愿意再去公司大院里竖起一块牌子列出本公司都有哪些Web服务,所以 UDD|在企业内部使用时,是几乎用不到的。那么,Web服务能做什么?可以查股票,天气 预报等这些类似于一问一答的服务。 现在Java的最新版,包括JDK6和 Java ee5,都对Web服务提供了很完整的支持 现在的开发者已经很少再需要去详细的了解SOAP和WSDL的详细格式,一般来说大家通 过可视化的设计器或者开发工具,就可以很快的实现一个Web服务,包括生成服务器端代 码和客户端代码等等。例如 Java eE5使用标注显著改进和简化了Web服务支持,而JDK 刘长炯著MyEclipse 6 Java 开发中文教程 3 刘长炯著 Web Service 平台是一套标准,它定义了应用程序如何在 Web 上实现互操作性。你可以用 你喜欢的任何语言,在你喜欢的任何平台上写 Web Service。” 我想,看到这定义的人都会感到一头雾水,不知所谓。那么好了,看图 15.2 中的 Web 服务结构图吧。在这个图中,列出了 Web Service 的几个关键部分。包括: z 简单对象访问协议(SOAP,Simple Object Access Protocol) z Web 服务描述语言(WSDL,Web Service Definition Language) z 统一描述、发现和集成(UDDI,Universal Description, Discovery, and Integration) 图 15.2 Web Service 结构图 现在,让我们把它和图 15.1 的就餐过程进行类比。假设我们在路上饥肠辘辘,忽然, 眼前一亮,前面出现一指示牌:前方 500 米处有就餐服务,详情请去店内咨询。这是什么? 这就是 UDDI,它告诉您在什么位置有什么样的 Web 服务,但是很显然服务的细节是不会 贴在指示牌上的,需要你亲自去店内查看。到了店内,您最关心的内容就是菜单,也就是 WSDL,它会描述每种菜的特点和定价,您根据自己的情况,来选择打算吃那种菜(当然, 这里是国际标准的菜单描述格式)。然后,您用英文,一种大家都听得懂的语言,来向服务 员表明您的希望,当然,内容必须是和菜单有关的内容,您不能向服务员说:请问一只轮胎 多少钱?这就是 SOAP 所做的事,您必须用 XML 协议来表达您在 WSDL 上看到的服务项 目。服务员听到后,翻译成自己能理解的内容后根据实际情况作出反应:很好,某某菜一会 就做好;或者不幸的是:对不起,这道菜原料用完了,请换一道。同样,它也用 SOAP 向 您返回结果。这就是 Web 服务的过程,不过在计算机的世界里,客户端成了某电脑上的程 序(可以用各种语言开发),服务器端则是某台运行 HTTP 并支持 Web Service 服务的服务 器程序。因此,问题也潜在存在,那些无法写上菜单的服务项,是无法通过这种途径来传播 的,换句话说 Web 服务只能在一定范围内实现互联互通,所以它无法取代现有的其它沟通 途径,例如 QQ 和 MSN。最后,UDDI 的出发点很好,不过在企业内部,因为 WSDL 唾手 可得,所以没有人愿意再去公司大院里竖起一块牌子列出本公司都有哪些 Web 服务,所以 UDDI 在企业内部使用时,是几乎用不到的。那么,Web 服务能做什么?可以查股票,天气 预报等这些类似于一问一答的服务。 现在 Java 的最新版,包括 JDK 6 和 Java EE 5,都对 Web 服务提供了很完整的支持。 现在的开发者已经很少再需要去详细的了解 SOAP 和 WSDL 的详细格式,一般来说大家通 过可视化的设计器或者开发工具,就可以很快的实现一个 Web 服务,包括生成服务器端代 码和客户端代码等等。例如 Java EE 5 使用标注显著改进和简化了 Web 服务支持,而 JDK
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有