上一篇博文中提到了“紧耦合”的现象。怎样解决?SOA。採用面向服务的体系架构。

一、What?

SOA=Service-oriented Architecture面向服务的体系结构

SOA是一个组件模型。它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

我个人更加倾向于这种一种解释:SOA是指为了解决在Internet环境下业务集成的须要,通过连接能完毕特定任务的独立功能实体实现的一种软件系统架构。

所以。SOA是什么?SOA不是一种语言,也不是一种详细的技术而是一种软件系统架构。

二、How?

SOA的最基本的应用场合在于解决在Internet环境下的不同商业应用之间的业务集成问题。

SOA的3个基本特征:独立的功能实体。大数据量低频率訪问,基于文本的消息传递。

1.独立的功能实体:SOA很强调架构中提供服务的功能实体的全然独立自主的能力。

SOA架构中很强调实体自我管理和恢复能力。

常见的用来进行自我恢复的技术。比方事务处理(Transaction),消息队列(MessageQueue)。冗余部署(Redundant
Deployment)和集群系统(Cluster)在SOA中都起到至关关键的数据。SOA在这一点上大大提高了软件的稳定性,尤其是基于Internet之上的。

2.大数据量低频率訪问:在Internet的环境下,通过client和server来回非常多次函数调用给系统的响应速度和稳定性带来的非常大的影响,并且往往这些因素是决定整个系统能否正常工作的一个关键决定因素。因此SOA系统推荐採用大数据量的方式一次性进行信息交换。

3.基于文本的消息传递:在Internet环境下,不同语言,不同平台对数据、甚至是一些基本数据类型定义不同,给不同的服务之间传递对象带来的非常大困难。因为基于文本的消息本身是不包括不论什么处理逻辑和数据类型的。因此服务间仅仅传递文本,对数据的处理依赖于接收端的方式能够帮忙绕过兼容性这个的大泥坑。

此外。对于一个服务来说。Internet与局域网最大的一个差别就是在Internet上的版本号管理极其困难,传统软件採用的升级方式在这样的松散的分布式环境中差点儿无法进行。

採用基于文本的消息传递方式。数据处理端能够仅仅选择性的处理自己理解的那部分数据。而忽略其他的数据,从而得到的很理想的兼容性。

三、Why?

IT企业的现状:不同种类的操作系统。应用软件。系统软件和应用基础结构(applicationinfrastructure)相互交织。

对SOA的须要来源于须要使业务IT系统变得更加灵活。以适应业务中的改变。

通过同意强定义的关系和依旧灵活的特定实现,IT系统既能够利用现有系统的功能,又能够准备在以后做一些改变来满足它们之间交互的须要。

SOA凭借其松耦合的特性,使得企业能够依照模块化的方式来加入新服务或更新现有服务,以解决新的业务须要。提供选择从而能够通过不同的渠道提供服务,并能够把企业现有的或已有的应用作为服务,从而保护了现有的IT基础建设投资。

四、SO VS OO

讲到这里。可能有人会想到面向对象。并且面向服务和面向对象看起来都差点儿相同啊,都可以解决紧耦合的问题。so,我将会在下一篇博文中,与大家分享面向对象与面向服务的关系。期待与大家的交流!

ps:解惑上一篇博客《初识EPC》,用一张图展现EPC与SOA的最佳组合!

SOA——面向服务的体系架构的更多相关文章

  1. 面向服务的体系架构SOA

    面向服务的体系架构SOA 序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微 ...

  2. 面向服务的体系架构(SOA)

    面向服务的体系架构(SOA) 1.面向服务的体系架构(SOA) 面向服务的架构(service-oriented architecture)是Gartner于2O世纪9O年代中期提出的面向服务架构的概 ...

  3. 说说面向服务的体系架构SOA

    序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...

  4. 面向服务的体系架构 SOA(二) --- 服务的路由和负载均衡

    2. 服务的路由和负载均衡 1.2.1 服务化的演变 SOA设计思想:分布式应用架构体系对于业务逻辑复用的需求十分强烈,上层业务都想借用已有的底层服务来快速搭建更多.更丰富的应用,降低新业务开展的人力 ...

  5. 设计模式之 SOA面向服务的体系

    SOA英文直译是,面向服务的体系结构. SOA是一种设计方法,其中包含多个服务,而服务之间通过配合最终会提供一系列功能.一个服务通常以独立的形式存在于操作系统进程中. 想要看到更多玮哥的学习笔记.考试 ...

  6. 面向服务的体系架构 SOA(三) --- Zookeeper API、zkClient API的使用

    zookeeper简单介绍及API使用 1.1 zookeeper简介 zookeeper是一个针对大型分布式系统的可靠的协调系统,提供的功能包括配置维护.名字服务.分布式同步.组服务等.zookee ...

  7. 大型分布式架构设计与实现-第一章SOA(面向服务的体系架构)

    拜读了大型分布式架构设计与实现,觉得该书作为入门不错,但内容过于简单,描述过于琐碎,小节之间连续性不强,不适合深入钻研学习.但为了更多的希望向架构师行业靠拢的工程师学习需要,本博客将对上书进行简化讲解 ...

  8. 分布式架构设计(一) --- 面向服务的体系架构 SOA

    1.1 基于TCP协议的RPC 1.1.1 RPC名词解释 RPC的全称是Remote Process Call,即远程过程调用,RPC的实现包括客户端和服务端,即服务调用方和服务提供方.服务调用方发 ...

  9. SOA面向服务体系架构

    SOA概念 1.什么是SOA 面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型. 它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的 ...

随机推荐

  1. img图片元素下多余空白解决方案

    在进行页面的DIV+CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的对於 该问题的解决方法也是「见机行事」,根据原因的不同要用不同的 ...

  2. HTML标签练习

    <html> <> <body> <h4>一个无序列表:</h4> <ul> <li><a href=&quo ...

  3. 秒味课堂Angular js笔记------$scope.$watch和$scope.$apply

    $scope.$watch(watchFn , watchAction , deepWatch) 其中,watchFn是带有angular表达式或函数字符串: watchAction是一个函数或者表达 ...

  4. Eclipse下Maven插件配置

    要做一个基于C/S架构的汽车租赁系统,由于在实习期间接触过一些Java和SpringMVC,Spring,Hibernate的东西,所以决定使用这个框架组合来完成这个项目. 首先是Maven的配置,为 ...

  5. js 获取元素在页面上的偏移量的最佳方式

    使用js制作效果时,我们常常要获取某个元素在页面上的偏移量(例如tip提示框功能).而获取偏移量可以直接获取相对于document的偏移量,也可以获取相对与视口的偏移量(viewpoint)加上页面滚 ...

  6. AndroidSdk下载地址和环境变量配置

    一.Android Studio 下的AndroidSdk下载地址 http://tools.android-studio.org/index.php/sdk 二.Android Sdk环境变量设置 ...

  7. jQuery mini ui 2

    1.<a class="mini-button" iconCls="icon-add" onclick="addRow()" plai ...

  8. (一)Angularjs - 入门

    AngularJS进行应用开发的一个重要的思维模式: 从构造声明式界面入手 ng-app: 这个指定定义并且关联了使用angularJS的HTML页面部分 ng-model: 这个指定定义并绑定Ang ...

  9. switch语句中的选择因子

    switch语句能否用作用在byte上,能否作用在long上,能否作用在String上? switch选择语句的格式为: switch(intergral-selector){ case  integ ...

  10. jquery 20行代码实现简单轮播效果

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...