1.对于垂直架构,虽然有了明确的分层,但是前后端开发仍然藕合在一起
2.针对垂直架构的不足,又提出了SOA架构
3. SOA:(Service Oriented Architecture) 面向服务的架构

(1)把工程拆分成服务层、表现层两个工程<1>服务层中包含业务逻辑,只需要对外提供服务<2>表现层只需处理和页面的交互,业务逻辑都是调用服务层的服务来实现
(2) SOA是把服务分成了若干,表现层分成了若干。
(3)表现层和服务层没有耦合关系,表现层可以用任意一个服务层
(4)开发的时候,仅仅是增加服务层和Web层2个工程,并不会把服务层和Web层当成一个整个工程
(5)传统的SOA是一种面向服务的单体架构,强调服务共享和重用,各个服务之间通过网络调用<1>业务逻辑层可以重复使用<2>如果功能需求没有变化,只需要需改表现层即可<3>SOA架构多使用于传统行业,一次编写重复使用,重复体系其面向服务的特点
(6)是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型

4.SOA的特征:

(1)明确定义的接口:后端只关注业务接口开发,前端只关注接口的调用
(2)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来
(3)SOA更适合需要与许多其他应用程序集成的大型复杂企业应用程序环境
(4)将重复公用的功能抽取为组件,以组件服务的方式给各各系统提供服务
(5)服务之间采用webservice、rpc等方式进行通信
(6)ESB企业服务总线作为服务之间通信的桥梁

5.SOA架构优缺点:

(1)优点:<1>将重复的功能抽取为服务,提高开发效率,提高系统的可重用性、可维护性<2>可以针对不同服务的特点制定集群及优化方案<3>ESB企业服务总线作为项目与服务之间通信的桥梁<4>可重用:同的web层可以共用一个服务层    <5>松耦合:前后端分离,完全独立开发
(2)缺点:<1>服务之间的界限模糊,不利于开发及维护<2>虽然使用了ESB,但是服务的接口协议不固定,种类繁多,不利于系统维护<3>抽取的组件服务的粒度过大,组件与服务之间耦合性高

6.扩展:企业服务总线ESB

(1)企业服务总线是一个具有标准接口、实现了互连、通信、服务路由
(2)提供消息驱动、事件驱动和文本导向的处理模式,支持基于内容的服务路由
(3)企业服务总线的功能:<1>集成服务:提供基础的服务与定制的服务<2>公用服务:提供内置的各种公用服务。例如,认证服务,日志服务等<3>服务协议转换
(4)目前应用数据总线的有阿里的dubbo,还有zookeeper

java技术--SOA架构相关推荐

  1. java技术--单体架构

    1.传统架构分布式 (1)系统之间仅仅是把表现层.业务层.持久层分离开,可以实现解耦合,但是这是在同一台服务器上运行整个系统(2)客户端可以有多个,他们都将访问同一个终端处理器(3)传统架构的分布式仅 ...

  2. 视频:体系化学习 Java 微服务架构

    Web应用,最常见的研发语言是Java和PHP. 后端服务,最常见的研发语言是Java和C/C++. 大数据,最常见的研发语言是Java和Python. 可以说,Java是现阶段中国互联网公司中,覆盖 ...

  3. 全网最全的 Java各类技术栈 架构图汇总(建议收藏)

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/qq_37651267/article/ details/95244623 1. java 类加载器架构 2. JVM 架构 3 ...

  4. java分布式技术平台架构方案

    CoolJava技术特点 CoolJava的技术解决方案信息系统的稳定性.技术先进性.可拓展性,并且满足未来继续增长.业务变革.监管加强的潜在需求.追求系统快速开发迭代,CoolJava应用开发框架能 ...

  5. 微服务与SOA架构,java架构师视频九个阶段百度云

    面向服务的架构不太关心如何应用程序进行模块化构建,更多的是关于如何通过分布式.单独维护和部署的软件组件的集成来组成应用程序.这些通过技术和标准来实现,通过技术和标准使得组件能够更容易地通过网络进行通信 ...

  6. 30种java技术框架-方案架构图汇总

    1. java 类加载器架构 2. JVM 架构 3. Java 技术体系 4. 线程运行架构 5. Java 体系(编译与运行)结构 6. JMS 技术架构 7. JMX 技术架构 8. Sprin ...

  7. [GIS原理] 资源共享-SIG|服务篇(服务型GIS、SOA架构、Web Services技术、GIS服务、地理空间服务聚合、地理空间服务网络)

    文章目录 资源共享 空间信息栅格SIG 服务篇 资源共享 空间信息栅格SIG 说明 信息格网 [what]Information Grid ①利用现有的网络基础设施.协议规范.Web和数据库技术,为用 ...

  8. java 学习写架构必会几大技术点

    java 学习写架构必会几大技术点 关于学习架构,必须会的几点技术  1. java反射技术  2. xml文件处理  3. properties属性文件处理  4. 线程安全机制  5. annoc ...

  9. java mvc引擎_Velocity是一种Java模版引擎技术,MVC架构的一种实现,但它更多的是关注在Model和View之间,作为它们的桥梁。服务端渲染,我们使用最多的就是用他...

    Velocity是一种Java模版引擎技术,MVC架构的一种实现,但它更多的是关注在Model和View之间,作为它们的桥梁.服务端渲染,我们使用最多的就是用他来渲染HTML.下面我们看看他与spri ...

最新文章

  1. Spring Cloud Gateway 之获取请求体的几种方式
  2. Failed connect to github.com:443; No error
  3. 自动驾驶:蛇形曲线跟踪(Stanley Model)
  4. android intent拍照,Android通过Intent方式调用相机拍照取得图片
  5. 返回三级联动的JSON数据
  6. 《代码的未来》读书笔记:内存管理与GC那点事儿
  7. SPSS简介【SPSS 004期】
  8. Go - 访问C动态分配数组
  9. 二进制算法——模二运算
  10. 计算机主板在网卡分配错位,华硕主板如何在bios里关闭网卡启动
  11. fatal: unable to access ‘https://gitee.com/****/****.git/‘: The requested URL returned error
  12. Tomcat Connector的BIO与NIO模式的比较及区别
  13. docker swam 集群实现负载均衡
  14. 高职计算机网络基础教学环节,计算机网络基础课程教学改革研究
  15. 三年级计算机秒打汉字教案,武汉社版三年级全册信息技术 18.汉字输入我能行 教案...
  16. 命令行 PDF 转换器:::fCoder 2PDF
  17. 使用worldview-2立体像对生成dem和正射影像
  18. MCN品牌贝壳视频完成数千万元Pre—B轮融资
  19. Mybatis中的#{xxx}与${xxx}的区别
  20. 鸿蒙的应用都很小吗,鸿蒙发布会:无论设备大小 只需一个系统!

热门文章

  1. oracle 11g rac suse,suse linux 11 + 多路径+udev+oracle11g rac
  2. 小说作者推荐: 闹月合集
  3. Week 4.2 | Lecture 10 | 多态性设计通用方法、比较器 | CS61B-Spring-2018
  4. fusion 谷歌空间_Google Fusion Tables的用例
  5. IDEA 的Http接口调试工具
  6. 官僚、傲慢、冷漠的腾讯开放平台
  7. Gaussian 计算静电云图确定吸附位点
  8. Axure RP 8.1.0.3377 for Mac
  9. JAVA中的Map集合
  10. Navigation组件的使用详解