疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java EE应用组件(1)—经典JavaEE企业应用实战


 

经典Java EE应用的组件
 
        从上一节javaEE规范java分层模型的介绍可以发现,不管是轻量级Java EE应用,它们都有完全相似的分层架构,这中设计的目的就是实现应用组件的解藕,为应用提供较好的可扩展性和可维护性。
 
        总体来说,经典Java EE应用大致包括如下几类组件:
 
        1、控制器组件:对于Java EE的MVC框架而言,框架提供一个前端核心控制器,而核心控制器负责拦截用户请求,并将请求转发给用户实现的控制器组件。而这些用户实现的控制器则负贵处理调用业务逻辑方法,处理用户请求。
 
        2、业务逻辑组件:业务逻辑组件实现系统的业务遭辑,通常使用Session Bean来实现。一般来说,一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体的,因此我们要求对业务逻辑方法增加事务性。业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库访问由此,业务逻辑组件中不应该出现原始的Hibernate、JDBC等API。
 
        注意:保证业务逻辑组件之中不出现Hibemete和JDBC等API,可以保证业务逻辑方法的实现与具体的持久层访问技术分离。当系统需要在不同持久层技术之间切换时,系统的业务逻辑组件无须任何改变。笔者有时见到一些所谓的Java EE应用,在JSP页面里调用EJB的实体管理器执行持久化、直接在JSP页面里访问实体,这无疑是非常荒唐的,这种应用仅仅是为了EJB 而EJB,根本完全没有脱离Model1的JSP开发模式——这与直接在JSP页面中调用JDBC访问数据库并没有本质区别,实际上,不仅JSP、Servlet中不要出现持久层API(包括JDBC、 HibernateAPI、JPA等),而且业务逻辑组件中也不应该出现持久层API。(摘自[经典JavaEE企业应用实战])