SOA的十大技术理论体系

日期: 2008-02-01 来源:TechTarget中国

  实践论认为:从实践提升到理论,再由理论指导实践,由此向前发展。目前SOA的发展的情况正是如此,通过不少实践,SOA的模型己经被公认为标准规范,目前是正需要进一步总结上升到理论的时候了。

  当前国内要发展SOA主要有三方面工作:方法、工具和环境。方法是工程技术,由基础理论来指导提出的。所以一门科学必需要包括:认知科学(哲理)、工程技术和方法、最后是理论。

  仲萃豪是我国第一代知名软件专家和学术带头人之一,率先开展对编译程序、编译语言、操作系统、支撑软件、应用软件诸领域有关课题的研究,1993年开始转入研制开发大型复杂应用软件和大型分布式系统。

  在国内最早提出基于构件技术的实现方法及其中的关键技术。为我国软件事业的发展和人才培养做出了重要贡献,先后获得了八个重大奖项。曾任中科院软件所学术委员会主任、室主任、博士生导师、北京市政府顾问、国家科技攻关重大项目——CASE 工具环境总体组副组长,并承担多项国家科技攻关专题项目。

  架构的演化过程

  SOA是从面向对象、构件架构等逐步发展完善,且相互依托、相互补充、又各自适应不同范围,因此在讨论SOA理论时,要了解它是如何演化过程来,继承了哪些理论体系,其适应度如何。

  结构编程方法

  40年前国际上发生了“软件危机”,如IBM公司开发一个操作系统,或美国的航空公司开发飞机订票系统,都花费了上千人数年的工作量。它开发周期长、而开发出来的产品却是错误很多,难以维护和适应修改。

  正在此时,一位荷兰的物理家E.W.Dijkstra提出了一种“结构程序设计方法”,他认为:人的智力是有限的,采用数学或物理学的思维方法,用枚举、抽象、归纳、类比等思维方式简化问题。

  由于我也是数学系毕业的,我拜读了他的所有论文,就编写一本著作《编程方法学》。用此方法扩展到软件设计中时,称为“结构化分析和结构化设计(SASD)”。

  所谓“结构程序设计方法”,就是基于面向对象设计方法的早期蓝本,侧重於解决程序正确性的编程的方法,以此为基础建立了软件工程这门学科,建立了编程的基础理论体系,也是第一个技术与基础理论体系。

  “面向对象”的可重用理论

  我们都知道由面向对象发展到面向构件,由面向构件再发展到面向服务,因此它们的认知观和基础理论都是息息相关的。

  解决大型软件的开发效率和质量除了要解决编程的正确性外,还必需解决开发周期长、复用性差、成本高、文档多以及难以适应系统演化等问题,这些问题十多年来仍旧困惑着这门学科,“软件危机”仍未解决。

  人们的知识是从一个定理、一个原理逐步积累起来的,社会是依靠知识的不断积累发展的。然而编制软件每次却都是从零开始,这是造成“软件危机”的根本原因。由此提出了编程工作是否也可以重用以前成功的经验和程序呢?整整经过十多年的探索,到七十年代才获得成功。

  我曾经用此方法设计了一个大型操作系统,这套方法和理论在产品开发和科研领域方面用得很多,因此我称它为第二个技术与基础理论体系。

  面向构件和架构

  鉴于面向对象的缺陷,三位面向对象的奠基人联合起来,创建了UML统一建模语言。UML为软件开发和SOA的产生起到奠基和里程碑的作用。

  UML主要理论成果是:统一面向对象的基本概念,并引进了许多新的概念,认为软件开发的过程实质上是从抽象的模型逐步细化,过渡到具体的实现,其中间的每个阶段都是实现了某一抽象模型,UML为此提供了建立模型的工具。

  用直觉的图形来建立模型,从此软件专家就有了自己的工具,正如音乐家有了五线谱工具那样。为适应软件的多变性,提供了演化的概念。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐