Welcome to JaxMe 2 | ![]() |
JaxMe 2 is an open source implementation of JAXB, the specification for Java/XML binding.
A Java/XML binding compiler takes as input a schema description (in most cases an XML schema but it may be a DTD, a RelaxNG schema, a Java class inspected via reflection or a database schema). The output is a set of Java classes:
- A Java bean class compatible with the schema description. (If the schema was obtained via Java reflection, then the original Java bean class.)
- An unmarshaller that converts a conforming XML document into the equivalent Java bean.
- Vice versa, a marshaller that converts the Java bean back into the original XML document.
In the case of JaxMe, the generated classes may also
- Store the Java bean into a database. Preferrably an XML database like eXist, Xindice, or Tamino, but it may also be a relational database like MySQL. (If the schema is sufficiently simple. :-)
- Query the database for bean instances.
- Implement an EJB entity or session bean with the same abilities.
In other words, by simply creating a schema and running the JaxMe binding compiler,
![Running the JaxMe 2 compiler](images/jaxme-compiler-workflow.png)
you have automatically generated classes that implement the complete workflow of a typical web application:
![Workflow of a JaxMe 2 application](images/jaxme-application-workflow.png)