架构是—套构建系统的准则,通过这套准则,把—个复杂的系统划 分为一套更简单的子系统的集合,这些子系统之间保持相互独立,并与 整个系统保持一致,而且每—个子系统还可以继续细分下去,从而构成 —个企业级架构。 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. Docker学习一篇就够了

    Docker 1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像 ...

  2. nginx启动时指定配置文件

    下载源文件方式安装nginx 会在/usr/local目录下安装nginx 此时虚拟机系统中会有两个nginx 如果启动的时候没有指定配置文件的位置,默认读取的配置文件就是/usr/local/ngi ...

  3. Hello world-初识C++

    刚开始学习编程时,都是以输出Hello world开始的 用C++编写程序输出Hello world如下: #include<iostream>using namespace std;in ...

  4. 颜色color转为rgb格式

    function convertHexToRGB(color) {       if (color.length === 4) {             let extendedColor = &q ...

  5. 【填坑】python3 manage.py migrate:?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default'

    问题: WARNINGS:?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default'        H ...

  6. TD-在http请求头上添加参数

    dojo.xhrGet({ url : url, timeout : easy7.timeout, headers: { iBaseToken: easy7.iBaseToken },

  7. 【转载】Hibernate映射文件详解

    转自:http://blog.163.com/hzd_love/blog/static/13199988120108265317988/ Hibernate的持久化类和关系数据库之间的映射通常是用一个 ...

  8. 小tips:使用vue-cli脚手架搭建项目,关于eslint语法检测配置

    配置文件在项目根目录里,文件名以 .eslintrc.* 为名. 为了兼容以前写的代码,避免修改太多代码,把不符合自己习惯的规则去掉,简单配置代码: module.exports = { root: ...

  9. CF432D Prefixes and Suffixes

    CF432D Prefixes and Suffixes 题意 给你一个长度为n的长字符串,"完美子串"既是它的前缀也是它的后缀,求"完美子串"的个数且统计这些 ...

  10. 月薪20k的web前端开发程序员,他们都会的这6招

    web前端工程师是近几年的新兴职业,也是目前火爆而且高薪的职业.不同的公司也有不同的叫法,比如:网页界面开发,网站设计等,要学好web前端开发,需要掌握什么方法与技巧? 一.div和table 这个是 ...