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)的更多相关文章

  1. 面向服务的架构SOA

    SOA简介 SCA实现SOA的最佳方式 Apache开源框架Tuscany实现SCA架构 SOA简单描述: SOA(Service-Oriented Architecture)面向服务的体系架构.为了 ...

  2. 集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)

    http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不 ...

  3. (转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成

    摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API ...

  4. 亚马逊如何变成 SOA(面向服务的架构)?

    阮一峰 日期: 2016年9月10日 上一篇文章,我摘录了<程序员的呐喊>.这本书有趣的内容太多,今天再摘录一段. 1. 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎 ...

  5. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台

    面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...

  6. SOA(面向服务的架构)

    前言:SOA(面向服务的架构)是目前企业应用开发过程中普遍采用的技术,基于MVC WebAPI三层分布式框架开发,以此适用于企业信息系统的业务处理,是本文论述的重点.此外,插件技术的应用,富客户端JQ ...

  7. 亚马逊如何变成 SOA(面向服务的架构)

    . 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎么实现从电商到云商的转变呢? 一切都是CEO杰夫·贝索斯促成的,他对市场有着超乎常人的理解和预见. 2. 2000年前后,贝索斯有 ...

  8. SOA (面向服务的架构)-Service Oriented Architecture

    SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...

  9. 面向服务体系架构(SOA)和数据仓库(DW)的思考

    摘要: 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse,DW)都介绍的很多,提出了很多优秀的解决方案,但是一般是把 SOA 和 DW 单独考虑,SOA 和 DW 有着共同 ...

随机推荐

  1. URAL1523(dp+树状数组)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=41224#problem/B 分析:可以设dp[i][j]表示以i结尾长度为j的 ...

  2. SAE微信公众号PHP SDK, token一直验证失败

    用的是SAE,创建的是微信公众号PHP SDK框架,里面example文件夹下有server.php用来验证token的.但是问题来了,无论我怎么输入URL和token,一直告诉我token验证失败. ...

  3. 在Apache上架设SVN使得可以通过http来使用SVN

    弄了一下午,终于搞定了.找到一篇好的博客.分享出来: 宇哥搞了个论坛网站,我的svn使用不了了,我把svn重新架设到apache后,又可以通过http访问svn了. .安装 Apache http:/ ...

  4. Linux环境编程之同步(二):条件变量

    相互排斥锁用于上锁,条件变量则用于等待.条件变量是类型为pthread_cond_t的变量.一般使用例如以下函数: #include <pthread.h> int pthread_con ...

  5. 安装ecshop提示“安装数据失败”或者“创建管理员帐号”

    解决方法: 在install/includes/init.php文件的顶部,<?php 下增加: date_default_timezone_set ('Asia/Shanghai'); 即可 ...

  6. Smarty中模板eq相等 ne、neq不相等, gt大于, lt小于

    eq相等   ne.neq不相等,   gt大于, lt小于 gte.ge大于等于   lte.le 小于等于   not非   mod求模   is [not] div by是否能被某数整除   i ...

  7. WPF动态改变主题颜色

    原文:WPF动态改变主题颜色 国内的WPF技术先行者周银辉曾介绍过如何动态改变应用程序的主题样式,今天我们来介绍一种轻量级的改变界面风格的方式--动态改变主题色. 程序允许用户根据自己的喜好来对界面进 ...

  8. key 串口

    /******************************************************************** 函数功能:往串口发送一字节数据(可通过超级终端或者串口调试助 ...

  9. 懒人模式Singleton模式Meyers版本号

    直接看代码: /* Singleton模式保证:在一个程序,,一个类有且只有一个实例.并提供一个访问 它的全局访问点 在编程其中.很多情况下,需要确保有一类的一个实例 比如: windopws系统中仅 ...

  10. SICP的一些个人看法

    网上搜书的时候,看到非常多人将这本书神话. 坦率地说,个人认为这本书过于学术化, 没什么实际project价值.一大堆题目也基本是高中数学竞赛题类似,浪费时间. 软件的核心技术是什么? 1>   ...