1.1 应用软件的总体架构

通常,应用软件的总体架构,可以分为两大部分:应用层和平台层,如图1-1所示。

图1-1 应用软件架构

平台层提供基础框架和大量可重用组件,这些组件以一定的接口方式暴露出来,供应用层来调用。平台层通常不提供与具体业务相关的逻辑处理,而是提供:

● 与业务无关的功能组件,比如日志、安全、线程池、连接池、告警监控等。

● 多种业务之间可共用的机制,如工作流、事件通知机制、远程通信等,这部分也与具体的业务无关。

应用层提供具体应用相关的逻辑处理部分,包括页面、应用逻辑、应用数据等。

平台层和应用层,是个逻辑划分的概念,在实际的软件实现中,平台层和应用层都可以由多个层来实现,也可以合并到一个程序中,这要视软件系统的规模和具体需求而定。

从图1-1可以看出,构建一个高度可重用的平台层,可以使应用开发人员只需集中精力关注业务逻辑,而与业务无关的功能组件和机制都由平台层提供,供直接调用,并且多个应用程序可以充分共享这些组件,这样就极大地简化应用开发,缩短软件交付周期,并保障软件质量。

而构建一个高度可重用的平台层,最核心的挑战就是设计和开发高度可重用的组件,使其能够提取应用的共性需求,简化接口,真正做到应用开发时可以直接拿来就用,而且非常简单易用。