在基于互联网的面向服务的计算中将接口与实现分离有什么价值?

时间:2013-01-06 22:34:18

标签: web-services soap interface wsdl uddi

原因是正常的多模块应用程序编程 - 所以客户端可以只使用该接口而不必担心实现细节吗?

请注意,我所说的是WSDI / UDDI / SOAP而不是普通的应用程序接口。

4 个答案:

答案 0 :(得分:2)

WSDL具有an abstract part and a concrete part,它们是分开的,以允许重用这些定义。相同的合同可以绑定到许多具体的网络协议和消息格式。

UDDI的上下文中重用定义意味着一个接口,多个实现。

UDDI的一个想法是可以在运行时发现所需的Web服务。您可以进入注册表并查找某个WSDL合同的实现:

  

超越Cookbook:接口和实现

     

[...]

     

如果三个不同的公司已经实现了相同的WSDL文件,并且一个客户端软件已经为该WSDL接口创建了代理/存根代码,则客户端软件可以使用相同的代码库与所有这三个实现进行通信

     

[...]

     

至少那是理论。 In practice it turned out another way

答案 1 :(得分:0)

简短的回答是没有。通过WSDL发布Web服务时,如何实现它并不重要。无论您是否为后端Web服务定义了接口,使用您的服务的客户端应用程序都将从WSDL生成相应的代码。 也就是说,在Web服务前面添加一个接口,实在是浪费时间。

答案 2 :(得分:-1)

尖尖的老板决定他希望应用程序以不同的方式工作,在不同的屏幕序列中,因为:

  1. 他在网球俱乐部的朋友认为这样做会更好。

  2. 严格的用户测试表明,基于不同的应用程序流程或使用步骤顺序,客户转化率更高。

  3. 您希望提供您网站的白标版本(类似于特许经营权)。

  4. 在上述情况下,人们只需要重写图形元素,这样做的人不需要知道任何有关数据库或复杂的后端数据处理的事情。

答案 3 :(得分:-1)

分离界面和实现可帮助您保持设计松散耦合。随着需求的变化,您可以独立于界面更改实施。