经过几十年的发展,软件编程理念经历了随意编程、面向结构、面向对象、面向构件、面向Web服务等阶段。相比之下,Web服务最为惊心动魄。Web服务之前的软件体系结构,功能重用主要是通过源代码级的封装、继承等特性来实现;而Web服务则是通过基于动态目标代码级的封装、继承,及元数据的自描述技术、AOP技术等来实现的。软件工厂条件下的软件积木式拼装和零件化生产技术不断成熟,理想的软件工厂技术的标志性特征是基于目标代码模块的动态拼装、动态运行、动态管理。以目标代码为基本软件模块,展开对同一应用软件的跨操作系统平台研究、展开同一应用软件的跨不同系统的集成运行环境的研究、展开不同应用程序之间的二进制兼容与互操作研究,这些都是促进SOA发展与应用的重要方面。
SOA与软件平台
在网络环境下的面向服务的架构中,支持网络软件运行的基础平台是很重要的,尤其是支持软件跨平台运行。Java虚拟机为Java程序的跨平台运行提供了基础环境。微软的.Net技术则充分考虑了企业级应用程序、尤其是由不同编程语言实现的应用程序之间的兼容性和互操作。
我国自主研发的“和欣”操作系统(英文名Elastos)创新性地实现了“CAR构件技术”(CAR,Component Assembly Runtime),提供了高效率的构件/中间件运行环境。“和欣”是完全面向构件技术的操作系统,其系统服务器都是以动态链接库的中间件形式提供,如文件系统构件、设备驱动构件、网络服务构件等。CAR构件技术完全面向下一代网络服务,提供了Windows、Linux上的构件运行平台,可实现“和欣”应用程序和CAR构件可以以目标代码形式在Elastos、Windows(2K/XP/CE)、Linux操作系统上二进制兼容运行。
SOA与信息安全
美国总统信息技术顾问委员会的一份报告《计算机安全:转折期的研发重点》(《Cyber Security:A Crisis of Prioritization》)中明确提到了:无止境的补丁不是解决问题的办法。通过修正和重建网络、计算机系统以及软件来“增强”安全性和可靠性可能在短期是必要的,但是这些不足以满足整个国家的网络的安全要求,很难在已有复杂的系统中增加安全性的要求。即使一切最好的防范措施都被充分地使用,如果对信息安全没有本质上的改变,我们仍将无止境地修补“堤坝上的漏洞”。因此,全新安全模式的研发需要从基础软件架构开始。通过对这些年来的软件安全问题进行计算模型上的分析,可以看出原有的软件体系架构已经无法满足日益复杂软件系统对安全的要求,新的,更安全的软件架构呼之欲出,SOA就是新安全体系结构的代表。
传统的软件架构并没有在安全性方面进行系统级支持,这是由于在软件产业发展的初期,人们更关心的是软件的功能和效率,而对软件的安全并不是很重视。随着计算机和软件开发技术的普及,软件的安全隐患陆续暴露出来,从病毒、盗版、到蠕虫,软件的安全性面临巨大的挑战。PKI就是在这种背景下诞生的安全架构,其部分解决对于信息认证及反盗版方面的问题,但对于原有的软件体系架构自身的缺陷,PKI仍不能全面保护软件和信息的安全,这也是大量破解软件存在的主要原因之一。在反病毒方面也存在同样的问题,各大反病毒公司不断推出新的反病毒软件,发布新的病毒库,但这一切并没有防范新的病毒,反病毒公司不断推出新的防病毒措施,电脑用户为更新自己的防病毒软件而疲于奔命,但电脑黑客们总能找到新的系统漏洞而进行攻击。为什么会出现这种情况?是否有一种更好的信息安全的措施?分析一下传统软件的架构可以发现,传统软件架构为了保持自由开放的特性,对软件的执行没有限制,一旦软件开始执行,就会获得相应的系统资源,并且认为软件的每个组成部分都是可靠的,而不管其中是否已经感染病毒。常见的反病毒软件也只能在软件运行前对其进行检查,而软件一旦开始运行,各种反病毒措施也就失效。因此,反病毒软件无法做到真正意义上的防范于未然。
<<上一页
1
2
3
下一页>>