1.1 三层应用架构的发展
1.1.1 三层应用架构的发展
- 层能够被单独构造
- 每层具有区别其他层的显著特点。
- 层与层之间能够相互链接,互相支撑,相互作用,相互协作,从而构成一个整体,
- 层的内部可以被替换成其他可工作的部分,但对整体影响不大
1.1.2 什么是三层架构
三层架构通常包括表示层,业务逻辑层以及数据访问层。
表示层
表示层部分通常指当用户使用应用程序时,看见的,听见的,输入的或者交互的部分。
业务逻辑层
业务逻辑层部分是根据用户输入的信息,进行逻辑计算或者业务处理的部分。
数据访问层
在用户同应用程序交互的过程中,或产生数据。这类数据需要通过某些机制被有效地保存,并在将来能够被重复使用,或者提供给其他系统。
1.1.3 三层架构的优势
- 解决应用程序中代码间调节复杂,代码职责不清的问题。
- 从某种程度上解决了企业内部如何有效根据技能调配人员,提高生产效率的问题。
1.2 单块架构
1.1.1 什么是单块架构
对于功能集中,代码和数据中心化,一个发布包,部署后运行在同一进程的应用程序,通常称之为单块架构应用
例如:传统的J2EE项目说构建的产品或者项目,存在的形态一般是WAR包或者EAR包
定义:是在分层软件架构设计的系统基础之上,从部署模式,运行模式角度来考虑
1.1.2 单块架构的优势
易于开发
例如 NetBeans,Eclipse,IDEA等,他们都能有效加载并配置整个引用程序的依赖,方便开发人员开发,运行,调试等。
易于测试
所有的功能都运行在一个进程中,启动集成开发环境或者将发布包部署到某一环境,一旦启动该进程,就可以立即开始系统测试或者功能测试。
易于部署
由于所有的功能最终都会发布生成一个包,因此只需复制该软件包到服务器相应的位置即可。
易于水平伸缩
1.1.3 单块架构面临的挑战
维护成本增加
持续交付周期长
新人培养周期长
技术选型成本高
可扩展性差
构建全功能团队难