问题:
需要垮层次传输多种数据对象。
J2EE应用系统把服务器端的业务组件实现为会话门面和业务对象,这些组件的一些方法需要把数据返回给客户端。这些组件通常实现为远程对象,比如session bean 和 entity bean 。如果这些业务组件欂栌的是细粒度的get/set方法,客户端为了获得他需要的所有数据值,就必须调用多个getter方法。
但是这样一来回造成性能上的瓶颈,因为EJB的每次方法调用都可能是远程的。远程调用产生的网络负载,及时客户端和EJB容器在同一个JVM、操作系统或者物理主机上。所以,如果只需要每次获得一组数据,还要多次调用远程对象的getter方法,那就是极为低效的。执行的远程调用越多,应用系统也就是越啰嗦,这个应用系统的性能就是越恶化。
即使不是远程组件,也仍然会需要访问封装在另一个层次中的组件,比如业务层中的业务对象以及集成层中的数据访问对象。虽然这些组件不是远程对象,在发送、获取数据的时候,仍然应该通过粗粒度的接口访问他们。
约束:
要让客户端访问其他层中的组件,从而获取并更新数据。
要减少网络中的远程请求。
要避免啰嗦的,高网络负载的应用系统造成的网络性能恶化。
解决方案:
使用传输对象垮层次传输多种数据元素。
设计传输对象,就是要优化跨层次的数据传输。这样就可以不再逐个传输单独的数据元素,而是用一个传输对象,以单一的结构盛放请求或者响应需要的所有的数据元素。
传输对象按值传送给客户端,所以,对传输对象的所有调用都是作用于原始对象的拷贝上。
分享到:
相关推荐
【MVC(Model-View-Controller)模式】是J2EE Web层的主要实现方式,它分离了数据、用户界面和业务逻辑,使得系统更加模块化和易于维护。Struts框架是MVC模式的一种具体实现,它为开发者提供了构建Web应用的结构和...
在J2EE环境中,持久层主要负责数据库的交互,包括数据的存取、对象关系映射(ORM)以及事务管理等。ASP,虽然在功能上不及J2EE强大,但通过一些技巧和框架,也能实现类似的功能。以下是对ASP仿J2EE持久层的详细解释...
MVC(Model-View-Controller)模式是J2EE Web层的标准实现,它将业务逻辑、用户界面和数据访问分离,使得各部分可以独立开发和维护。Struts框架是MVC模式的一个具体实现,它提供了一套规范化的结构和机制,帮助...
3. **EJB(Enterprise JavaBeans)**:EJB是J2EE的核心部分,提供了面向对象的业务逻辑组件。主要有三种类型:会话bean(Session Beans)用于管理客户端会话,实体bean(Entity Beans)代表持久化的业务数据,消息...
传输对象模式通过在客户端和服务器端之间传递对象来简化远程调用过程。这些对象通常包含数据和少量的行为,可以有效地减少网络通信开销,并提高系统的性能。 **2.1.4 Front Controller—前控制器模式** 前控制器...
MVC 模式是 J2EE Web 层的主要实现,MVC 模式将系统分为 Model、View 和 Controller 三个部分,提供了系统的可扩展性和灵活性。 七、Struts 框架 Struts 框架是 MVC 模式的实现(特例化),提供了系统的可扩展性和...
- **分层架构**: 常见的有客户端层、Web层、业务逻辑层(EJB层)和数据访问层,各层之间通过接口通信。 - **MVC (Model-View-Controller)**: 设计模式,分离业务逻辑、用户界面和数据模型,提高可维护性和可扩展性...
数据层通过DAO(Data Access Object)模式与中间层进行交互,DAO封装了对数据库的操作,使得业务逻辑层可以专注于处理业务逻辑,而不必关心具体的数据库访问细节。 在J2EE架构中,数据的表示和传输涉及到以下几个...
7. **XML (eXtensible Markup Language)**:用于数据交换和文档存储,常用于表示和传输业务数据。 8. **JMS (Java Message Service)**:提供消息传递机制,支持异步通信和解耦的系统设计。 9. **Java IDL ...
7. **Data Transfer Object模式**:用于在不同层之间传输数据,减少网络通信的复杂性。 8. **Singleton模式**:确保一个类只有一个实例,并提供全局访问点。 9. **Decorator模式**:动态地给对象添加新的功能,而...
MVC(Model-View-Controller)模式是J2EE Web层常见的实现方式,它将业务逻辑、用户界面和数据控制分离,提高代码的可维护性和可重用性。Struts框架是MVC模式的一个具体实现,它为开发者提供了一套标准的框架结构,...
这些模式由John Crupi、Dan Malks和Deepak Alur等专家共同总结提炼,覆盖了J2EE体系架构的三个主要层级:表示层、业务层和集成层。 #### 表示层模式 - **拦截过滤器**(Intercepting Filter):用于处理请求和响应...
3. **Data Transfer Object (DTO)**:用来在DAO与业务层之间传输数据的简单对象,通常只包含属性,没有业务逻辑。 4. **Client(客户端)**:业务逻辑层的组件,通过调用DAO接口的方法来访问数据,而不直接与数据库...
- **业务逻辑层**:EJB组件作为业务对象,处理业务逻辑,也可以用JavaBeans封装简单的逻辑。 - **数据访问层**:JDBC用于直接操作数据库,或者使用JPA(Java Persistence API)配合ORM框架,如Hibernate或Eclipse...
- **JPA(Java Persistence API)**允许应用程序指定对象的懒加载或急加载模式。这种方式可以显著提高应用性能,特别是在处理复杂、层次化的对象模型时。这是因为懒加载可以在真正需要访问相关联的对象时才进行加载...
- **Transfer Object Pattern**: 这一模式主要用于减少远程调用时网络传输的数据量,通过创建轻量级的数据传输对象来传递实体Bean的状态。 - **Data Access Object Pattern**: 此模式定义了一组访问数据库的方法,将...
- **分层架构**:典型的J2EE应用通常采用三层架构:表现层(Web层)、业务逻辑层(EJB层)和数据访问层(数据库)。 **2. J2EE开发技术手册** - **部署描述符**:每个J2EE应用都有一个或多个部署描述符(如web.xml...
客户层跑在客户端机器上,Web层跑在J2EE服务器上,业务逻辑层跑在J2EE服务器上,企业信息系统层跑在EIS服务器上。这种四层模型的架构可以使得系统更加灵活、可维护和可扩展。 二、对象持久化 对象持久化是指将数据...
- 使用MVC模式分离业务逻辑和表示层。 - 实体Bean用于数据持久化。 - 会话Bean处理业务逻辑。 - 消息驱动Bean用于异步通信。 - **安全性考量**: - 用户身份验证。 - 数据加密传输。 - 输入过滤防止SQL注入。...
- **JavaBean**:封装数据,作为业务逻辑层和视图层之间的数据传输对象。 - **EJB**:可能涉及Stateless Session Beans(无状态会话bean)用于处理短暂的业务逻辑,或者Entity Beans(实体bean)处理持久化数据。 ...