本系列读书笔记为书籍SOA实践指南的读书笔记,旨在帮助理解SOA系统架构。
动机
SOA——面向服务化的架构优点:一,可扩展性和灵活性;二,有助于填平业务/IT鸿沟。
SOA三要素:
1. 服务:自足的、能作为一个或多个流程一部分的业务能力;能由任何技术在任何平台上实现。
2. 企业服务总线(ESB):专门的基础设施,使我们能够简单和灵活的结合这些服务。
3. 政策和过程:处理着这样的事实——大型分布式系统是异质的、处于不断维护中的,其所有者各异。
大型分布式系统的特征
大型系统必须处理“老系统”,SOA必须和老平台及向后兼容问题打交道。
大型系统天生就是异质的。一个原因是大型系统和它们的数据有非常长的生命周期。在此生命周期中,通过加入新的系统和流程,不断开发出促进新业务的功能,
大型系统天生是复杂的。并且大型系统中所有者各异。大型系统另一个关键特性是不完美性。
大型系统通常有一定的冗余度。有些冗余是无心造就的,有些是有意为之,处于管理之下的。
对于大型系统来说,系统瓶颈就是自杀。
魔术总线
魔术总线是一个软件,减少系统中的连接和接口数量。
总线代表了高互操作性。其背后的思想是,不去为不同系统间创建和维护单独的通信渠道,每个系统只和总线连接就能和其它所有系统连起来。
优点:简化了连接操作。
缺点:除非加上结构,否则连接的扩展将导致混乱。
五页幻灯讲完SOA
幻灯1:SOA
SOA是一个范式,目的是实现和维护跨越了大型分布式系统的业务流程。基于三个主要技术概念:服务、通过企业总线达到的互操作性以及松耦合。
- 一个服务是一项自足的业务功能。功能可能简单,也可能复杂。因为服务集中于接口的业务价值,所以填补了业务/IT的鸿沟。
- 企业服务总线(ESB):是一个基础设施,使分布式系统和服务间的高互操作成为可能。有了它,用不同的平台和技术在众多系统间分布式业务流程比以前简单了。
- 松耦合是减少系统依赖的概念。因为业务流程分布在多个后端系统上,最小化修改和故障的影响至关重要。松耦合带来的代价是复杂化。松散耦合的分布式系统更难开发、维护和调试。
幻灯2:政策和过程
分布式处理改变公司的一切,引入新功能不再是给特定部门指派特定任务,现在是对不同系统和多个任务的组会。这些系统和牵涉到的团队必须协作。
故需要清晰的定义角色、政策和过程。过程包括但不限于定义一个服务生命周期,以及实行模型驱动的服务开发。另外还必须为分布式软件开发建立几个过程。
幻灯3:Web services
幻灯4:SOA实践
当诸如性能和安全等因素考虑进来后,一般的业务案列和概念就可能不能像预期那样工作了。另外,由于SOA是针对处于维护中的现有系统的策略,也带来了稳定性和向后兼容问题。
从IT角度看,所有系统都不一样,需要时间,采用渐进和迭代的方法打造自己的SOA。
是否引入SOA不重要,重要的是对你上下文环境和需求来说,引入的IT解决方案是合适的。
幻灯5:SOA监管和管理支持
SOA最重要的考量也许是找到监管的正确方法和恰当的力度。
- 需要一个中央团队决策自己的SOA的基本方面,必须在集中化和分散化之间找到正确的平衡点。
- 需要合适的人选。需要对系统由经验的人。并且对于中央服务团队通常有象牙塔化的趋势,必须被业务团队的需求驱动,必须将自己看做“服务基础设施”的服务提供者。
- 重要的事情先来。不要从管理服务开始。有很多服务后来才需要管理服务。刚开始时,不要使用首先设计所有服务或首先提供基础设施的方法。所有的东西必须一起成长,在成长中,解决眼前的问题。
- 最后但绝非不重要的是,需要CEO和CIO的支持。短期内经费充足并不是最重要的,需要的是长期的经费。