- 2
- 0
- 约1.91万字
- 约 14页
- 2019-04-03 发布于北京
- 举报
基于HL7的电子病历交换模型的研究-Read.doc
PAGE 3
基于Spring和EJB的JCF通用调用框架的研究与实现
何文强
广州 510630
摘 要 使用Spring,你能够利用许多EJB所提供的特性,例如可申明的事务管理,对象池和简单的ORM(对象角色建模)等功能。在本文中,我们将要重点讨论的是如何将Spring技术应用在使用EJB构建的系统中,同时拥有Spring和EJB的优点。
关键词 Spring Hibernate Struts EJB SLSB Java Command Framework(JCF)
引言
开发大规模系统时,其复杂程度将大大增加。整个开发过程涉及到各种角色,例如UI设计人员,前台开发人员,后台开发人员,工作流开发人员,接口开发人员等。每个角色负责自己的任务,完成后再联调,或者是在开发过程中就已经开始了联调。如果将所有的代码都放到一块代码将会变得很乱,很难管理。尤其在系统间的信息沟通或者是将其他系统的功能增加到本系统的时候就要进行代码的拷贝,另外一种办法是通过远程访问来访问其他系统的功能,如果两个都是java应用就可以通过EJB的远程访问,如果是非java应用可以通过web service来远程访问。本文描述了一个基于Spring和EJB的通用调用框架,将Spring和EJB融合到一块,取其精华,去其糟粕。用Spring的IOC和AOP功能,使得系统的各个Bean之间解耦,而且很容易将事务和安全加到系统中。由于EJB的Entity Bean饱受争议,开发效率和运行效率都不太高,所以本框架不采用Entity Bean,采用Hibernate作为系统的持久层,Spring对Hibernate可谓是Spring的一大亮点了,使用Srping之后,Hibernate的开发更加简便了。在Rod Johnson和Juergen Hoeller所写的书《Expert One-on-One J2EE without EJB》中,狠狠的将EJB批了一通,但是在传统J2EE应用程序中, EJB构成了应用程序架构的基础。尽管Spring提供了EJB所提供的许多服务的简化版本,例如可申明的事务管理和对象持久性,但是,在一段时间内,许多应用程序将会继续使用EJB来构建。而且EJB中的Session Bean和MDB还是有其存在的价值,尤其是无状态会话Bean(StateLess Session Bean下文简称SLSB),简单得来使得系统具有分布式的功能。在Spring外再套一个SLSB使得系统天生就具有了远程访问的能力,再加上一个Command模式,SLSB变为系统功能调用的入口点,相应的业务逻辑都写在Spring控制的Bean中。而MDB可以开发异步调用系统。在Spring中,支持对EJB的调用,你能够在基于EJB的解决方案中使用Spring,Spring简化EJB的创建,提供一个简单,友好的方法来访问EJB资源。本框架不关注在Spring中如何调用EJB,而是关注于在EJB中如何访问Spring的Bean资源,如何将客户端的请求送到相应的Spring管理的POJO(plain old Java object)。
项目背景
本JCF架构参考商务领航项目原有JCF实现。商务领航项目分为前台,工作流,后台三大模块,前台的请求通过工作流系统的调度来调用后台的业务方法,其中后台和工作流系统都提供了带有远程接口的session bean供其客户端程序调用。后台提供一个业务方法在系统中命名为“Command”,代表一个动作,若干个Command组成一个“Service”,客户端在一个请求Request中设入service名字和参数,经过服务端的运行后返回一个“Response”,Response中带有返回的结果。作者在开发的过程中发现原有JCF框架的开发过程中由于引入了EJB给测试带来了很大的麻烦,断点跟踪很难跟到EJB后面的Command,而且配置文件比较繁琐,在三大模块联调的时候浪费了很多的人力物力。现引入Spring以减少测试带来的时间耗费,减少了代码量,并且引进了目前流行的ORM工具Hibernate。其体系结构图如下:
图1 JCF框架体系结构图
本框架综合运用Delegate、Session fa?ade、Command等设计模式,把商业逻辑放到客户端(servlet,applet,等等)有严重的负面效果,影响性能和可维护性,使用session facade模式可以纠正这个问题,需要把商业逻辑放到session bean中,session bean的每个方法映射到一个特定的工作单元,或者用例。这样做,客户端被从服务器端的对象模型屏蔽起来,并且在一个事务和一次网络调用的round trip中执行用例。
直接从客户端调用session facade会导致客户
您可能关注的文档
- 基于IDA的钢管混凝土空间组合架连续梁桥抗震易损性я析-世界地震工程.PDF
- 基于J2EE的Oracle数据库连接研究与实现-中国科技论文在线.PDF
- 基于Kriging方法的三维地质可视化系统构建-华南地震.PDF
- 基于LDC的图像过渡区提取与分割-激光与红外.PDF
- 基于LMS和Fast-Kurtogram的滚动轴承早期故障诊断-噪声与振动控制.PDF
- 基于MATLAB的仿壁虎机器人天花板粘附运动仿真-OpenRepositoryof.PDF
- 基于Mel子带参数化特征的自动鸟鸣识别Automated-计算机应用.PDF
- 基于Memetic算法的车间动态调度策略研究-中国机械工程.PDF
- 基于ODMGJava绑定的面向对象数据库存储管理①-计算机系统应用.PDF
- 基于ON9的淳安县滑坡易发性定量评价-安全与环境工程-中国地质大学.PDF
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)