EclipseLink Database Web Services (DBWS)
The goal of DBWS is to enable simple and efficient access to relational database artifacts via a Web Service. DBWS extends EclipseLink's core capabilities while leveraging existing components (ORM, MOXy).
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 a Web Service client.
An 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
- Stored Procedures
- TopLink Expressions
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.