SOA-面向服务的架构
一、什么是SOA?
SOA 面向服务架构,是一个架构思想,是跨语言和平台的。SOA宗旨简单明了,根据项目服务完成架构搭建,以服务为基准点完成组件化和模块化。提供服务是项目的基本内容,其他的controller层和View层,只是体现服务的一种形式而已,目标是服务。
那么到底什么是服务呢?以电商为例子,提供商品浏览服务,商品收藏服务,账号服务,商品购买服务等等。这些事项目提供的服务,服务是由一个一个的业务点构成的,也就是说一个服务内容就是一条业务线。整改项目的服务体系可以说就是有各种各样的业务点组成的,由业务线串联的。
项目的组成方式了解之后,再来了解SOA面向服务架构。SOA面向服务的架构,面向服务,那么服务就是主要项目内容,服务是一条业务线,多个业务点组成的。业务点我们用Model表示,数据层(http)是业务的数据层,view层是业务的展示层,controller层是view/Model层级的控制层,这个分层实际上是剔除业务辅助项,只关注业务点。这个时候我们再去理解和构架SOA的时候,关注的元素就会变少,思考的方式亦会更加高效。这个概念其实也很普通,大家都这么说,但是做出来的框架却远不能及,还伴随着各种问题,需要用其他的中间件去解决问题。基础框架的不完善,势必造成上层建筑的不牢固
二、微服务介绍
微服务架构:
微服务架构其实和SOA 架构类似,微服务是在SOA 上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。
组件表示一个可以独立更换和升级的单元,就像PC 中的CPU、内存、显卡、硬盘一样,独立且可以更换升级而不影响其他单元。如果我们把PC 作为组件以服务的方式构建,那么这台PC 只需要维护主板和一些必要的外部设备。CPU、内存、硬盘都是以组件方式提供服务,PC 需要调用CPU 做计算处理,只需要知道CPU 这个组件的地址即可。
三、SOA战略
SOA的实施对整个IT生态环境都有重要的影响,作为一种重大的IT变革和技术决策,必然要自上而下的进行。必须获得管理层的支持,由技术决策层面直接推动,并和技术部门、相关业务部门一起,根据目前各个IT业务系统的现状,统一规划SOA战略和分阶段目标,制定可行方案与计划步骤,逐步推进实施。
四、SOA的实现
如果面向服务架构能为企业提供了重大的价值,那么这些价值通过什么来体现的呢?
价值体现
- 行为一致性
面向服务的架构允许我们为业务流程、任务或者决策拥有唯一的共同的的入口,也就是,不管服务访问的路径如何,服务给业务提供的业务行为都是一致的。
- 数据一致性
面向服务的架构允许我们为业务数据信息提供单一的访问入口,也就是它提供给业务一致的、企业内部共识的公用数据访问。
- 模块化及敏捷性
面向服务的架构SOA为业务功能、业务决策和业务信息的模块化提供了非常好的机制。同时,在模块化实现好的情况下,这些模块可以在多个业务流程和场景中被灵活复用和重新组合,从而为业务竞争力和创造性提供灵活性和敏捷度支持。
- 功能与数据的解耦
面向服务的架构SOA提供了业务功能和信息集成的同时,减少了他们之间的依赖和耦合性。也就是,独立的业务功能单元,应用系统,可以一起协同工作,同时各自又具备各自的演进计划,生命周期和业务目标。
- 高度可管理性
SOA提供给我们通过定义服务水平协定在服务模块粒度支撑我们的业务目标,我们可以不断的设定、监控和优化调整组件,应用以及系统所承载服务的考核。
其中行为一致性和数据一致性作为服务的核心价值根基。
SOA-面向服务的架构的更多相关文章
- 使用WCF实现SOA面向服务编程—— 架构设计
原文地址:http://www.cnblogs.com/leslies2/archive/2011/03/29/1997889.html SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就 ...
- SOA面向服务体系架构
SOA概念 1.什么是SOA 面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型. 它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的 ...
- SOA面向服务的架构理解
Ø 单一应用架构 ·当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本. Ø 垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几 ...
- SOA面向服务的架构
1.关于SOA的定义,目前主要有以下三个: 1)W3C的定义:SOA是一种应用程序架构,在这种架构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,能够以定义好的顺序调用这些服务来形成 ...
- SOA面向服务架构
SOA面向服务架构 风尘浪子 只要肯努力,梦想总有一天会实现 随笔分类 - SOA面向服务架构 结合领域驱动设计的SOA分布式软件架构 摘要: 领域驱动设计DDD的总体结构,Repository层使用 ...
- SOA (面向服务的架构)-Service Oriented Architecture
SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...
- 聊聊SOA面向服务架构
什么是SOA SOA(Service-Oriented Architecture),即面向服务的架构.SOA是一种粗粒度.松耦合服务架构,服务之间通过简单.精确定义接口进行通讯,不涉及底层编程接口和通 ...
- 亚马逊如何变成 SOA(面向服务的架构)?
阮一峰 日期: 2016年9月10日 上一篇文章,我摘录了<程序员的呐喊>.这本书有趣的内容太多,今天再摘录一段. 1. 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...
- 面向服务的架构(SOA)
SOA架构基础概念 面向服务的架构(SOA) 在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略. 架构基础 ...
随机推荐
- Proteus仿真MSP430单片机的若干问题记录
1.支持的具体型号: P7.8: Proteus8.9: Proteus8.9能够支持的类型明显要多于Proteus7.8.但是对于仿真而言,目前个人还是觉得Proteus7.8更稳定.这也是目前能用 ...
- Java真的是白天鹅
前言 我最近越来越真切的感受到,Java真的是白天鹅. 这真的是一种羡慕嫉妒恨的感受. 今天和一个Java技术Leader聊天,我告诉他敏捷开发是以人为本,他居然跟我说敏捷开发在行业内有规范,规范是死 ...
- 3,java数据结构和算法:约瑟夫环出队顺序, 单向环形链表的应用
什么是约瑟夫环? 就是数小孩游戏: 直接上代码: 要实现这个,只需要理清思路就好了 孩子节点: class Boy{ int no;//当前孩子的编码 Boy next; // 下一节点 public ...
- Qt中的多线程与线程池浅析+实例
1. Qt中的多线程与线程池 今天学习了Qt中的多线程和线程池,特写这篇博客来记录一下 2. 多线程 2.1 线程类 QThread Qt 中提供了一个线程类,通过这个类就可以创建子线程了,Qt 中一 ...
- noip模拟6[辣鸡·模板·大佬·宝藏]
这怕不是学长出的题吧 这题就很迷 这第一题吧,正解竟然是O(n2)的,我这是快气死了,考场上一直觉得aaaaa n2过不了过不了, 我就去枚举边了,然后调了两个小时,愣是没调出来,然后交了个暴力,就走 ...
- C#中使用ffmpeg合并视频
首先将最新的ffmpeg.exe放到debug路径下,下载地址 http://www.ffmpeg.org/download.html 然后调用此方法 public void CombineMp4Wi ...
- excel VBA构造正则函数(双参数)
Function zhengze(ze As String, Rng As Range) Set regx = CreateObject("vbscript.regexp") ...
- UnityPlayerActivity删除后的后果
刚踩完这个坑,来说一下吧! 原因: 我因为前阵子学习了一下Unity Android交互,在这个过程中,我创建了类库,在类库里因为要用UnityPlayerActivity.java类所以便把Unit ...
- Linux中的chkconfig
chkconfig是用来查看开机自启动项目的命令.默认列出linux系统开机自启的项目.平时我们使用时习惯加上--list 从这个图中可以看到当前系统有哪些开机启动项目,就是红色框中的on. 那么怎么 ...
- 7、linux快捷键
ctrl +a:切换到命令行开始 ctrl+e:切换到命令行结尾 ctrl+c:终止当前命令或脚本 ctrl+d:退出当前shell,相当于exit ctrl+l:清除当前屏幕的内容,相当于clear ...