Maynstall Database WebServices

From Eclipsepedia

Jump to: navigation, search

Introduction

Within Maynstall, there is a layer of database services which allow a JPA-style data model to be exposed via REST-style web services. These services provide a consistent client-side representation of the POJOs including the ability to modify objects on the client and then persist a transaction of changes to the server. The services also include the following:

  • Background loading of related objects upon reference to those objects
  • Blocking and non-blocking with events mode of loading data not yet available on the client
  • Meta information to inspect pending changes on the client side
  • Usage of JPA annotations to support understanding inter-object relationships
  • Default JPA provider on the server providing integration with JPA (aka EclipseLink) to automatically expose any object
  • Security interceptors to restrict reading, updating, deleting and creating objects based on user and/or attributes being changed
  • Registration of model providers allowing mixing of objects from remote WS-based services as well as local JPA DB connections
  • Triggers for loading a large portion of the model in a single request for optimization
  • Procedures that can be registered via extension point to allow complex Java implementations of queries on the server

Getting Started

To get started with the Maynstall database layer for remote objects, use the attached project set on this Wiki page. It provides you with the right set of projects that you need to work with the services. Note you will also need to EclipseLink or another JPA provider in your workspace / Eclipse install to allow the Maynstall code to resolve the various dependencies.

Download Team Project Set - Media:MaynstallDBWS-projectSet.psf