问题:
需要为一个或者多个服务提供通过XML和WEB协议进行访问的路径
J2EE应用程序通过服务门面暴露粗粒度的业务服务。但是如果作为WEB Service,这些服务接口的粒度可能还是过细,或者他们的设计思路决定了不适于将他们暴露到应用程序之外。
另一方面,业务服务器可能在不同的平台上,用不同的语言实现,这种异质性常常造成他们无法彼此的兼容,增加系统之间的无缝继承的难度。这也就意味着不管面对J2EE服务、.NET服务还是别的遗留服务,都不希望直接将他们逐一作为web Serviece 暴露出来。即便是对于粗粒度的J2EE服务,对于业务需求的考虑,通常也只希望暴露其中一部分的业务方法提供WEB SERVCEI 访问。而且,系统常常需要聚合几个现有的业务,是他们彼此的协作。
约束:
需要复用现有的业务,将他们暴露给客户端使用
对于暴露给客户端的服务,希望监视他们的使用情况,甚至还有可能加以限制,这些都取决与业务需求和系统资源的占取情况
必须用公开的标准来暴露服务接口,以便集成异质应用程序。
业务需求和现有服务功能之间可能存在一些差异,希望弥补这一差异
解决方案:
使用WEB Service中转暴露一个或者多个可通过XML和web协议访问的服务,并将对服务的请求转发给真实的服务组件。
WEB Service中转是一个粗粒度的,以WEB Service形式暴露出来的服务组件。他负责协调一个或者多个服务组件之间的关系,对响应信息进行聚合,还可能负责划分或者补偿事务。WEB Service中转可以用RPC远程过程调用风格的接口暴露自己,也可以使用消息接口暴露自己。
需要为一个或者多个服务提供通过XML和WEB协议进行访问的路径
J2EE应用程序通过服务门面暴露粗粒度的业务服务。但是如果作为WEB Service,这些服务接口的粒度可能还是过细,或者他们的设计思路决定了不适于将他们暴露到应用程序之外。
另一方面,业务服务器可能在不同的平台上,用不同的语言实现,这种异质性常常造成他们无法彼此的兼容,增加系统之间的无缝继承的难度。这也就意味着不管面对J2EE服务、.NET服务还是别的遗留服务,都不希望直接将他们逐一作为web Serviece 暴露出来。即便是对于粗粒度的J2EE服务,对于业务需求的考虑,通常也只希望暴露其中一部分的业务方法提供WEB SERVCEI 访问。而且,系统常常需要聚合几个现有的业务,是他们彼此的协作。
约束:
需要复用现有的业务,将他们暴露给客户端使用
对于暴露给客户端的服务,希望监视他们的使用情况,甚至还有可能加以限制,这些都取决与业务需求和系统资源的占取情况
必须用公开的标准来暴露服务接口,以便集成异质应用程序。
业务需求和现有服务功能之间可能存在一些差异,希望弥补这一差异
解决方案:
使用WEB Service中转暴露一个或者多个可通过XML和web协议访问的服务,并将对服务的请求转发给真实的服务组件。
WEB Service中转是一个粗粒度的,以WEB Service形式暴露出来的服务组件。他负责协调一个或者多个服务组件之间的关系,对响应信息进行聚合,还可能负责划分或者补偿事务。WEB Service中转可以用RPC远程过程调用风格的接口暴露自己,也可以使用消息接口暴露自己。