互联网软件的技术框架:以架构为中心的方法
1. 引言
软件本质上是对现实世界问题空间及其解决方案进行建模的计算机程序,它追求表达性和自然性兼具的计算模型,其基本模型包括实体元素和它们之间的交互。计算模型从最初的机器语言指令,历经高级语言语句、过程和子程序关系、对象和消息传递,发展到如今流行的组件和连接器模型,这极大地促进了软件的构建和维护。同时,软件也在不断追求更好地利用硬件能力,操作系统的发展就是一个例证,从最初的启动程序,到设备管理程序、多通道程序,再到资源管理系统,软件技术和系统的演进主要由应用领域和底层硬件驱动。
在21世纪,互联网推动了全球化的深入发展,为软件应用带来了新的机遇和挑战。互联网正逐渐成为一个“无处不在的计算机”,由大量的计算设备组成,相比传统计算机系统,它为解决问题提供了更强大的支持。为了应对应用领域和底层硬件的这些变化,软件系统需要具备在线可演化、持续响应和自适应的能力。基于面向对象方法、软件组件等技术,软件实体作为活跃的自主软件服务分布在互联网节点上,它们可以通过多种方式相互协作,形成一个类似于万维网的软件网络,这种由互联网演化而来的新软件范式被称为互联网软件。
互联网软件由一组分布在互联网上的自主软件实体和一组使这些实体能够以各种方式协作的连接器构成。软件实体能够感知环境的动态变化,并通过架构演化(包括软件实体和连接器的添加、删除和演化,以及系统拓扑的相应变化)来适应这些变化。通过这种上下文感知行为,系统不仅能够满足用户需求,还能提升用户体验。与传统软件相比,互联网软件的形式有很大不同。从微观角度看,软件实体按需协作;从宏观角度看,实体可以组织成一个应用领域。因此,互联网软件的开发可以看作是将各种“无序”资源组合成“有序”软件系统的过程。随着时间的推
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



