当今企业提倡的是随需而变,因此需要在尽可能短的时间分析元数据来响应这些变化的巨大挑战。此 外,如何提前预知企业应用中的潜在问题,如客户注册量、订单量的浮动等等,都对企业制定计划至关重 要,因此我们需要对元数据进行及时的收集分析。 EJB3 作为当前的主流技术之一,提供了一系列的技术 点来支持开发人员更好的操作 JavaBean,使得对 JavaBean 的控制更加简单,同时,JAXB 提供了对 JavaBean 与 XML 之间的相互转换。
如我们所知,所有在 WebSphere Application Server 的应用都是基于 JavaBean 来进行数据的交互 和传递,因此我们考虑结合使用 EJB3 的新技术点和 JAXB 来实现一种通用的技术,利用 JAXB 来实现对 EJB3 应用程序的配置,以达到监控 JavaBean 中业务数据的目的。
JAXB 技术简介
JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据 XML Schema 产生 Java 类的技术。该过程中,JAXB 也提供了将 XML 实例文档反向生成 JavaBean 的方法,并能将 JavaBean 的内容重新写到 XML 实例文档。从另一方面来讲,JAXB 提供了快速而简便的方法将 XML 模式 绑定到 Java 表示,从而使得 Java 开发者在 Java 应用程序中能方便地结合 XML 数据和处理函数。
本文用到了 JAXB 中将 JavaBean 通过 Annotation 序列化成 XML 的功能,JAXB 有如下重要的 Annotation,对于每个 Annotation 在后文中将做详细介绍。
@XmlAccessorType
@XmlAttribute
@XmlElement
@XmlElements
@XmlRootElement
@XmlTransient
@XmlValue
下图给出了 JAXB 的体系架构:
如图所示,JAXB 通过“绑定编译器”(Binding Compiler) 简化了 Java 程序对 XML 文档的访问,然 后将 XML 文档以 JavaBean 的格式展现出来。
同时,JAXB 提供相应的 API 实现了对 XML 文档与树形内容对象之间的相互转换,该树形对象内容相 比于 XML 文档来说更有利于节省内存使用。
图 1. JAXB 体系架构图