Creating modern software always requires a number of things to do. One of these things is to persist data and to access persisted data. Within the Java Enterprise ecosystem this basic task evolved up to a point where using objects in Java as representations of data in a database, has become an easy to use commodity. With RESTful web services (added to JEE in version 5) attached to these entities, even network access to persisted data has become very easy.
Yet still a lot of boiler plate code needs to be written and creating JEE application quickly remains a challenge. Therefore approach described in this article shall provide a guide in how to setup an architecture implementing persistence and a RESTful interface layer. To do that properly a (reusable) pattern of inheritance + generic data types is proposed. This (yet unnamed) pattern is applied in persistence, Enterprise Java Beans and in RESTful web service implementation and therefore proved to be quite flexible.
A fully working example application of this pattern can be found on Sourceforge. Besides using described pattern it also contains an Javascript based client application that serves a UI to the Java based back end. This rigorous separation of UI is also intended as it helps to demonstrate architecture approach without mixing with UI issues.
The wiki uses Markdown syntax.