diff options
Diffstat (limited to 'site/trunk/site-publish/architecture-guide.html')
-rw-r--r-- | site/trunk/site-publish/architecture-guide.html | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/site/trunk/site-publish/architecture-guide.html b/site/trunk/site-publish/architecture-guide.html new file mode 100644 index 0000000000..ba9ca7e970 --- /dev/null +++ b/site/trunk/site-publish/architecture-guide.html @@ -0,0 +1,133 @@ + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<HTML> + <HEAD> + <LINK type="text/css" rel="stylesheet" href="http://incubator.apache.org/tuscany/stylesheets/default.css"> + <LINK rel="SHORTCUT ICON" href="http://cwiki.apache.org/confluence/display/TUSCANY/$images/favicon.ico"> + <TITLE>Architecture Guide : Apache Tuscany</TITLE> + <META http-equiv="Content-Type" content="text/html;charset=UTF-8"></HEAD> + + <BODY onload="init()"> + + <TABLE valign="top" border="0" cellspacing="0" cellpadding="0" width="100%" background="http://incubator.apache.org/tuscany/images/TuscanyLogoNEW_Text_120px_bg.jpg"> + <TR> + <TD valing="top" align="left"> + <A href="http://cwiki.apache.org/confluence/pages/viewpage.action?spaceKey=TUSCANY&title=$siteroot"><IMG src="http://incubator.apache.org/tuscany/images/TuscanyLogoNEW_Text_120px_bg.jpg" height="91" width="25" border="0"></A> + </TD> + <TD> + <A href="http://incubator.apache.org/tuscany/"><IMG src="http://incubator.apache.org/tuscany/images/TuscanyLogo.jpg" border="0"></A> + </TD> + + <TD width="100%"> + + </TD> + <TD align="right"> + <IMG src="http://incubator.apache.org/tuscany/images/apache-incubator-logo.png" border="0"> + </TD> + + <!-- Adds the edit page link to the top banner--> + <TD valign="bottom"> + <DIV style="padding: 2px 10px; margin: 0px;"> + <A href="http://cwiki.apache.org/confluence/pages/editpage.action?pageId=51125"> + <IMG src="http://incubator.apache.org/tuscany/images/notep_16.gif" height="16" width="16" border="0" align="absmiddle" title="Edit Page"></A> + </DIV> + </TD> + + </TR> + </TABLE> + + <TABLE border="0" cellpadding="2" cellspacing="0" width="100%"> + <TR class="topBar"> + <TD align="left" valign="middle" class="topBarDiv" nowrap="true" width="100%"> + <A href="home.html" title="Apache Tuscany">Apache Tuscany</A> > <A href="home.html" title="Home">Home</A> > <A href="sca-overview.html" title="SCA Overview">SCA Overview</A> > <A href="sca-native.html" title="SCA Native">SCA Native</A> > <A href="sca-native-documentation-menu.html" title="SCA Native Documentation Menu">SCA Native Documentation Menu</A> > <A href="" title="Architecture Guide">Architecture Guide</A> + </TD> + + <TD align="left" valign="middle" class="topBarDiv" nowrap="true"> + <A href="http://mail-archives.apache.org/mod_mbox/ws-tuscany-user">User List</A> | <A href="http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev">Dev List</A> | <A href="http://issues.apache.org/jira/browse/Tuscany">Issue Tracker</A> + </TD> + </TR> + </TABLE> + + <TABLE border="0" cellpadding="0" width="100%" bgcolor="#FFFFFF"> + <TR> + <TD align="left" valign="top"> + <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="border-style: solid; border-color: #C3CDA1; "><DIV class="panelHeader" style="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> +<SPAN class="nobr"><A href="http://www.apache.org/licenses/LICENSE-2.0.html" title="Visit page outside Confluence" rel="nofollow">License <SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN><BR> +<A href="sca-native-get-involved.html" title="SCA Native Get Involved">Get Involved</A><BR> +<A href="sca-native-found-a-bug.html" title="SCA Native Found a Bug">Found a Bug?</A></P> +</DIV></DIV> + +<DIV class="panel" style="border-style: solid; border-color: #b4b4b5; "><DIV class="panelHeader" style="border-bottom-style: solid; border-bottom-color: #b4b4b5; background-color: #C3CDA1; "><B>SCA Native</B></DIV><DIV class="panelContent" style="background-color: #ECF4D1; "> +<P><A href="sca-native.html" title="SCA Native">SCA Native Home</A><BR> +<A href="sca-native-faq.html" title="SCA Native FAQ">FAQ</A><BR> +<A href="sca-native-releases.html" title="SCA Native Releases">Downloads</A><BR> +<A href="sca-native-documentation-menu.html" title="SCA Native Documentation Menu">Documentation</A><BR> +<SPAN class="nobr"><A href="https://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca" title="Visit page outside Confluence" rel="nofollow">Source Code<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></P> +</DIV></DIV></TD><TD class="confluenceTd" valign="top" width="85%"> + +<H1><A name="ArchitectureGuide-HighlevelarchitectureviewofSCANative"></A>High level architecture view of SCA Native</H1> + +<P>Tuscany SCA Native consists of the <SPAN class="nobr"><A href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/runtime/core/" title="Visit page outside Confluence" rel="nofollow">kernel<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN> and <SPAN class="nobr"><A href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/runtime/extensions/" title="Visit page outside Confluence" rel="nofollow">extensions<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN>.</P> + +<P>The kernel loads any .composite, .xsd, .wsdl or<BR> +.componentType files found under a directory defined by the<BR> +TUSCANY_SCACPP_ROOT environment variable. The kernel also loads any<BR> +extensions found in the Tuscany extensions directory (found in the<BR> +directory specified by the TUSCANY_SCACPP env variable). The kernel<BR> +inspects the .composite files and checks that any required extensions<BR> +that the SCA app uses are loaded, works out how the components are<BR> +wired together, and then passes the details of the composite to the<BR> +appropriate extensions. E.g. if the SCDL contains a<BR> +<implementation.python> element, the contents of that element are<BR> +passed to the Python extension which will load a defined script, etc.<BR> +When the SCA app is invoked (via a local client call or a SOAP or REST<BR> +service binding being called) the kernel uses the appropriate<BR> +extension to invoke the right methods in the component implementation<BR> +code.</P> + +<P>The language binding extensions (C++, Ruby, Python, PHP) provide<BR> +wrapper and proxy code. The wrapper code wraps the component<BR> +implemented in that language, initialising the component<BR> +implementation, converting method arguments to the correct types and<BR> +invoking the defined method with the converted arguments. The proxy<BR> +code allows the component to call it's references, providing objects<BR> +that look like standard objects in the component language, but which,<BR> +when called, convert the method arguments from the language types and<BR> +invoke the referenced component's wrapper code to invoke the component<BR> +itself.</P> + +<P>The service and reference binding extensions (SOAP/Axis2C, REST)<BR> +provide service and reference code. The service code allows Tuscany to<BR> +run within a container as a service that can be invoked (e.g. as an<BR> +Axis2C SOAP web service). The reference code allows Tuscany to call<BR> +other services (that may or may not be other Tuscany services) using<BR> +that technology to make the call out (e.g. a SOAP call to a Web<BR> +Service).<BR> +See the various samples we have for examples of all this.</P> +</TD></TR></TBODY></TABLE> + </DIV> + </DIV> + </DIV> + </TD> + </TR> + </TABLE> + + <SCRIPT src="http://www.google-analytics.com/urchin.js" type="text/javascript"> + </SCRIPT> + <SCRIPT type="text/javascript"> + _uacct = "UA-1174707-5"; + urchinTracker(); + </SCRIPT> + + <DIV class="footer"> + Copyright © 2003-2007, The Apache Software Foundation + </DIV> + + </BODY> +</HTML>
\ No newline at end of file |