选择构建服务所需的平台恐怕是IT人员面临的最简单决策了。大多数组织从头开始编制服务时,只需充分利用开发人员的强项即可,因为面向各大开发平台 的Web服务创建工具已趋于成熟,这些平台包括Java应用服务器、Windows上的.Net和z/OS上的COBOL等。不过,把现有应用的功能作为 服务来提供时,一些公司也使用ESB作为平台,原因是服务可以通过配置而不是编码来提供。
在完成服务构建及测试之后,开发人员就 可以把该服务发布到服务注册中心(Registry),那样授权者就能发现它,其他服务或者应用也能使用它。如今,大多数注册中心与指向服务元数据的存储 库(Repository)结合在一起——包括管理服务开发的策略,譬如安全设计规则以及运行时管理参数(如服务级别协议或者预期负载)。
英国电信公司的策略和架构部门主管George Glass说: “一开始我们就认识到,我们需要存储库工具。”但英国电信公司启动SOA项目的时候,市场上其实还没有存储库工具,于是该公司使用Borland设计工具 作为存储库,通过自己重新创建的Web接口把服务提供给业务分析人员。
哈特福德保险公司的基础服务部门主管Ben Moreland说,哈特福德公司把可用的服务发布到通用描述发现集成协议(UDDI)注册中心,不过是使用Excel电子表格和数据库作为其存储库。作 为整个企业的参考架构项目的一部分,哈特福德公司现在正准备建设比较正规的存储库系统。让Moreland高兴的是,公司当时采取了等一等的策略,因为现 在的注册中心/存储库产品能够有效地处理元数据。
eBay公司负责系统开发的副总裁James Barrese说: “一旦部署了服务,人们使用服务的速度就会比你想像的快得多。所以基本的基础架构需要落实到位,包括使用者和发布者中央目录、详细记录操作的日志以及仪表板(dashboard)等操作监控技术。”
有关服务的存储库元数据一般描述应当会出现什么,而不是实际出现了什么。在SOA中,必须实时监控服务的性能、可用性及使用情况——这往往借助于 Actional(最近被Sonic Software收购)、AmberPoint或者Blue Titan(最近被SOA Software收购)等厂商提供的服务管理产品。这些解决方案还支持版本控制、故障替换和消息日志等功能,并提供了集中视图,可以了解网络上服务的总体 运行情况。
eBay把服务质量(QoS)的参数添加到了服务模板中,其中内置了速率限制和日志功能。正如Barrese所言,这 项功能旨在确保实施起来具有统一性和一致性。比如仪表板服务可以监控日志,以发现性能问题, 负载过大的服务知道性能有问题后,可以请求支持或者通知IT分析人员。