SOA论术
SOA的概念范畴之内,service是其核心的部分。那么,什么是service,它与组件有什么不同呢?service从本质上来说是一种新的抽象手段,它通过契约描述的方式声明了对外提供的功能接口。与组件相比,组件注重于自身内部的结构与属性,而service更注重于对外的接口和功能;组件粒度较小,更多的是系统技术视图中关注的焦点;service粒度较大,通常是系统业务视图中关注的焦点。从组件到service我们实现了抽象层次的提升,我们的开发方式也从编程式向声明式演进。
“提纲挈领,纲举目张”,架构的力量来自抽象和分治。SOA的架构方法学虽然可以有着种种不同的实现方式,但是,以下的架构层次却应该是每一个具体架构中都不可缺少的部分。SOA分层架构分为5个主要的层次:最底层的是运营系统层,中间是企业组件层(SOA接入层),其上是包含了服务、业务编排优化和表示3个子层的SOA层,此外是两个贯通了各个层次的集成架构层和QoS安全监控管理层。架构底层的运营系统层包括了大部分的企业应用子模块,各个模块有可能是已有的遗留系统,也有可能是待建的系统,甚至是外购的某种服务。运营系统层之上是用于包装它们的企业组件层。通过包装,企业组件层将企业应用子模块的各项功能以service的形式发布给SOA层使用。SOA层是SOA架构的核心。在服务子层,各种细粒度的服务被组合为富有业务语义的粗粒度服务。服务子层之上是业务编排优化子层,这一子层是实现业务流程随需应变,快速更新的关键,服务层提供的种种服务在这里按照业务的要求组合成不同的流程,实现对各种企业业务的完善支持。最上面的则是直接和终端用户打交道的表示子层。此外还有纵向贯通各个层次的两个层次。其中,集成架构层通过企业服务总线ESB为整个架构提供了统一的集成环境,而QoS安全监控层则在此基础上进一步为架构提供了服务质量、安全、监控和管理的基础设施。
“人们往往只看到美好的前景,却忽略了道路的艰辛”,SOA为我们勾画出了一个健壮的、高度可扩展、可伸缩的企业信息系统,它是灵活的,能够快速的适应企业业务的发展和业务流程的更新变化。然而,构建基于SOA的系统本身却不是简单易行的,如果缺少审慎的分析、全面的考量和相应的企业管理上的支持,美好的前景就很容易成为海市蜃楼、空中楼阁。我们必须对SOA的实施作出战略性的规划,对SOA架构实施过程中的各种角色予以界定和管理,严格的注册登记SOA系统的核心 – service并管理其发布与更新。“牵一发而动全身”对于复杂的企业系统,管理永远是最为重要的环节