SOA之(1)——SOA架构基础概念
在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略。
架构基础
技术架构(Technology Architecture)——某物的基础物理设计(The fundamental of physical design of something)
技术基础设施(Technology Infrastructure)——处于基础和支持地位的技术环境,包括软件和硬件(The underlying, supporting technology environment, including software and hardware)
软件程序(Software Program)——一个的独立系统,它可以是一个定制开发的应用,也可以是一个购买的产品应用(A standalone system that may be custom-developed application or a purchased product)

架构与基础设施之间关系的经典类比
IT领域“架构”这个词源于设计和建造建筑和结构领域。这个起源也为我们区分技术架构(Technology Architecture)和技术基础设施(Technology Infrastructure)提供了良好的类比依据。一个建筑物的物理设计记录于它的架构蓝图和规格说明中。但是建筑存在于它周围的环境中,它周围的环境可能为建筑提供很多支持以满足它建造的目的,也可能正好相反。比如在城市中的办公楼或者居民楼周边游街道、电站、电缆、排水系统以及其他可以提供的相关资源。这些可以认为是IT领域的技术基础设施(Technology Infrastructure)。
建筑为了利用这些基础设施,它的物理设计会将这些内容作为正式架构设计中的一部分。因此,一个建筑的设计规范会包括与之相关的基础设施。综上所述,建筑的架构和环境基础设施之间没有一个明显的边界,这种重叠的现象也同样存在于IT领域。
技术架构(Technology Architecture)
技术架构的范围因我们设计对象的不同而不同,一些比较常见的类型有:
组件架构(Component Architecture)——在一个分布式计算的环境中,组件架构主要是指一个单独的软件程序的物理架构。
应用架构(Application Architecture)——一个部署环境有物理边界限制的应用或系统。在分布式计算的环境中,应用架构包括了多个组件架构。
集成架构(Integration Architecture)——两个和多个相关联的应用或者系统的技术架构,包括使之集成的技术,资源,扩展。很多集成架构都包括中间件平台和相关适配桥接的扩展。
企业技术架构(Enterprise Technology Architecture)——与组件、应用和集成架构不同,它处于设计文档之中,在程序创建之前记录。它通常以文档的形式存在于企业环境之中。一个企业技术架构规格说明包括前面所说的所有形式的架构,同时也作为企业基础设施的正式文档。

技术基础设施
在典型的IT企业中,技术基础设施代表软件程序部署的目标环境。所以术语“架构”,基础设施可以被归为“软件”或者“硬件”
硬件基础设施通常包括:
服务器和工作站(servers and workstations)
路由、防火墙和网络设备(routers,firewalls,and networking equipment)
备用供电设施、电缆和其他计算机设备(back-up power supplies,cables,and other computer equipment)
软件基础设施通常包括:
操作系统和系统应用程序借口(operating systems and system APIs)
运行时环境和系统级的服务代理(runtime environments and system-level service agents)
数据库和文件目录(database and directories)
中间件和适配器(middleware and adapters)
用户账户管理和安全技术(user account management and security technologies)

软件程序(Software Program)
软件程序简单的说就是一个已存在的系统、应用或解决方案。它既可以是一个购买的产品,也可以是一个定制化的程序。它与技术架构的关系是,软件程序可以被看成架构规格说明设计文档的一个实现,同时也是存在于技术架构描述的支持环境中。
部分的软件程序设计会被记录在应用架构规格说明中,它主要是强调程序的整体结构(包括它包含的组件信息)、技术和对资源的要求。所以,一个典型的应用架构通常会将设计文档,比如解释流程的功能规格说明、用户界面风格和详细的程序执行路算法作为补充。

参考:《SOA设计模式》 由Thomas Erl及其他供稿者合著,作为Thomas Erl关于面向服务计算丛书的一部分,于2009年1月由Prentice Hall出版,ISBN 0136135161,版权所有2009 SOA System Inc.。
SOA之(1)——SOA架构基础概念的更多相关文章
- SOA之(2)——SOA架构基础概念与设计框架
SOA的设计框架 设计框架与架构相关的概念紧密相连,原则.模式和架构始终是与设计共舞的. SOA服务设计的原则中记录了一个基础的设计框架: 设计特性(Design Characteristic)——由 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...
- 使用WCF实现SOA面向服务编程—— 架构设计
原文地址:http://www.cnblogs.com/leslies2/archive/2011/03/29/1997889.html SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就 ...
- SOA的企业系统架构
基于SOA的企业系统架构设计及IT治理日记 (引) TOGAF是一个架构框架,指导做企业架构的标准和方法,简而言之,是一种协助开发.验收.运行.使用和维护架构的工具,核心是架构开发方法(ADM)指导了 ...
- SOA和微服务架构的区别?
转自知乎:https://www.zhihu.com/question/37808426/answer/93335393 SOA和微服务架构的区别? 微服务架构强调的第一个重点就是业务系统需要彻底的组 ...
- SOA面向服务体系架构
SOA概念 1.什么是SOA 面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型. 它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的 ...
- zabbix监控的基础概念、工作原理及架构(一)
zabbix监控的基础概念.工作原理及架构 转载于网络 一.什么是zabbix及优缺点 Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的 ...
- Spark集群基础概念 与 spark架构原理
一.Spark集群基础概念 将DAG划分为多个stage阶段,遵循以下原则: 1.将尽可能多的窄依赖关系的RDD划为同一个stage阶段. 2.当遇到shuffle操作,就意味着上一个stage阶段结 ...
- Exynos4412 IIC总线驱动开发(一)—— IIC 基础概念及驱动架构分析
关于Exynos4412 IIC 裸机开发请看 :Exynos4412 裸机开发 —— IIC总线 ,下面回顾下 IIC 基础概念 一.IIC 基础概念 IIC(Inter-Integrated Ci ...
随机推荐
- SQL Server 锁表、查询被锁表、解锁相关语句
SQL Server 锁表.查询被锁表.解锁相关语句,供参考. --锁表(其它事务不能读.更新.删除) BEGIN TRAN SELECT * FROM <表名> WITH(TABLOCK ...
- Java4Android
变量 在计算机中存储信息需要声明变量的位置和所需的内存空间 boolean true false char ASCII字符集 计算机中所有数据都使用二进制表示 例如:a,b,c 适用七位二进制数进行表 ...
- SRF之页面
页面呈现采用Razor模板 1.母模板说明 _Main.cshtml:基础母模板 _ListLayout.cshtml:列表页面 _EditDialog.cshtml:编辑对话框 _EditLay ...
- 一个朋友js图表开发遇到的问题 解决思路c和js
引言 不求知道一切, 只求发现一件 -- 乔治·西蒙·欧姆 附注:那些存在于梦幻中的事迹,那些儿时梦中的人物,每每看起,都觉得 .哎 .... 岁月 ... 一直在努力 ... ...
- hdu 4324 Triangle LOVE
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4324 Triangle LOVE Description Recently, scientists f ...
- golang构造函数与转换函数
golang的每种类型, 凡是用type定义的类型, 其类型名既是其构造函数,也是其转换函数. 其中,构造函数后眼{...}, 转换函数后跟(...)
- 【转载】如何在FPGA设计环境中添加加时序约束
转自:http://bbs.ednchina.com/BLOG_ARTICLE_198929.HTM 如何在FPGA设计环境中加时序约束 在给FPGA做逻辑综合和布局布线时,需要在工具中设定时序 ...
- UISegmentedControl swift
// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...
- linux下在某行的前一行或后一行添加内容
linux的sed工具是十分强大的,能很容易的实现在某关键词的前一行或后一行增加内容.今天在批量修改tomcat的日志时就用到了该功能. 一.在某行的前一行或后一行添加内容 具休操作如下: #匹配行前 ...
- makefile常用函数
标签(空格分隔): makefile 1.字符串替换和分析函数 $(subst from,to,text) #在文本"text"中使用"to"替换每一处&quo ...