AOA Conception

AOAApplication Oriented Architecture,面向应用的架构)是一种以应用为中心的编程模型,主要提供了在不同的应用场景下构建设计良好的应用程序的方法。从本质上来说,AOA体现的是一种新的构建复杂应用的策略。在基于AOA技术的系统中,应用程序的功能是由一系列层次分明、松散耦合并且设计良好的组件组合构建起来的。
AOA不是一种语言,也不仅仅是一种软件设计方法,对于框架开发者来说,它是特定应用场景下的一组规范,对于应用开发者来说,它是具有明确定义的一组应用程序接口。AOA融合了面向对象技术的精华和MVC设计模式,着重强调了应用的技术层面间的解耦,不过跟面向具体技术层面的技术不同的是,它试图提供以模块为目标的不同技术层面的聚合。
 
AOA看上去跟SOA很相似,但并不是相同的概念。SOA是指面向服务架构,是一种粗粒度、松耦合的服务架构,服务之间通过简单、精确定义的接口进行通讯,不涉及底层编程接口和通讯模型。SOA强调的是把应用抽象成服务,关注服务之间的接口和通讯,而AOA是以应用为中心的,关注的是快速构建设计良好的应用的方法,两者之间是互补而不是互斥的关系。如果把一个复杂应用分解为若干模块的话,SOA关注的是如何把模块设计为可以向外提供服务而不需要透露内部实现细节,和模块间以什么样的接口进行通讯,而AOA关注的是如何以模块为中心进行快速实现,同时保证模块的可维护性和可扩展性。
 
AOA是一个不断演进的概念,在不同的应用场景下有不同的实现。跟SOA相同的是,AOA也是面向应用开发者的,它试图为不同应用场景下的应用开发者提供简单的、可复用的、可扩展的编程模型。

posted on 2007-09-12 14:32  lbq1221119  阅读(227)  评论(0编辑  收藏  举报

导航