Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "EclipseLink/Development/DBWS/RoadMap"

(2.6)
 
(83 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
=== DBWS Road Map ===
 
=== DBWS Road Map ===
==== Backlog of work items ====
+
 
[http://tinyurl.com/27tvhfv Future Bugs]
+
==== Future ====
 +
[http://tinyurl.com/27tvhfv NB - some items not currently targetted to a specific release]
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=362585 bug 362585] - DBWS: Oracle DDL Parser should resolve types from other schemas
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=406017 bug 406017] - DBWS: Should have option to packageAs EAR
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=375558 bug 375558] - DBWS: Builder XML doesn't allow to specify a resource instead of a JNDI datasource
 
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=300398 bug 300398] - Add "get(String, Class)" method to DynamicEntity
 
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=300398 bug 300398] - Add "get(String, Class)" method to DynamicEntity
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=275156  bug 275156] [[EclipseLink/Development/DBWS/PLSQLStoredFunctions|Support complex PL/SQL arguments for Stored Functions]]
+
* AQ Web Services ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=322950 bug 322950])
** Currently, complex schemas are generated for the arguments to named Stored Procedures that are PL/SQL collection/records or JDBC Object/Varrays; Need to extend this capability to Stored Functions
+
** Investigate how to support; add usecase to DBWS section of User Guide
** requires core Foundation work
+
** Highlighted as lower priority
* Align DBWS internal metadata with JPA/JAXB metadata (requires JPA/JAXB work)
+
* Development tooling support through IDEs
** [[EclipseLink/Development/DBWS/oNmMetadata|Use 'orm.xml' and 'oxm.xml' for metadata]]
+
----
* Support optional arguments for Stored Procedures (requires core Foundation work)
+
 
* 290156 Validate SOAP message arguments (must be very efficient!)
+
==== 2.6 ====
** Currently perform no validation on objects passed via SOAPMessageWhile complete validation is likely to be prohibitively expensive, some validation could result in errors better than "java.lang.reflect.InvocationTargetException"
+
* XMLEntityMappings generation from DDLParser meta-model
* 303333 Handle overloaded Stored Procedure/Functions as WSDL operations
+
** Need POC of generating JAXB/JPA metadata from DDLParser meta-model [complete]
* 305522 Dynamic Entities do not work with JPA 2.0 Criteria Queries
+
** [http://wiki.eclipse.org/EclipseLink/Development/DBWS/MetadataGenerationFromDDLMetaModel#Generating_JAXB_and_JPA_Metadata_From_DDL_Parser_Meta-model Metadata Generation from the DDLParser Meta-model]
 +
* DBWSBuilder should bootstrap from XMLEntityMappings
 +
** [http://wiki.eclipse.org/EclipseLink/Development/DBWS/BootstrapBuilderFromXMLEntityMappings Bootstrap DBWSBuilder 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)
 +
----
 +
 
 +
==== 2.5 ====
 +
* [[EclipseLink/Development/DBWS/MetadataSupport|Align DBWS metadata with JPA/JAXB metadata]] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=332227 (bug 332227)]
 +
----
 +
 
 +
==== 2.4 ====
 +
* [[EclipseLink/Development/DBWS/SQLBatchOperations|DBWS should support batch SQL operations]] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=326953 bug 326953] (<b>done</b>)
 +
** Request to put transaction-handling SQL into the DBWSBuilder file (encompassing more than one SQL statement)<br/><br/>
 +
* <b>DBWS Refactor - Parsing DDL</b><br/>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 ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=325124 bug 325124])
 +
**# DBWSProvider does not handle strongly-typed REF CURSORs ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=339721 bug 339721])
 +
**# DBWSProvider does not handle optional arguments for Stored Procedures ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=234385 bug 234385])
 +
**# DBWS does not handle %ROWTYPE mix of PL/SQL types and JDBC Advanced types [https://bugs.eclipse.org/bugs/show_bug.cgi?id=329435 bug 329435]
 +
** Design Documentation
 +
*** [[EclipseLink/Development/DBWS/ParseDDLFS|Oracle DDL Parser FunctionalSpec]]
 +
*** [[EclipseLink/Development/DBWS/ParseDDLDS|Oracle DDL Parser DesignSpec]]
 +
*** [[EclipseLink/Development/DBWS/ParseDDLSprints|Oracle DDL Parser Design Sprints]]
 +
** Source Code Incubation
 +
*** [[EclipseLink/Development/DBWS/ParseDDLGit|The code for the standard-alone Oracle DDL parser will be stored in a Git repository at the Eclipse Foundation]]
 +
----
 +
 
 +
==== 2.3 ====
 +
* Build environment
 +
** Plan to include DBWS feature in SDK bundle made available in p2 repository
 +
 
 +
<b>Completed in EclipseLink2.3</b>
 +
* EclipseLink should support complex PL/SQL arguments for Stored Functions
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=332221 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?
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=344341 bug 344341] Support complex PL/SQL arguments for Stored Functions
 +
** core EclipseLink [https://bugs.eclipse.org/bugs/show_bug.cgi?id=275156 bug 275156]
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=303333 bug 303333] Handle overloaded Stored Procedure/Functions as WSDL operations
 +
----
  
 
==== 2.2 ====
 
==== 2.2 ====
<i>{divide items into 'above the line' and 'below the line' - items above the line require new DBWS development; items below the line are either i) done or ii) being investigated in parallel}</i>
+
* For [[EclipseLink/Examples/DBWS/DBWSBasicSQL|DBWS Custom SQL usecases]], get resultSet metadata at design-time to build <tt>eclipselink-dbws-schema.xsd</tt> ([[EclipseLink/Development/DBWS/CustomSQLDesignTimeSchema|Custom SQL Design-time Schema]], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=322949 bug 322949])
* DBWS Sparse Merge([https://bugs.eclipse.org/bugs/show_bug.cgi?id=280667 bug 280667])
+
** use ResultSetMetaData to build DbColumn's and from that, a schema
 +
** Feature available in EclipseLink 2.1.2
 +
* DBWS Sparse Merge ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=322948 bug 322948])
 
** [[EclipseLink/Development/Dynamic/RefactorPhaseIForSparseMerge#Custom FetchGroups|Sparse merge requirements]]
 
** [[EclipseLink/Development/Dynamic/RefactorPhaseIForSparseMerge#Custom FetchGroups|Sparse merge requirements]]
** build on-top-of newly-added support for Sparse Merge for Dynamic Persistence
+
** build on top of newly-added support for Sparse Merge for Dynamic Persistence
 
** add usecase to DBWS section of User Guide
 
** add usecase to DBWS section of User Guide
 
** nightly JUnit testing
 
** nightly JUnit testing
* For [[EclipseLink/Examples/DBWS/DBWSBasicSQL|DBWS Custom SQL usecases]], get resultSet metadata at design-time to build <tt>eclipselink-dbws-schema.xsd</tt>
+
* DBWS running under OSGi (done)
** add additional term (1=0) to <tt>WHERE</tt> clause
+
** [[EclipseLink/Development/DBWS/OSGi|DBWS as OSGi bundle]]
*** need either a GUI so that a user can indicate the correct place to add term, or a reliable parser that can handle arbitrarily complex <tt>WHERE</tt> clauses
+
** result set metadata using OracleResultSetMetaData? 
+
* AQ Web Services
+
** Investigate how to support
+
** add usecase to DBWS section of User Guide
+
* DBRS
+
** Look at role of DBWS in RESTful web applications
+
----
+
* Jetty/Equinox support (mostly done)
+
** DBWS deployed as OSGi bundle
+
 
** Environment: Equinox + Jetty server
 
** Environment: Equinox + Jetty server
 
** Documented [[EclipseLink/Examples/DBWS/AdvancedOSGi|here]]
 
** Documented [[EclipseLink/Examples/DBWS/AdvancedOSGi|here]]
** TBD: Glassfish's [http://felix.apache.org Felix] and [http://hk2.dev.java.net HK2]
+
* DBWS cannot execute certain Stored Procedure on MySql/J 5.1.13 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=326804 bug 326804]
* DBWS Server tests
+
** expand existing WLS server tests to run on WAS, JBoss and Glassfish
+
** TBD: expand test coverage
+
* Distributed transactional support via WS-AT
+
** Q1: Is WS-AT policy even supported for Dynamic JAX-WS Endpoints?
+
** Q2: If Q1 == true, what role does DBWS play? Adding the policy annotation is done completely through JDev 'Policy Inspector'
+
*** need expert help
+
* JPub -> EclipseLink DBWS migration strategy
+
** Need to document a path explaining steps a user needs to take to switch from JAX-RPC based technologies to DBWS (JAX-WS) solution
+
 
+
 
* [http://tinyurl.com/2e5j3eb EclipseLink2.2 bugs: OPEN]
 
* [http://tinyurl.com/2e5j3eb EclipseLink2.2 bugs: OPEN]
 
* [http://tinyurl.com/259fhqq EclipseLink2.2 bugs: RESOLVED]
 
* [http://tinyurl.com/259fhqq EclipseLink2.2 bugs: RESOLVED]

Latest revision as of 09:23, 30 July 2013

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
  • 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:
      1. Advanced Oracle types, i.e. ObjectType, VArray, etc.
      2. PL/SQL Record & Collection
      3. Ref Cursor
      4.  %TYPE, %ROWTYPE
    • We currently test against the following application servers:
      1. WebLogic
      2. GlassFish
      3. JBoss
      4. WebSphere
    • The following server tests are run nightly:
      1. SimpleTable
      2. SimpleSQL
      3. SimpleSP
      4. SimplePLSQL
      5. Mtom
      6. InlineBinary
      7. AttachedBinary
      8. LegacySimpleTable (tests legacy deployment XML; not run against JBoss)

2.5


2.4


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
  • bug 303333 Handle overloaded Stored Procedure/Functions as WSDL operations

2.2

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:

  1. table: CRUD lifecycle
  2. Stored Procedure: specialized queries
  3. Result set: returned from SQL SELECT queries

Back to the top