summaryrefslogtreecommitdiffstats
path: root/site/trunk/site-publish/java-implementation.html
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--site/trunk/site-publish/java-implementation.html175
1 files changed, 175 insertions, 0 deletions
diff --git a/site/trunk/site-publish/java-implementation.html b/site/trunk/site-publish/java-implementation.html
new file mode 100644
index 0000000000..48cc93dba9
--- /dev/null
+++ b/site/trunk/site-publish/java-implementation.html
@@ -0,0 +1,175 @@
+
+<!--
+
+ 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 : Java Implementation</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=46813">
+ <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="sca-java-work-in-progress.html" title="SCA Java Work-In-Progress">SCA Java Work-In-Progress</A>&nbsp;&gt;&nbsp;<A href="" title="Java Implementation">Java Implementation</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%"><P></P>
+<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="tuscany-downloads-documentations.html" title="Tuscany Downloads & Documentations">Downloads</A><BR>
+<A href="tuscany-downloads-documentations.html" title="Tuscany Downloads & Documentations">Documentation</A><BR>
+<A href="tuscany-books-and-articles.html" title="Tuscany Books and Articles">Books and Articles</A><BR>
+<A href="tuscany-dashboard.html" title="Tuscany Dashboard">Dashboard</A><BR>
+<A href="issue-tracking.html" title="Issue Tracking">Found a Bug?</A><BR>
+<A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Sponsorship </A><BR>
+<A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks </A><BR>
+<A href="privacy-policy.html" title="Privacy Policy">Privacy Policy</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>Community</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="getting-involved.html" title="Getting Involved">Get Involved</A><BR>
+<A href="mailing-lists.html" title="Mailing Lists">Mailing Lists</A><BR>
+<A href="committers.html" title="Committers">Committers</A><BR>
+<A href="chinese-portal.html" title="Chinese Portal">Chinese Portal </A> <SPAN class="image-wrap" style=""><IMG src="community.data/chinese.jpg" style="border: 0px solid black"></SPAN><BR>
+<A href="projects-using-tuscany.html" title="Projects Using Tuscany">Powered By</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>Tuscany SCA</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="sca-overview.html" title="SCA Overview">SCA Overview</A><BR>
+<A href="sca-java.html" title="SCA Java">SCA Java</A><BR>
+<A href="sca-native.html" title="SCA Native">SCA Native</A><BR>
+<A href="php-sca.html" title="PHP SCA">SCA PHP</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>Tuscany SDO</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="sdo-overview.html" title="SDO Overview">SDO Overview</A><BR>
+<A href="sdo-java.html" title="SDO Java">SDO Java</A><BR>
+<A href="sdo-cpp.html" title="SDO CPP">SDO C+&#43;</A><BR>
+<A href="sdo-php.html" title="SDO PHP">SDO PHP</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>Tuscany DAS</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1;">
+<P><A href="das-overview.html" title="DAS Overview">DAS Overview </A><BR>
+<A href="das-java.html" title="DAS Java">DAS Java</A><BR>
+<A href="das-c.html" title="DAS C++">DAS C++ </A></P>
+</DIV></DIV></TD><TD class="confluenceTd" valign="top" width="85%">
+
+<P>Here is a really simple SCA component implemented in Java:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java">
+<SPAN class="code-keyword">public</SPAN> <SPAN class="code-keyword">interface</SPAN> Orange {
+ <SPAN class="code-comment">// methods
+</SPAN>}
+<SPAN class="code-keyword">public</SPAN> class AppleImpl <SPAN class="code-keyword">implements</SPAN> Apple {
+ <SPAN class="code-keyword">private</SPAN> Orange orange;
+ <SPAN class="code-keyword">public</SPAN> AppleImpl(Orange orange) {
+ <SPAN class="code-keyword">this</SPAN>.orange = orange;
+ }
+ <SPAN class="code-comment">// other methods
+</SPAN>}
+</PRE>
+</DIV></DIV>
+<P>Yes, this is the same as the simplest possible <A href="http://docs.codehaus.org/display/PICO/Inversion%20of%20Control" class="external-link" rel="nofollow">Pico component</A> and it really is a fully functional SCA implementation. Tuscany uses the following conventions to figure out how to run this when you include it in an SCA assembly:</P>
+<UL>
+ <LI>the class implements a single interface &quot;Apple&quot;, so there is one service defined by that interface</LI>
+ <LI>there is a single constructor with a value that is not a simple type, we treat that as a reference to the &quot;Orange&quot; service</LI>
+ <LI>there are no properties or intents to deal with</LI>
+</UL>
+
+</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>