论文部分内容阅读
随着以Web为中心的应用程序的发展,信息技术部门如何快速的构建大型的企业级分布式应用成为关键,EJB正是在此背景下出现的。但是EJB难于学习和使用已经成为EJB或J2EE发展壮大的致命因素,主要原因是实现持久层的实体Bean技术映射的复杂度,不支持SQL级的查询,并且不同厂商提供中间件的差异性等缺陷,许多优秀的ORM中间件应运而生,例:Hibernate,ibatis,JDO,TopLink,Castor等。当今,面向对象软件设计成为软件开发技术的主流。ORM作为面向对象设计中的重要技术,其实质上是面向对象的域模型与关系数据库模型之间的映射工具。Hibernate以其映射的灵活性与开源特性,成为ORM中间件的首选。它不仅提供了ORM映射服务,还提供动态查询、数据缓存和面向对象的查询语言HQL的功能,并且能够和多种Web服务器、应用服务器良好集成。组件的静态部署限制了其在运行期间动态适应环境变化能力,为此提供一种组件迁移的能力,以提高系统整体性能、吞吐量、灵活性和可扩展性。本文研究的重点是J2EE体系结构中的持久层组件与组件的动态迁移技术。首先详细的讨论了J2EE体系结构,其次深入的研究了EJB体系结构中EJB的分类,及其各自的特点与生命周期。尤其详细的研究了Entity Bean持久化的原理以及主键生成策略,并分类进行了讨论。紧接着研究了Hibernate框架的体系结构与持久化原理的同时,比较了几种常用的ORM映射工具,在此基础上解决了异步进程查询缓存的功能。针对EntityBean存在的缺点,引入Hibernate,将两个框架集成在一起,为开发大型的分布式应用提供一种模型。在整合Hibernate的EJB框架下提供EJB组件的动态迁移的能力以实现负载均衡、良好的通信能力与服务器重配置能力。首先比较了当前主流的组件开发技术;其次详细的讨论了组件迁移的必要性,并设计了一种组件迁移的模型。最后,针对组件迁移过程中所涉及的关键问题,设计了一种算法从而实现了组件的动态迁移。最后,在整合的框架下,开发一个分布式应用系统。