cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache CXF Documentation > 3.0 Migration Guide
Date Mon, 20 May 2013 17:18:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/9/1/_/styles/combined.css?spaceKey=CXF20DOC&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/CXF20DOC/3.0+Migration+Guide">3.0
Migration Guide</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~dkulp">Daniel
Kulp</a>
    </h4>
        <br/>
                         <h4>Changes (3)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Combine the PhaseInterceptor and
Interceptor interfaces and the PhaseInterceptorChain and InterceptorChain into a single set.
  CXF only can really use the &quot;Phase&quot; versions and the others cause confusion
and extra, unneeded interfaces. <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Remove QueryHandlers -&gt; these were originally used for the ?wsdl processing (and is
still used for ?js).  However, that stuff is better done directly on the interceptor chains
as interceptors to allow user supplied interceptors to also handle them.   I&#39;d like
to just remove these.  (obviously update the ?js stuff)  Would simplify the CXFServlet a bit.
<br> <br>*BaseDataReader/DataReader and the same for the writer.   Not really
sure why they are separated but EVERYTHING uses just &quot;DataReader&quot;.     Get
rid of BaseData*. <br> <br></td></tr>
            <tr><td class="diff-unchanged" >* Likely move some of the other Abstract
classes and such from kernel.   For example, we now have a transports-common module.   Move
the AbstractDestination and stuff there. <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Move feature impls out of API and
into core. Currently feature and interceptor classes are in different packages. Which makes
it difficult to modularize them. So we should rather have one package per feature where feature
class and interceptor classes are located <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Make AbstractFeature subclass WebServiceFeature and update the JAX-WS frontend to look for
them. <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Add new code generator frontend to add CXF specific constructors and methods. <br> <br>
<br></td></tr>
            <tr><td class="diff-unchanged" >h3. Work finished <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="3.0MigrationGuide-3.0MigrationGuide"></a>3.0 Migration
Guide</h2>

<p>Right now, 3.0 is in early planning stages.   This page is mostly collecting lists
of things we are planning on changing.  It is by no means an exhaustive list and it may completely
change depending on what gets done and such.</p>

<ul>
	<li>Combine api/core into just a cxf-kernel or similar, but pull out anything specific
to the WSDL/SOAP based services into a rt/core-ws or similar to keep kernel lighter weight
for pure REST apps.</li>
</ul>


<ul>
	<li>Combine the PhaseInterceptor and Interceptor interfaces and the PhaseInterceptorChain
and InterceptorChain into a single set.   CXF only can really use the "Phase" versions and
the others cause confusion and extra, unneeded interfaces.</li>
</ul>


<ul>
	<li>Remove QueryHandlers -&gt; these were originally used for the ?wsdl processing
(and is still used for ?js).  However, that stuff is better done directly on the interceptor
chains as interceptors to allow user supplied interceptors to also handle them.   I'd like
to just remove these.  (obviously update the ?js stuff)  Would simplify the CXFServlet a bit.</li>
</ul>


<p><b>BaseDataReader/DataReader and the same for the writer.   Not really sure
why they are separated but EVERYTHING uses just "DataReader".     Get rid of BaseData</b>.</p>

<ul>
	<li>Likely move some of the other Abstract classes and such from kernel.   For example,
we now have a transports-common module.   Move the AbstractDestination and stuff there.</li>
</ul>


<ul>
	<li>Go through all the @Deprecated things and remove them.   Likewise, remove unused
method params (I know there are a couple on the Destination API) and such.</li>
</ul>


<ul>
	<li>POSSIBLY update various API's to pass in the Bus (or other objects) if  needed
instead of holding it as an instance variable.   That would allow singleton instances for
things like the transports and such.   For example, it would be good to register a "FooCXFTransport"
as an OSGi service that we could lookup later.   Right now, we couldn't do that unless you
only used a global bus, which isn't exactly what the purpose of the Bus is.</li>
</ul>


<ul>
	<li>Move feature impls out of API and into core. Currently feature and interceptor
classes are in different packages. Which makes it difficult to modularize them. So we should
rather have one package per feature where feature class and interceptor classes are located</li>
</ul>


<ul>
	<li>Make AbstractFeature subclass WebServiceFeature and update the JAX-WS frontend
to look for them.</li>
</ul>


<ul>
	<li>Add new code generator frontend to add CXF specific constructors and methods.</li>
</ul>



<h3><a name="3.0MigrationGuide-Workfinished"></a>Work finished</h3>

<ul>
	<li>CXFBusImpl has been removed.   The only subclass was the ExtensionMangerBus (SpringBus
and Blueprint/osgi stuff subclassed that) so the functionality was pushed up into ExtensionMangerBus.
 Some of the "common" methods were put directly on the Bus interface to make using the Bus
cleaner (no casts to the impl).</li>
</ul>


<ul>
	<li>The "run()" method on Bus was removed.</li>
</ul>

    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/3.0+Migration+Guide">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=25203937&revisedVersion=5&originalVersion=4">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/3.0+Migration+Guide?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message