服务虚拟化与安全管理:实现灵活SOA架构
服务虚拟化管理器与网关实现
服务虚拟化管理器原理
服务虚拟化管理器通过访问知识库来实现虚拟服务与具体服务端点的映射和消息转换。知识库中包含了虚拟名称到具体服务端点的映射、方法名称和参数的转换等必要信息。通过这种方式,客户端无需考虑具体的服务实现细节,并且可以动态提供服务。一方面,新服务可以通过新的虚拟接口进行发布;另一方面,也可以为已发布的虚拟接口开发新服务,并将旧虚拟接口的调用映射到新的服务实现上。
常见Web服务基础设施
当前环境中最常用的两种Web服务基础设施是Apache Tomcat服务器(占比45.95%)和Microsoft Internet Information Service (IIS)(占比29.97%)。接下来将探讨如何使用这两种主要的Web服务器解决方案来实现服务虚拟化管理器。
实现服务虚拟化管理器的关键组件
为了提供服务虚拟化管理器,需要一个理想的透明中间服务,它可以作为消息拦截器和消息转换器。在Web服务领域,需要一个HTTP路由器来完成这种转换,而不影响调用相应服务的客户端以及底层的服务实现。
HTTP路由器的工作流程
HTTP路由器将来自虚拟WSDL的请求隧道传输到“真实”服务接口的具体服务调用。例如,虚拟WSDL提供了一个名为“wsa:Action=’call’”的方法,HTTP路由器会将这个Web服务调用映射到底层服务实现的相应“wsa.Action=’invoke’”方法调用,并且对调用客户端和服务实现都是完全透明的。