架构是—套构建系统的准则,通过这套准则,把—个复杂的系统划 分为一套更简单的子系统的集合,这些子系统之间保持相互独立,并与 整个系统保持一致,而且每—个子系统还可以继续细分下去,从而构成 —个企业级架构。 SOA是一种面向企业级服务的系统架构,简单来说,SOA就是一种 进行系统开发的新的体系架构,在基于SOA架构的系统中,具体应用程 序的功能是由一些松耦合并且具有统一接口定义方式的组件∞rvice)组合 构靛来的,因此。基于SOA的架构也是从企业的具体需求开始构建的。 但是,SOA和其它企业架构的不同之处就在于SOA提供的业务灵活性, 业务灵活性是指企业能对业务变更快速和有效地进行响应,并且利用业 务变更来得到竞争优势的能力。 SOA架构本质上体现了一种复合的概念,它不仅为—个企业中商业 流程的组织和实现提供了一种指导模式,同时也为具体的底层service开 发提供了指导。

  随着全球信息化的浪潮,信息化产业不断发展、延伸,已经深入了众多的企业及个人,SOA系统架构的出现,将给信息化带来一场新的革命。

  纵观信息化建设与应用的历程,尽管出现过XML(标准通用标记语言的子集)、Unicode、UML等众多信息标准,但是许多异构系统之间的数据源仍然使用各自独立的数据格式、元数据以及元模型,这是信息产品提供商一直以来形成的习惯。各个相对独立的源数据集成一起,往往通过构建一定的数据获取与计算程序来实现,这样的做法需要花费大量工作。信息孤岛大量存在的事实,使信息化建设的ROI(投资回报率)大大降低,ETL成为集中这些异构数据的有效工具。 ETL常用于从源系统中提取数据,将数据转换为与目标系统相兼容的格式,然后将其装载到目标系统中。数据经过获取、转换、装载后,要产生应用价值,还需另外的数据展现工具予以实现,如此复杂的数据应用过程,必定产生高昂的应用成本。
  结构化的数据管理尚可通过以上方法,予以实现其集成应用。在非结构化的内容方面,这些具有挑战性的问题令人生畏。内容管理的应用方案基于不同的信息化应用系统,而且大部分是纵向的以组织部门为界限的。在内容管理市场中,经常使用来自不同厂商的产品来提供这些解决方案。即使是同一个厂商的产品,相互之间的功能也是经常重叠,并且无法集成。
  SOA既不是一种语言,也不是一种具体的技术,它是一种新的软件 系统架构模型。 SOA最主要的应用场合在于解决在Int鲰Iet环境下的不同商业应用之 间的业务集成问题。Intemet环境区别于Intranet环境的几个特点主要是: 1.大量异构系统并存,不同计算机硬件工作方式不同,操作系统不同、 编程语言也不同; 2.大量、频繁的数据传输的速度仍然相对较缓慢并且不稳定; 3.无法完成服务(嘲而ce)的版本升级,甚至根本就无法知道互联网上 有哪些机器直接或者间接的使用某个服务。 SOA架构具有一些典型特性,主要包括松耦合性,位置透明性以及 协议无关性。松耦合性要求SOA架构中的不同服务之间应该保持一种松 耦合的关系,即相对独立无依赖的关系;位置透明性要求SOA系统中的 所有服务对于调用者来说都是位置透明的,每个服务的调用者只需要知 道他们调用的是哪—个服务,但并不需要知道所调用服务的物理位置在 哪里:协议无关性要求每一个服务都可以通过不同的协议来调用。通过 SOA架构的特性,SOA架构的出现为企业系统架构提供了更加灵活的构 建方式。
  SOA架构的分层模型
  整个SOA架构根据不同的功能模块分为7层
  第l层:系统已经存在的程序资源,例如ERP或者CRM系统等。 第2层:组件层,在这一层中用不同的组件把底层系统的功能封装 起床。 第3层:服务层,是SOA系统中最重要的,在这层中要用底层功能 组件来构建所需要的不同功能的服务。SOA中的服务可以被映射成具体 系统中的任何功能模块,但是从功能性方面可以大致划分为三种类型:1. 商业服务'Cousiness矧mce)或者是商业过程(business process),这一类的服 务是一个企业可以暴露给外部用户或者合作伙伴使用的服务,比如提交 贷款申请,用户信用检查,贷款信用查询等。2.商业功能服务(business function service),这类服务会完成一些具体的商业操作,也会被更上层的 商业服务调用,大多数情况下这类服务不会暴露给外部用户直接调用, 比如检索用户账户信息,存储用户信息等。3.技术功能服务(technical function*rvi删,这类服务主要完成一些底层的技术功能,比如日志服务 以及安全服务等。 第4层:商业流程层,在这一层中利用已经封装好的各种服务来构 建商业系统中的商业流程。 第5层:表示层,利用表示层来向用户提供用户接口服务,这一层 可以用基于portal的系统来构建。 第6层:企业服务总线(ZSB),是—个集成的环境来支持其他层的运 行。 第7层:QOS、安全管理及监控,主要为整个SOA系统提供一些辅 助的功能,例如服务质量管理,安全管理这一类的辅助功能。 (三)SOA架构中非功能性服务级别的需求分析 除了系统的业务需求,还必须要保证构建出来的系统架构能够满足 系统中的非功能性服务级;gtJ(service-level)需求以及服务质量(Q回方面的 需求。要构建出的系统架构需要能满足几方面的服务水准要求:性能、 可升级性、可靠性、可用性、可扩展性、可维护性、易管理性以及安全 性。

SOA架构设计的更多相关文章

  1. 老徐FrankXuLei 受邀为花旗银行讲授《微软WCF服务分布式开发与SOA架构设计课程》

    老徐FrankXuLei 受邀为花旗银行上海研发中心讲授<微软WCF服务分布式开发与SOA架构设计课程> 受邀为花旗银行上海研发中心讲授<微软WCF服务分布式开发与SOA架构设计课程 ...

  2. 关于SOA架构设计的案例分析

    关于SOA架构设计的案例分析 面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.它可以根据需求通过网络对松散耦合的粗粒度应 ...

  3. 企业SOA架构设计理论

    SOA简介 SOA(Service-Oriented Architecture,面向服务架构)是一种将信息系统模块化为服务的架构风格.拥有了服务之后,我们就可以迅速地将这些服务按不同方式重新组合,从而 ...

  4. SOA架构设计经验分享—架构、职责、数据一致性

    阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...

  5. SOA架构设计(转发)

    阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...

  6. [转]SOA架构设计经验分享—架构、职责、数据一致性

    阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...

  7. 【转】SOA架构设计经验分享—架构、职责、数据一致性

      1.背景介绍       最近一段时间都在做系统分析和设计工作,面对的业务是典型的重量级企业应用方向.突然发现很多以往觉得很简单的问题变得没有想象的那么容易,最大的问题就 是职责如何分配.论系统架 ...

  8. SOA架构设计和相关案例分析

    一.SOA概念 1.定义: SOA,是一个组件模型,面向服务的体系架构,它将应用程序的不同服务通过这些服务之间定义良好的接口和契约联系起来,不涉及底层编程接口和通讯模型.服务层是SOA的基础,可以直接 ...

  9. SOA架构设计的案例分析

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

随机推荐

  1. linux - mysql:启动 mysql

    启动mysql 第一种: /etc/rc.d/init.d/mysqld start /etc/rc.d/init.d/mysqld stop 第二种:使用service 启动.关闭MySQL服务 s ...

  2. Mac配置环境变量时终端显示bash-3.2解决方案

    1.问题描述 (base) -bash-3.2$ vi ~/.bash_profile (base) -bash-3.2$ source ~/.bash_profile 2.解决方案 无授权转,侵权删 ...

  3. C#简单鼠标键盘钩子KMHook

    简介:由三个文件构成Pinvo.cs.KeyboardHook.cs.MouseHook.cs Pinvo.cs 是KeyboardHook与MouseHook需要的一些常量消息的定义 Keyboar ...

  4. MAC MAMP集成环境安装 PHP 扩展

    MAC MAMP集成环境安装 PHP扩展 开发环境中,对于需要维护很多 WEB 站点,以及可能会使用到很多不同的 PHP 版本,集成环境比较好用,在MAC 上 MAMP 集成环境是比较好用的,但是在安 ...

  5. SQLAlchemy,flask-sqlalchemy

    SQLAlchemy 1.介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用 ...

  6. 题解【BZOJ4472】[JSOI2015]salesman

    题面 树形\(\text{DP}\)与贪心的结合. 首先考虑树形\(\text{DP}\). 设\(dp_i\)表示从\(i\)出发,访问\(i\)的子树,并且最后回到\(i\)能获得的最大收益. 转 ...

  7. 题解 【洛谷P1332】血色先锋队

    题面:https://www.luogu.org/problemnew/show/P1332 很容易看出,这是一个典型的广度优先搜索,也就是众多OIer口中的bfs. 先给各位普及一下bfs(部分来自 ...

  8. [HNOI2017] 礼物 - 多项式乘法FFT

    题意:给定两个 \(n\) 元环,环上每个点有权值,分别为 \(x_i, y_i\).定义两个环的差值为 \[\sum_{i=0}^{n-1}{(x_i-y_i)^2}\] 可以旋转其中的一个环,或者 ...

  9. sql查询 —— 分组

    -- 分组 -- group by -- 分组只有与聚合函数一起使用才能发挥作用 -- 分组只限于字段分明 例如 性别 ,部门, --列出所有性别 select gender from student ...

  10. Markdown进阶教程

      Markdown是很好用的轻量级标记语言,许多开发人员喜欢使用Markdown来记录学习心得和写博客.本篇博客主要介绍Markdown的高级技巧教程,Markdown的基础教程已经在上篇介绍过了. ...