`
stenlylee
  • 浏览: 260270 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JBoss DNA官方文档 第一章、简介

阅读更多

第一章、简介

 

我们经常需要将程序中涉及到的某些信息保存起来,这样其他人或者其他程序才能在以后读取到。达到这个目的的方法有很多,但是对于开发人员来说,选择最适合的存储方法,则不是那么容易。而现在这种选择变得更加重要,因为越来越多的开发人员意识到,我们的注意力和工作重点应该放在业务逻辑上,至于储存方面的事情,很多都是重复劳动,应该交给各种库或者框架去完成。

 

保存信息最简单的方法可能就是直接将数据保存到文件里面了。Java的文件操作相对还是比较容易的,不过一些复杂的功能Java并没有提供。所以使用文件来存储的信息,只能是一些相对比较简单的(例如properties文件),或者是一些可能要脱离程序来月的的文件,例如日志文件或者配置文件。当需要保存的信息变得越来越复杂,或者保存的数据量越来越大,或者被保存的数据需要被多个进程访问,那么通过文件来保存的方式就不大适合了。这时我们需要选择其他更适合的技术了。

 

另外一个Java内置的技术就是序列化(Java serialization)。这项技术能够将对象图(object graph)的状态保存下来,以便日后的访问。然而这些class一旦改变Java serialization会在很短的时间变得非常复杂,所以只有当我们只需要将信息保存很短的一段时间的时候,我们才会选择这项技术。例如,object graph经常被用于进程间的通信。将serialization技术用户长时间的信息保存是不太现实的。

 

我们最常使用的持久化技术还是关系型数据库(relational database)。关系数据库管理系统已经存在数十年了,并且在这数十年间,一直都非常流行且实用。Java数据库连接接口(JDBC)提供了访问和操作数据库的统一标准。不过这个接口还是相对属于比较底层的操作,需要编写很多的代码,并且并没有将各个DBMS特有的SQL语句抽象出来。这就导致我们使用面向对象的开发语言来操作关系型数据的时候总会觉得这里或那里有很多的麻烦。所以很多开发人员都会通过将数据映射到class中,来让程序看起来比较清晰。但是这里面最大的问题就是,编写这些映射文件需要大量的重复劳动,并且需要很多琐碎的JDBC代码。


对象关系映射库能够帮助你自动创建与数据库的映射,这样就从某种意义上减少了我们很多代码的编写,并且让映射关系变得比较好维护。最新的Java持久化接口(JPA)提供了一套标准的模式来定义这些映射关系(通过注解的方式),并且提供了比较完善的方法来访问这些与数据库映射的实体对象。不少商业的或者开源的库都在某种程度上实现了JPA的功能,有些甚至提供了一些更加高级的JPA都没有的功能。例如,Hibernate就是其中一个最流行的JPA实现,它提供了例如对象缓存、状态保持、更多高级的关系映射以及一些能够提高性能与方便操作的特性。另外,Hibernate还是一个开源框架(由JBoss维护)。

 

虽然关系数据库通过JPA能够满足大多数应用程序,但是在一些情况下,他们仍然有很多限制,例如数据的关系非常复杂、无法事先被预测到,或者数据的结构经常会改动或需要用户定制数据的结构。在这些情况下,内容仓库(content repositories)就是一种更好的持久化选择。内容仓库可以说是一种关系型数据库与其他较复杂的系统(例如通过自定义文件存储)相互结合的产物。内容仓库同样提供了其他系统能够提供的典型功能,包括版本控制、索引、搜索、访问控制、事务以及监听器(observation)。因此,内容仓库通常用在内容管理系统(CMS)、文档管理系统(DMS)以及其他电子文档管理程序(例如文档、图片、多媒体、网页等)与其基本数据(例如作者、时间、状态、安全信息等)。Java内容仓库技术接口(Content Repository for Java technology API)提供了一套标准的接口来实现内容仓库。简称“JCR”。这套接口是由Java社区开发的,作为JSR-170的一部分,现在经过修订,被归到JSR-283下。

 

JBoss DNA项目就是基于JCR标准开发的统一的元数据(metadata)仓库系统。几乎所有的JCR API底层操作都被隐藏起来,并且能够被自动调用处理仓库内的信息。因此JBoss DNA能够向已经存在的仓库实现中添加数据。例如,JCR提供了一个功能,让用户能够上传文件到仓库中,并且为文件的内容制定索引以便于搜索。JBoss DNA在此基础上提供了一套专用于“有顺序的内容”(sequencing content)的库,这套库能够让文档中有意义的信息存储在仓库中,并且随后我们能够通过JCR API来搜索、存取和分析。

 

JBoss DNA提供了很多很好的功能。比如你可以创建联合仓库用来动态合并多个数据库、多个服务、多个程序或者其他JCR仓库里面的内容。JBoss DNA同样允许你创建自定义的基于视图的数据类型,并且可以为其定义一个角色来控制用户的访问。你也可以创建一个RESTful的接口来允许其他程序将符合JCR规范的内容写进你的仓库(这里提到的其他程序可以由任意语言编写,不限于Java)。

2
0
分享到:
评论

相关推荐

    jboss 中文开发文档

    本文档旨在为开发者提供一个全面且深入的学习资源,帮助他们从零开始学习并掌握 JBoss 的使用方法。 #### 二、目标读者 本文档主要面向以下几类读者: - 对 Java 应用服务器感兴趣的初学者。 - 希望深入了解 JBoss ...

    JBoss_Application_Server_7.1官方文档

    这份官方文档详细介绍了JBoss AS 7.1的功能、配置、管理和优化,对于开发者和系统管理员来说,是一份极其重要的参考资料。 一、JBoss AS 7.1简介 JBoss AS 7.1在性能和可扩展性方面有显著提升,引入了模块化设计,...

    jboss开发技术文档

    《JBoss开发技术文档》是针对企业级应用服务器JBoss的详细指南,旨在帮助开发者深入理解和熟练运用这一...此外,随着版本迭代,JBoss已发展为WildFly,其特性和服务也有所扩展,学习最新的官方文档和社区资源至关重要。

    Jboss项目部署文档

    Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。以下是 Jboss 项目部署文档的详细知识点: 一、环境变量配置 ...

    jboss as7 文档

    文档还链接到了官方论坛、邮件列表等社区资源,为用户提供了一个交流学习的平台,同时也方便用户遇到问题时能够及时获得帮助和支持。 综上所述,JBoss AS7文档内容非常全面,不仅覆盖了管理员和开发者的各个方面...

    jboss seam 中文文档

    #### 一、JBoss Seam 简介 JBoss Seam 是一款基于 Java EE 的应用开发框架,它通过提供一套丰富的组件模型和灵活的应用结构,极大地简化了企业级应用的开发过程。Seam 结合了 JavaServer Faces (JSF)、Java ...

    JBoss_Application_Server_7.1官方文档.pdf

    在JBoss AS 7.1的官方文档中,主要内容被分为几个关键部分,以便于不同角色的用户,包括管理员、开发者以及有兴趣快速上手的用户,可以分别找到对应的指南和示例。 首先是管理员指南(AdminGuide),它主要针对...

    jboss seam 中文文档集合

    **JBoss Seam 中文文档集合概述** JBoss Seam 是一个开源的应用框架,它结合了JavaServer Faces (JSF)、Java Persistence API (JPA)、Enterprise JavaBeans (EJB) 3.0 和其他Java EE组件,旨在简化企业级开发。这个...

    JBoss中文文档

    本资源“JBoss中文文档”可能是对JBoss应用服务器的中文版官方文档或由社区翻译的版本,对于学习和理解JBoss的使用和配置至关重要。由于没有具体的描述,我们只能根据一般情况来推测文档可能包含的内容。 1. **...

    jboss7开发部署详细文档

    jboss7开发部署详细文档 jboss7是一个基于Java EE的应用服务器,提供了一个强大且灵活的平台来开发和部署企业级应用程序。本文档旨在指导开发者如何在jboss7上进行开发和部署, 并且介绍了如何将jboss4.2版本平滑地...

    jboss相关技术文档

    JBoss是一款开源的应用服务器,由Red Hat公司开发,主要用于运行Java应用程序和服务。它遵循Java EE规范,支持多种Java企业级组件,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)和JPA(Java ...

    jboss应用文档

    jboss4,5,6版本之间差异,jboss常见的报错及解决方案,jboss部署。学习jboss的最好的文档!!!

    Jboss7官方手册

    JBoss AS7官方手册是关于如何配置、部署和管理JBoss AS7应用服务器的一份权威指南。该手册由Francesco Marchioni撰写,旨在帮助读者构建一个功能完备且高效的JBoss应用服务器实例。 手册首先对JBoss AS7的配置做了...

    jboss7 文档

    JBoss AS 7拥有活跃的开发者社区和全面的技术文档,包括官方文档、用户手册、API文档和技术博客等。此外,Red Hat提供了商业级别的技术支持和服务,包括电话、邮件支持、紧急问题响应等,确保企业级应用的稳定运行。...

    jboss开发文档

    文档将提供一系列性能优化技巧,帮助开发者和运维人员提升JBoss的整体性能。 【JBoss 监控与调试】 有效的监控和调试能力有助于及时发现并解决问题。JBoss 提供了多种监控工具,如JConsole、VisualVM等,可以帮助...

    JBOSSRULES使用文档

    JBOSSRULES使用文档

    JBOSS中文文档 CSDN资源下载

    《JBoss中文文档 CSDN资源下载》是针对JBoss应用程序服务器的一份详细教程,旨在帮助用户快速掌握如何在JBoss 4.0.x版本上部署和运行基于J2EE 1.4的应用程序。这份文档是中文版,对于国内的开发者来说,无疑提供了...

    Jboss4.2.2.GA英文文档

    总结,JBoss AS 4.2.2 GA是一个功能丰富的应用服务器,其英文文档为开发者提供了详尽的技术指导,涵盖了从基础概念到高级特性的所有内容,有助于提升开发者的技能和效率。通过深入学习和实践,开发者能够充分利用...

Global site tag (gtag.js) - Google Analytics