SOA相关的Web服务标准深入理解

日期: 2009-03-02 来源:TechTarget中国 英文

  当决定采用哪一种标准的时候,最值得考虑的经常是技术人员提出的建议。他们可能会依次向你推荐一个最容易实施的标准,能够得到最广泛的技术支持的产品和最有可能在你的环境中很好地工作的标准。为了有一个能够经受时间的考验并且在为来能够继续扩展的成功的SOA实施,所有这三个因素都是极为重要的,互操作性是极为重要的。

  WS-I

  Web服务互操作组织(WS-I)专门制定Web标准的最佳做法,以确保不同操作系统、平台或者编程语言的互操作性。WS-I负责定义Web服务安全和Web服务处理技术规范等最佳做法文献。这些文献帮助开发人员和企业符合其他人正在采用的做法,保证户操作性。

  WS-I还发布技术规范、测试套装软件和如何部署这些协议的样本。实际上,WS-I是由微软和IBM等许多机构组成的一个管理机构,其任务是推广互操作的Web服务。

  使用协议

  Web服务依赖于协议保证通讯是有意义的。服务之间发送的数据内容必须是以前同意的,以保证双方都能知道收到的内容是什么。SOAP是在交换数据时应用最广泛的协议的一个例子。SOAP使用XML编程语言,允许双方都能解码发送的内容并且格式化来回发送的信息。

  说明

  我们很快将介绍一些架构,还要参考一些Web服务协议。不要混淆这两项内容是很重要的。所以下面简单介绍一下。

  REST和RPC等软件架构不是协议。它们是规定如何实施协议的方法。

  WSDL(Web服务描述语言)是用来以格式化的方式描述一个特定的Web服务的语言,以便应用程序能够解析这个服务。WSDL本身不以Web服务互动方式提供任何功能。

  SOAP、XML-RPC或者DCOM等协议本身确切地定义了如何传递消息以及一个程序如何理解它收到的数据。

  SOA中有两种主要类型的架构:RPC系列的协议和具象状态传输(REST)方式。

  RPC

  远程过程调用(RPC)方式允许编程人员在一个系统上编程的时候能够像“调用”本地资源一样调用远程系统的资源。RPC式的服务的缺点是人们倾向于像使用他们熟悉的指定平台上的编程语言那样使用这种方式。如果与本地的过程相同的话,它甚至很容易调用一个远程的过程。

  这个逻辑违反了“松散耦合”的概念。松散耦合概念实际上意味着远程过程不应该依赖于任何特定的操作系统或者编程语言。

  SOAP是XML-RPC的后续协议,仅仅是在XML中包含其信息的一个远程过程调用。SOAP使用HTTP协议发送数据,这是很好和很简单的,但是,确实存在一些缺点。尽管如此,最近大多数Web服务仍使用HTTP协议进行通讯,因为它们都是使用SOAP协议建立的。

  REST

  具象状态传输(REST)方式从根本上是与远程过程调用是不同的,因为它工作的层次不同。一个REST调用看起来就像是任何通过HTTP协议的其它Web请求,而RPC调用看起来就像是一个标准的功能调用。REST的重点是用稳定的资源操作,而不是单个的信息,从而产生更标准的和广泛理解的互动方式,就像HTTP协议本身一样。REST处理简单数据的传送块,而RPC传送复杂的过程。

  使用REST还是RPC

  是否使用REST的问题肯定是一个好问题。它好像是未来的方法。但是,你的SOA需要结合到你目前使用的每一个软件中。REST的应用一直很缓慢,主要是由于Web服务的支持。虽然一个REST系统能够使用WSDL描述一个在HTTP上的SOAP信息,但是,还没有足够的支持以真正地使用它。例如,如果不安装插件模块,Apache甚至都不支持使用REST所需要的方法。

  还有一些不属于Web服务家族的其它标准。但是,正如你预料的那样,这些标准没有得到广泛的支持。Jini、WCF和CORBA等就是一些例子。当一家厂商要向你提供仅支持上述技术之一的产品,你要马上跑开,而不是走开。Web服务目前的到了广泛的支持。Web服务的应用只会增长。SOA本身据说是新的、不稳定的和有风险的。但是,当你选择一个得到广泛技术支持的合适的Web服务标准时,这些风险基本上可以缓解。

  最后,坚持在某些类型的RPC式的系统的基础上使用老式的SOAP是目前使用Web服务建立SOA的一种可行的机制。如果你这样做,你就可以显着减少锁定厂商的机会。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • API开发与管理大作战

    2014将会是API管理方法新旧PK的一年,据Delyn Simons说,她领导了Mashery开发者的外展团队。应用编程接口(API)的主流化和私有化在新的一年也将掀起波澜,她在波士顿“Future Insights Ultimate Developer Event 2013”大会上预测说。

  • 公共API外包管理是否值得考虑?

    公共API外包管理是指聘请一个专家小组来解决可扩展性问题,同时也提出几套可替代的方案。

  • 最适合大数据应用的是SOA还是REST?

    跟所有的企业数据一样,大数据唯有通过应用投射给用户才有用。对于设计或重新设计大数据应用的架构师来说,一个关键问题是究竟是用SOA还是RESTful的API?

  • 弹性资源对传统的REST架构构成挑战了吗?

    组件化应用程序需要机制来将组件传递到下一个工作地。从一开始,人们对连接流程及其实施就有不同的观点。可以证明,SOA阵营是由RPC和SOAP的软件接口发展而形成的。