前言

面向服务的架构(SOA)推广应用已有多年。如今在IT行业,SOA几乎是尽人皆知。目前市场上有大量的SOA书籍,从方方面面阐述其原理、方法及技术实现。因此,本书不再赘述SOA的基本概念及技术(包括Web服务),而是基于具体项目经验,专注于SOA的特色,以及整体架构方法的实践运用。

SOA的字面意义是“面向服务的架构”,首先是“面向服务”的概念。什么是“面向服务”呢?“服务”的对象是各种各样的需求,“面向服务”就是需要什么样的服务就能提供什么样的服务,就像一栋建筑中我们需要两层的“商场”、一层的餐厅、5层的宾馆、一层的KTV、一层的电影院等,这栋建筑物都能够随时满足需求,那么,我们就说这栋建筑的结构是一个“面向服务的架构”。一栋建筑物如果按照“面向服务的架构”模式,即用“混凝土框架结构”来设计、建造这栋大厦,那么这栋大厦就能够在将来使用的时候灵活地满足功能上的需求而不必大动干戈地改动该大厦的基础设施。既然建筑上存在这样的一种灵活的“架构”模式,在应用软件系统的开发构建上有没有类似建筑业的一种“混凝土框架结构”的架构模式呢,基于这样的一种架构模式建立起来的系统能像“框架结构”的建筑一样灵活地满足业务需求的变化吗?答案是肯定的,这就是本书要阐述的“面向服务的应用架构”。

本书着重阐述以下几个方面:(1)全方位的面向服务架构设计——其中包括企业架构、业务架构与应用架构设计;(2)架构服务定义——如何定义具有意义的服务或服务组件,特别是逻辑服务与应用服务的关联;(3)SOA协同整合的架构方式及特色——甄别SOA架构设计时主要的关注点,并通过利用这些特色来满足业务灵活应变的需求;(4)全息架构视角的建模方法及实践运用——理清SOA应用系统设计中承上启下、互相依赖的关联过程;(5)SOA与其他架构形式的差异之处,例如,ERP和云计算/服务等。简言之,本书以具体实例表明,SOA企业应用架构是沟通业务与IT之间的桥梁,是满足用户关注点及业务灵活性、运用全息架构视角构造应用服务体系的建模过程。

自从作者参与架构起初的IBM SOA企业应用/业务协同试验(Bakeoff)项目,距今已近十年。其间,架构设计及咨询了无数的国内外SOA项目。本书主要是针对一些国内项目的经验回顾。在起草本书稿的过程中,特别邀请了国内一位在系统整合开发领域敢于吃螃蟹的SOA实施专家,斯欧(SOA)信息技术公司的总经理于万钦先生,一起完成本书的撰写工作。于先生帮助完成了第4章SOA端到端案例章节中的项目内容,并对本书成稿提供了具体的意见。值得称道的是,斯欧公司在制造业具有“旗舰”作用的SOA成功实施落地项目,并在国内外享有声誉。

本书基于公开标准及规范,以通俗的语言来描述面向服务的架构设计方法,尽量避免SOA具体的IT细节。使用的方法及工件主要从实际的SOA项目角度考虑,而非理论或SOA技术规范。本书将让读者认识一种构建灵活应用系统的架构方法和框架原则、架构的全息视图和元素,以便全面了解SOA架构的最佳实践。本书将一步一步地引领读者去熟悉SOA架构的步骤、原则、视角,从而掌握SOA架构的技能,因为只有掌握了SOA架构的技能和方法,才能构建灵活的应用系统模型,才能实现随需应变的业务需求。本书将以大量翔实的架构视图和表格来详解SOA架构的方法和元素,部分内容以开拓思路、相互切磋为重心。

顾春红

2012年8月于上海