务虚拟化和面向方面的连接。这里成功的关键是谨慎地开始,公开少量的服务并开发对应的中介,但是这些服务和中介都在为考虑中的整个最终范围而设计的体系结构之内。
有些客户插入 ESB 以建立组织中连接的所需方向,尽管起初还没有确定要连接的服务。在此情况下,ESB 是组织的总体参考体系结构的一部分;参考体系结构 提供了体系结构方向,并强制要求最终将作为解决方案一部分而创建的所有服务(请求程序和提供程序)进行松散耦合连接。ESB 是用于实现该松散耦合的首选机制。采用 ESB 实际上消除了解决方案中的直接连接不知不觉地增长的可能性。这里成功的关键是:
采用一个要求并演示 ESB 使用的参考体系结构。
考虑解决方案的整个最终范围,并支持最佳的 ESB 产品选择。
随着解决方案的发展而实施强有力的治理,以确保利用 ESB 来连接到引入解决方案的新服务(请求程序和提供程序)。
SOA 入口点最佳实践
存在一组 IBM 强烈建议用于任何 SOA 采用的最佳实践。这些最佳实践的最重要元素是建立一个路线图并渐进地实现该路线图,该路线图定义了实现所需业务目标的采用
计划(请参见参考资料部分以获得指向文章“Service Oriented Architecture:An Introduction for Managers”的链接)。该路线图包括两个重要组成部分:
战略远景,业务或 IT 的方向陈述(包括参考体系结构和治理计划),可用作决策制定、组织参与和标准采用的指导原则。
一组项目计划,定义实现项目以满足当前业务驱动因素的即时和将来需要。
此类路线图允许您渐进地实现 SOA,以在每个项目步骤中回报业务价值。
您应该在执行该路线图的早期确定您业务的最佳 SOA 入口点。您应该基于从您的总体战略远景和当前 SOA 成熟度级别得出的要求来选择该入口点。该入口点可能是也可能不是连接性入口点;它可能是上述入口点的混合。但是,连接性入口点是最普遍的入口点,因为有如此多的客户具有将请求程序连接到提供程序的即时需要,并希望获得 ESB 提供的松散耦合的好处。IBM 提供了一个在线工具 Business Value Analyzer,以帮助您选择 SOA 入口点。
另一个最佳实践是建立治理框架以确保组织遵循该路线图(请参见参考资料以获得指向文章“SOA Governance and Service Lifecycle Management”的链接)。SOA 所促进的灵活性增强和跨组织性质要求组织建立治理框架,以实现主动的决策制定、准确的跟踪、改进的服务能力和更好的交流。有效的治理通过在增添价值的同时平衡风险和回报,从而帮助实现企业的业务目标。
正如上面所建议的,渐进的 SOA 采用是成功的关键。IBM 建议从试验项目开始,该试验项目:
处理得到充分了解、重要但不关键的业务需要。
实现参考体系结构的某些重要方面(也许是 ESB 和一组示例服务、提供程序、请求程序,这些方面用于演示 SOA 的使用)。
需要一个超出当前能力的可达范围。
积累 SOA 技能。
用作对采用 SOA 治理和新的服务生命周期管理流程所进行的试验。
产生将会投入生产应用并将交付投资回报的结果。
通过 SOA 实现的关注事项分离甚至允许试验项目以能够积累专业经验和验证业务价值但不中断主要操作的方式引入 SOA。
SOA 连接性入口点最佳实践
除了 SOA 最佳实践以外,还存在其他更特定于 ESB 的最佳实践:
仅当 ESB 在您的路线图中有意义时才采用 ESB。例如,如果 SOA 入口点以业务为中心,您可以推迟通过 ESB 实现的松散耦合,尽管您的参考体系结构中包括了 ESB。
基于您的参考体系结构和一组跨全套项目计划的实际要求来设计 ESB 并选择 ESB 产品。我们说实际 是因为您应该集中于未来几年中的需要;到您超过该时间期限时,产品和需求已经发生了改变。如果仅考虑即时需求,尤其是忽略服务请求程序和提供程序的预期需要,则会导致选择非最优 ESB 产品。您必须明确地在公司的约束内行事,例如年度资金周期和预算,但您同时还希望将短期采购和决策与考虑中的长期(三至五年)目标保持一致。
根据情况考虑 ESB 联合。更大型的异构企业通常作为某种自治域的联合体出现,这些自治域基于各个业务部门或者职能或治理方面。在此类环境中,某些服务可以在单个