Author: jkaputin
Date: Thu Feb 8 18:34:03 2007
New Revision: 505145
URL: http://svn.apache.org/viewvc?view=rev&rev=505145
Log:
Updated the Release Notes for M7.
Modified:
incubator/woden/branches/M7/release-notes.html
Modified: incubator/woden/branches/M7/release-notes.html
URL:
http://svn.apache.org/viewvc/incubator/woden/branches/M7/release-notes.html?view=diff&rev=505145&r1=505144&r2=505145
==============================================================================
--- incubator/woden/branches/M7/release-notes.html (original)
+++ incubator/woden/branches/M7/release-notes.html Thu Feb 8 18:34:03 2007
@@ -18,9 +18,9 @@
<html>
<head></head>
<body>
-<h1>Woden Incubating 1.0.0 M6 Release Notes</h1>
+<h1>Woden Incubating 1.0M7 Release Notes</h1>
-This is the Milestone 6 (M6) release of <a
href="http://incubator.apache.org/woden">Apache Woden</a>.<br />
+February 2007. This is the Milestone 7 (M7) release of <a
href="http://incubator.apache.org/woden">Apache Woden</a>.<br />
The Milestone plan is at <a
href="http://incubator.apache.org/woden/dev/1.0/milestoneplan.html">http://incubator.apache.org/woden/dev/1.0/milestoneplan.html</a>.
<h2>Incubation Disclaimer</h2>
@@ -37,35 +37,55 @@
<h2>Key points</h2>
<p>
- Milestone releases will deliver Woden functionality gradually, leading up
to a 1.0 release.
+ <b>Milestone releases </b>
+ will deliver Woden functionality gradually, leading up to a 1.0 release.
The objective of a 1.0 release will be to deliver a WSDL processor that
fully implements the
- W3C WSDL 2.0 specification, including parsing WSDL 2.0 documents into
the WSDL 2.0 component
- model and validating their syntax and semantics.
+ W3C WSDL 2.0 specification, with functionality to parse WSDL 2.0
documents into the WSDL 2.0
+ component model and validate their syntax and semantics.
</p>
<p>
-Note that the WSDL 2.0 "spec" is currently at W3C Candidate Recommendation and
may move to
-Proposed Recommendation towards the end of 2006, then full W3C Recommendation
(i.e. a specification)
-sometime in early 2007.
-</p>
-<p>
- The M6 release delivers an implementation of the Woden API based on DOM
and
- Xerces parsing and an implementation based on AXIOM and StAX parsing.
-</p>
-<p>
- The DOM implementation of Woden has been integrated into Axis2 and SOAP
messaging
- based on WSDL 2.0 documents was successfully tested by the WSDL 2.0
working group
- at a W3C Interoperability event in July 2006. Work will commence soon
to integrate the
- AXIOM/StAX implementation of Woden into Axis2.
-</p>
-<p>
- Some remaining objectives include converting WSDL 1.1 documents into
the WSDL 2.0 component
- model so they can be manipulated via the Woden API, serializing Woden's
WSDL object model to
- WSDL 2.0 documents and full support for programmatically creating and
modifying WSDL 2.0 documents.
+ <b>The W3C WSDL 2.0 specification </b>
+ is still at W3C Candidate Recommendation (CR) but is close to being ready
to move to
+ Proposed Recommendation (PR). There are a few CR issues to be resolved and
some outstanding editorial
+ actions for the spec authors, but these should be completed during
February 2007. The move from PR to
+ a full W3C Recommendation (equivalent to a formal spec) is now likely
around mid 2007.
+</p>
+<p>
+ <b>The M7 release</b> delivers full WSDL 2.0 compliance for parsing
'good' WSDL 2.0 documents
+ into the WSDL 2.0 Component model. This compliance has been the main
development focus of
+ the M7 release and it is based on the CR spec as at the M7 release and on
the state of the
+ W3C WSDL 2.0 test suite at that time. Given the current stability of the
CR spec we anticipate
+ this compliance will hold for PR too, however any further changes to the
WSDL 2.0 test suite
+ that reflect change in the spec will require changes to Woden to maintain
compliance.
+ See the 'Component Model Tests' on the
+ <a
href="http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/Dashboard.html">
+ WSDL 2.0 Interop Dashboard</a> for more details of the testcases and
the results.
+</p>
+<p>
+ <b>A second Interop event</b> was held by the WSDL 2.0 Working Group in
November 2006. This
+ event consolidated the 'good' WSDL testcases, improved the Dashboard
reporting mechanism and
+ established Woden's compliance criteria for the M7 release.
+ It also initiated a period of more substantial message exchange testing
between the Axis2/Woden
+ implementation and the Canon implementation, using both SOAP and HTTP
bindings. As at the release of M7,
+ this message exchange testing is progressing well with more varied and
complex scenarios being successfully
+ tested. Watch the Dashboard for progress.
+</p>
+<p>
+ The main focus of the next release will be to complete Woden's WSDL 2.0
compliance by fully supporting
+ the assertions defined in the WSDL 2.0 spec. That is, completing Woden's
validation logic to capture
+ violations of these assertions in the 'bad' WSDL documents in the W3C WSDL
2.0 test suite.
</p>
+ Other significant functionality that remains to be delivered is:
+ <ul>
+ <li>Completing the API to fully support the programmatic creation and
editing of WSDL 2.0 documents.</li>
+ <li>Modifying the extensions API to improve its usability</li>
+ <li>Serializing Woden's WSDL object model to WSDL 2.0 XML documents
(i.e. a WSDLWriter).</li>
+ <li>Reading WSDL 1.1 documents and converting them into Woden's WSDL
2.0 object model.</li>
+ </ul>
<p>
- The Woden framework and programming model are similar to WSDL4J, such
as the
- factory, reader and WSDL xml object model. Other features have been
reused or adapted too,
- such as the extension mechanism.
+ The Woden parser framework and its programming model originated from
WSDL4J, a WSDL 1.1 processor.
+ Differences in WSDL 2.0 mean that the Woden WSDL object model is quite
different to WSDL4J's,
+ however other WSDL4J features have been reused or adapted, such as its
extension architecture.
</p>
<h2>What's new in this release?</h2>
@@ -73,81 +93,118 @@
<p>This release includes the following new features:</p>
<ul>
<li>
- An implementation of the Woden API based on StAX parsing and AXIOM.
This implementation uses the
- same programming model (API) as the DOM implementation, however a
different WSDLFactory implementation
- class is needed to instantiate the StAX/AXIOM implementation (i.e.
OMWSDLFactory).
+ Many JIRAs have been resolved during M7 development that dealt with
failures against the W3C WSDL 2.0 test suite.
+ </li>
+ <li>
+ The readWSDL methods on WSDLReader now return a Description component
instead of DescriptionElement.
+ This is because the WSDL information in the WSDL 2.0 Component model
is more useful and easier to
+ consume than in the WSDL 2.0 infoset (e.g. flattening document
composition, default values).
+ Note that Description.toElement() can still be used if a
DescriptionElement is required.
+ </li>
+ <li>
+ XMLElement has been introduced to the Woden API to provide a common
representation for 'element' objects
+ such as DOM Element and AXIOM OMElement. This eliminates Woden API
dependencies on particular XML parsers
+ or object models. As XMLElement wraps most of the behaviour in the
underlying DOM Element or OMElement,
+ it has also allowed us to refactor much of the DOMWSDLReader and
OMWSDLReader implementations into a common
+ code base.
</li>
<li>
- The way that elements are created and added by the Woden API has been
change to better
- support the scoping described by the WSDL 2.0 specification. The
createXXXElement factory
- methods on <code>DescriptionElement</code> have been removed and
instead the addXXXElement
- methods present on all parent elements instantiate and add the
appropriate child elements.
- The relevant child elements have been changed to store their name as
an NCName rather than
- a QName, but the QName is still available via the API (i.e. derived
from the target namespace).
+ The underlying <xs:schema> and <xs:import> elements
defined directly within <wsdl:types>
+ are now accessible via the Woden Schema API as XMLElements. This
allows applications to use additional schema
+ processing techniques other than WS-Commons XmlSchema if they so
choose (note, XmlSchema is still used in
+ the Woden API to represent schemas).
+ </li>
+ <li>
+ Convenience methods getAllInterfaceFaults and
getAllInterfaceOperations have been added to the Interface
+ component API to provide access to faults and operations derived via
interface inheritance.
+ </li>
+ <li>
+ A URL Resolver mechanism has been introduced to resolve URLs via an
optional user-defined catalog.
+ This mechanism can greatly improve performance by redirecting remote
requests to locally stored
+ documents. It is used internally by Woden for common XML schemas and
DTDs and a default user catalog
+ is provided with entries for the W3C WSDL 2.0 testcases, which can be
downloaded and stored locally
+ by an ANT script. This mechanism resolves URLs to URLs. Further
development is underway to introduce
+ an 'Entity Resolver', which will resolve a URL to the actual XML
content (i.e. an XML catalog).
+ </li>
+ <li>
+ The Feature and Property components have been removed from the WSDL
2.0 spec and so from Woden.
</li>
+ <li>
+ The outstanding unit tests for the Element and Component APIs have
been completed.
+ </li>
+ <li>
+ The API Javadoc is more complete.
+ </li>
</ul>
<h2>Current Release Structure</h2>
<p>
- The distribution contains three Woden jar files described below:<br />
+ The M7 release is available in 3 types of archives; zip, tar.gz and
tar.bz2.
+ For each archive type there is a binary and a source distribution archive,
each with
+ its own MD5 and sha1 checksums.
+ The source distribution contains the entire Woden Subversion source code
tree.
+</p>
+ The binary distribution contains the Woden API Javadoc and the three
Woden jar files described below:<br />
<ul>
<li>
- woden-api.jar - Contains only the public Woden API (not
yet final).
+ woden-api-1.0-incubating-M7.jar - Contains only the
public Woden API (not yet final).
This jar is suitable for those that wish to create
their own implementation of
the API.
</li>
<li>
- woden.jar - Contains the public Woden API (not yet
final) and current DOM
+ woden-1.0-incubating-M7.jar - Contains the public Woden
API (not yet final) and current DOM
and AXIOM implementations.
</li>
<li>
- woden-ant.jar - Contains the Ant task ValidateWSDL20.
+ woden-ant-1.0-incubating-M7.jar - Contains the Ant task
ValidateWSDL20 used to produce
+ Woden results for the W3C WSDL 2.0 test suite.
</li>
</ul>
- Woden depends on the following libraries and these are included in the
distribution:
+ Woden depends on the following libraries and these are also included in
the binary distribution:
<ul>
<li>
- Apache WS Commons XmlSchema 1.1 (for representing schemas in the
Woden API)
+ Apache WS Commons XmlSchema 1.2 (for representing schemas in the
Woden API)
</li>
<li>
- Apache Xerces 2.8.0 (used by XmlSchema and by the DOM
implementation of Woden)
+ Apache Xerces 2.8.1 (used by XmlSchema and by the DOM
implementation of Woden)
</li>
<li>
- Apache WS Commons AXIOM 1.1
+ Apache WS Commons AXIOM 1.2.2
</li>
<li>
Apache Commons Logging API 1.1 (used by the AXIOM implementation
of Woden)
</li>
<li>
- StAX 1.0.1 API and the Woodstox 2.9.3 implementation (used by
the AXIOM implementation of Woden)
+ StAX 1.0.1 API and the Woodstox 3.2.0 implementation (used by
the AXIOM implementation of Woden)
</li>
<li>
- WSDL4J 1.52 (used by the standalone WSDL 1.1 conversion program)
+ WSDL4J 1.6.2 (used by the standalone WSDL 1.1 conversion
program)
</li>
</ul>
+<p>
+The next release of Woden will produce separate distributions for the DOM and
AXIOM
+implementations, each with only their own dependent libraries.
</p>
-
<h2>What's still to do?</h2>
-<p>Please see a list of what we think needs doing - and please consider
helping out if
-you're interested & able!</p>
+<p>Please see this list of what we think needs doing - and please consider
helping out if
+you're interested & able! A more complete and up-to-date list of ToDos is the
Woden JIRA issues at
+<a
href="http://issues.apache.org/jira/browse/Woden">http://issues.apache.org/jira/browse/Woden</a>.
+</p>
<ul>
<li>
- Work is well underway on a URL resolver mechanism.
+ Various API changes (see JIRA)
</li>
<li>
- Unit tests for the WSDL extensions are mostly complete, but tests
for the core WSDL 2.0
- Component model and its underlying Element model are still largely
outstanding.
- These are still crucially important for regression testing further
development and
- will remain a major focus item for the next milestone.
+ Modularizing the build to separate the DOM and AXIOM distributions
</li>
<li>
- The User Guide added after M3 needs updating to reflect the
functional additions up to M6.
+ The User Guide on the Woden website requires ongoing improvement.
</li>
<li>
- Technical design documentation for developers needs to be
created, probably on the Woden Wiki.
+ Technical design documentation for developers needs to be
created.
</li>
<li>
Integrating the stand-alone WSDL 1.1 to 2.0 converter tool into
Woden to produce
@@ -161,14 +218,11 @@
Serialization (e.g. WSDLWriter) has not been implemented.
</li>
<li>
- Support for non-XML Schema type systems has not yet been
implemented.
+ Support for non-XML Schema type systems has not yet been
implemented (e.g. RelaxNG, DTDs).
</li>
<li>
- See the Woden JIRA issues at <a
href="http://issues.apache.org/jira/browse/Woden">http://issues.apache.org/jira/browse/Woden</a>.
+ Entity resolver and an XML catalog mechanism
</li>
- <li>
- See also the Task List on the Woden wiki at <a
href="http://wiki.apache.org/ws/FrontPage/Woden/TaskList">http://wiki.apache.org/ws/FrontPage/Woden/TaskList</a>.
- </li>
</ul>
<h2>Example Usage</h2>
@@ -177,39 +231,30 @@
WSDLFactory factory = WSDLFactory.newInstance();
WSDLReader reader = factory.newWSDLReader();
reader.setFeature(ReaderFeatures.VALIDATION_FEATURE_ID, true); <--
enable WSDL 2.0 validation (optional)
- DescriptionElement desc = reader.readWSDL(wsdlLoc); <-- the
<description> element
- Description descComp = desc.toComponent(); <-- the
Description component
+ Description descComp = reader.readWSDL(wsdlLoc); <-- the
Description component, always returned
+ DescriptionElement descElem = descComp.toElement(); <-- the
<description> element, if required
</pre>
A custom error handler can also be specified as follows:<br />
<pre>
- DescriptionElement desc = reader.readWSDL(wsdlLoc, handler);
+ Description descComp = reader.readWSDL(wsdlLoc, myErrorHandler);
</pre>
WSDL can be now be parsed from a DOM Element, DOM Document or InputSource
using a WSDLSource object:<br />
<pre>
WSDLFactory factory = WSDLFactory.newInstance();
WSDLReader reader = factory.newWSDLReader();
reader.setFeature(WSDLReader.FEATURE_VALIDATION, true);
- WSDLSource wsdlSource = reader.createWSDLSource();
+ WSDLSource wsdlSource = reader.createWSDLSource(); //the WSDLSource impl
is specific to the WSDLReader impl
wsdlSource.setBaseURI(wsdlURI);
wsdlSource.setSource(docEl);
- DescriptionElement desc = reader.readWSDL(wsdlSource);
- Description descComp = desc.toComponent();
+ Description descComp = reader.readWSDL(wsdlSource);
</pre>
<h2>Known Problems/Issues</h2>
<ol>
- <li>
- The "testSchemaId1G" testcase from the W3C WSDL 2.0 test suite is
failing since the
- change to XmlSchema 1.1. This appears to be due to a fragid
specified for the
- schemaLocation in a schema import. It requires investigation and
resolving, possibly
- in XmlSchema rather than Woden.
- </li>
<li>
- The StAX/AXIOM implementation is less complete than the Xerces/DOM
implementation.
- For example, extensions are not yet supported as this is awaiting
the removal of
- some DOM dependencies from the Woden API. This work is underway and
will be completed
- for Milestone 7.
+ The StAX/AXIOM implementation is less complete than the Xerces/DOM
implementation and
+ some functionality is not yet implemented (e.g. parsing of
extenions).
</li>
<li>
Currently, the only type system supported is W3C XML Schema and
this is exposed at
@@ -217,21 +262,16 @@
will consider more general, extendable support for other type
systems.
</li>
<li>
- There are still failures in the W3C test suite results for the
Component Interchange format testing
- being conducted by the WSDL 2.0 Working Group. Some of these
were resolved at the
- W3C WSDL 2.0 Interop event in early July 2006, but the
remainder require investigation.
- </li>
- <li>
- There are insufficient test cases in the test suite for M6. The
suite requires more
- junit tests for the Woden framework and the W3C WSDL test suite
is in the process of
- being annotated with assertions that tie each testcase to a
validation
- rule specified in the WSDL 2.0 spec.
+ Validation does not yet cover all WSDL 2.0 assertions and in fact,
the W3C WSDL 2.0
+ Assertion Test Suite Coverage reports shows these 'bad' WSDL
testcases are not yet
+ complete. So, there will currently be some Woden failures on the
WSDL 2.0 Validation Tests
+ report on the Dashboard.
</li>
<li>
- The current extension mechanism requires statically typed
interfaces for each type of
+ The current extension mechanism mandates statically typed
interfaces for each type of
extension. This requires the client application to know each
required extension and
its API. Some investigation has been done on a more flexible,
dynamic extension
- mechanism and any changes that arise from this should be delivered
in M7.
+ mechanism and any changes that arise from this will be delivered in
M8.
</li>
</ol>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]