`
心动音符
  • 浏览: 329204 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

J2EE业务层模式--传输对象

阅读更多
问题:

   需要垮层次传输多种数据对象。

   J2EE应用系统把服务器端的业务组件实现为会话门面和业务对象,这些组件的一些方法需要把数据返回给客户端。这些组件通常实现为远程对象,比如session bean 和 entity bean 。如果这些业务组件欂栌的是细粒度的get/set方法,客户端为了获得他需要的所有数据值,就必须调用多个getter方法。

   但是这样一来回造成性能上的瓶颈,因为EJB的每次方法调用都可能是远程的。远程调用产生的网络负载,及时客户端和EJB容器在同一个JVM、操作系统或者物理主机上。所以,如果只需要每次获得一组数据,还要多次调用远程对象的getter方法,那就是极为低效的。执行的远程调用越多,应用系统也就是越啰嗦,这个应用系统的性能就是越恶化。

    即使不是远程组件,也仍然会需要访问封装在另一个层次中的组件,比如业务层中的业务对象以及集成层中的数据访问对象。虽然这些组件不是远程对象,在发送、获取数据的时候,仍然应该通过粗粒度的接口访问他们。

约束:

   要让客户端访问其他层中的组件,从而获取并更新数据。

   要减少网络中的远程请求。

  要避免啰嗦的,高网络负载的应用系统造成的网络性能恶化。

解决方案:

  使用传输对象垮层次传输多种数据元素。

  设计传输对象,就是要优化跨层次的数据传输。这样就可以不再逐个传输单独的数据元素,而是用一个传输对象,以单一的结构盛放请求或者响应需要的所有的数据元素。

  传输对象按值传送给客户端,所以,对传输对象的所有调用都是作用于原始对象的拷贝上。
分享到:
评论

相关推荐

    用Java实现23种设计模式

    用Java实现23种设计模式 1. 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) ... 传输对象模式(Transfer Object Pattern) 生产者消费者模式(Producer Consumer Pattern)

    33种JAVA设计模式DEMO

    创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加...传输对象模式(Transfer Object Pattern)

    超级有影响力霸气的Java面试题大全文档

    SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。  对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器...

    java 面试题 总结

    SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上...

    asp.net知识库

    我对J2EE和.NET的一点理解 难分难舍的DSO(一) InternalsVisibleToAttribute,友元程序集访问属性 Essential .NET 读书笔记 [第一部分] NET FrameWork的Collections支持 .NET的反射在软件设计上的应用 关于跨程序集...

    服务计算与大数据.pdf

    Network: 网络传输层:采用广泛使用的协议传输消息,并且能够顺利通过代理防 火墙。 3.(1)什么是 WSDL?WSDL 定义了 service 的哪些个方面?分别对应于 WSDL 中的 哪些元素?WSDL 文档被分为哪两种类型? (2)请说明...

    java源码包---java 源码 大量 实例

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    JAVA上百实例源码以及开源项目

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java面试题

    Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据的页面叫view显示层,Struts2将数据提交给进行处理的类叫Model模型层,专门进行数据处理和数据库的连接。 heap和stack有什么区别? 答:...

    JAVA上百实例源码以及开源项目源代码

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。 WebStorage HTML新增的本地存储解决...

    java源码包2

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java源码包3

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    java源码包4

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    国内外主流的三维GIS软件

     特点:VRMap采用J2EE体系架构,快速、灵活构建基于Web的三维业务应用系统;同时VRMap提供城市级别的基于网络的海量精细场景,可快速建立三维应用。  发展历程:从2000年诞生的VRMap1.0至今,VRMap产品已升级到...

Global site tag (gtag.js) - Google Analytics