摘要 随着越来越多的设备和系统融入到我们网络世界的结构中,集成的规模和复杂性正在快速增长。我们现有的系统软件设计方法和培训,以面向对象设计原则为基础,对小规模系统非常有效,但随着我们发现操作限制,需要逐年频繁且无意地重新设计程序,这些方法和培训开始失效。从根本上讲,面向对象的思维使我们以紧密耦合的交互方式思考,其中包括强状态假设。大型分布式系统通常是由独立方创建的子系统的混合体,这些子系统通常使用不同的中间件技术,接口不一致。使用面向对象的思维集成此类子系统带来了一些根本挑战:(1)它对于增量和独立开发来说很脆弱,因为接口可能会在不经通知的情况下发生变化;(2)子系统之间在双方必须交换的信息的数量和质量方面通常存在“阻抗不匹配”; (3) 确实需要实时动态适应网络拓扑重新配置和故障;(4) 在这种动态环境中,可扩展性、性能和正常运行时间不能总是受到损害。需要一种不同的范式来系统地应对这些新挑战。随着集成规模和复杂性的增长,唯一的统一共同点是