Webservice的设计和模式_计算机-Java.pdf
《Webservice的设计和模式_计算机-Java.pdf》由会员分享,可在线阅读,更多相关《Webservice的设计和模式_计算机-Java.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.Webservice 的设计和模式 本系列文章导航 创建一个示例和 WebMethod 特性解析 WebService 特性和数组类型解析 类和结构体解析 利用公开 API做天气预报 Web 服务 Webservice 的设计和模式 Remoting 和 Webservice 的区别 本文转自:.blogs./idior/(收藏看着不方便,还是放在自己的园子里)本文是篇译文(原文在 devx),对于想初步了解 webservice 的朋友可能有些帮助。Webservice 作为一项新的技术出现在我们面前,它的出世是用于解决在不同的平台下的应用的协同的。目前几乎每家厂商都要去开发 Webser
2、vice 应用,然而如果缺乏对 Webservice 更深的了解,不能很好的在设计阶段处理好一些重要的问题,那么最终完成的系统必然是效率低下,没有可靠性的产品。在设计 Webservice 应用时,以下几点务必要考虑到:l 管理好与外系统的协同关系 l 掌握底层的传输模型 l 提供与应用相适应的安全策略.l 计划好部署的相关事项 以下,将就这几条相关的设计需求和一些常用模式是如何应用于 Webservice 模型展开详细讨论。在讨论中,你会发现 Webservice 这项新的技术是如何与我们在以往的软件开发相结合的。l 标准提供了协同的能力 Webservice 的一个最基本的目的就是提供在各
3、个不同平台的不同应用系统的协同工作能力。为了使得一个公司的网络应用达到最高的效率,存在它自己和它的合作伙伴,供应商以及客户之间的Webservice,应该能够实现无缝的交互。如果在众多的 Webservice 之间不能轻松的实现交互,那么该应用的效率将大打折扣。但是,在现实中这种情况是极有可能出现的。由于各个公司对业务的理解各不相同,就是理解相同的情况下,对于相同的概念也可能用不同的形式加以表现,具体而言就是对于同一数据可能采取不同的 xml 表示。由于以上的原因,对于协同性的问题应该在设计应用架构时就加以考虑,而不是留待以后去改变。Webservice 主要由以下几块技术所构成,SOAP(S
4、imple Object Access Protocol),WSDL(Web service Description Language),以及 UDDI(Universal Description,Discovery and Integration)。在这里我们不会去详细研究这些技术,而是揭示他们的一些重要特性,这些特性需要在 Webservice 的设计时详加考虑。WSDL 是实现协同能力的关键,它提供了一份契约用于与新老的应用之间交互。这项技术使得各个组织可以将标准的制定集中在 Service 的外部接口,而不用考虑各组织的具体实现。简而言之,它实现了 Webservice 的接口与实现的
5、分离。从而使得标准的制定,更加容易。并且,基于这份接口描述,很服务的设计和模式和的区别本文转自收藏看着不方便还是放在自己的园子里本文是篇译文原文在对于想初步了解的朋友可能有些帮助作为一项新的技术出现在我们面前它的出世是用于解决在不同的平台下的应用的协同的目前几乎每 统必然是效率低下没有可靠性的产品在设计应用时以下几点务必要考虑到管好与外系统的协同关系掌握底层的传输模型提供与应用相适应的安全策略计划好部署的相关事项以下将就这几条相关的设计需求和一些常用模式是如何应用 能力的一个最基本的目的就是提供在各个不同平台的不同应用系统的协同工作能力为了使得一个公司的网络应用达到最高的效率存在它自己和它的合
6、作伙伴供应商以及客户之间的应该能够实现无缝的交互如果在众多的之间不能轻松.多工具可以从中自动生成客户端代码,减少了开发者的工作量,并使得大部分开发者摆脱了编写 SOAP消息传递代码过程。SOAP 是实现在各个 Webservice 组件之间传递消息的传输层。因此,SOAP 应该是一项透明的协同技术。但是,由于很多的 SOAP 实现方法却与标准背道而驰,要么添加了新的扩展功能要么删减了一些标准功能。由于对 SOAP 标准的支持程度不同,使得 Webservice 的协同能力大打折扣,实现协同的困难加大了。基于这种情况,当开发者需要 Webservice 运行在不同平台上时,就要对具体情况加以了解
7、并相应的编码以解决这种不一致性。如果所有的 SOAP 实现组织都能够遵循标准的话,那么 Webservice 的开发者就不需要考虑使用该 Webservice 的底层平台了。尽管如此,不同 SOAP 实现的协同还是相当困难,因为协同标准的制定存在大量的分歧,目前一些组织正致力于标准的制定,比如 SOAP Builders 和 WS-I。然而,现在 Webservice 开发者只有针对不同平台,给予不同的实现,使得开发的成本和负担加大了。l 理解传输模型 SOAP 并不是完全透明的解决方案,它把一些复杂的实现细节隐藏起来。Webservice 的开发者必须深入的了解 SOAP,了解底层的传输机制
8、以及模型,从而知道 SOAP 是如何实现的。在一些简单的应用中,某些工具可以帮助 Webservice 的开发者生成 SOAP消息传递的代码,但是这只在最简单的应用中有效。真正的情况不可能那么简单,可能在某些方面你需要有特殊的处理(这种情况在实际开发中是很常见的),这个时候,你就需要直接操纵 SOAP 的消息传递代码,以及一些底层的 XML内容。因此,Webservice的开发者需要深入了解 SOAP 和 XML层的内容。在开发 Webservice 的接口的时候,不要以为使用 XML技术,协作性的问题就迎刃而解了,XML并不是解决集成问题的灵丹妙药。这里同样需要标准的制定,需要一个在业界公认
9、的词汇表。仅仅在你的服务的设计和模式和的区别本文转自收藏看着不方便还是放在自己的园子里本文是篇译文原文在对于想初步了解的朋友可能有些帮助作为一项新的技术出现在我们面前它的出世是用于解决在不同的平台下的应用的协同的目前几乎每 统必然是效率低下没有可靠性的产品在设计应用时以下几点务必要考虑到管好与外系统的协同关系掌握底层的传输模型提供与应用相适应的安全策略计划好部署的相关事项以下将就这几条相关的设计需求和一些常用模式是如何应用 能力的一个最基本的目的就是提供在各个不同平台的不同应用系统的协同工作能力为了使得一个公司的网络应用达到最高的效率存在它自己和它的合作伙伴供应商以及客户之间的应该能够实现无缝
10、的交互如果在众多的之间不能轻松.设计框架中引入 XML技术并不能保证系统具有协同性,XML仅仅是用来描述数据的语言,XML自己并不提供语义去理解数据。就如同英语和德语都使用拉丁字母,但是他们的语义却并不相同。即使你使用相同的语言,也不能保证具有良好的协作性。比如你的公司可能使用 Order 描述一个订单,但你的合作伙伴可能使用 Purchase_Order,而另一个伙伴可能又不相同。你不可能强迫你所有的合作伙伴都采用和你相同的词汇。因此需要有一项技术可以在众多的描述之间充当翻译的角色。XSLT就是这么一种技术,它用于不同语言的转换。和 XSLT的配合使用 XML才能解决协同性的问题。l DOM
11、 vs.SAX 许多的 Webservice 开发环境,将开发者从底层的 XML文档的解析和处理中解放出来,他们提供了自动化或者很方便的工具,使得这一过程变得很简单。但是对于一些有特殊要求的 Webservice 应用,比如需要更好的柔性或者对速度要求特别高的应用,就需要手工处理 XML文档。这时候两种 XML解析的模型 DOM 和 SAX的选择,将成为重要的问题。DOM 使用树状图的方式解析 XML文档,而 SAX则更多的采用事件驱动的模型。DOM 先将 XML文档映射成一颗树,然后通过采用一系列与树相关的操作去处理这份文档。这种方法有很多的好处,首先开发者很容易理解,使用一颗树这对于开发者
12、来说是最常见不过的了。DOM 最常用于 XML在 Service 中需要频繁修改的场合。当然 DOM 也有它的缺点,在处理 XML文档的时候,它需要载入整个文档,而不管你需要修改的是否只是其中的一小部分。因此它的运行效率以及对内存的使用显然是不能接受的,尤其是面对很大的 XML文档。SAX使用事件驱动的模型来处理 XML文档。通过一系列事件的触发,来完成对 XML的解析,你可以只关心你所要处理的事件,当这些事件发生时,会调用到相应的回调函数来通知到你。采用这种方式服务的设计和模式和的区别本文转自收藏看着不方便还是放在自己的园子里本文是篇译文原文在对于想初步了解的朋友可能有些帮助作为一项新的技术
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Webservice 设计 模式 计算机 Java
限制150内