SOA体系结构是基于服务组件模型,将应用程序的不同功能单元通过定义良好的接口契约联系起来,接口是采用中立方式进行定义的,独立于实现服务的硬件平台,操作系统和编程语言。使得构建在这样的系统中的服务可以以一种统一的,通用的,灵活的方式进行交互,SOA组件模型 具有以下特点:

  1. 可重用:一个服务穿件后能用于多个应用和业务流程。
  2. 松耦合:服务请求者到服务提供者的绑定与服务之间应该是送耦合的,因此,服务请求者不需要知道服务提供者实现的技术细节,只需要知道服务名与服务接口即可。服务的部署,迁移,扩容极其便利。
  3. 明确定义的服务接口: 服务交互必须是明确定义的。SOA 服务组件提供标准周知的服务接口,服务请求者根据服务名,标准服务接口来获取服务,Web 服务描述语言WSDL 用于描述服务请求所有者所要求的绑定到服务提供者的细节。WSDL 不包括服务实现的任何技术细节
  4. 基于开放标准:当前SOA细节的实现形式基于开放标准
  5. 无状态的服务设计: 服务应该是独立的,自包含的请求, 在实现时它不需要获取从一个请求到另一个请求的信息或状态,服务不应该依赖于其他服务的上下文和状态。当产生依赖时。他们可以定义成通用的业务流程,函数和数据模型。

SOA不是一项技术,也不是一个标准,而是一种架构,SOA架构独立于标准,提供了架构的蓝图 。架构蓝图切开,分块和组合企业应用程序层,将组件服务化,SOA中的服务于业务功能相关联,但在技术上 独立于业务功能的实现。

SOA的基本概念 
SOA 是一个软件架构,包含了四个关键架构, 包含了四个关键概念: 应用程序前段,服务,服务库和服务总线。 一个服务包含了一个合约,一个或者多个接口以及一个实现。 
其中:

  1. 应用程序前端 ——–>> 业务流程的所有者。
  2. 服务——–>> 提供业务的功能,可以 供应多个程序前端或者其他服务使用
  3. 实现——–>>提供业务逻辑和数据
  4. 合约——–>>为服务客户指定功能,使用和约束。
  5. 接口——>> 物理地公开功能
  6. 服务库——>> 存储SOA中各个服务的服务合约
  7. 服务总线——>>将应用程序前端和服务联在一起。

SOA 架构中, 必须要有三个重要实体角色,分别是 服务请求者,服务管理中心,托管服务进程

基于Web Service 的SOA 
1 , XML-RPC 
一个XMK-RPC 消息的例子

<methodCall>
<methodName>
sample.sumAndDifference
</methodName>
<params>
<param><value><int>5</int></param>
<param><value><int>3</int></param>
</params>
</methodCall>

面相服务的架构SOA的更多相关文章

  1. 面向服务的架构SOA

    SOA简介 SCA实现SOA的最佳方式 Apache开源框架Tuscany实现SCA架构 SOA简单描述: SOA(Service-Oriented Architecture)面向服务的体系架构.为了 ...

  2. 集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)

    http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不 ...

  3. (转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成

    摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API ...

  4. SOA-面向服务的架构

    一.什么是SOA? SOA 面向服务架构,是一个架构思想,是跨语言和平台的.SOA宗旨简单明了,根据项目服务完成架构搭建,以服务为基准点完成组件化和模块化.提供服务是项目的基本内容,其他的contro ...

  5. Atitit.架构设计趋势 设计模式 ---微服务架构  soa

    Atitit.架构设计趋势 设计模式 ---微服务架构  soa 什么是微服务架构?1 .微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现1 微服务与康威定律2 微服务的一些 ...

  6. 亚马逊如何变成 SOA(面向服务的架构)?

    阮一峰 日期: 2016年9月10日 上一篇文章,我摘录了<程序员的呐喊>.这本书有趣的内容太多,今天再摘录一段. 1. 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商.它是怎 ...

  7. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台

    面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...

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

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

  9. 面向服务的架构(SOA)

    SOA架构基础概念 面向服务的架构(SOA) 在深入探讨什么是面向服务的架构(SOA)之前,先建立一些基本的概念和术语的基本描述而非严格定义,所以也许有些定义在业内还存留争议,此处暂且忽略. 架构基础 ...

随机推荐

  1. MySQL数据库导入或者同步大量数据时数据丢失解决方案

    相信大家都经常遇到这样的情况,我们在编码的过程中经常需要在调试代码的时候切换到本地的数据库上做修改调试,如果当测试数据库的数据在几十万或者上百万数据的时候,我们无论是通过恢复备份/导入SQL的方式来把 ...

  2. [CERC2017] Intrinsic Interval

    首先理清这奇葩题意表述 给出一个\(1\)到\(n\)的排列\(p[]\)和\(m\)次询问,每次询问覆盖区间\([l,r]\)的最小区间\([a,b]\),满足\([a,b]\)内的元素排序后是连续 ...

  3. slf4j 和 log4j的关系及合用Maven配置

    最近因为项目实在是太忙,都没有时间学习.有时候会很矛盾,一方面是全心全意的想去快速做完项目,一方面又想学习点新东西.这样导致这两三个月都没有去学习一些新的东西,这周我开始创建自己的maven项目,因为 ...

  4. qt5 connect问题

    参考资料:Qt学习之路2     在qt从4到5的升级过程中,connect的方法只是添加了一些重载的形式,qt5新增的connect添加了编译器类型检查,如果遇到匹配失败的,或者找不到信号/槽的地方 ...

  5. IDEA中MAVEN项目打JAR包的简单方法

      Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多. 但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令.   最简单的方法 ...

  6. Spring拓展接口之BeanFactoryPostProcessor,占位符与敏感信息解密原理

    前言 开心一刻 一只被二哈带偏了的柴犬,我只想弄死隔壁的二哈 what:是什么 BeanFactoryPostProcessor接口很简单,只包含一个方法 /** * 通过BeanFactoryPos ...

  7. 权限管理系统之LayUI实现页面增删改查和弹出层交互

    由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一 ...

  8. Gartner 2018 数据库系列报告发布 巨杉数据库连续两年入选

    近期,Gartner陆续发布了2018年的数据库系列报告,包括<数据库魔力象限><数据库核心能力>以及<数据库推荐报告>.其中,SequoiaDB巨杉数据库作为业界 ...

  9. Django-restframework源码分析笔记

    在 APIview 类中的属性有一条是: authentication_classes = api_settings.DEFAULT_AUTHENTICATION_CLASSES 定义了一个类属性为a ...

  10. canvas API ,通俗的canvas基础知识(一)

    在没学canvas的时候,觉得canvas是这么的神秘,这么的绚丽,这么的高深,用canvas做出来的效果是如此的炫酷,能做的事情如此的宽广,简直让我心生敬畏之心,时常感叹:我要是得此技能,必定要上天 ...