技术介绍: OpenJPA 是 Apache 组织提供的开源项目,它实现了 EJB 3.0 中的 JPA 标准,为开发者提供功能强大、使用简单的持久化数据管理框架。OpenJPA 封装了和关系型数据库交互的操作,让开发者把注意力集中在编写业务逻辑上。OpenJPA 可以作为独立的持久层框架发挥作用,也可以轻松的与其它 java EE 应用框架或者符合 EJB 3.0 标准的容器集成。除了对 JPA 标准的支持之外,OpenJPA 还提供了非常多的特性和工具支持让企业应用开发变得更加简单,减少开发者的工作量,包括允许数据远程传输/离线处理、数据库/对象视图统一工具、使用缓存(Cache)提升企业应用效率等。 spring MVC:强大的MVC框架,基于注解的MVC配置,减少冗余的配置文件,提高开发效率与运行速度。Spring IOC:Spring框架的核心,Spring提供了对OpenJPA的持久化支持。Jackrabbit:apache组织开发的文件服务,本课程中使用最新版本的jackrabbit组件,支持远程服务调用,远程文件存储。Jackrabbit可以按照自定义的格式存储文件,存储格式是一个xml片段,并且文件的核心被保存为二进制,可以加强文件的保密性,并且性能很高。Jodconverte与openoffice:文件转换组件,可以将office文件转换成为pdf文件,转换效率很高,支持office2003、office2007的格式。Swftools:swf文件的制作工具,通过调用swftools的命令,可以将pdf文件转换为swf文件,以供查看。FlexPaperViewer:开源的Flash查看器,支持flash文件的分页,放大缩小,排版布局,打印等操作。Swfupload:开源的文件上传组件。支持多个文件的上传,并且可以分批上传。在课程中讲述了swfupload组件的使用,以及组件的样式扩展。业务介绍:本课程的业务模仿自百度文库,功能有用户的注册、登录、文档上传、文件转换、文档下载、收藏文档、发送消息等功能。在课程中,使用openjpa作为持久化框架,并且使用openjpa的原生SQL查询。该课程的业务比较简单,主要是通过该课程学习上述的各项技术。 课程大纲: 1 用户管理模块:包括了用户注册、用户登录、用户校验等功能,是一个基础的模块,通过该模块来学习OpenJPA的基本操作。 2 文件服务模块:使用jackrabbit完成文件服务,在文件服务当中,我们将jackrabbit与之前的用户管理相结合,对文件采用用户隔离。并且使用swfupload来完成批量多次的文件上传功能。 3 文件转换模块:采用RMI(远程服务调用)来发布文件转换服务,通过Jodconverte与openoffice来完成office文档到pdf文档的转换,采用Swftools实现pdf文档到swf文件的转换,并且为了提高转换的效率与用户的体验性,采用多线程来完成文件转换,从而提高了用户的体验性,用户无需等待文档的转换。 4 文件查看与下载模块:在该模块中,采用了FlexPaperViewer来实现swf文件的在线浏览,支持分页、放大缩小与排版等功能。并且支持源文件的下载,通过文件服务来获取文件的输入流并下载到客户端。在用户下载文档的时候,会有比较复杂的业务运算,也都在该模块中实现。 5 个人中心模块:该模块主要维护了用户的个人信息,包括上传的文档的维护,下载过的文档的维护,收藏的文档的维护。 基于OpenJPA实战百度文库项目(FlexPaperViewer在线预览、文件在线转换)
4 _6 R7 p7 H. q1 l# g7 v- K% E0 ?. Z |