技术开发 频道

从长尾SOA中获取更大价值

混合型SOA

  主流SOA能够最大化服务的重用性,并且使IT能够承受变化引起的最坏影响,但它复杂、昂贵,并且需要多年的时间才能看到明显的投资回报。主流SOA更多的是将IT与企业中枢相联系而不是全部的业务。长尾SOA则直接照顾到业务领域的需求,减少每天变化的影响,不贵,并且有快速的投资回报,但它不够直观,并且只解决IT服务总需求的五分之一。无论哪一分支都不会单独导向SOA的圆满,但如果通过智能服务设计将两者结合到一起则可以实现我们的目标。

  我们可以把长尾SOA作为主流SOA的扩展。大多数利基服务都是根据主流服务改进或定制的。一个“购买财产”的主流服务到了长尾市场可能就会演变为“在某价格范围内购买某一区域的房产”。在这个例子中,原来的服务价值在主流层次变得相对较少(泛用和重用),而在利基层次却变得更有价值(面向客户)。虽然第二项服务与第一项相比是不同市场上的不同“产品”,但并不是只能分别实现。实际上,它可以尽可能多地使用一般服务的通用特征,而只增加一些特殊的部分。比如,它可以调用通用服务,然后根据自身的特殊性定义结果。换句话说,长尾服务可以简单地通过有效服务组合从主流服务中抽取出来。虽然说起来容易,其中也是有一些原则必须遵循的。

  混合型SOA(Hybrid)需要一个坚实的主流SOA基础。因为长尾服务对主流服务是有依赖性的,所以主流服务必须稳定。如果主流服务变动,可能会导致所有相关的长尾服务群发生变动。因此,可靠的设计、高度的易用性和松耦合性质是基础服务层所必须的。

  所有的服务必须是可发现的。在混合型SOA中,很少有单服务的方案。相反,IT方案是将各种粒度和复杂度的服务价值链捆绑到一起,以满足既定的业务需求。长尾服务的开发人员需要明白去哪里寻找原材料。否则,要么无法构建服务,要么只能复制现有的服务。

  最后,实现混合型SOA还需要强力的治理和严格的标准。虽然这是显而易见的,但仍然要强调治理与标准的重要性,因为混合型SOA将完全不同的两种服务型经济结合到一起。任何在主流SOA或长尾SOA中有效的标准与治理实践在这时候可能都不再适应。举例来说,在以Microsft或Oracle为主的工作室,可能即使没有严格的互操作性标准,主流SOA也能正常运行。 但引入长尾SOA时,如果业务领域使用的技术像大杂烩一般复杂,互操作性标准就会变得非常重要。IT基础设置也可能无法为所有的长尾服务提供足够的资源或带宽,这种情况下也需要分散进行利基服务开发。标准与治理需要有足够的刚性来保持产量,也需要足够的灵活性以包容繁多的组合工具和方法。

总结

  和许多产品一样,对IT功能的需求也遵循着指数分配定律,有少量极受欢迎的主流功能和大量不起眼的非主流功能。由于高度的服务重用的影响,IT倾向于使SOA使用更受欢迎的解决方案。但主流SOA的服务在应付持续变化方面存在一些缺陷。IT可以通过在长尾市场中使用“一次性”服务来全面降低变动带来的风险,与业务更为紧密地结合。

  单独的主流SOA和长尾SOA都不是有效的。它们是互补的,应该结合到一起以实现面向服务架构的最大效益。在混合型SOA中,主流服务是企业面向服务的价值链网的基础。这些价值链伸入长尾市场,为业务前线的小团队提供及时的定制服务。在这里,敏捷性的重要性得以充分的体现。

作者简介

    Marc Rix是SAIC公司首席SOA方案架构师,主要负责SOA与BPM中的关键业务发展,过去11年中一直从事企业规模的整合方案相关工作。

0
相关文章