什么叫SOA平台?-----概念分析
----- SOA,有些人认为等同于“世界应用计算平台”World application computing platform。

SOA:现阶段不同的SOA概念有一个共同的关注点,SOA就是能够通过Web服务优势,来解决企业环境平台的兼容性,并且注入了不同组织之间的交互的愿望,敏捷性与跨平台性。很多的概念都认为:SOA体系结构是一个简单的Web服务集成。这是一个普遍而又危险的认识。因为这些概念的误解,导致了很多组织认为,为了实应SOA这种潮流,只需要加快Web服务平台的开发。

从逻辑的角度上看,为了解决一个大的问题能被更好的架构,执行和管理,这应该把这个大的问题分解成一系列更小的,相关的子问题。然后再把这些小片段组合起来,从而解决问题。而SOA这一术语就代表着这样的一个模型:自动化逻辑(商业逻辑)被分解成更小的、各自独立的逻辑单元。这些逻辑单元依据一定的策略组合成商业自动化逻辑,并且这些单元是分布式的。

SOA鼓励各个逻辑单元自治、独立,但各自之间又不孤立存在。这些逻辑单元要符合能独立的完成进化,进化过程不影响其他的逻辑单元,并且还要保持足够的公用化和标准化。在SOA中,这种的逻辑单元就叫做Services。

SOA中的Services如何关联:services可以被其他的services或其他程序利用。这种服务之间的应用,是基于相互理解的基础之上,这种理解就要通过services descriptions来描述。描述文件中描述了服务的名称,服务所要求的数据,处理后所返回的数据。

为了服务之间能够实现一些有意义的事情,它们之间就要交换信息。在SOA中就称为messages。服务之间通过提供服务描述,基于框架通过messages进行交流。这和以产基于消息的框架相类似,但是SOA的三个核心部件:services,descriptions,messages的设计是不一样的。SOA它有自己的设计原则。

SOA也是一门方法论,类似于面向对象的设计,它也有自己的一些原则:
1) 松偶合性。服务之间要求最小的依赖性,只要求它们之间能够相互知晓。
2) Service Contract。服务之间支持统一的通信协议,可以通过一个服务描述文件来定义。
3) 自治性。服务完全控制它所封装的逻辑,也就是说服务在它自身所统治的范围内,在执行时不会依赖于其他的服务。
4) 抽象化。除了service contract中所描述的,services对外隐藏了它的所有逻辑。
5) 重用性。商业逻辑被分成各个小的services,目的就是为了促进重用。
6) 可组装性。Services集能相互协作,能被组装成一个合成的services.
7) 无状态性。Services还应被要求来管理状态信息,因为状态信息的保存,会阻碍松耦合。Services在激活时,应最大限度地处于无状态。
8) 可发现性。服务进行配置后,对外可通过一定的发现机制来发现该服务。
           这些原则是不可或缺的,Web Services技术集为我们提供了设计Services的平台。
          但是这些原则中,有几组可能存在混淆:
1) 重用性(Reusablility)与composability(可组装性)
2) 自治性(autonomy)与无状态性(statelessness)
3) 松偶合与use of a service contract 
        其实重用性是指:当逻辑单元被封装到service中,能被多个service requestor所使用,就能认为是可重用。它建立在上面提到的多个原则的基础之上,如:服务的无状态性它最大限度地让激活体在外部执行service的逻辑单元。而可组装性之所以可行,就是因为service能够重用。
Service contract:是服务的metadata表现出来的。它使规则、条件标准化,使得外部的requestor能够与service交互。其实认真体会一下,上面的三组关系,应该很容易分辨出他们的关系与联系。

SOA概念的一些误解:
1) 应用Web Services的程序就是面向服务(SO)。SOA依赖于不同的抽象模型,任何形式的分布式体系结构都可以归类成SO。
2) SOA只是对Web Services的重新定义的市场概念。SOA不是一个由媒体或者某个市场部门发明的,它是一个合法的建立在相关技术术语之上。它表述了基于独特原则之上的分布式系统。SOA只是应用一些技术集来实现SOA服务的原则。这候选些技术平台目前选用的是Web Services而以。
3) SOA只是对Web Services实现分布式计算的市场术语。
4) SOA简化了分布式计算。

建立SOA系统中所要防范的要点:
1) 建立的SOA如同传统的分布式体系结构。这就会引发如下问题:大量的RPC类型的服务描述文件;没有充分利用WS-*规范的物性;对Services中功能划分不合理;创建不可组装的services;进一步加大了同步通信模式的鸿沟;创建异质非标准化的services。
2) 非标准化的SOA。
3) 没有创建移植计划。
4) 没有以XML做为基础体系结构
5) 没有明白SOA的性能要求
6) 没有明白SOA的安全要求
7) 没有关心产品平台和标准的发展

解读SOA平台---概念分析相关推荐

  1. 基于AgileEAS.NET SOA 平台SAAS架构技术的开源分销ERP系统-SmartERP.NET下载配置说明

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  2. 使用DotNetBar制作漂亮的WinFrom界面,自定义AgileEAS.NET SOA平台WinClient主界面

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  3. ChainBuilder Connect SOA平台解决方案的案例研究

    Chainbuilder connect 解决令各行业最头痛的服务整合问题 <?xml:namespace prefix = o ns = "urn:schemas-microsoft ...

  4. erp框架 saas_基于AgileEAS.NET SOA 平台SAAS架构技术的开源分销ERP系统-SmartERP.NET下载配置说明...

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  5. 南京oracle soa,Oracle SOA平台之甲骨文SOA套件概述

    Oracle SOA简介 Oracle的SOA方案的一个现实驱动力来自于在收购了多家应用厂商后,Oracle需要使用一个先进的架构和平台灵活无缝地把这些应用集成起来,这个架构就是Fusion Arch ...

  6. AgileEAS.NET SOA平台多帐套的实现

    这里的多帐套的意思是指:程序可以连接到不同的具体数据库. 准备工作: 下载最新平台 本文涉及到两个数据库MulDb1和MulDb2. 这两个数据库都是由平台自带数据库生成工具EAS.DbInitial ...

  7. 测试架构师如何解读测试平台的各种争议

    先从testerHome上关于测试平台的话题谈起,再来谈谈接口测试的痛点是什么,然后是我的接口测试的解决方案.希望通过本篇的论述,大家对什么是好的平台能达成统一的认识,且通过创新做出好用,对测试人友好 ...

  8. 重写AgileEAS.NET SOA 中间件平台账号密码的加密算法

    一.平台简介 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适 ...

  9. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-代码解析...

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍一文之中我们对AgileEAS.NET S ...

  10. 基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇

    为什么80%的码农都做不了架构师?>>>    开篇 系统架构的文章,准备在这段时间好好的梳理和整理一下,然后发布基于AgileEAS.NET平台之上的企业级应用架构实践,结合具体的 ...

最新文章

  1. 相似度矩阵遍历 python
  2. 去除桌面图标蓝底的方法步骤
  3. Bash命令行历史用法【转】
  4. (23)逆向分析 MmIsAddressValid 函数(XP系统 10-10-12分页)
  5. mongodb实现对某列求和SUM
  6. 支付宝支付-提现到个人支付宝
  7. Java零基础如何去学习Java编程
  8. matlab guidata两个,Matlab
  9. ffmpeg-0.6.3 移植到 windows 开源代码
  10. python json模块详解_深入解析Python编程中JSON模块的使用
  11. python 生成 和 加载 requirements.txt
  12. 自动驾驶路径轨迹规划(三阶曲线spline)
  13. Keil(MDK-ARM-STM32)系列教程(七)菜单
  14. python实现表格_python 实现绘制整齐的表格
  15. 静态RAM(2K * 8位)6116介绍(抄自原理图)
  16. MySQL可不可以直接定义程序_mysql8 参考手册-定义存储程序
  17. MySQL使用二进制日志来恢复数据
  18. 收获,不止oracle
  19. 大学生活没钱你会学习还是打工? C2 翻译有感
  20. 在龙芯机器上编译OpenJDK8

热门文章

  1. 教你如何选型到合适的OA系统
  2. windows下重装系统时驱动备份和恢复命令
  3. 如何预置apk(MTK6589)
  4. Android 开发环境搭建
  5. vc ++ 实现检测变速齿轮,变速精灵, 变速类辅助工具
  6. Android程序中如何启动浏览器
  7. C++11/14的新特性——更简洁
  8. 基于JavaWeb的在线题库管理系统的设计与开发
  9. Android 混淆大全一篇就够了
  10. iphone尺寸大全对照表2021 iphone屏幕尺寸大全