监理公司管理系统 | 工程企业管理系统 | OA系统 | ERP系统 | 造价咨询管理系统 | 工程设计管理系统 | 签约案例 | 购买价格 | 在线试用 | 手机APP | 产品资料
X 关闭
泛普博客

当前位置:工程项目OA系统 > 泛普服务体系 > 泛普博客

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

申请免费试用、咨询电话:400-8352-114

来源:泛普软件

当决定采用哪一种标准的时候,最值得考虑的经常是技术人员提出的建议。他们可能会依次向你推荐一个最容易实施的标准,能够得到最广泛的技术支持的产品和最有可能在你的环境中很好地工作的标准。为了有一个能够经受时间的考验并且在为来能够继续扩展的成功的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的一种可行的机制。如果你这样做,你就可以显着减少锁定厂商的机会。(IT专家网)

 

发布:2007-04-27 15:49    编辑:泛普软件 · xiaona    [打印此页]    [关闭]
相关文章:

泛普泛普博客其他应用

泛普OA商务合同 泛普OA需求调研 泛普OA实施方案 泛普OA项目启动 泛普网络硬件配置 泛普OA部署安装 泛普流程模板表单 OA系统二次开发 泛普常见问题解决 泛普OA操作手册 泛普软件项目验收 泛普培训推广上线 泛普OA售后服务 泛普新闻 泛普期刊 泛普博客