zoukankan      html  css  js  c++  java
  • [转]什么是 SOA?

    什么是SOA?

    70年代-80年代,自顶向下分析方法,核心是可以复用的函数,比如C语言的200多个函数库。

    80 年代-90年代,出现了OO的分析和设计,核心是对象,是可以复用的组件。比如Struts这个框架,我们只需在这个框架上搭载一些自己的Action, 就可以体会到真正的MVC模式,而不是每个项目大家都去创造一个自己的FrameWork, 这就是组件复用的好处。

    90年代后,OO方法逐渐不能满足用户需求变更加速和老系统集成的需求,所以出现了SOA,SOA的核心是服务。自顶向下分析方法以函数为中心,OO以对象为中心,SOA 以服务为中心。

    服 务合组件的概念还是不一样的。组件以功能复用为核心,而服务以实际的企业应用为一个单元划分。比如订单管理(OrderManager)可以是一个可以复 用的组件,它仅仅提供自己的API,而订单管理服务则是一个完整的企业行为单元,可能包括 采购订单--〉订单审核生效--〉进货 这样一个业务流程。脱离了BPM纯粹从技术上讨论SOA是空洞的。


    SOA主要目的是分布式和减少服务和服务之间的耦合。这种耦合性减少和以对象和对象之间关系的耦合性减少是不一样的,对象和对象之间关系的耦合性减少我们用IOC就可以很好的解决了。SOA耦合性的减少是服务和服务之间的耦合性减少。


    也就是说,70年代-80年代,我们采用自顶向下分析方法做项目,80年代-90年代,我们用OO的分析和设计做项目,而现在,到了以服务为核心的分析和设计方法作项目。SOA仅仅是OO 思想的一种发展和扩充。

    利用SOA思想做概要分析和概要设计,OO思想做详细设计,这就是对SOA的理解

    原文:http://blog.chinaunix.net/u/23701/showart_461510.html

    alarm   作者:NewSea     出处:http://newsea.cnblogs.com/    QQ,MSN:iamnewsea@hotmail.com

      如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。
  • 相关阅读:
    黑盒测试用例设计--题目3
    黑盒测试用例设计--题目2
    性能测试中TPS上不去的几种原因
    软件性能测试指标建议值
    Jmeter插件解释
    JDBC Connection Configuration配置正确,提示Error preloading the connection pool
    Vmware 不能上网
    dijkstra算法优先队列
    Django 模型与 Mysql 数据类型对应
    Win 无法安装 python 包
  • 原文地址:https://www.cnblogs.com/newsea/p/1367726.html
Copyright © 2011-2022 走看看