文章 - 212 评论 - 33 收藏 - 0 粉丝 - 11 访问量 - 239185

  

SOA的架构定义


首先看一下何谓架构(Architecture? 架构是指对于某个特定的目标系统所做出的具有通用性,系统性地抽象意义的表现。根据定[IEEE 1471]:架构是组件,彼此间和与环境间的关系,引导设计发展原则中体现的系统的基本结构(原文:Architecture is the fundamental organization of a system embodied in its components their relationships to each other and to the environment and the principles guiding its design and evolution)。通俗地说,架构包含:  1 组件/结构, 2 关系/环境,以及 3 指导原则。

顺便说明一下,古汉语中架构(Architecture)一词通常意译为“营造法式”, 而其中的“法”,意即方法, 风格, 反映出了架构的深层含义。 另外, 架构也有被翻译为体系结构的, 但体系结构似乎是局限于系统的组织结构及各相关元素的关联,而未包含重要的架构方法, 指导原则等。

通俗地来说,“架构”就是一种模型实体怎么建立的方法和框架原则、基本准则规范等,借用建筑业的一个名词,“框架结构”,作为公用知识,我们都了解,一般建筑分为“砖混结构”、“混凝土框架结构”、“全钢架结构”等建筑类型。“砖混结构”的建筑与“混凝土框架结构”和“全钢架结构”的建筑最大的区别在于“砖混结构”的墙体是要承重的,我们俗称承重墙,墙体与柱子、地基是密不可分的一个整体,当这种结构的建筑修好之后,是不能随便去拆除墙体的,拆除任何一个墙体对整个建筑的安全性都有影响,因此,砖混结构的房屋在进行二次装修时不能随意移动或拆除房间内的墙体。而“混凝土框架结构”的建筑重量完全承载于建筑的几根柱子和基础上,建筑的墙体不承受重量,只起到空间分隔的作用,因此框架结构的建筑可以任意改变每个楼层空间分割和用途而不影响建筑的整体风格和安全性,每个楼层可以二次装修为商场、写字间、餐厅、KTV等,这种结构的建筑风格体现了随需应变的功能需求。因此我们说“混凝土框架结构”就是一种构建满足灵活功能需求的建筑实体的“架构“模式。

SOA架构是业务架构与技术应用架构的综合体现。从起初1996Gartner提出的多层计算体系共享企业应用逻辑的架构风格, OASIS定义强调的分布式统一管控能力,分别反映了面向服务架构的主要目的。 SOA架构依循架构框架模式,凸显关注点(参见后面章节), 以灵活而重用的架构形式,获取业务的敏捷性及最终用户体验。值得注意的是,满足单一应用的项目需求实为易事,快速架构设计开发可以实现项目的业务需求,而SOA架构是为了“长治久安”,迈入更高层面的企业级灵活多变的业务需求。SOA倡导的是全方位架构,以正确的方法作正确的事, 而正确的方法基于架构框架模式,架构指导原则及架构管控等。

区别架构与设计是SOA的重要一环。一般来说,架构包含设计,但设计并不一定是架构(Grady Booch:All architecture is design but not all design is architecture”)。 通俗地说, 架构源于设计, 而高于设计。 架构体现的是黑盒子Blackbox)效应, 而非具体的白盒子细节。 可以同样地说, SOA架构关心的是服务或组件的接口及关联(Context),而非其内容。 如果关心具体的信息操作,或者是程序代码或配置文档,那是具体的技术设计。 架构与设计之分主要是看其内涵。 如果使用设计一词,或者说总体设计, 那么, SOA架构设计如图17所示, 主要包括方案设计(Solution Outline)及宏观设计(Macro Design)或概要设计。

 

13  SOA架构设计过程范围

 

简言之, 较之于传统实体形式的应用设计架构,SOA架构具有更高层面的抽象性, 反映在其对服务的定义。服务是对具体操作层面的组件或元素进行的封装。SOA架构起源于企业业务架构, 注重客户需求, 主要关心服务及服务接口。 SOA应用架构侧重于整合, 而非传统的软件架构设计 SOA架构强调企业架构的关联性, 并更加注重于架构模式。 SOA架构既包含技术成分,也包含艺术/抽象成分,虽然架构设计的艺术性相对比例较小。架构的目的是为了更好地指导设计与服务重用,而非设计细节。 SOA架构的具体展现就是全息视角的架构视图,同时考虑企业架构,业务架构与IT应用架构。 1‑4反映出核心应用架构的定义范围, SOA应用架构是本书的重点范围。

14  SOA核心应用架构的定义范围

 

那么, 什么样的“企业应用”才是灵活的架构呢?从1‑5可以看出,一个复杂的应用一定源自一系列的简单应用(我们称之为服务组件),通过这些简单应用服务组件的逐级组装、流程编排形成一个复合的、多功能的应用系统,因此,只要我们按照这种以小积大的积木搭建方式来构建应用系统,该系统就是灵活的架构,也就是我们讲的“面向服务的(SOA)架构”。基于此,我们可以说“软件即组装”,应用系统是装配出来的,而不是代码写出来的(虽然最小的零件是由代码执行的)。 换句话说, SOA的架构本身相对稳定,因而是推崇的架构。 本书第二,三章将对复杂应用结构中涉及到的“门户交互”、“业务流程”、“服务中介”等架构层面进行详细的阐述和分析。

 

15  复杂应用系统的组装结构

 

发表于: 2012-10-10 23:10 阅读(1126) 评论(0) 收藏 好文推荐

发表评论(网友发言只代表个人观点,不代表本网站观点或立场。)

您尚未登录,请先【登录或注册