2 服务封装
SOA的一个重要工作是将已有系统,已有功能封装为服务。封装的方式有:
(1) 将现有应用程序包装为服务。将功能保留原样,但是使用工具或中间件将现有功能作为服务公开。例如,将遗留应用程序作为Web Service公开。
(2) 将现有功能包装并替换为服务 。按上述方式包装功能,但是在以后使用最终的服务规范来重新开发服务,即新的服务提供不同于已有系统接口的新的接口(不同的接口的粒度,参数,调用规范)。然后,替换原始系统,并将客户端重定向到新的服务。
(3) 使用更适合于服务调用的适配器 。在某些情况下,无法包装某个功能并将其作为服务公开。但是,能够以更容易集成的形式包装该功能,例如消息队列接口或 Java 连接器体系结构(Java Connector Architecture,JCA),从而允许新服务就地访问该功能。
(4) 将功能集成到服务中 。在某些情况下,只需将现有的功能用作服务实现中的一个逻辑组件,即可让新服务就地访问该功能。