Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/Development/DBWS
< EclipseLink | Development
Welcome to the Development Home page for the EclipseLink Database Web Services (DBWS) component
This page displays information about the current state of DBWS development.
DBWS Road Map
Future
NB - some items not currently targetted to a specific release
- bug 362585 - DBWS: Oracle DDL Parser should resolve types from other schemas
- bug 406017 - DBWS: Should have option to packageAs EAR
- bug 375558 - DBWS: Builder XML doesn't allow to specify a resource instead of a JNDI datasource
- bug 300398 - Add "get(String, Class)" method to DynamicEntity
- AQ Web Services (bug 322950)
- Investigate how to support; add usecase to DBWS section of User Guide
- Highlighted as lower priority
- Development tooling support through IDEs
2.6
- XMLEntityMappings generation from DDLParser meta-model
- Need POC of generating JAXB/JPA metadata from DDLParser meta-model [complete]
- Metadata Generation from the DDLParser Meta-model
- DBWSBuilder should bootstrap from XMLEntityMappings
- Application Server Testing (note that the server tests are also run in 2.5)
- The application server tests currently run are relatively simple. More complex tests should be added, such as:
- Advanced Oracle types, i.e. ObjectType, VArray, etc.
- PL/SQL Record & Collection
- Ref Cursor
- %TYPE, %ROWTYPE
- We currently test against the following application servers:
- WebLogic
- GlassFish
- JBoss
- WebSphere
- The following server tests are run nightly:
- SimpleTable
- SimpleSQL
- SimpleSP
- SimplePLSQL
- Mtom
- InlineBinary
- AttachedBinary
- LegacySimpleTable (tests legacy deployment XML; not run against JBoss)
- The application server tests currently run are relatively simple. More complex tests should be added, such as:
2.5
2.4
- DBWS should support batch SQL operations bug 326953 (done)
- Request to put transaction-handling SQL into the DBWSBuilder file (encompassing more than one SQL statement)
- Request to put transaction-handling SQL into the DBWSBuilder file (encompassing more than one SQL statement)
- DBWS Refactor - Parsing DDL
The following use cases cannot be handled by the existing DBWSBuilder design - the key part of the proposed refactor is the use of DDL text for database artifacts (tables, procedures, types, etc.) instead of the use of the Oracle Data Dictionary views (via the modified JPub code)- Use Cases
- DBWSProvider does not handle weakly-typed REF CURSORs (bug 325124)
- DBWSProvider does not handle strongly-typed REF CURSORs (bug 339721)
- DBWSProvider does not handle optional arguments for Stored Procedures (bug 234385)
- DBWS does not handle %ROWTYPE mix of PL/SQL types and JDBC Advanced types bug 329435
- Design Documentation
- Source Code Incubation
- Use Cases
2.3
- Build environment
- Plan to include DBWS feature in SDK bundle made available in p2 repository
Completed in EclipseLink2.3
- EclipseLink should support complex PL/SQL arguments for Stored Functions
- bug 332221 Support Stored Procs returning multiple rowsets.
- Brand new core capability. Only for those platforms (Sybase, MySQL) that support it
- DBWS Server tests
- expand existing WLS server tests to run on WAS, JBoss and Glassfish
- TBD: expand test coverage - what additional tests are useful?
- bug 344341 Support complex PL/SQL arguments for Stored Functions
- core EclipseLink bug 275156
- bug 303333 Handle overloaded Stored Procedure/Functions as WSDL operations
2.2
- For DBWS Custom SQL usecases, get resultSet metadata at design-time to build eclipselink-dbws-schema.xsd (Custom SQL Design-time Schema, bug 322949)
- use ResultSetMetaData to build DbColumn's and from that, a schema
- Feature available in EclipseLink 2.1.2
- DBWS Sparse Merge (bug 322948)
- Sparse merge requirements
- build on top of newly-added support for Sparse Merge for Dynamic Persistence
- add usecase to DBWS section of User Guide
- nightly JUnit testing
- DBWS running under OSGi (done)
- DBWS as OSGi bundle
- Environment: Equinox + Jetty server
- Documented here
- DBWS cannot execute certain Stored Procedure on MySql/J 5.1.13 bug 326804
- EclipseLink2.2 bugs: OPEN
- EclipseLink2.2 bugs: RESOLVED
2.1
- accommodate internal changes for AttributeChangeTracking
- support DBWSBuilder-generated JAX-WS Provider on JRockit
- stop DBWSBuilder from truncating GROUP BY/ORDER BY clauses
- DBWSBuilder supports Eclipse WTP Dynamic Web Project structure
2.0.1
- align DBWS internal implementation with new Dynamic Persistence features
- DBWSBuilder utility auto-detect Optimistic Lock field
- fix issue with JDBC metadata and overloaded Stored Functions
- Support MTOM attachments
- fix Web service faults: contain better server-side root cause information
1.2
- For OraclePlatform, support advanced PL/SQL datatypes (records, collections, mixture of the two) as arguments to Stored Procedures
- need compatible JDBC 'shadow' types to align with PL/SQL types
- For OraclePlatform, support complex JDBC datatypes (objects, varrays, mixture of the two) as arguments to Stored Procedures
- Fix WSDL inline-schema to support above complex args
- Add support for SOAP 1.2
- Fix Delete operation (part of table-based CRUD): use only PK fields, not whole instance
- Use nillable="true" to represent database null
- DBWSBuilder utility to produce DDL for the compatible JDBC shadow types
1.1
- Deploy to JAX-WS 2.n complaint server (WebLogic 10)
- For OraclePlatform, support simple PL/SQL datatypes (PLSINTEGER, BOOLEAN, etc) as arguments to Stored Procedures
- Improve server-side exception handling
1.0
The focus is on providing capabilities based upon the 3 types of database artifacts:
- table: CRUD lifecycle
- Stored Procedure: specialized queries
- Result set: returned from SQL SELECT queries
Supported Use-Cases
Features
Individual wiki pages for various DBWS features
- Custom Schema Naming with NamingConventionTransformer
- Support advanced JDBC types
- How DBWS uses Dynamic Persistence
- Support complex PL/SQL parameters (and return arg) for StoredFunctions
- Support DBWS in an OSGi environment