JEST: REST on OpenJPA

- Deployed as a HTTP servlet in any web or enterprise application module using OpenJPA as its JPA persistence provider.
- Completely metadata-driven and hence generic as opposed to specific to any application domain.
- Introduces a URI syntax. Interprets the HTTP request as a JPA resource based on that syntax. The response is in `XML` or `JSON` format.
- Representational state for persistent instances is coherent. The response always contains the closure of the persistent instances.
- Connects to the persistent unit of an application in the same module. Or instantiates its own persistence unit.

Following `WEB-INF/web.xml` descriptor will enable JEST to operate on a persistence unit named `${persistence.unit}`. Of course, JEST servlet must be in the same module scope of the application that is using using `${persistence.unit}` as its persistence unit.

    <servlet>
      <servlet-name>${servlet.name}</servlet-name>
      <servlet-class>org.apache.openjpa.persistence.jest.JESTServlet</servlet-class>
    	<init-param>
    	  <param-name>persistence.unit</param-name>
    	  <param-value>${persistence.unit}</param-value>
    	</init-param>
    </servlet>
    <servlet-mapping>
      <servlet-name>${servlet.name}</servlet-name>
      <url-pattern>/${servlet.name}/*</url-pattern>
    </servlet-mapping>

When an web application module named `${webapp.name}` containing the above JEST servlet in a servlet container runs on `${server.name}` at port ${server.port}, then the JEST servlet can be accessed at
`http://${server.name}:${server.port}/${webapp.name}/${servlet.name}/`
(do not miss the the trailing forward-slash / character)

Entity Name | Identifier | Fetch Plan | Format
--- | --- | --- | ---

URI: filling the form will update this hyperlink.

Query |  |  |  | Single | Named | Fetch Plan | Format
--- | --- | --- | --- | --- | --- | --- | ---

URI: filling the form will update this hyperlink.

This command accepts no qualifier or arguments.
JEST URI: domain
This command accepts no qualifier or arguments
URI: properties