|
逻辑结构 基于 J2EE
架构,采用三层的软件体系结构。这 3 个子层分别为: Domain/ Business Logic/WEB 。在 3 层关系中 ,
为了实现松 耦合 , 我们在 Business Logic/WEB 层间加入 web 业务代理层,在 business logic 和
domain 层间加入 dao 层 ,
其结果关系可以通过下面的图说明:
图表 2
:软件层次结构
WEB Presentation (
TAPSTRY )
基于公司在 WEB 应用开发的丰富经验,我们采用 Tapestry 框架构建 WEB 表示层。
Tapestry 基于 Servlet 标准,是一个开放的、成熟的 WEB
表示层框架,与其他的开发技术,如 JSP 、 Struts 相比较,具有很多优点:
• Tapestry 完全支持 WEB 界面的组件化设计,并具有很多功能强大的 WEB
界面组件,能够开发界面友好、功能强大、易于维护的用户界面。
• Tapestry
支持事件驱动机制,能够实现用户界面与控制逻辑的彻底分离,系统易于配置、管理。避免 Struts 等框架的复杂管理。
Web
代理
WEB 代理主要用于隔离表示层和业务逻辑层的调用,保持各自的独立性。同时将逻辑代码定义在代理中,避免表示层包含太多对业务逻辑的调用
, 这样造成表示层和业务逻辑层的紧耦合而不利于代码的维护和扩展。
• 业务逻辑实现层
根据项目的不同,我们在业务逻辑层提供 2 种实现方式:
• EJB 实现业务逻辑层
• JavaBean 实现业务逻辑层
不管使用以上那种方式,我们均使用 spring 来配置管理各业务逻辑。
• EJB 实现业务逻辑层
这种模式一般适用于中大型系统。
基于 Enterprise Java Bean(EJB) 技术、 XML 技术,采用 EJB
来构建各个功能子系统的组件化设计、开发,采用 XML 作为各个子系统的外部接口。
EJB 是 J2EE 的核心技术,是新一代的面向企业应用开发的最佳选择, EJB 提供了丰富的系统服务,包括:
• 安全服务
• 事务服务
• 分布式服务
• 负载均衡
• 发布管理
• JavaBean 实现业务逻辑层
这种模式使用于中小型系统,采用简单的 javaBean 实现业务逻辑。
DAO
数据接口
为了降低耦合性,保持各部分的独立性,定义 DAO 接口,业务逻辑部分只通过接口进行数据库存取操作,由 spring
根据配置文件实例化 DAO 实现并传递给业务逻辑部分。
DAO 接口可以隐藏不同的技术实现 , 如 Hibernate/JDBC 或 IBATIS 等 . 调用者并不需要知道 DAO
是怎样实现以及用什么实现的 .
Domain
数据实体 这里定义的是和数据库表对应的 Java 对象类,用于
O/R 映射关系的建立, DAO 将通过对这些对象的存取来操作数据库。对于 Hibernate 映射,可直接使用
HibernateSync 插件从数据库生成,大大节省工作量。 Database.
|