这片文章是片译文(原文在devx,具体记不得了),对于想初步了解webservice的朋友可能有些帮助。其中有一些模式的应用,不过个人觉得太简单了,忘大家多想想,发表些意见。
Webservice 作为一项新的技术出现在我们面前,它的出世是用于解决在不同的平台下的应用的协同的。目前几乎每家厂商都要去开发Webservice 应用,然而如果缺乏对Webservice更深的了解,不能很好的在设计阶段处理好一些重要的问题,那么最终完成的系统必然是效率低下,没有可靠性的产品。
在设计Webservice 应用时,以下几点务必要考虑到:
l 管理好与外系统的协同关系
l 掌握底层的传输模型
l 提供与应用相适应的安全策略
l 计划好部署的相关事项
以下,将就这几条相关的设计需求和一些常用模式是如何应用于Webservice模型展开详细讨论。在讨论中,你会发现Webservice这项新的技术是如何与我们在以往的软件开发相结合的。
l 标准提供了协同的能力
Webservice的一个最基本的目的就是提供在各个不同平台的不同应用系统的协同工作能力。
为了使得一个公司的网络应用达到最高的效率,存在它自己和它的合作伙伴,供应商以及客户之间的Webservice,应该能够实现无缝的交互。如果在众多的Webservice之间不能轻松的实现交互,那么该应用的效率将大打折扣。但是,在现实中这种情况是极有可能出现的。由于各个公司对业务的理解各不相同,就是理解相同的情况下,对于相同的概念也可能用不同的形式加以表现,具体而言就是对于同一数据可能采取不同的xml表示。由于以上的原因,对于协同性的问题应该在设计应用架构时就加以考虑,而不是留待以后去改变。
Webservice 主要由以下几块技术所构成,SOAP (Simple Object Access Protocol), WSDL (Web service Description Language), 以及UDDI (Universal Description, Discovery and Integration)。
在这里我们不会去详细研究这些技术,而是揭示他们的一些重要特性,这些特性需要在Webservice的设计时详加考虑。
WSDL是实现协同能力的关键,它提供了一份契约用于与新老的应用之间交互。这项技术使得各个组织可以将标准的制定集中在Service的外部接口,而不用考虑各组织的具体实现。简而言之