summaryrefslogtreecommitdiffstats
path: root/site/trunk/site-publish/sca-java-implementationxquery.html
diff options
context:
space:
mode:
Diffstat (limited to 'site/trunk/site-publish/sca-java-implementationxquery.html')
-rw-r--r--site/trunk/site-publish/sca-java-implementationxquery.html320
1 files changed, 320 insertions, 0 deletions
diff --git a/site/trunk/site-publish/sca-java-implementationxquery.html b/site/trunk/site-publish/sca-java-implementationxquery.html
new file mode 100644
index 0000000000..43aca27959
--- /dev/null
+++ b/site/trunk/site-publish/sca-java-implementationxquery.html
@@ -0,0 +1,320 @@
+
+<!--
+
+ 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.
+-->
+
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+ <HEAD>
+ <!-- generateKeywords macro -->
+ <META name="description" content="Apache Tuscany">
+ <META name="keywords" content="apache, apache tuscany, tuscany, service, services, fabric, soa, service oriented architecture, sca, service component architecture, das, sdo, csa, ruby, opensource">
+ <!-- generateKeywords macro end -->
+
+ <LINK type="text/css" rel="stylesheet" href="http://tuscany.apache.org/stylesheets/default.css">
+ <LINK rel="SHORTCUT ICON" href="https://cwiki.apache.org/confluence/display/TUSCANY/$images/favicon.ico">
+ <TITLE>Apache Tuscany : SCA Java implementation.xquery</TITLE>
+ <META http-equiv="Content-Type" content="text/html;charset=UTF-8"></HEAD>
+
+ <BODY onload="init()">
+ <!-- topNav macro -->
+ <TABLE valign="top" border="0" cellspacing="0" cellpadding="0" width="100%" background="http://tuscany.apache.org/images/TuscanyLogoNEW_Text_120px_bg.jpg">
+ <TR>
+ <TD valing="top" align="left">
+ <A href="https://cwiki.apache.org/confluence/pages/viewpage.action?spaceKey=TUSCANY&title=$siteroot"><IMG src="http://tuscany.apache.org/images/TuscanyLogoNEW_Text_120px_bg.jpg" height="91" width="25" border="0"></A>
+ </TD>
+ <TD>
+ <A href="http://tuscany.apache.org/"><IMG src="http://tuscany.apache.org/images/TuscanyLogo.jpg" border="0"></A>
+ </TD>
+
+ <TD width="100%">
+ &nbsp;
+ </TD>
+
+ <!-- Adds the edit page link to the top banner-->
+ <TD valign="bottom">
+ <DIV style="padding: 2px 10px; margin: 0px;">
+ <A href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=66257">
+ <IMG src="http://tuscany.apache.org/images/notep_16.gif" height="16" width="16" border="0" align="absmiddle" title="Edit Page"></A>
+ </DIV>
+ </TD>
+
+ </TR>
+ </TABLE>
+ <!-- topNav macro end -->
+
+ <!-- breadCrumbs macro -->
+ <TABLE border="0" cellpadding="2" cellspacing="0" width="100%">
+ <TR class="topBar">
+ <TD align="left" valign="middle" class="topBarDiv" nowrap="true" width="100%">
+ &nbsp;<A href="home.html" title="Apache Tuscany">Apache Tuscany</A>&nbsp;&gt;&nbsp;<A href="home.html" title="Home">Home</A>&nbsp;&gt;&nbsp;<A href="sca-overview.html" title="SCA Overview">SCA Overview</A>&nbsp;&gt;&nbsp;<A href="sca-java.html" title="SCA Java">SCA Java</A>&nbsp;&gt;&nbsp;<A href="java-sca-documentation-menu.html" title="Java SCA Documentation Menu">Java SCA Documentation Menu</A>&nbsp;&gt;&nbsp;<A href="sca-java-user-guide.html" title="SCA Java User Guide">SCA Java User Guide</A>&nbsp;&gt;&nbsp;<A href="" title="SCA Java implementation.xquery">SCA Java implementation.xquery</A>
+ </TD>
+
+ <TD align="right" valign="middle" class="topBarDiv" align="left" nowrap="true">
+ <A href="http://mail-archives.apache.org/mod_mbox/tuscany-user">User List</A> | <A href="http://mail-archives.apache.org/mod_mbox/tuscany-dev">Dev List</A> | <A href="http://issues.apache.org/jira/browse/Tuscany">Issue Tracker</A>&nbsp;&nbsp;
+ </TD>
+ </TR>
+ </TABLE>
+ <!-- breadCrumbs macro end -->
+
+
+ <TABLE border="0" cellpadding="0" width="100%" bgcolor="#FFFFFF">
+ <TR>
+ <TD align="left" valign="top">
+
+ <!-- pageContent macro -->
+ <DIV id="PageContent">
+
+ <DIV class="pagecontent">
+ <DIV class="wiki-content">
+ <TABLE class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><TBODY><TR>
+<TD class="confluenceTd" valign="top" width="15%">
+<DIV class="panel" style="background-color: #ECF4D1;border-color: #C3CDA1;border-style: solid;border-width: 1px;"><DIV class="panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;border-bottom-color: #C3CDA1;background-color: #C3CDA1;"><B>General</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="home.html" title="Home">Home</A><BR>
+<A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License </A><BR>
+<A href="sca-java-get-involved.html" title="SCA Java Get Involved">Get Involved</A><BR>
+<A href="sca-java-found-a-bug.html" title="SCA Java Found A Bug">Found a Bug?</A></P>
+</DIV></DIV>
+
+<DIV class="panel" style="background-color: #ECF4D1;border-color: #b4b4b5;border-style: solid;border-width: 1px;"><DIV class="panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;border-bottom-color: #b4b4b5;background-color: #C3CDA1;"><B>SCA Java</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="sca-java.html" title="SCA Java">SCA Java Home</A><BR>
+<A href="tuscany-dashboard.html" title="Tuscany Dashboard">SCA Dashboard</A><BR>
+<A href="java-sca-tools.html" title="Java SCA Tools">Tools </A><BR>
+<A href="tuscany-sca-java-faq.html" title="Tuscany SCA Java - FAQ">FAQ</A></P>
+</DIV></DIV>
+
+<DIV class="panel" style="background-color: #ECF4D1;border-color: #b4b4b5;border-style: solid;border-width: 1px;"><DIV class="panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;border-bottom-color: #b4b4b5;background-color: #C3CDA1;"><B>SCA Java 1.x</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="sca-java-releases.html" title="SCA Java Releases">Downloads</A><BR>
+<A href="java-sca-documentation-menu.html" title="Java SCA Documentation Menu">Documentation</A><BR>
+<A href="https://svn.apache.org/repos/asf/tuscany/sca-java-1.x/trunk/" class="external-link" rel="nofollow">1.x Source Code</A><BR>
+<A href="http://tinyurl.com/8rlxd3" class="external-link" rel="nofollow">Roadmap</A></P>
+</DIV></DIV>
+
+<DIV class="panel" style="background-color: #ECF4D1;border-color: #b4b4b5;border-style: solid;border-width: 1px;"><DIV class="panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;border-bottom-color: #b4b4b5;background-color: #C3CDA1;"><B>SCA Java 2.x</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="sca-java-2x-releases.html" title="SCA Java 2.x Releases">Downloads</A><BR>
+<A href="http://tuscany.apache.org/documentation-2x/" class="external-link" rel="nofollow">Documentation</A><BR>
+<A href="https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk/" class="external-link" rel="nofollow">2.x Source Code</A><BR>
+<A href="http://tinyurl.com/8rlxd3" class="external-link" rel="nofollow">Roadmap</A></P>
+</DIV></DIV>
+
+
+<DIV class="panel" style="background-color: #ECF4D1;border-color: #b4b4b5;border-style: solid;border-width: 1px;"><DIV class="panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;border-bottom-color: #b4b4b5;background-color: #C3CDA1;"><B>Documentation</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="sca-java-user-guide.html" title="SCA Java User Guide">User Guide</A><BR>
+<A href="sca-java-architecture-guide.html" title="SCA Java Architecture Guide">Architecture Guide</A><BR>
+<A href="sca-java-development-guide.html" title="SCA Java Development Guide">Developer Guide</A><BR>
+<A href="sca-java-extension-development-guide.html" title="SCA Java Extension Development Guide">Extension Developer Guide</A></P>
+</DIV></DIV>
+
+<DIV class="panel" style="background-color: #ECF4D1;border-color: #b4b4b5;border-style: solid;border-width: 1px;"><DIV class="panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;border-bottom-color: #b4b4b5;background-color: #C3CDA1;"><B>Resources</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="tuscany-sca-java-faq.html" title="Tuscany SCA Java - FAQ">FAQ</A><BR>
+<A href="https://svn.apache.org/repos/asf/incubator/tuscany/java/sca" class="external-link" rel="nofollow">Source Code</A></P>
+</DIV></DIV>
+</TD>
+<TD class="confluenceTd" valign="top" width="85%">
+
+<H3><A name="SCAJavaimplementation.xquery-%3Cimplementation.xquery%3E"></A>&lt;implementation.xquery&gt;</H3>
+<P>Tuscany provides an implementation type to support XQuery. With this extension, the business logic can be implemented by XQuery scripts. </P>
+
+<H3><A name="SCAJavaimplementation.xquery-TheXMLconfiguration"></A>The XML configuration</H3>
+
+<P>&lt;implementation.xquery&gt; is declared under namespace &quot;http://tuscany.apache.org/xmlns/sca/1.0&quot;. The location attribute specifies the XQuery script. It can be a file or resource name against the current classloader.</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java">
+ &lt;component name=<SPAN class="code-quote">&quot;QuoteJoinComponent&quot;</SPAN> xmlns:tuscany=<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//tuscany.apache.org/xmlns/sca/1.0&quot;</SPAN>&gt;
+</SPAN> &lt;tuscany:implementation.xquery location=<SPAN class="code-quote">&quot;META-INF/sca/quote_join.xq&quot;</SPAN> /&gt;
+ &lt;reference name=<SPAN class="code-quote">&quot;quoteCalculator&quot;</SPAN> target=<SPAN class="code-quote">&quot;QuoteCalculatorComponent&quot;</SPAN> /&gt;
+ &lt;/component&gt;
+</PRE>
+</DIV></DIV>
+
+<H3><A name="SCAJavaimplementation.xquery-Someexamples"></A>Some examples</H3>
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java">
+&lt;composite xmlns=<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//www.osoa.org/xmlns/sca/1.0&quot;</SPAN> targetNamespace=<SPAN class="code-quote">&quot;http://quote.xquery/client&quot;</SPAN>
+</SPAN> xmlns:tuscany=<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//tuscany.apache.org/xmlns/sca/1.0&quot;</SPAN> xmlns:xq=<SPAN class="code-quote">&quot;http://quote.xquery/client&quot;</SPAN>
+</SPAN> name=<SPAN class="code-quote">&quot;xqueryquotewsclient&quot;</SPAN>&gt;
+
+ ...
+ &lt;component name=<SPAN class="code-quote">&quot;QuoteJoinComponent&quot;</SPAN>&gt;
+ &lt;tuscany:implementation.xquery location=<SPAN class="code-quote">&quot;META-INF/sca/quote_join.xq&quot;</SPAN> /&gt;
+ &lt;reference name=<SPAN class="code-quote">&quot;quoteCalculator&quot;</SPAN> target=<SPAN class="code-quote">&quot;QuoteCalculatorComponent&quot;</SPAN> /&gt;
+ &lt;/component&gt;
+
+ &lt;component name=<SPAN class="code-quote">&quot;QuoteJoinPropertiesComponent&quot;</SPAN>&gt;
+ &lt;tuscany:implementation.xquery location=<SPAN class="code-quote">&quot;META-INF/sca/quote_join_properties.xq&quot;</SPAN> /&gt;
+ &lt;!-- Reset the <SPAN class="code-keyword">default</SPAN> namespace as the sub-elements under pri:priceQuote are
+ unqualified --&gt;
+ &lt;property name=<SPAN class="code-quote">&quot;priceQuoteDoc&quot;</SPAN>&gt;
+ &lt;pri:priceQuote xmlns:pri=<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//www.example.org/price&quot;</SPAN> xmlns=&quot;&quot;&gt;
+</SPAN> &lt;customerName&gt;Acme Inc&lt;/customerName&gt;
+ &lt;shipAddress street=<SPAN class="code-quote">&quot;12 Springs Rd&quot;</SPAN> city=<SPAN class="code-quote">&quot;Morris Plains&quot;</SPAN> state=<SPAN class="code-quote">&quot;nj&quot;</SPAN> zip=<SPAN class="code-quote">&quot;07960&quot;</SPAN> /&gt;
+ &lt;priceRequests&gt;
+ &lt;priceRequest&gt;
+ &lt;widgetId&gt;12&lt;/widgetId&gt;
+ &lt;price&gt;1.0&lt;/price&gt;
+ &lt;/priceRequest&gt;
+ &lt;priceRequest&gt;
+ &lt;widgetId&gt;134&lt;/widgetId&gt;
+ &lt;price&gt;34.1&lt;/price&gt;
+ &lt;/priceRequest&gt;
+ &lt;priceRequest&gt;
+ &lt;widgetId&gt;211&lt;/widgetId&gt;
+ &lt;price&gt;10.0&lt;/price&gt;
+ &lt;/priceRequest&gt;
+ &lt;/priceRequests&gt;
+ &lt;/pri:priceQuote&gt;
+ &lt;/property&gt;
+ &lt;!-- Reset the <SPAN class="code-keyword">default</SPAN> namespace as the sub-elements under ava:availQuote are
+ unqualified --&gt;
+
+ &lt;property name=<SPAN class="code-quote">&quot;availQuoteDoc&quot;</SPAN>&gt;
+ &lt;ava:availQuote xmlns:ava=<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//www.example.org/avail&quot;</SPAN> xmlns=&quot;&quot;&gt;
+</SPAN> &lt;availRequest&gt;
+ &lt;widgetId&gt;12&lt;/widgetId&gt;
+ &lt;requestedQuantity&gt;10&lt;/requestedQuantity&gt;
+ &lt;quantityAvail&gt;<SPAN class="code-keyword">true</SPAN>&lt;/quantityAvail&gt;
+ &lt;shipDate&gt;2003-03-22&lt;/shipDate&gt;
+ &lt;/availRequest&gt;
+ &lt;availRequest&gt;
+ &lt;widgetId&gt;134&lt;/widgetId&gt;
+ &lt;requestedQuantity&gt;345&lt;/requestedQuantity&gt;
+ &lt;quantityAvail&gt;<SPAN class="code-keyword">false</SPAN>&lt;/quantityAvail&gt;
+ &lt;shipDate&gt;BackOrder&lt;/shipDate&gt;
+ &lt;/availRequest&gt;
+ &lt;availRequest&gt;
+ &lt;widgetId&gt;211&lt;/widgetId&gt;
+ &lt;requestedQuantity&gt;100&lt;/requestedQuantity&gt;
+ &lt;quantityAvail&gt;<SPAN class="code-keyword">true</SPAN>&lt;/quantityAvail&gt;
+ &lt;shipDate&gt;2003-04-21&lt;/shipDate&gt;
+ &lt;/availRequest&gt;
+ &lt;/ava:availQuote&gt;
+ &lt;/property&gt;
+ &lt;property name=<SPAN class="code-quote">&quot;taxRate&quot;</SPAN>&gt;0.1&lt;/property&gt;
+ &lt;reference name=<SPAN class="code-quote">&quot;quoteCalculator&quot;</SPAN> target=<SPAN class="code-quote">&quot;QuoteCalculatorComponent&quot;</SPAN> /&gt;
+ &lt;/component&gt;
+
+ &lt;component name=<SPAN class="code-quote">&quot;QuoteJoinExternalReferencesComponent&quot;</SPAN>&gt;
+ &lt;tuscany:implementation.xquery location=<SPAN class="code-quote">&quot;META-INF/sca/quote_join_external_references.xq&quot;</SPAN> /&gt;
+ &lt;reference name=<SPAN class="code-quote">&quot;quoteCalculator&quot;</SPAN> target=<SPAN class="code-quote">&quot;QuoteCalculatorComponent&quot;</SPAN> /&gt;
+ &lt;reference name=<SPAN class="code-quote">&quot;priceQuoteProvider&quot;</SPAN> target=<SPAN class="code-quote">&quot;PriceQuoteProviderComponent&quot;</SPAN> /&gt;
+ &lt;/component&gt;
+ ...
+&lt;/composite&gt;
+</PRE>
+</DIV></DIV>
+
+
+<H4><A name="SCAJavaimplementation.xquery-DecalreSCAservices%2Freferences%2FpropertiesusingXQuerynamespaces"></A>Decalre SCA services/references/properties using XQuery namespaces</H4>
+<P>Please note you can use the following syntax in the XQuery script to declare SCA services, references, and properties.</P>
+
+<UL>
+ <LI>scaservice:java/&lt;java_interface_name&gt;</LI>
+ <LI>scareference:java/&lt;java_interface_name&gt;</LI>
+ <LI>scaproperty:xml/&lt;namespace&gt;:&lt;localName&gt;</LI>
+ <LI>scaproperty:java/&lt;java_class_name&gt;</LI>
+</UL>
+
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java">
+declare namespace quoteJoin=<SPAN class="code-quote">&quot;scaservice:java/xquery.quote.PropertiesQuoteJoin&quot;</SPAN>;
+
+declare namespace quoteCalculator=<SPAN class="code-quote">&quot;scareference:java/xquery.quote.QuoteCalculator&quot;</SPAN>;
+
+declare namespace priceQuoteDoc=<SPAN class="code-quote">&quot;scaproperty:xml/http:<SPAN class="code-comment">//www.example.org/price:priceQuote&quot;</SPAN>;
+</SPAN>declare namespace availQuoteDoc=<SPAN class="code-quote">&quot;scaproperty:xml/http:<SPAN class="code-comment">//www.example.org/avail:availQuote&quot;</SPAN>;
+</SPAN>declare namespace taxRate=<SPAN class="code-quote">&quot;scaproperty:java/java.lang.<SPAN class="code-object">Float</SPAN>&quot;</SPAN>;
+
+declare namespace pri=<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//www.example.org/price&quot;</SPAN>;
+</SPAN>declare namespace ava=<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//www.example.org/avail&quot;</SPAN>;
+</SPAN>declare namespace quo=<SPAN class="code-quote">&quot;http:<SPAN class="code-comment">//www.example.org/quote&quot;</SPAN>;
+</SPAN>
+declare variable $quoteCalculator external;
+
+declare variable $priceQuoteDoc external;
+declare variable $availQuoteDoc external;
+declare variable $taxRate external;
+
+declare function quoteJoin:joinPriceAndAvailQuotes() {
+&lt;quo:quote&gt;
+ &lt;quo:name&gt;{ data($priceQuoteDoc/pri:priceQuote/customerName) }&lt;/quo:name&gt;
+ &lt;quo:address&gt;{ concat($priceQuoteDoc/pri:priceQuote/shipAddress/@street , <SPAN class="code-quote">&quot;,&quot;</SPAN>,
+ $priceQuoteDoc/pri:priceQuote/shipAddress/@city ,<SPAN class="code-quote">&quot;,&quot;</SPAN>,
+ fn:upper-<SPAN class="code-keyword">case</SPAN>($priceQuoteDoc/pri:priceQuote/shipAddress/@state) , <SPAN class="code-quote">&quot;,&quot;</SPAN>,
+ $priceQuoteDoc/pri:priceQuote/shipAddress/@zip) }&lt;/quo:address&gt;
+ {
+ <SPAN class="code-keyword">for</SPAN> $priceRequest in $priceQuoteDoc/pri:priceQuote/priceRequests/priceRequest,
+ $availRequest in $availQuoteDoc/ava:availQuote/availRequest
+ where data($priceRequest/widgetId) = data($availRequest/widgetId)
+ <SPAN class="code-keyword">return</SPAN>
+ &lt;quo:quoteResponse&gt;
+ &lt;quo:widgetId&gt;{ data($priceRequest/widgetId) }&lt;/quo:widgetId&gt;
+ &lt;quo:unitPrice&gt;{ data($priceRequest/price) }&lt;/quo:unitPrice&gt;
+ &lt;quo:requestedQuantity&gt;{ data($availRequest/requestedQuantity) }&lt;/quo:requestedQuantity&gt;
+ &lt;quo:fillOrder&gt;{ data($availRequest/quantityAvail) }&lt;/quo:fillOrder&gt;
+ {
+ <SPAN class="code-keyword">for</SPAN> $shipDate in $availRequest/shipDate
+ <SPAN class="code-keyword">return</SPAN>
+ &lt;quo:shipDate&gt;{ data($shipDate) }&lt;/quo:shipDate&gt;
+ }
+ &lt;quo:taxRate&gt;{ $taxRate }&lt;/quo:taxRate&gt;
+ &lt;quo:totalCost&gt;{ quoteCalculator:calculateTotalPrice(
+ $quoteCalculator,
+
+ $taxRate,
+
+ $availRequest/requestedQuantity,
+
+ $priceRequest/price,
+
+ $availRequest/quantityAvail) }&lt;/quo:totalCost&gt;
+ &lt;/quo:quoteResponse&gt;
+ }
+ &lt;/quo:quote&gt;
+};
+
+</PRE>
+</DIV></DIV></TD></TR></TBODY></TABLE>
+ </DIV>
+ </DIV>
+ </DIV>
+ <!-- pageContent macro end -->
+
+ </TD>
+ </TR>
+ </TABLE>
+
+ <!-- footer macro -->
+ <SCRIPT src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+ </SCRIPT>
+ <SCRIPT type="text/javascript">
+ _uacct = "UA-1174707-5";
+ urchinTracker();
+ </SCRIPT>
+
+ <A href="http://www.statcounter.com/" target="_blank"><IMG src="http://c26.statcounter.com/counter.php?sc_project=2619156&java=0&security=94bd7e7d&invisible=0" alt="website stats" border="0"></A>
+
+ <DIV class="footer">
+ Copyright � 2003-2012, The Apache Software Foundation&nbsp;&nbsp;</BR>
+ Apache Tuscany and the Apache Tuscany project logo are trademarks of The Apache Software Foundation.
+ </DIV>
+ <!-- footer macro end -->
+
+ </BODY>
+</HTML>