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, 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 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
- EclipseLink 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.
The metadata for an DBWS service is contained in an easy-to-read service descriptor XML file. The internal configuration requirements are minimal and omitted fields have simple defaults, allowing for both auto-generation by tools or manual editing. Additional EclipseLink metadata - ORM and MOXy maps, customizations - will be handled using existing EclipseLink sessions.xml capabilities.
XML Schema Definition (.xsd)
A DBWS service requires an XML Schema Definition .xsd file to specify how returned information from the database is shaped. The EclipseLink OXM map handles converting information from the database to XML, giving the user access to the complete range of EclipseLink Object-to-XML mapping capabilities. If no schema is provided by the user, a pre-defined Simple XML Format (SXF) can be used.
SXF uses information only available at the time of query execution to build the XML element-tag names; thus, these XML documents cannot be validated against any schema.
Auto-generation of a DBWS service
The design-time tooling will auto-generate a DBWS service, creating the service descriptor and all required deployment artifacts.