每个Web服务都有服务代理吗?

时间:2015-05-28 09:27:08

标签: asp.net web-services soa

我为科学论文研究SOA和Web服务。我的知识状态是,每个SOA架构都需要服务代理。

Webservices是SOA的具体实现,所以他们之后是否有服务代理?例如,我在asp.net中创建了一个webservice,它返回“hallo world”。通过创建它,我也创建了一个服务代理吗?

2 个答案:

答案 0 :(得分:1)

不要因为维基百科的复制粘贴答案而欺骗你:-)

  

Webservices是SOA的具体实现

此假设/声明错误。至少SOA和Web服务之间没有直接关系。 SOA是一种架构范例,其中Web服务是基于WSDL的具体技术(堆栈)及其结果,即SOAP协议。而已。 Web服务可能有助于建立松散耦合的服务环境,这是SOA范例所期望的。但您也可以与其他技术堆栈(自编黑客,RMI,甚至基于REST)建立SOA环境。

<强>存储库

问题是:当您开始构建SOA环境时,您(或其他人)将编写服务(即Web服务),其中您的服务将具有技术合同(WSDL,WADL,...)作为基础实现。您的客户会要求它,您希望它存储在某个地方。这个地方通常是一个服务存储库。您可以开发自己的,使用UDDI标准,或者只购买大型供应商(IBM,TIBCO,Oracle等)的产品。

<强>经纪人

SOA上下文中的消息代理是某个软件,它支持连接的伙伴系统的分离。通常它被称为ESB(企业服务总线)。 SOA范例的目标之一是,任何人都可以使用这些服务(可重用性)。因此,您不希望通过P2P连接(也称为意大利面条架构)连接您的服务 - 想象一下,其中一个服务参与者更改了它的硬件/ IP:这对所有连接的合作伙伴来说都是一场噩梦系统。这就是发明ESB的原因,它在服务消费者和服务提供者之间起作用。 通常,这些ESB产品支持许多技术或-stacks / API,如HTTP,JMS,REST等。

资料来源:我很长一段时间都在为一家大公司开展自称SOA环境和成千上万种不同的(网络)服务。

答案 1 :(得分:0)

Web服务是一组相关的应用程序函数,可以通过Internet以编程方式调用。企业可以动态地混合和匹配Web服务,以最少的编程执行复杂的事务。 Web服务允许世界各地的买家和卖家相互发现,动态连接,并以最少的人工交互实时执行交易。

Web服务是独立的,自我描述的模块化应用程序,可以在Web上发布,定位和调用。

  

Web服务体系结构中的网络组件可以播放一个或   更基本的角色:服务提供商,服务经纪人和服务   客户端。

服务经纪人注册并对已发布的服务进行分类并提供搜索服务。例如,UDDI充当WSDL描述的Web服务的服务代理。