EclipseLink Database Web Services (DBWS)
The goal of EclipseLink DBWS is to enable simple and efficient access to relational database artifacts via a Web Service, extending EclipseLink's core capabilities while leveraging existing components (ORM, OXM).
EclipseLink DBWS has two parts: a design-time tooling component and a runtime provider component that takes a service descriptor (along with related deployment artifacts) and realizes it as a JAX-WS 2.0 Web Service. The runtime provider uses EclipseLink to bridge between the database and the XML SOAP Messages used by Web service clients.
An EclipseLink DBWS service may be comprised of any number of operations of which there are 4 types:
- Insert - inserts into the database persistent entities described by an XML document.
- Update - updates database persistent entities described by an XML document.
- Delete - removes from the database persistent entities described by an XML document.
- Query - retrieves from the database persistent entities described by an XML document.
Selection criteria for Query operations can be specified by:
- custom SQL SELECT statement
- Stored Procedure invocation
- EclipseLink Named Query (which can use the complete range of EclipseLink ORM Expressions Framework API)
The XML documents used by operations conform to an XML Schema Definition .xsd document auto-generated by the design-time tooling. Alternatively, if no .xsd is available, a pre-defined simple XML format (SXF) can be used.
Who uses this feature?
Anyone who wishes to expose a database artifact as a Web Service.
Why do they use it?
EclipseLink DBWS provides a simple light-weight metadata model that requires no Java programming, yet is highly extensible.
What technologies apply?
EclipseLink ORM, OXM, XRM, JAX-WS
Using the EclipseLink DBWS design-time tools requires JDK 1.6 (or higher).