Author: buildbot
Date: Tue Dec 10 09:48:26 2013
New Revision: 889836

Log:
Production update by buildbot for cxf

Added:
    websites/production/cxf/content/cxf-configuration-ideas.html
Modified:
    websites/production/cxf/content/cache/main.pageCache

Modified: websites/production/cxf/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Added: websites/production/cxf/content/cxf-configuration-ideas.html
==============================================================================
--- websites/production/cxf/content/cxf-configuration-ideas.html (added)
+++ websites/production/cxf/content/cxf-configuration-ideas.html Tue Dec 10 
09:48:26 2013
@@ -0,0 +1,292 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+  <head>
+
+<link type="text/css" rel="stylesheet" href="/resources/site.css">
+<script src='/resources/space.js'></script>
+
+<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
+<meta name="keywords" content="business integration, EAI, SOA, Service 
Oriented Architecture, web services, SOAP, JBI, JMS, WSDL, XML, EDI, Electronic 
Data Interchange, standards support, integration standards, application 
integration, middleware, software, solutions, services, CXF, open source">
+<meta name="description" content="Apache CXF, Services Framework - CXF 
configuration ideas">
+
+
+<link type="text/css" rel="stylesheet" 
href="/resources/highlighter/styles/shCoreCXF.css">
+<link type="text/css" rel="stylesheet" 
href="/resources/highlighter/styles/shThemeCXF.css">
+
+<script src='/resources/highlighter/scripts/shCore.js'></script>
+<script src='/resources/highlighter/scripts/shBrushJava.js'></script>
+<script>
+  SyntaxHighlighter.defaults['toolbar'] = false;
+  SyntaxHighlighter.all();
+</script>
+
+
+    <title>
+Apache CXF -- CXF configuration ideas
+    </title>
+  </head>
+<body onload="init()">
+
+
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr>
+    <td id="cell-0-0" colspan="2">&nbsp;</td>
+    <td id="cell-0-1">&nbsp;</td>
+    <td id="cell-0-2" colspan="2">&nbsp;</td>
+  </tr>
+  <tr>
+    <td id="cell-1-0">&nbsp;</td>
+    <td id="cell-1-1">&nbsp;</td>
+    <td id="cell-1-2">
+      <!-- Banner -->
+<div class="banner" id="banner"><div><table border="0" cellpadding="0" 
cellspacing="0" width="100%"><tr><td align="left" colspan="1" nowrap>
+<a shape="rect" href="http://cxf.apache.org/"; title="Apache CXF"><span 
style="font-weight: bold; font-size: 170%; color: white">Apache CXF</span></a>
+</td><td align="right" colspan="1" nowrap>
+<a shape="rect" href="http://www.apache.org/"; title="The Apache Software 
Foundation"><img border="0" alt="ASF Logo" 
src="http://cxf.apache.org/images/asf-logo.png";></a>
+</td></tr></table></div></div>
+      <!-- Banner -->
+      <div id="top-menu">
+        <table border="0" cellpadding="1" cellspacing="0" width="100%">
+          <tr>
+            <td>
+              <div align="left">
+                <!-- Breadcrumbs -->
+<a href="index.html">Index</a>&nbsp;&gt;&nbsp;<a 
href="roadmap.html">Roadmap</a>&nbsp;&gt;&nbsp;<a 
href="cxf-configuration-ideas.html">CXF configuration ideas</a>
+                <!-- Breadcrumbs -->
+              </div>
+            </td>
+            <td>
+              <div align="right">
+                <!-- Quicklinks -->
+<div id="quicklinks"><p><a shape="rect" href="download.html" 
title="Download">Download</a> | <a shape="rect" 
href="http://cxf.apache.org/docs/index.html";>Documentation</a></p></div>
+                <!-- Quicklinks -->
+              </div>
+            </td>
+          </tr>
+        </table>
+      </div>
+    </td>
+    <td id="cell-1-3">&nbsp;</td>
+    <td id="cell-1-4">&nbsp;</td>
+  </tr>
+  <tr>
+    <td id="cell-2-0" colspan="2">&nbsp;</td>
+    <td id="cell-2-1">
+      <table>
+        <tr valign="top">
+          <td height="100%">
+            <div id="wrapper-menu-page-right">
+              <div id="wrapper-menu-page-top">
+                <div id="wrapper-menu-page-bottom">
+                  <div id="menu-page">
+                    <!-- NavigationBar -->
+<div id="navigation"><h3><a shape="rect" 
name="Navigation-ApacheCXFIndex"></a><a shape="rect" href="index.html" 
title="Index">Apache CXF</a></h3>
+
+<ul class="alternate" type="square"><li><a shape="rect" href="index.html" 
title="Index">Home</a></li><li><a shape="rect" href="download.html" 
title="Download">Download</a></li><li><a shape="rect" href="people.html" 
title="People">People</a></li><li><a shape="rect" href="project-status.html" 
title="Project Status">Project Status</a></li><li><a shape="rect" 
href="roadmap.html" title="Roadmap">Roadmap</a></li><li><a shape="rect" 
href="mailing-lists.html" title="Mailing Lists">Mailing Lists</a></li><li><a 
shape="rect" class="external-link" 
href="http://issues.apache.org/jira/browse/CXF";>Issue Reporting</a></li><li><a 
shape="rect" href="special-thanks.html" title="Special Thanks">Special 
Thanks</a></li><li><a shape="rect" class="external-link" 
href="http://www.apache.org/licenses/";>License</a></li><li><a shape="rect" 
href="security-advisories.html" title="Security Advisories">Security 
Advisories</a></li></ul>
+
+
+<h3><a shape="rect" name="Navigation-Users"></a>Users</h3>
+
+<ul class="alternate" type="square"><li><a shape="rect" 
href="http://cxf.apache.org/docs/index.html";>User's Guide</a></li><li><a 
shape="rect" href="support.html" title="Support">Support</a></li><li><a 
shape="rect" href="faq.html" title="FAQ">FAQ</a></li><li><a shape="rect" 
href="resources-and-articles.html" title="Resources and Articles">Resources and 
Articles</a></li></ul>
+
+
+<h3><a shape="rect" name="Navigation-Search"></a>Search</h3>
+<p>
+</p><form enctype="application/x-www-form-urlencoded" method="get" 
id="cse-search-box" action="http://www.google.com/cse";>
+  <div>
+    <input type="hidden" name="cx" value="002890367768291051730:o99qiwa09y4">
+    <input type="hidden" name="ie" value="UTF-8">
+    <input type="text" name="q" size="21">
+    <input type="submit" name="sa" value="Search">
+  </div>
+</form>
+<script type="text/javascript" 
src="http://www.google.com/cse/brand?form=cse-search-box&amp;lang=en";></script>
+
+
+<h3><a shape="rect" name="Navigation-Developers"></a>Developers</h3>
+
+<ul class="alternate" type="square"><li><a shape="rect" 
href="http://cxf.apache.org/docs/cxf-architecture.html";>Architecture 
Guide</a></li><li><a shape="rect" href="source-repository.html" title="Source 
Repository">Source Repository</a></li><li><a shape="rect" href="building.html" 
title="Building">Building</a></li><li><a shape="rect" 
href="automated-builds.html" title="Automated Builds">Automated 
Builds</a></li><li><a shape="rect" href="testing-debugging.html" 
title="Testing-Debugging">Testing-Debugging</a></li><li><a shape="rect" 
href="coding-guidelines.html" title="Coding Guidelines">Coding 
Guidelines</a></li><li><a shape="rect" href="getting-involved.html" 
title="Getting Involved">Getting Involved</a></li><li><a shape="rect" 
href="release-management.html" title="Release Management">Release 
Management</a></li></ul>
+
+
+<h3><a shape="rect" name="Navigation-Subprojects"></a>Subprojects</h3>
+
+<ul class="alternate" type="square"><li><a shape="rect" 
href="distributed-osgi.html" title="Distributed OSGi">Distributed 
OSGi</a></li><li><a shape="rect" href="xjc-utils.html" title="XJC Utils">XJC 
Utils</a></li><li><a shape="rect" href="build-utils.html" title="Build 
Utils">Build Utils</a></li><li><a shape="rect" href="fediz.html" 
title="Fediz">Fediz</a></li></ul>
+
+
+<h3><a shape="rect" name="Navigation-ASF"></a><a shape="rect" 
class="external-link" href="http://www.apache.org";>ASF</a></h3>
+
+<ul class="alternate" type="square"><li><a shape="rect" class="external-link" 
href="http://www.apache.org/foundation/how-it-works.html";>How Apache 
Works</a></li><li><a shape="rect" class="external-link" 
href="http://www.apache.org/foundation/";>Foundation</a></li><li><a shape="rect" 
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsor 
Apache</a></li><li><a shape="rect" class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
shape="rect" class="external-link" 
href="http://www.apache.org/security/";>Security</a></li></ul>
+</div>
+                    <!-- NavigationBar -->
+                  </div>
+              </div>
+            </div>
+          </div>
+         </td>
+         <td height="100%">
+           <!-- Content -->
+           <div class="wiki-content">
+<div id="ConfluenceContent"><h2><a shape="rect" 
name="CXFconfigurationideas-Environment"></a>Environment</h2>
+
+<p>CXF is intended to work in a wide range of containers / frameworks:</p>
+<ul><li>Plain Java</li><li>Spring XML and annotation 
based</li><li>Blueprint</li><li>JavaEE (CDI)</li></ul>
+
+
+<p>It for each of the important cases it should be as easy and natural to 
configure CXF for the developer.</p>
+
+
+<h2><a shape="rect" 
name="CXFconfigurationideas-Problemdescription"></a>Problem description</h2>
+
+<p>Currently CXF provides a lot of integration points with frameworks as well 
as CXF proprietary ways of configuration.</p>
+
+<p>Out current approach has several drawbacks:</p>
+<ul><li>Integration with some frameworks creates problems with other 
frameworks. For example the aries blueprint namespaces make it impossible to 
use gemini blueprint</li><li>CXF configuration is often quite unnatural for 
users of the respective frameworks. For example if you define a Feature using 
the service loader approach you cannot inject resources into it</li><li>Using 
other framework is often difficult as we do not have nice plain java ways to 
setup e.g. endpoints</li><li>CXF defines special annotations. These are 
processed in a CXF proprietary way that does not allow to mix these with 
annotations of the user framework of choice</li></ul>
+
+
+<h2><a shape="rect" name="CXFconfigurationideas-Idea"></a>Idea</h2>
+
+<p>The general idea is to step back and keep injection out of CXF as much as 
possible and instead rely more on the frameworks to do this job. This should 
make CXF much more embedable and less complex. We still can have some glue code 
for the frameworks but at as few points as possible.</p>
+
+<p>A good example for this is camel which defines a registry concept that is 
implemented differently for each framework. In spring it relies on the spring 
context in blueprint on the blueprint context, in OSGi on services. The camel 
registry is not perfect but a good step in the right direction.</p>
+
+<p>In the following checpters we should look into the respective frameworks 
and discuss how CXF integration should work ideally.</p>
+
+<h2><a shape="rect" name="CXFconfigurationideas-Spring"></a>Spring</h2>
+
+
+<h3><a shape="rect" name="CXFconfigurationideas-XML"></a>XML</h3>
+
+
+<h3><a shape="rect" 
name="CXFconfigurationideas-Annotationbased"></a>Annotation based</h3>
+
+
+<h2><a shape="rect" name="CXFconfigurationideas-Blueprint"></a>Blueprint</h2>
+
+
+<h2><a shape="rect" name="CXFconfigurationideas-CDI"></a>CDI</h2>
+
+
+<h4><a shape="rect" name="CXFconfigurationideas-"></a></h4>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 1px;"><b>Feature 
definition</b></div><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+@Named("MyFeature")
+public class MyFeature extends AbstractFeature {
+...
+}
+]]></script>
+</div></div>
+
+<p>Endpoint with inlined injections</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 1px;"><b>Endpoint</b></div><div 
class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+@WebService
+public class MyServiceImpl implements MyService {
+  @Inject MyRessource res1; // Inject arbitrary user ressources
+
+  @Inject @Named("MyFeature") Feature feature1; // Inject named feature
+  @Inject List&lt;Feature&gt; features; // Inject all features known to this 
context
+...
+}
+]]></script>
+</div></div>
+
+<p>We might also support some kind of Endpoint description classes to separate 
endpoint definition from the actual implementation. Not sure how to wire this 
with CDI. Any ideas?</p>
+
+
+<p>For the proxy I am not sure which is the best annotation based approach. 
One idea is to have one or more factories for producers.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 1px;"><b>Annotation based Proxy 
definitions</b></div><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+public class MyServiceProducer {
+
+  @Produce MyService createMyService() {
+     return new JAXWSProxyFactory("http://myserver:8080/myService";);
+     
+  }
+
+  @Produce @MyMarker // CDI Qualifiers to distinguish services of the same 
interface type
+  MyService createMyService() {
+  }
+}
+]]></script>
+</div></div>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 1px;"><b>XML based proxy 
definition</b></div><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+
+]]></script>
+</div></div>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 1px;"><b>Annotation based JAXRS 
Endpoint definition</b></div><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+
+]]></script>
+</div></div>
+</div>
+           </div>
+           <!-- Content -->
+         </td>
+        </tr>
+      </table>
+   </td>
+   <td id="cell-2-2" colspan="2">&nbsp;</td>
+  </tr>
+  <tr>
+   <td id="cell-3-0">&nbsp;</td>
+   <td id="cell-3-1">&nbsp;</td>
+   <td id="cell-3-2">
+     <div id="footer">
+       <!-- Footer -->
+       <div id="site-footer">
+         <a href="http://cxf.apache.org/privacy-policy.html";>Privacy 
Policy</a> - 
+         (<a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=36274231";>edit
 page</a>) 
+        (<a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=36274231&amp;showComments=true&amp;showCommentArea=true#addcomment";>add
 comment</a>)<br>
+       Apache CXF, CXF, Apache, the Apache feather logo are trademarks of The 
Apache Software Foundation.<br>
+        All other marks mentioned may be trademarks or registered trademarks 
of their respective owners.
+       </div>
+       <!-- Footer -->
+     </div>
+   </td>
+   <td id="cell-3-3">&nbsp;</td>
+   <td id="cell-3-4">&nbsp;</td>
+  </tr>
+  <tr>
+    <td id="cell-4-0" colspan="2">&nbsp;</td>
+    <td id="cell-4-1">&nbsp;</td>
+    <td id="cell-4-2" colspan="2">&nbsp;</td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl."; : 
"http://www.";);
+document.write(unescape("%3Cscript src='" + gaJsHost + 
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-4458903-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+</body>
+</html>
+


Reply via email to