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"

m (DBWS Road Map)
(2.6)
 
(55 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
=== DBWS Road Map ===
 
=== DBWS Road Map ===
  
==== 2.2 ====
+
==== Future ====
<i>Items 'above the line' are under development or potential development items for this release.   
+
[http://tinyurl.com/27tvhfv NB - some items not currently targetted to a specific release]
Items below the line have been completed for this release</i>
+
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=362585 bug 362585] - DBWS: Oracle DDL Parser should resolve types from other schemas
* DBWS should support batch SQL operations [https://bugs.eclipse.org/bugs/show_bug.cgi?id=326953 bug 326953]
+
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=406017 bug 406017] - DBWS: Should have option to packageAs EAR
** New enhancement request, needs scoping out
+
* [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
** Request to put transaction-handling SQL into the DBWSBuilder file (encompassing more than one SQL statement)
+
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=300398 bug 300398] - Add "get(String, Class)" method to DynamicEntity
* Distributed transactional support via WS-AT
+
* AQ Web Services ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=322950 bug 322950])
** Q1: Is WS-AT policy even supported for Dynamic JAX-WS Endpoints?
+
** Investigate how to support; add usecase to DBWS section of User Guide
** Q2: If Q1 == true, what role does DBWS play? Adding the policy annotation is done completely through JDev 'Policy Inspector'
+
** 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]
 +
** [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 simpleMore 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
 
* DBWS Server tests
 
** expand existing WLS server tests to run on WAS, JBoss and Glassfish
 
** expand existing WLS server tests to run on WAS, JBoss and Glassfish
 
** TBD: expand test coverage - what additional tests are useful?
 
** TBD: expand test coverage - what additional tests are useful?
* AQ Web Services [https://bugs.eclipse.org/bugs/show_bug.cgi?id=322950 bug 322950])
+
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=344341 bug 344341] Support complex PL/SQL arguments for Stored Functions
** Investigate how to support; add usecase to DBWS section of User Guide
+
** core EclipseLink [https://bugs.eclipse.org/bugs/show_bug.cgi?id=275156 bug 275156]
** Highlighted as lower priority
+
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=303333 bug 303333] Handle overloaded Stored Procedure/Functions as WSDL operations
*  DBWSProvider does not handle package REF CURSOR [https://bugs.eclipse.org/bugs/show_bug.cgi?id=325124 bug 325124]
+
* DBRS
+
** Look at role of DBWS in RESTful web applications
+
 
----
 
----
<b>Completed in EclipseLink2.2</b>
+
 
 +
==== 2.2 ====
 
* 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])  
 
* 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])  
 
** use ResultSetMetaData to build DbColumn's and from that, a schema
 
** use ResultSetMetaData to build DbColumn's and from that, a schema
** Feature also available in EclipseLink2.1.2
+
** Feature available in EclipseLink 2.1.2
 
* DBWS Sparse Merge ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=322948 bug 322948])
 
* 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]]
Line 30: Line 88:
 
** add usecase to DBWS section of User Guide
 
** add usecase to DBWS section of User Guide
 
** nightly JUnit testing
 
** nightly JUnit testing
* Jetty/Equinox support (done)
+
* DBWS running under OSGi (done)
** DBWS deployed as OSGi bundle
+
** [[EclipseLink/Development/DBWS/OSGi|DBWS as OSGi bundle]]
 
** Environment: Equinox + Jetty server
 
** Environment: Equinox + Jetty server
 
** Documented [[EclipseLink/Examples/DBWS/AdvancedOSGi|here]]
 
** Documented [[EclipseLink/Examples/DBWS/AdvancedOSGi|here]]
Line 37: Line 95:
 
* [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]
 
 
 
==== Backlog of work items ====
 
These items are not currently targetted for a specific release.
 
[http://tinyurl.com/27tvhfv Future Bugs]
 
* [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]]
 
** 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
 
** requires core Foundation work
 
* Align DBWS internal metadata with JPA/JAXB metadata  (requires JPA/JAXB work)
 
** [[EclipseLink/Development/DBWS/oNmMetadata|Use 'orm.xml' and 'oxm.xml' for metadata]]
 
* Support optional arguments for Stored Procedures (requires core Foundation work)
 
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=290156 bug 290156] Validate SOAP message arguments (must be very efficient!)
 
** Currently perform no validation on objects passed via SOAPMessage.  While complete validation is likely to be prohibitively expensive, some validation could result in errors better than "java.lang.reflect.InvocationTargetException"
 
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=303333 bug 303333] Handle overloaded Stored Procedure/Functions as WSDL operations
 
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=305522 bug 305522] Dynamic Entities do not work with JPA 2.0 Criteria Queries
 
* 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
 
* Development tooling support through IDEs
 
* Manageability features for DBWS
 
** Provide exposure through MBeans to show underlying SQL query, etc
 
* Jetty/Equinox support
 
** TBD: Glassfish's [http://felix.apache.org Felix] and [http://hk2.dev.java.net HK2]
 
 
 
  
 
==== 2.1 ====
 
==== 2.1 ====

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