面向服务的架构(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 有着共同 ...
随机推荐
- URAL1113(数学)
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1113 根据样例分析: 1.沙漠只有500公里或者更短,这时很简单,一次搞定. 2.沙漠6 ...
- WASP_百度百科
WASP_百度百科 WASP
- Music Studio项目心得--JNI实现C++调用JAVA
这个项目是我參加内蒙古挑战杯的比赛项目,因为时间关系,我没时间实现OpenOMR开源项目由JAVA全然向C++的转换,经过我半个多月的尝试,我将OpenOMR中的1/3的代码改写成C++,只是非常快我 ...
- 实现TextView 文字排版,分散两端对齐
參考:http://www.cnblogs.com/lcyty/p/3265335.html 方法一:使用HTML TextView textview=(TextView)findViewbyId(R ...
- Codeforces 452A Eevee
#include<bits/stdc++.h> using namespace std; string m[]={"vaporeon","jolteon&qu ...
- 【译】ASP.NET MVC 5 教程 - 1:入门
原文:[译]ASP.NET MVC 5 教程 - 1:入门 本教程将教你使用Visual Studio 2013 预览版构建 ASP.NET MVC 5 Web 应用程序 的基础知识.本主题还附带了一 ...
- http://fonts.googleapis.com/css?打开很慢解决方案
最近, 在写一个demo的时候突然发现加载超级慢, 寻找之下发现了"罪魁祸首", 系引用了http://fonts.googleapis.com/css. 接着在网上看到有网友反映 ...
- 用C++语言开发Android程序 配置开发环境
转自:http://www.cnblogs.com/yaotong/p/3622430.html 用C++语言开发Android程序 配置开发环境 如果你是一个C++语言的死忠,你喜欢C++语言到 ...
- 【前端攻略】:玩转图片Base64编码(转)
引言 图片处理在前端工作中可谓占据了很重要的一壁江山.而图片的Base64编码可能相对一些人而言比较陌生,本文不是从纯技术的角度去讨论图片的base64编码.标题略大,不过只是希望通过一些浅显的论述, ...
- Radmin远程控制软件
Radmin远程控制软件 日期:2015-08-20 作者:lujl Radmin是一款快速的远程控制软件,可以用来远程管理公司或个人计算机来实现远程办公.你可以通过鼠标和键盘来控制远程的 ...