J2EE企业级开发学习笔记(5) 体系结构 1、企业级应用体系结构中的主要概念: (1)分解:将系统划分成更小的更合理的程序块。模块、子系统和组件都是分解后的产物。好处:帮助定义并理解系统不同程序块间的接口、帮助集成从过去继承或外部购买的应用程序、有助于跨多个处理器分布软件。 缺点:分解不恰到或过细,通信所引起的开销问题,很容易使性能严重下降。在J2EE中,可以通过Web组件和EJB来完成建模.
(2)组件:软件中的内在单元,可以提供相关的功能和服务.本身已经模块化,可以单独开发和发布,组件模型为组件的合成、交互作用提供了基础结构。EJB、JavaBean和COM都属于组件模型。组件有明确定义的接口,可以与其他组件进行交互。组件的接口提供了组件和应用程序间的约定。 (3)框架:指已开发过并已测试过的软件程序块,这些程序块可以在多个软件开发工程中重用。 两种基本方法使用框架:库方法(利用框架建立一组可重用的组件)、模板方法(利用框架为新工程创建模板,或定义特定类型系统的体系结构(实现抽象方法,需要进行预先计划))。 开发框架注意点:框架应易于理解(让用户快速有效的使用框架)、提供足够的文档(使框架被用户使用的时间越长)、确定具体的框架扩展机制(框架随着时间的推移而满足新的需求) (4)模型:是一种从经验中提取抽象出来的可重用的设计方法,此种设计方法已被证明可以解决一些特殊问题。(协作图) (5)分层(layer):用来分解的模型。分解可以将系统按逻辑划分为子系统和模块,而层则是对这些子系统进行分组和隔离,从而约束那些可以使用子系统、组件和模块的人。RUP(Rational统一过程)确定了2种分层的常用方法:由职责驱动的分层;由重用驱动的分层。 (6)层(tier):主要处理在多个分立进程中软件系统的分配问题。层(tier)可以映射为职责驱动的层(layer),可以同步执行系统内的具体任务,比如表示、业务逻辑、数据访问等。J2EE实现层次分布:在N层体系结构中实现分布,即将特定的层(layer)与每个层(tier)结合在一起。 在J2EE分层体系结构中:
2、J2EE视图体系结构:
J2EE体系结构基本原理:层(tier)+组件+服务 3、4+1视图模型体系结构: 逻辑视图模型:用来设计包、子系统和类 实现方法视图:描述软件的物理结构,如可执行文件、库、源代码等等。 过程视图:与软件的并发有关,如过程、任务和线程都属于软件系统的一部分。 部署视图:用于将可执行文件映射为物理节点和可执行计算的硬件。 用例视图:一种特殊的视图,因为它将所有其他视图配合在一起使用。 另外还有包括诸如:安全和事务处理视图。 4、Hofmeister等:4种视图体系结构 概念视图:概念上系统合理地分解粗粒度组件(又称为舱块)。 模块视图:用于实现舱块和连接器。粗粒度组件会映射为实际的子系统和模块。 执行视图:处理运行时系统中的控制流,包括问题有并发、分布和性能。 代码视图:具体化组件是如何映射为源文件和可执行文件的,以及与之相关的内容(如构建时间和开发工具等)。
|