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 ...
随机推荐
- 蓝牙4.0LED灯控方案
一.LED照明机遇 相对传统光源产品,LED灯凭借其光效高.寿命长.不含汞.总拥有成本低等优势,已被普遍认为是一种革命性和替代性的技术.随着全球白炽灯禁产.禁用政策的依次落实,白炽灯将逐渐消失于市场. ...
- 实战MySQL集群,试用CentOS 6下的MariaDB-Galera集成版
说起mysql的集群估计很多人会首先想起mysql自带的replication或者mysql-mmm.mysql-mmm其实也是基于mysql自带的replication的,不过封装的更好用一些,但是 ...
- rails bug
variable @fontAwesomeEotPath_iefix is undefined rails generate bootstrap:install如果还有错,保证在加载主提之前impor ...
- SQL Server 一些关键字详解(二)
1.LEFT JOIN 容易让人误解的地方 背景:因为在网上搜了下 LEFT JOIN 和 OUTER APPLY 的区别,时发现,有的网友解释为: 1) A left join B 的连接 ...
- 刀哥多线程之03GCD 常用代码
GCD 常用代码 体验代码 异步执行任务 - (void)gcdDemo1 { // 1. 全局队列 dispatch_queue_t q = dispatch_get_global_queue(0, ...
- C++经典书籍推荐
<C++程序设计语言> <C++语言设计与演化> <C++标准程序库> <EFFECTIVE C++ 中文版> <MORE EFFECTIVE C ...
- Android UmengShareSDK第三方登录
Android UmengShareSDK 第三方登录- 今天就不废话了,集成平台第三方登录.市面上集成平台有shareSDK 和 Ument两种,shareSDK的ipa和服务好些,如果自己研究会很 ...
- 创建jira插件
准备环境.安装SDK https://developer.atlassian.com/docs/getting-started/set-up-the-atlassian-plugin-sdk-and- ...
- ASP.NET分页
[代码][C#]代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...
- bootstrap-fileinput 图片上传
bootstrap-fileinput 源文件 在网上下载 CSS: <link href="../../static/Bootstrap/css/plugins/bootstrap- ...