面向服务的架构(SOA)
SOA架构基础概念
面向服务的架构(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)的更多相关文章
- 面向服务的架构SOA
SOA简介 SCA实现SOA的最佳方式 Apache开源框架Tuscany实现SCA架构 SOA简单描述: SOA(Service-Oriented Architecture)面向服务的体系架构.为了 ...
- 集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)
http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不 ...
- (转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成
摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API ...
- 亚马逊如何变成 SOA(面向服务的架构)?
阮一峰 日期: 2016年9月10日 上一篇文章,我摘录了<程序员的呐喊>.这本书有趣的内容太多,今天再摘录一段. 1. 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...
- SOA(面向服务的架构)
前言:SOA(面向服务的架构)是目前企业应用开发过程中普遍采用的技术,基于MVC WebAPI三层分布式框架开发,以此适用于企业信息系统的业务处理,是本文论述的重点.此外,插件技术的应用,富客户端JQ ...
- 亚马逊如何变成 SOA(面向服务的架构)
. 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎么实现从电商到云商的转变呢? 一切都是CEO杰夫·贝索斯促成的,他对市场有着超乎常人的理解和预见. 2. 2000年前后,贝索斯有 ...
- SOA (面向服务的架构)-Service Oriented Architecture
SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考
摘要: 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse,DW)都介绍的很多,提出了很多优秀的解决方案,但是一般是把 SOA 和 DW 单独考虑,SOA 和 DW 有着共同 ...
随机推荐
- 番外:android模拟器连不上网
1.删除你PC端得备用DNS,只留一个即可.确保能够上网. 注意:这个虽然不是必须的,出错点也不一定在他,但是我建议这样做,因为我们不确定到底模拟器和我们的PC是否使用的是一个DNS,不是的话,就会造 ...
- 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...
- C#基础总结之Attribute
Attribute是什么 Attribute的中文姓名 为什么我要拿一段文字来说Attribute的中文姓名呢?答案是:因为这很重要.正所谓“名”不正,则言不顺:另外重构手法中有一种很重要的方法叫重命 ...
- Android消息推送(二)--基于MQTT协议实现的推送功能
国内的Android设备,不能稳定的使用Google GCM(Google Cloud Messageing)消息推送服务. 1. 国内的Android设备,基本上从操作系统底层开始就去掉了Googl ...
- HDu 2830 Matrix Swapping II(dp)
Problem Description Given an N * M matrix with each entry equal to 0 or 1. We can find some rectangl ...
- python学习1(小白记录)
python创建cocos2d-x项目注意点1. 2.7.5版本号的.配置好环境变量之后.要切换到tools文件夹下.直接运行 python create_project.py ..........这 ...
- Android中振动器(Vibrator)的使用
系统获取Vibrator也是调用Context的getSystemService方法,接下来就可以调用Vibrator的方法控制手机振动了.Vibrator只有三个方法控制手机振动: 1.vibrat ...
- java 字符串 asc 加密解密
package com; public class MD5Test { /** * @param args */ public static void main(String[] args) { Sy ...
- boost事件处理
尽管这个库的名字乍一看好象有点误导,但实际上并不是如此. Boost.Signals 所实现的模式被命名为 '信号至插槽' (signal to slot).它基于下面概念:当相应的信号被发出时.相关 ...
- 使用jni技术进行android应用签名信息核查及敏感信息保护
近期业余时间写了一款应用<摇啊摇>,安智.安卓.360等几个应用商店已经陆续审核通过并上线.从有想法到终于将产品做出来并公布,断断续续花了近二个半月的业余时间,整体来讲还算顺 ...