summaryrefslogtreecommitdiffstats
path: root/site/branches/site-20060730-mvnbased/src/site/xdoc
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-21 07:41:39 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-21 07:41:39 +0000
commitcd911a1ce5bb8abf2a6c796e32fcf61ef0c91fbc (patch)
tree3bdc2949d6e67fc3752207d792c66aa4b855fc5d /site/branches/site-20060730-mvnbased/src/site/xdoc
parent6567a1b3dac163c281c8f90665c484a9c49f45b0 (diff)
Moving site branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@882843 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'site/branches/site-20060730-mvnbased/src/site/xdoc')
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/SCA_Java_Tools_documentation.xml75
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/architecture.xml153
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/bugs.xml45
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/codeguidelines.xml193
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/documentation.xml193
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/documentationdasjava.xml121
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/documentationscacpp.xml135
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/documentationscajava.xml146
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/documentationsdocpp.xml123
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/documentationsdojava.xml125
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/download.xml143
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/exception_handling.html158
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/faq.xml50
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/getinvolved.xml122
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/howtobuildsite.xml178
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/index.xml142
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/installcpp.xml81
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/installjava.xml158
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/javadocinfo.xml31
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/maven.xml64
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/news.xml63
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/patches.xml90
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/phpproject.xml43
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/projectc++.xml83
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/projectjava.xml358
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/quicksubversion.xml165
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/reference.xml94
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/releasescpp.xml30
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/releasesdasjava.xml31
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/releasesscajava.xml31
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/releasessdojava.xml31
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/requirements.xml38
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/roadmap.html159
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/svn.xml48
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/userguidecpp.xml66
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/userguidejava.xml66
-rw-r--r--site/branches/site-20060730-mvnbased/src/site/xdoc/wiki.xml37
37 files changed, 3869 insertions, 0 deletions
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/SCA_Java_Tools_documentation.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/SCA_Java_Tools_documentation.xml
new file mode 100644
index 0000000000..a1f3299766
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/SCA_Java_Tools_documentation.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="SCA_Java_Tools_documentation.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>Documentation for SCA Java Tools</title>
+ </properties>
+ <body>
+
+ <section name="SCA Java Tools">
+ <p>
+ The following tools are available to support users of the SCA Java Runtime:
+ <ul>
+ <li>XSD2Java</li>
+ <li>WSDL2Java</li>
+ </ul>
+ </p>
+ <h2>XSD2Java Tool</h2>
+ <p>
+ The XSD2Java tool is designed to create a set of SDO Java classes which represent the
+ data structure defined by an XSD file.
+ </p>
+ <p>
+ Java programmers who need to deal with service data that is defined in terms of XML XSD data
+ definitions will typically find it simpler to have that data rendered as SDO classes and use
+ SDO programming interfaces to deal with the data. The XSD2Java tool will produce the set of
+ SDO Java classes which are equivalent to the data definitions held in the XSD file(s).
+ </p>
+ <p>
+ XSD2Java is available both as a Command run from the command line and also as a Java class.
+ </p>
+ <h3>Usage</h3>
+ <p>
+ xsd2java -f [XSD file]
+ </p>
+ <p>
+ java org.apache.tuscany.tools.XSD2Java -f [XSD file]
+ </p>
+
+ <h2>WSDL2Java Tool</h2>
+ <p>
+ The WSDL2Java tool is designed to create a Java interface file, plus an associated set of SDO
+ Java classes, from a WSDL file.
+ </p>
+ <p>
+ Java programmers will typically find it much easier to use service interfaces which are defined
+ as Java interfaces rather than using interfaces which are defined using WSDL. The idea of the
+ WSDL2Java tool is to create a Java interface definition which is the equivalent of the WSDL
+ definition for a service.
+ </p>
+ <h3>Usage</h3>
+ <p>
+ wsdl2java -f [WSDL file]
+ </p>
+ <p>
+ java org.apache.tuscany.tools.WSDL2Java -f [WSDL file]
+ </p>
+
+ </section>
+ </body>
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/architecture.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/architecture.xml
new file mode 100644
index 0000000000..5437d47129
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/architecture.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="documentation.xml">
+ <properties>
+ <author email="jboynes@apache.org">Jeremy Boynes</author>
+ <title>Tuscany - Java Runtime Architecture</title>
+ </properties>
+ <body>
+
+ <section name="Tuscany Java Runtime Architecture">
+
+ <h1>Introduction</h1>
+ <p>This document provides a high-level overview of the Tuscany Java Runtime architecture.</p>
+ <h2>Project Structure</h2>
+ <p>The runtime is organized into separate projects to facilitate a clean separation between
+ functional units as well as reuse across a variety of host environments. The main
+ functional units are: </p>
+ <ul>
+ <li>o.a.t.runtime.common</li>
+ <p>Basic utility code used throughout the runtime such as the logging monitor framework,
+ io, discovery, and resource loading</p>
+ <li>o.a.t.runtime.model</li>
+ <p>Contains interfaces defining a representation of SCA SCDL used by the runtime - the
+ logical model - to create runtime artifacts and an SDO implementation that generates
+ it from XML. This project also contains XSD type definitions used to describe
+ various runtime artifacts such as services.</p>
+ <li>o.a.t.runtime.core</li>
+ <p>The core runtime code. Contains configuration builders used to generate runtime
+ artifacts - the runtime model - from the logical model, messaging and invocation
+ infrastructure, the runtime artifacts (o.a.t.runtime.core.context), injection
+ container, and proxy framework.</p>
+ <li>o.a.t.runtime.container.java</li>
+ <p>Code that implements functionality specific to the Java SCA Client and Implementation
+ model, logical model extensions, builders, handlers and general POJO management.</p>
+ </ul>
+ <p> The following is a pictorial representation of the project dependencies: <br/>
+ <img src="architecture/Slide1.png" alt="architecture dependencies"/>
+ </p>
+ <h1>Basic Concepts</h1>
+ <h2>Runtime</h2>
+ <p>A running instance of an SCA container</p>
+ <h2>Host Platform</h2>
+ <p>An environment which the SCA runtime is deployed to, such as (but not limited to) Tomcat
+ or a J2EE application server.</p>
+ <h2>Runtime Artifacts</h2>
+ <p>The core runtime includes the following key functional units: </p>
+ <ul>
+ <li>The Logical Configuration Model</li>
+ <li>The Runtime Configuration Model</li>
+ <li>Instance Contexts</li>
+ <li>Messaging and Invocation Handling</li>
+ </ul>
+ <h3>The Logical Configuration Model</h3>
+ <p>
+ <i>o.a.t.model, o.a.t.runtime.container.java.assembly</i>
+ </p>
+ <p>The LCM is an in-memory representation of a set of one or more configuration sources and
+ is designed for easy manipulation of configuration information. The LCM is derived from
+ SCA SCDL and analogous to an Abstract Syntax Tree. Tuscany currently supports generating
+ the LCM from XML using SDO but other data binding technologies may be substituted. The
+ logical model may be represented as:<br/>
+ <img src="architecture/Slide2.png" alt="logical model"/>
+ </p>
+ <h3>The Runtime Configuration Model</h3>
+ <p>
+ <i>o.a.t.model,o.a.t.runtime.core.builder, o.a.t.runtime.container.java.builder,
+ o.a.t.runtime.container.java.injection</i>
+ </p>
+ <p>The RCM is a set of in-memory artifacts used by the runtime to “execute” SCA code. The
+ RCM is derived from the logical model but does not have to be “round-trippable.” Rather,
+ it is designed and optimized for runtime processing work. The RCM is analogous to
+ compiled output. </p>
+ <h3>Instance Context</h3>
+ <p>
+ <i>o.a.t.runtime.core.context, o.a.t.runtime.container.java.context</i>
+ </p>
+ <p> The RCM produces instance contexts, which are responsible for managing runtime resources
+ such as component implementation instances. The following is a simplified instance
+ context inheritance hierarchy:</p>
+ <img src="architecture/Slide3.png" alt="instance context"/>
+ <p>TuscanyModuleComponentContext implementations are responsible for providing module
+ component functionality as specified by SCA, including assembly and management of SCA
+ application component lifecycle. SimpleComponentContext implementations are responsible
+ for managing component implementation instances for a particular type. For example,
+ JavaComponentContext manages SCA POJO implementation types. Other SimpleComponentContext
+ implementations may exist for other component types such as BPEL or XSLT. As detailed
+ below, a TuscanyModuleComponentContextImpl (the implementation which supports SCA POJOs)
+ indirectly contains SimpleComponentContexts.</p>
+ <h3>Scope Containers</h3>
+ <p>
+ <i>o.a.t.runtime.core.context, o.a.t.runtime.core.context.scope</i>
+ </p>
+ <p>TuscanyModuleComponentContextImpl contains scope containers which are responsible for
+ managing component instance visibility and lifecycle. That is, they implement scoping
+ functionality defined by SCA. Generally, scope containers have collections of instance
+ contexts associated with a scope key (an exception is the stateless scope). Instance
+ contexts in turn contain one or more component implementation instances (the common case
+ is a 1:1 relation). Concretely, an HTTP session scope container would have a collection
+ of instance contexts associated with session keys. Therefore, for every session-scoped
+ component, an instance context would exist (assuming the component was accessed). If the
+ implementation type was SCA Java, the instance context would contain the actual POJO
+ component implementation instance.<br/>
+ <img src="architecture/Slide4.png" alt="scope containers"/><br/> This relationship between the
+ LCM, instance contexts, and scopes is depicted in the following diagram:<br/>
+ <img src="architecture/Slide5.png" alt="relations"/>
+ </p>
+ <h3>Messaging and Invocation Handling </h3>
+ <p>
+ <i>o.a.t.runtime.core.invocation, o.a.t.runtime.core.message,
+ o.a.t.runtime.core.pipeline, o.a.t.runtime.container.java.handler,
+ o.a.t.runtime.container.java.injection</i>
+ </p>
+ <img src="architecture/Slide6.png" alt="invocation"/>
+ <p>Complete</p>
+ <h1>The Recursive Runtime Design</h1>
+ <h2>Assembly in the Large</h2>
+ <h2>Assembly in the Small</h2>
+ <h1>Dispatching</h1>
+ <h2>Creating a new implementation instance</h2>
+ <p>The following sequence diagram shows how new component implementation instances are
+ created and configured (injected) with property and reference values using the default
+ TuscanyModuleComponentContextImpl: <br/><img src="architecture/Slide7.png"
+ alt="implementation instance"/>
+ </p>
+ <h2>Module event dispatching</h2>
+ <p>Scope containers rely on a module context eventing mechanism to be notified of lifecycle
+ changes in the runtime, for example, when a request processing starts/stops, a session
+ starts/stops, or the module starts/stops. Scope containers have a reference to an
+ EventContext, which returns an id associated with the current thread for a given scope
+ type. This enables lazy id creation (e.g. lazy creation of HTTP session ids and
+ contexts). The following sequence diagram traces how module eventing works for request
+ and session lifecycles:<br/><img src="architecture/Slide7.png" alt="dispatching"/>
+ </p>
+ <h2>Entry point operation</h2>
+ <h2>External service operation</h2>
+
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/bugs.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/bugs.xml
new file mode 100644
index 0000000000..cbfc452bb8
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/bugs.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="requirements.xml">
+
+ <properties>
+
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+
+ <title>Tuscany Bug Reporting and Tracking</title>
+ </properties>
+
+ <body>
+
+ <section name="Apache Tuscany Bug Reporting and Tracking" />
+ <p>
+ Tuscany bug reports are handled via a
+ <a href="http://issues.apache.org/jira/browse/TUScany"> JIRA issues list </a>.
+ Please use this list to report any bugs that you find - the list can also be used to
+ track the status of reported bugs.
+ <p>
+ To help developers to quickly fix the bug, please include as much information with your report as possible such as your platform, version numbers, error logs, configuration, 'how to reproduce the problem', etc. </p>
+
+
+ </p>
+
+ <p> Tuscany project welcomes your help to improve the project. Here is information on how to <a href="patches.html"> create and submit patches </a>.
+ </p>
+
+ </body>
+
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/codeguidelines.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/codeguidelines.xml
new file mode 100644
index 0000000000..c4edddea30
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/codeguidelines.xml
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="codeguidelines.xml">
+
+ <properties>
+ <author email="hmahbod@gmail.com">Tuscany Developer</author>
+ <title>Apache Tuscany - Java Coding Guideline</title>
+ </properties>
+
+ <body>
+ <section name="Tuscany Java Coding Guidelines">
+ <ol>
+ <li><a href="#Indentation">Indentation</a></li>
+ <li><a href="#Exception Handling">Exception Handling</a></li>
+ <li><a href="#Package Naming"> Package Naming</a></li>
+ <li><a href="#Logging">Logging</a></li>
+ </ol>
+ </section>
+ <a name="Indentation"></a>
+ <section name="Indentation">
+ <p>
+ We follow Sun's coding standard rules which are pretty common in Java. We have also discussed to adopt a tool that would scan the code to make sure it is in the right format. More information will be added once that discussion is final.
+ </p>
+ <p>
+ <script type="text/javascript">linkNewWindow('http://java.sun.com/docs/codeconv/','http://java.sun.com/docs/codeconv/');</script>
+ </p>
+ <p>
+ <script type="text/javascript">linkNewWindow('http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html','http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html');</script>
+ </p>
+ <p>
+ Please use 4 characters indentation and do not use tabs.
+ </p>
+
+
+ </section>
+ <a name="Exception Handling"></a>
+ <section name="Exception Handling">
+ <p>
+In general Exceptions should be designed thinking what the catcher of exception would likely do with the exception. There are three types of exceptions.
+</p>
+<ul>
+ <li>
+ Code Exception: Can be handled at some level of the call stack.
+ </li>
+ <li>
+ User Exception: Problem can be handled by a user of the system, for example an Administrator.
+ </li>
+ <li>
+ Assertion Exception: Problem remedied by developer fixing a bug in the code
+ </li>
+</ul>
+<p>
+ <span style="font-size: 14pt;">
+ Code Exceptions
+ </span>
+</p>
+<p>
+ There are two types of code exceptions, checked and unchecked exceptions. A checked exception would be thrown when the code cannot handle a specific situation. In this case it is expected for the caller to handle this exception in one of the following ways: 1) handle the exception, 2) re-throw it to its caller, 3) change it to another exception that makes sense to its caller. In general, code exceptions should be checked exceptions. They should be named based on what happened, rather than based on who is throwing the exception. If the exception is well named, it should be possible for the exception to be present on signatures at several levels of a call stack and still make sense (e.g. ServiceUnavailableException).
+</p>
+
+ <p>
+Throw unchecked exceptions if the exception is a programming error or system failure and cannot be handled by the caller (RuntimeException).
+</p>
+
+<p>
+ <span style="font-size: 14pt;">
+ User Exceptions
+ </span>
+</p>
+
+<p>
+User Exceptions are exceptions that signal a problem that needs to be handled by the user of the system, for example an administrator. Text of the message that is carried with the exception needs to be clear in order to help the user to debug the problem. For example a stack trace is not useful information for a user. It is important to catch user type exceptions and add meaningful context to build a message that is useful.
+</p>
+<p>
+A base UserException class can have an array of messages, rather than just one message. For example, code that parses an SCA subsystem file might have a rethrow that just adds "While parsing the xyz subsystem file". This message could probably not be generated by the code that discovered the problem (say an XML parsing problem), so a combination of the original message (e.g. "Missing end tag") and the higher level message ("while parsing the xyz subsystem file") are both necessary to know what happened. Naturally it can be any number of levels deep.
+</p>
+<p>
+The handling code for a user exception will somehow notify a user of the message and then possibly go on.
+In a server, user exceptions can often be divided according to the fault type.
+</p>
+ <ul>
+ <li>
+ Client fault: This is typically generated by the client code that sends the incoming message (e.g. SOAP faults). In this case, the message needs to be reported back to the client code in a format appropriate to the client. ClientExecption should be used to relay exceptions that occur on the client side.
+ </li>
+ <li>
+ Code or configuration fault: In this case, only a vague "problem occured here" message should be sent to the client and the real exception message should be logged and/or sent to an administrator.
+ </li>
+</ul>
+<p>
+The remaining user exceptions are typically problems with configuration or the environment. Some of them will be severe enough that the entire application needs to be brought down, while others could be handled by just logging the problem and going on. This difference implies that there needs to be a different exception type. In the case of session-scoped services, the problem is likely to require that the instance of the service be put into an error state (like paused). This is because subsequent messages for the service have been sent on the assumption that the previous message actually gets processed. If some configuration error prevents a session-scoped service from handling a single message, all future (async) messages for that service instance should be queued up so they can be processed once the problem has been solved.
+</p>
+<p>
+ <span style="font-size: 14pt;">
+ Assertion Exceptions
+ </span>
+</p>
+<p>
+ Assertion exceptions are exceptions that result from a bug in Tuscany and as such are also intended to be solved by the developers. In these cases the message isn't nearly as important, since the stack trace provides valuable context. If an assertion exception occurs little can be known about the state of the server. If we wanted to be safe we would say that assertion exceptions always bring down the entire server. However, we could play it a little looser and say that assertion exceptions only bring down the application in which they are discovered.
+</p>
+
+<p>
+ <span style="font-size: 14pt;">
+ Guidelines
+ </span>
+</p>
+<p>
+ The following are a set of guidelines based on the above exception philosophy:
+</p>
+<p>
+1. Checked vs. unchecked exceptions
+Unchecked exceptions should be used when an error condition is not recoverable. Checked exceptions thrown by third party libraries that are not recoverable should be wrapped in unchecked exceptions rather than being propagated up the call stack. For example, an IOException raised when reading a file might be wrapped in an unchecked LoadException containing the name of the file. Unchecked must always be Javadoced and declared in the throws clause of a method.
+</p>
+<p>
+ 2. Assertion exceptions should use the standard JDK assert facilities
+</p>
+<p>
+ 3. Any exception thrown to user code must extend the appropriate Exception as defined by the specification. This will typically be a runtime Exception.
+</p>
+<p>
+ 4. No other Exceptions should be thrown to user code. Each user API method should catch any internal exceptions and wrap them in the applicable Exception defined by the specification. Internal exceptions must ultimately extend either TuscanyException or TuscanyRuntimeException.
+</p>
+<p>
+4. When possible, create clear package exception hierarchies
+In most cases, packages should have a clear exception hierarchy with abstract root checked and unchecked exceptions which more specific concrete exceptions extend. Declaring the root package exceptions abstract avoids code throwing exceptions which are too general. Creating an exception hierarchy allows client code using a particular package to choose the level of exception handling granularity (which in turn simplifies the client code by avoiding unwieldy try..catch clauses).
+</p>
+<p>
+5. Preserve all stack trace information and the original exception
+Exceptions must always preserve the stack trace and original exception except under special circumstances. When wrapping exceptions to propagate, never modify the stack trace and always include the caught exception as the cause.
+</p>
+<p>
+6. Only include local information pertinent to the failure
+For I18N, contextual information stored in the Exception should not be localized. It should comprise only data pertaining to the cause, such as the name of the artifact as above, or a key that can be used by the top level exception handler. This is needed because the locale used to render the exception may be completely different from the locale used by the code raising the exception. For example, an exception may be thrown on a system whose default locale is German, logged to the system log in English but displayed to the end user in French, Japanese, whatever their native language is.
+</p>
+<p>
+ 7. For exceptions that require contextual information from various code layers, either wrap exceptions or create exceptions that can accept additional context as they are propagated up the call stack.
+</p>
+<p>
+If a failure requires information from multiple levels, e.g. there was an error setting property X on component Y in module Zdo one of the following. If the initial exception should be wrapped as it is propagated (e.g. the exception occurs at a library boundary), add additional context information in the wrapping exception(s). If the initial exception can be propagated, include methods for adding additional context information as the exception is rethrown up the stack. For example, the previous failure scenario could result in the following exception handling strategy:
+
+A component property is configured with an invalid integer type
+The property value parsing code attempts to load an integer value using parseInt(), resulting in a NumberFormatException
+NumberFormatException is wrapped in an InvalidParameterException (IPE) containing the name of the property.
+IPE extends a more general ConfigException, which has setters for adding additional context information such as component and module names
+As the IPE is thrown up the stack, the component and module parsers provide additional context information.
+The configuration loader then wraps the IPE in a ConfigLoadExeption and provides the source from which the configuration is being loaded.
+The UI being used to load the configuration reports the error to the user and displays the appropriate contextual information
+</p>
+<p>
+8. getMessage() must return unformatted context info. If the Exception contains multiple context fields they should be surrounded in square brackets and separated by commas, e.g. "[ property X, component Y, module Z ]"
+</p>
+<p>
+9. Do not override the behaviour of Throwable.toString() and Throwable.printStackTrace()
+</p>
+<p>
+10. The java.lang.Exception base class is Serializable so all subclasses must provide a serial UID. Any context fields must be Serializable and should be defined in the base java namespace for JDK1.4.
+</p>
+<p>
+11. Exceptions that wrap other Exceptions should ensure that any wrapped Exception can be deserialized in a client environment. This may require providing a custom writeObject method to extract any context information from the wrapped Exception during serialization; at a minimum the message should be preserved.
+ </p>
+
+ </section>
+
+ <a name="Package Naming"></a>
+ <section name="Package Naming">
+ <p>
+ TBD
+ </p>
+ </section>
+
+ <a name="Logging"></a>
+ <section name="Logging">
+ <p>
+ TBD
+ </p>
+ </section>
+
+ </body>
+
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/documentation.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentation.xml
new file mode 100644
index 0000000000..02f1ce7b92
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentation.xml
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="documentation.xml">
+ <properties>
+ <author email="edwardsmj@apache.org">Mike Edwards</author>
+ <title>Apache Tuscany - Documentation</title>
+ </properties>
+ <body>
+
+ <section name="Documentation">
+ <p>
+ This page provides links to a set of documents that help to explain various aspects of the
+ Tuscany project and the SOA programming model that it provides (initially the SCA and SDO
+ specifications).
+ </p>
+ <h2>General Documentation</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+
+ <script type="text/javascript">linkNewWindow('samples/java/GettingStarted.htm','Tuscany Samples README file');</script>
+ <a href="acceptance/readme.htm">
+
+ </a>
+ </td>
+ <td>
+ Explains how to setup and run the Java examples.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://svn.apache.org/repos/asf/incubator/tuscany/site/svnresources/extendingTuscany/ExtendingTuscany.pdf">
+ Extending Tuscany
+ </a>
+ </td>
+ <td>
+ Describes how to extend Tuscany by contributing a new implementation/binding type
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+ <h2>Papers that Explain the SOA Programming model</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_White_Paper1_09.pdf','SCA White Paper');</script>
+ </td>
+ <td>
+ A white paper describing Service Component Architecture.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/Next-Gen-Data-Programming-Whitepaper.pdf','SDO White Paper');</script>
+ </td>
+ <td>
+ A white paper that explains the SDO programming model
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_BuildingYourFirstApplication_V09.pdf','SCA: "Building your first application');</script>
+ </td>
+ <td>
+ The simplified "BigBank" application as a worked example.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('RDB_DAS_white_paper_v-0.1.3.pdf','DAS White Paper: The Data Access Service');</script>
+ </td>
+ <td>
+ How to access relational data in terms of Service Data Objects (not yet on the website - to be provided)
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+
+ <h2>Specifications</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_AssemblyModel_V09.pdf','SCA Assembly Specification V0.9');</script>
+ </td>
+ <td>
+ The core Service Component Architecture Assembly specification
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_ClientAndImplementationModelforJava_V09.pdf','SCA Client and Implementation Model for Java Specification V0.9');</script>
+ </td>
+ <td>
+ The Service Component Architecture Client and Implementation specification
+ for Java. Describes how to write SCA components in Java and how to write
+ Clients to SCA services in Java.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_ClientAndImplementationModel_Cpp_V09.pdf','SCA Client and Implementation Model for C++ Specification V0.9');</script>
+ </td>
+ <td>
+ The Service Component Architecture Client and Implementation specification
+ for C++. Describes how to write SCA components in C++ and how to write
+ Clients to SCA services in C++.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/SDO_Specification_Java_V2.01.pdf','SDO Specification for Java V2.01');</script>
+ </td>
+ <td>
+ The Service Data Objects specification for Java. Describes the data
+ programming interfaces of SDO in the Java language.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/SDO_Specification_CPP_V2.01.pdf','SDO Specification for C++ V2.01 ');</script>
+ </td>
+ <td>
+ The Service Data Objects specification for C++. Describes the data
+ programming interfaces of SDO in the C++ language.
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationdasjava.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationdasjava.xml
new file mode 100644
index 0000000000..e83fccf9dc
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationdasjava.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="documentation.xml">
+ <properties>
+ <author email="kjwillia@us.ibm.com">Kevin Williams</author>
+ <title>Relational DB Data Access Service - Documentation</title>
+ </properties>
+ <body>
+
+ <section name="Documentation for DAS subproject">
+ <p>
+ This page provides links to documents that help to explain various aspects of the
+ Tuscany DAS subproject and the programming model that it provides. More general
+ documentation which applies to the Tuscany project as a whole can be found on the
+ <a href="documentation.html">
+ Tuscany Documentation page</a>.
+ </p>
+ <h2>General Documentation</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('RDB_DAS_white_paper_v-0.1.3.pdf','DAS White Paper: The Data Access Service');</script>
+ </td>
+ <td>
+ How to access relational data in terms of Service Data Objects
+ </td>
+ </tr>
+
+
+ </tbody>
+ </table>
+
+ <h2>Papers that Explain the DAS Programming model</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ User's Guide TBD
+ </td>
+ <td>
+ A usage guide for the RDB DAS
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+
+ <h2>Specifications</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ DAS Specification - TBD
+ </td>
+ <td>
+ The Data Access Specification
+ </td>
+ </tr>
+
+
+ </tbody>
+ </table>
+
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationscacpp.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationscacpp.xml
new file mode 100644
index 0000000000..c7db4d16b3
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationscacpp.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="documentation.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>SCA Runtime for C++ - Documentation</title>
+ </properties>
+ <body>
+
+ <section name="Documentation for SCA Runtime for C++ subproject">
+ <p>
+ This page provides links to documents that help to explain various aspects of the
+ Tuscany SCA C++ runtime subproject and the programming model that it provides. More general
+ documentation which applies to the Tuscany project as a whole can be found on the
+ <a href="documentation.html">
+ Tuscany Documentation page</a>.
+ </p>
+ <h2>General Documentation</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ TBD
+ </td>
+ <td>
+
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+ <h2>Papers that Explain the SCA Programming model</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_White_Paper1_09.pdf">
+ SCA White Paper
+ </a>
+ </td>
+ <td>
+ A white paper that explains the SCA programming model
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+
+ <h2>Specifications</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_AssemblyModel_V09.pdf">
+ SCA Assembly Specification V0.9
+ </a>
+ </td>
+ <td>
+ The core Service Component Architecture Assembly specification
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_ClientAndImplementationModel_Cpp_V09.pdf">
+ SCA Client and Implementation Model for C++ Specification V0.9
+ </a>
+ </td>
+ <td>
+ The Service Component Architecture Client and Implementation specification
+ for C++. Describes how to write SCA components in C++ and how to write
+ Clients to SCA services in C++.
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+ </section>
+ </body>
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationscajava.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationscajava.xml
new file mode 100644
index 0000000000..ba08533964
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationscajava.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="documentation.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>SCA Runtime for Java - Documentation</title>
+ </properties>
+ <body>
+
+ <section name="Documentation for SCA Runtime for Java subproject">
+ <p>
+ This page provides links to documents that help to explain various aspects of the
+ Tuscany SCA Java runtime subproject and the programming model that it provides. More general
+ documentation which applies to the Tuscany project as a whole can be found on the
+ <a href="documentation.html">
+ Tuscany Documentation page</a>.
+ </p>
+ <h2>General Documentation</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="architecture.html">
+ Tuscany Java Runtime Architecture
+ </a>
+ </td>
+ <td>
+ A paper describing the high level archtecture of the Java Runtime.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="exception_handling.html">
+ Tuscany Java Runtime Exception Handling
+ </a>
+ </td>
+ <td>
+ A paper describing the exception handling of the Java Runtime.
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h2>Papers that Explain the SCA Programming model</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_White_Paper1_09.pdf">
+ SCA White Paper
+ </a>
+ </td>
+ <td>
+ A white paper that explains the SCA programming model
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+
+ <h2>Specifications</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_AssemblyModel_V09.pdf">
+ SCA Assembly Specification V0.9
+ </a>
+ </td>
+ <td>
+ The core Service Component Architecture Assembly specification
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_ClientAndImplementationModelforJava_V09.pdf">
+ SCA Client and Implementation Model for Java Specification V0.9
+ </a>
+ </td>
+ <td>
+ The Service Component Architecture Client and Implementation specification
+ for Java. Describes how to write SCA components in Java and how to write
+ Clients to SCA services in Java.
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+ </section>
+ </body>
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationsdocpp.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationsdocpp.xml
new file mode 100644
index 0000000000..4af8a45305
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationsdocpp.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="documentation.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>SDO Runtime for Java - Documentation</title>
+ </properties>
+ <body>
+
+ <section name="Documentation for SDO Runtime for C++ subproject">
+ <p>
+ This page provides links to documents that help to explain various aspects of the
+ Tuscany SDO C++ runtime subproject and the programming model that it provides. More general
+ documentation which applies to the Tuscany project as a whole can be found on the
+ <a href="documentation.html">
+ Tuscany Documentation page</a>.
+ </p>
+ <h2>General Documentation</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ TBD
+ </td>
+ <td>
+
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+ <h2>Papers that Explain the SDO Programming model</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/Next-Gen-Data-Programming-Whitepaper.pdf">
+ SDO White Paper
+ </a>
+ </td>
+ <td>
+ A white paper that explains the SDO programming model
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+
+ <h2>Specifications</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/SDO_Specification_CPP_V2.01.pdf">
+ SDO Specification for C++ V2.01
+ </a>
+ </td>
+ <td>
+ The Service Data Objects specification for C++. Describes the data
+ programming interfaces of SDO in the C++ language.
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+ </section>
+ </body>
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationsdojava.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationsdojava.xml
new file mode 100644
index 0000000000..acb130bfaf
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/documentationsdojava.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="documentation.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>SDO Runtime for Java - Documentation</title>
+ </properties>
+ <body>
+
+ <section name="Documentation for SDO Runtime for Java subproject">
+ <p>
+ This page provides links to documents that help to explain various aspects of the
+ Tuscany SDO Java runtime subproject and the programming model that it provides. More general
+ documentation which applies to the Tuscany project as a whole can be found on the
+ <a href="documentation.html">
+ Tuscany Documentation page</a>.
+ </p>
+ <h2>General Documentation</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://wiki.apache.org/ws/Tuscany/TuscanyJava/SDO_Java_Overview">
+ SDO Java Project Overview
+ </a>
+ </td>
+ <td>
+ SDO for Java project contents, high-level design, setup/build instructions, etc.
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+ <h2>Papers that Explain the SDO Programming model</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/Next-Gen-Data-Programming-Whitepaper.pdf">
+ SDO White Paper
+ </a>
+ </td>
+ <td>
+ A white paper that explains the SDO programming model
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+
+ <h2>Specifications</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/SDO_Specification_Java_V2.01.pdf">
+ SDO Specification for Java V2.01
+ </a>
+ </td>
+ <td>
+ The Service Data Objects specification for Java. Describes the data
+ programming interfaces of SDO in the Java language.
+ </td>
+ </tr>
+
+ </tbody>
+ </table>
+
+ </section>
+ </body>
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/download.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/download.xml
new file mode 100644
index 0000000000..f444c58c0b
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/download.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="download.xml">
+ <properties>
+ <author email="someone@apache.org"></author>
+ <title>Apache Tuscany - Downloads</title>
+ </properties>
+ <body>
+ <section name="Apache Tuscany Downloads">
+ <p>
+ Welcome to the Apache Tuscany download page. The Apache Tuscany project is currently part of the
+<script type="text/javascript">linkNewWindow('http://incubator.apache.org/','Apache Incubator');</script>.
+
+<br/>Apache Tuscany is distributed under the
+<script type="text/javascript">linkNewWindow('http://www.apache.org/licenses/LICENSE-2.0.html','Apache License, version 2.0');</script>.
+<p><i>Note:For some links you may have to right click on the link and then select &quot;</i><b><code>Save Target As...</code></b><i>&quot;.</i>
+</p>
+ <ul>
+ <li>
+ <a href='#Apache Tuscany Java Downloads'>Java Downloads</a>
+ </li>
+ <li>
+ <a href='#Apache Tuscany C++ Downloads'>C++ Downloads</a>
+ </li>
+ </ul>
+ </p>
+ </section>
+
+ <a name="Apache Tuscany Java Downloads"></a>
+ <section name="Apache Tuscany Java Downloads">
+
+<p>
+Tuscany is distributed in several formats for your convenience.
+</p>
+<h3>Incubating-M1 (June 7, 2006)</h3>
+<p>
+For requirements please review
+<script type="text/javascript">linkNewWindow('samples/java/GettingStarted.htm#System Requirements','Getting Started, System Requirements section ');</script>.
+ <table>
+ <thead>
+ <th>
+ Description
+ </th>
+ <th>
+ Download link
+ </th>
+ <th>
+ MD5 Check sum file of download
+ </th>
+ <th>
+ PGP Signature file of download
+ </th>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ Tuscany M1 binary (<i>Linux</i>)
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1.tar.gz'>tuscany-incubating-M1.tar.gz</a>
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1.tar.gz.md5'>tuscany-incubating-M1.tar.gz.md5</a>
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1.tar.gz.asc'>tuscany-incubating-M1.tar.gz.asc</a>
+ </td>
+ </tr>
+
+
+ <tr>
+ <td>
+ Tuscany M1 source (<i>Linux</i>)
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1-src.tar.gz'>tuscany-incubating-M1-src.tar.gz</a>
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1-src.tar.gz.md5'>tuscany-incubating-M1-src.tar.gz.md5</a>
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1-src.tar.gz.asc'>tuscany-incubating-M1-src.tar.gz.asc</a>
+ </td>
+ </tr>
+
+
+ <tr>
+ <td>
+ Tuscany M1 binary (<i>Windows</i>)
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1.zip'>tuscany-incubating-M1.zip</a>
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1.zip.md5'>tuscany-incubating-M1.zip.md5</a>
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1.zip.asc'>tuscany-incubating-M1.zip.asc</a>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ Tuscany M1 source (<i>Windows</i>)
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1-src.zip'>tuscany-incubating-M1-src.zip </a>
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1-src.zip.md5'>tuscany-incubating-M1-src.zip.md5</a>
+ </td>
+ <td>
+ <a href='http://people.apache.org/dist/incubator/tuscany/incubating-M1/tuscany-incubating-M1-src.zip.asc'>tuscany-incubating-M1-src.zip.asc</a>
+ </td>
+ </tr>
+
+
+ </tbody>
+ </table>
+ </p>
+ </section>
+ <a name="Apache Tuscany C++ Downloads"></a>
+ <section name="Apache Tuscany C++ Downloads">
+ There are currently no downloads available for the C++ project. If you want to obtain the Tuscany C++ runtime and tools, you should check out the source from the
+ SVN repository and build it locally on your machine. Please refer to the
+ <a href="projectc++.html"> C++ project page</a> for more details.
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/exception_handling.html b/site/branches/site-20060730-mvnbased/src/site/xdoc/exception_handling.html
new file mode 100644
index 0000000000..61a045a9fd
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/exception_handling.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Exception Handling Guidelines for The Java Runtime</title> </head> <body> <h1>Java Runtime Exception Policy</h1> <p> The key tenet of this exception policy is that exceptions should be designed with an eye
+ toward what the catch clause would likely do with the exception. The three main cases
+ are: </p> <ul>
+ <li>Code Exception: Code can work around the discovered problem</li>
+ <li>User Exception: Problem to be remedied by a human (e.g. Administrator)</li>
+ <li>Assertion Exception: Problem remedied by human fixing a bug in the code</li>
+ </ul>
+ <h2>Code Exceptions</h2>
+ <p> These are exceptions where it is expected that some calling code may be able to
+ completely handle the exception, without involvement of any user. In other words, the
+ exception is of an alternate way of returning a value. There is a reasonable chance that
+ calling code (maybe a couple levels up) will be able to catch the exception and either
+ try again or try some other approach to accomplishing its job. Note that there may be no
+ way of knowing whether the caller will be able to figure out a different approach to
+ handling the situation. This is especially true in reusable utility code. In these
+ cases, the exceptions should be considered to be code exceptions. The code that handles
+ the exception might just turn it into a different kind of exception.</p>
+ <h3>Implications</h3>
+ <p>In general, code exceptions should be checked exceptions. They should be named based on
+ what happened, rather than based on who is throwing the exception. If the exception is
+ well named, it should be possible for the exception to be present on signatures at
+ several levels of a call stack and still make sense (e.g. ServiceUnavailableException).</p>
+ <p>There are some cases where code exceptions should not be checked exceptions. If code
+ cannot reasonably be expected to recover from an exception, it should be unchecked,
+ Also, iIf a large fraction of the methods in the code would need to declare the
+ exception, then its declaration doesn't add much value and so it should be a
+ RuntimeException so it doesn't need to be declared. One example of this kind of
+ exception might be a RetryException. This exception might occur on some kind of resource
+ conflict where retrying the transaction is likely to solve it. Since it is solved
+ without human involvement it is still a "code exception". </p>
+ <h2>User Exceptions</h2>
+ <p> These are exceptions that signal a problem that will be handled by a person, so the most
+ important component of the exception is the message, rather than the type of the
+ exception. Unfortunately, the code that throws the original exception often will not
+ have enough information to give a meaningful message to the user that has all the
+ necessary context. The typical "user" in this situation is an administrator, where a
+ stack traceback wouldn't be very helpful. Because of this, it is important that code be
+ littered with try/catch blocks that do no more than add context to the exception message
+ and then rethrow.</p>
+ <p>In a previous project this was done by having a base UserException class that had an
+ array of messages, rather than just one message. For example, code that parses an SCA
+ subsystem file might have a rethrow that just adds "While parsing the xyz subsystem
+ file". That is a message that could not be generated by the code that discovered the
+ problem (say an XML parsing problem), so a combination of the original message (e.g.
+ "Missing end tag") and the higher level message ("while parsing the xyz subsystem file")
+ are both necessary for know what happened. Naturally it can be any number of levels
+ deep.</p>
+ <p> The handling code for a user exception will somehow notify a user of the message and
+ then possibly go on. There should be different kinds of exceptions when there need to be
+ different ways of handling of the message or different ways to continue. Different ways
+ to report the error: In a server, user exceptions can often be divided according to
+ fault: </p>
+ <ul>
+ <li>It's the fault of the client code that is sending the incoming message (e.g. SOAP
+ faults).</li>
+ <li>It's the fault of the code or configuration that is handling the message. </li>
+ </ul>
+ <p> If the problem is the fault of the client code, then the message needs to be reported
+ back to the client code in a format appropriate for the client. If the problem is the
+ fault of the server code or configuration, then only a vague "I've got a problem here"
+ message should be sent to the client and the real exception message should be logged
+ and/or sent to an administrator. Because of the two different ways of handling the
+ problem, there should be different exception types. For example, ClientException could
+ be used for exceptions that signal problems that are the client's fault. </p>
+ <p> The remaining user exceptions are typically problems with configuration or the
+ environment. Some of them will be severe enough that the entire application needs to be
+ brought down, while others could be handled by just logging the problem and going on.
+ This difference implies that there needs to be a different exception type. Advanced
+ Scenario: In the case of session-scoped services, the problem is likely to require that
+ the instance of the service be put into an error state (like paused). This is because
+ subsequent messages for the service have been sent on the assumption that the previous
+ message actually gets processed. If some configuration error prevents a session-scoped
+ service from handling a single message, all future (async) messages for that service
+ instance should be queued up so they can be processed once the problem has been solved. </p>
+ <h2>Assertion Exceptions</h2>
+ <p> Assertion exceptions are exceptions that result from a bug in Tuscany and as such are
+ also intended to be solved by humans, but in this case the humans are us --are the
+ developers of the SCA runtime. In these cases the message isn't nearly as important,
+ since the stack traceback provides valuable context. If an assertion exception occurs
+ little can be known about the state of the server. If we wanted to be safe we would say
+ that assertion exceptions always bring down the entire server. However, we could play it
+ a little looser and say that assertion exceptions only bring down the application in
+ which they are discovered. </p>
+
+
+ <h2>Guidelines</h2>
+ <p> The following are a set of guidelines based on the above exception philosophy: </p>
+ <h4>1. Checked vs. unchecked exceptions</h4>
+ <p> Unchecked exceptions should be used when an error condition is not recoverable. Checked
+ exceptions thrown by third party libraries that are not recoverable should be wrapped in
+ unchecked exceptions rather than being propagated up the call stack. For example, an
+ IOException raised when reading a file might be wrapped in an unchecked LoadException
+ containing the name of the file.
+ Unchecked must always be Javadoced and declared in the throws clause of a method. </p>
+ <h4>2. Assertion exceptions should use the standard JDK assert facilities</h4>
+ <h4>3. Any exception thrown to user code must extend the appropriate Exception as defined
+ by the specification. This will typically be a runtime Exception.</h4>
+ <h4>4. No other Exceptions should be thrown to user code. Each user API method should
+ catch any internal exceptions and wrap them in the applicable Exception defined
+ by the specification. Internal exceptions must ultimately extend either TuscanyException
+ or TuscanyRuntimeException.
+ <h4>4. When possible, create clear package exception hierarchies</h4>
+ <p> In most cases, packages should have a clear exception hierarchy with abstract root
+ checked and unchecked exceptions which more specific concrete exceptions extend.
+ Declaring the root package exceptions abstract avoids code throwing exceptions which are
+ too general. Creating an exception hierarchy allows client code using a particular
+ package to choose the level of exception handling granularity (which in turn simplifies
+ the client code by avoiding unwieldy try..catch clauses). </p>
+ <h4> 5. Preserve all stack trace information and the original exception</h4>
+ <p> Exceptions must always preserve the stack trace and original exception except under
+ special circumstances. When wrapping exceptions to propagate, never modify the stack
+ trace and always include the caught exception as the cause.</p>
+ <h4>6. Only include local information pertinent to the failure</h4>
+ <p> For I18N, contextual information stored in the Exception should not be localized. It
+ should comprise only data pertaining to the cause, such as the name of the artifact as
+ above, or a key that can be used by the top level exception handler. This is needed
+ because the locale used to render the exception may be completely different from the
+ locale used by the code raising the exception. For example, an exception may be thrown
+ on a system whose default locale is German, logged to the system log in English but
+ displayed to the end user in French, Japanese, whatever their native language is. </p>
+ <h4>7. For exceptions that require contextual information from various code layers, either
+ wrap exceptions or create exceptions that can accept additional context as they are
+ propagated up the call stack.</h4>
+ <p> If a failure requires information from multiple levels, e.g. “there was an error setting
+ property X on component Y in module Z? do one of the following. If the initial exception
+ should be wrapped as it is propagated (e.g. the exception occurs at a library boundary),
+ add additional context information in the wrapping exception(s). If the initial
+ exception can be propagated, include methods for adding additional context information
+ as the exception is rethrown up the stack. For example, the previous failure scenario
+ could result in the following exception handling strategy: </p>
+ <ul>
+ <li> A component property is configured with an invalid integer type</li>
+ <li> The property value parsing code attempts to load an integer value using parseInt(),
+ resulting in a NumberFormatException</li>
+ <li> NumberFormatException is wrapped in an InvalidParameterException (IPE) containing
+ the name of the property.</li>
+ <li> IPE extends a more general ConfigException, which has setters for adding additional
+ context information such as component and module names</li>
+ <li> As the IPE is thrown up the stack, the component and module parsers provide
+ additional context information.</li>
+ <li> The configuration loader then wraps the IPE in a ConfigLoadExeption and provides
+ the source from which the configuration is being loaded.</li>
+ <li> The UI being used to load the configuration reports the error to the user and
+ displays the appropriate contextual information</li>
+ </ul>
+ <h4>8. getMessage() must return unformatted context info. If the Exception contains multiple
+ context fields they should be surrounded in square brackets and separated by commas,
+ e.g. "[ property X, component Y, module Z ]"</h4>
+ <h4>9. Do not override the behaviour of Throwable.toString() and Throwable.printStackTrace()</h4>
+ <h4>10. The java.lang.Exception base class is Serializable so all subclasses must provide
+ a serial UID. Any context fields must be Serializable and should be defined in the
+ base java namespace for JDK1.4.</h4>
+ <h4>11. Exceptions that wrap other Exceptions should ensure that any wrapped Exception can
+ be deserialized in a client environment. This may require providing a custom
+ writeObject method to extract any context information from the wrapped Exception
+ during serialization; at a minimum the message should be preserved.</h4>
+ </body>
+</html>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/faq.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/faq.xml
new file mode 100644
index 0000000000..edd1085863
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/faq.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="faq.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>Apache Tuscany - FAQ</title>
+ </properties>
+ <body>
+ <section name="Frequently Asked Questions">
+
+ <ul>
+ <li>
+ Which other open source projects does Tuscany relate to?
+ </li>
+ <p>
+ The Tuscany runtime is linked to the Apache Axis and Apache Tomcat runtimes.
+ </p>
+ <p>
+ The Eclipse SOA Tools Project provides tooling for SOA applications and it is
+ based on the same Service Component Architecture specification that is used by
+ the Tuscany runtime.
+ </p>
+
+ <li>
+ I get null pointer for all samples running Tomcat. What is wrong?
+ </li>
+ This is result of a user error but useful to know anyhow. The build/test instructions say that to run the helloworld tomcat test you go to testing/tomcat and run mvn. This works fine.
+ <br></br>If you forget this instruction and use the "prepareTomcat" ant target that the maven pom refers to, it fails.
+ <p>
+ </p>
+ </ul>
+
+
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/getinvolved.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/getinvolved.xml
new file mode 100644
index 0000000000..e406f0022d
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/getinvolved.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="getinvolved.xml">
+
+ <properties>
+ <author email="mgmarum@us.ibm.com">Tuscany Developer</author>
+ <title>Apache Tuscany - Get Involved</title>
+ </properties>
+
+ <body>
+ <section name="Getting Involved with Apache Tuscany">
+ <p>
+ You can get involved in Apache Tuscany in many different ways. The following are a few suggestions:
+ <ul>
+ <li>
+ Contribute new ideas/requirements that are based on real business experiences to the mailing list to improve Tuscany as a solution for SOA.
+ </li>
+ <li>
+ Answer questions posted to the <a href="mail-lists.html">mailing lists</a>.
+ </li>
+ <li>
+ Contribute to the <a href="faq.html">FAQ</a> or to
+ <script type="text/javascript">linkNewWindow('http://wiki.apache.org/ws/Tuscany','Wiki');</script>
+ </li>
+ <li>
+ Contribute to user or developer <a href="documentation.html">Documentations</a>.
+ </li>
+ <li>
+ Investigate
+ <script type="text/javascript">linkNewWindow('http://issues.apache.org/jira/secure/BrowseProject.jspa?id=12310210','issues');</script>
+ that have been reported and provide patches.
+ </li>
+ <li>
+ Help with development. Check for roadmap on the Wiki.
+ </li>
+ <li>
+ Help with
+ <script type="text/javascript">linkNewWindow('samples/java/GettingStarted.htm','Tuscany Samples');</script>
+ to demonstrate Tuscany's value and help new users understand Tuscany
+ </li>
+ </ul>
+ </p>
+
+ <p>
+ Before you start, join <a href="mail-lists.html">Tuscany mailing list</a>. At the moment we only have one mailing list that handles both developer and user questions.
+ <ul>
+ <li>
+ Subscription: Send a blank email to tuscany-dev-subscribe@ws.apache.org
+ </li>
+ <li>
+ Posting questions to the list: Send your question to tuscany-dev@ws.apache.org
+ </li>
+ </ul>
+ </p>
+
+ <p>
+ You should also review <script type="text/javascript">linkNewWindow('http://www.apache.org/foundation/how-it-works.html','How Apache works');</script>.
+ </p>
+
+ <p>
+ Tuscany holds weekly IRC chats. IRC chats are held weekly on <b>Mondays 15:30 GMT for an hour</b>. The IRC server is <code><b>irc.freenode.net</b></code> and the channel is <code><b>#tuscany</b></code>
+ <script type="text/javascript">linkNewWindow('http://www.irchelp.org/','Internet Relay Chat (IRC) Help');</script>
+ is a good source of
+ information on understanding IRC chats.<br/>
+ The following are some IRC chat clients:
+ <table>
+ <tbody>
+ <tr>
+ <td>
+ mIRC
+ </td>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://www.mirc.com/','http://www.mirc.com/');</script>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Trillian
+ </td>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://www.ceruleanstudios.com/','http://www.ceruleanstudios.com/');</script>
+
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </p>
+
+
+ </section>
+ <section name="How to get involved">
+ <p> Apache Tuscany source code, documentation and web site are managed under version control using Subversion in
+ <script type="text/javascript">linkNewWindow('https://svn.apache.org/repos/asf/incubator/tuscany','Tuscany Subversion Repository');</script>.
+ In this repository structure you will find two main directories
+ <ol>
+ <li> CPP directory holds SCA and SDO C++ source code. </li>
+ <li> Java directory holds SCA, SDO and DAS source code.</li>
+ </ol>
+ We welcome your help with any of the sub projects. You can learn more about how to setup your development environment on <a href="projectjava.html" >Java project page </a> or
+ <a href="projectc++.html">C++ project page</a>.
+
+ </p>
+ </section>
+
+ </body>
+
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/howtobuildsite.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/howtobuildsite.xml
new file mode 100644
index 0000000000..43e9874815
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/howtobuildsite.xml
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="howtobuildsite.xml"><properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>Apache Tuscany - How To Build Site</title></properties><body>
+
+ <section name="Tuscany Site Generation Overview">
+ <p>The Tuscany website is built using the site plugin of Maven 2.0. A general guide to
+ the Maven site plugin can be found <a href="http://maven.apache.org/guides/mini/guide-site.html">here</a>.
+ </p>
+ <p>
+ The website is held in the site subproject of Tuscany, with a set of source files in tuscany/src/site
+ directory. The website project has its own POM file, held in the main site directory.
+ The site is generated using the following command while in site directory.
+ <pre>
+ mvn site
+ </pre>
+ This will generate target/site directory. When you make changes to files intended for the website,
+ please check out the results on your local machine by opening site/target/site/index.htm. You should
+ be able to reach all the other pages from this location.
+ </p>
+ <p>
+ The actual live website for Tuscany is at the URL
+ <a href="http://incubator.apache.org/tuscany/">http://incubator.apache.org/tuscany/</a>. The files for the live
+ website are held on the machine people.apache.org in the directory /www/incubator.apache.org/tuscany.
+ When you want to publish new or updated pages to the live website, use the command
+ <pre>
+ mvn site-deploy
+ </pre>
+ which transfers the site files from the site/target directory on your system to the people.apache.org system and
+ the files go live within a few minutes of the transfer. For site-deploy to work, you must have a userid and
+ password that are valid for the people.apache.org system and you must be a member of the apcvs group, since this
+ is the group with write access to the /tuscany directory. To enable the mvn site-deploy command to work correctly,
+ you need an entry like this in your maven settings.xml file:
+ <pre>
+&lt;servers&gt;
+&lt;!-- server
+| Specifies the authentication information to use when connecting to a particular server, identified by
+| a unique name within the system referred to by the 'id' attribute below.
+|
+| NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
+| used together.
+|
+-->
+
+ &lt;server&gt;
+ &lt;id&gt;website&lt;/id&gt;
+ &lt;username&gt;yourid&lt;/username&gt;
+ &lt;password&gt;yourpassword&lt;/password&gt;
+ &lt;/server&gt;
+
+&lt;/servers&gt;
+ </pre>
+ The settings.xml file can be found in your $MAVEN_HOME/conf directory.
+ </p>
+
+ </section>
+ <section name="Location and Format of the Source Files">
+
+ <p>The source files for the Tuscany site are held in the site/src/site directory. In that
+ directory there is a special file called site.xml which holds the basic layout for all the
+ pages in the site. In particular, site.xml contains the definitions for the left menu bar
+ and for the overall title on each page. Only edit site.xml if you need to add a new top
+ level page to the site.
+ </p>
+ <p>
+ Most of the pages for the site are held in the site/src/xdoc directory. The pages are generally in
+ an XML format, although it is possible to define pages as HTML files. XML files are
+ preferred, since Maven applies a standard layout and style sheet to these pages. If you
+ provide a page as an HTML file, it will appear exactly as you create it - Maven does not
+ modify HTML files as it creates the site.
+ </p>
+ <p>
+ The website landing page is defined by index.xml. The other pages are linked from this
+ page, either via the left sidebar or via explicit links in the body of the page. The
+ following section gives you some details on how to create your own page and link it into
+ the site.
+ </p>
+ <p>
+ Other files are held in the resources directory. These files include things like images
+ (eg. JPEG files) and documents (eg. PDF files). These files can be referenced from the
+ pages in the xdocs directory, without the need for any path - Maven copies the files in
+ the resources directory to the root directory of the website.
+ </p>
+
+ </section>
+ <section name="Creating your own Pages">
+ <p>
+ You can get a good feel for the format of the pages in the Tuscany website by looking at
+ some of the existing files in the xdoc directory. bugs.xml is a good example of a simple
+ page with a reference hyperlink. documentation.xml is an example of a more complex page
+ which has a table. The format of the xml files uses a simple set of elements that
+ approximate to the more common HTML tags. To get a feel for the XML elements, let's use an example
+ of creating a new page called foo.xml.
+ </p>
+ <p>
+ First, create a file called foo.xml in the xdocs directory, similar to the following:
+
+ <pre>
+&lt;document url="foo.xml"&gt;
+&lt;properties&gt;
+ &lt;author email="your_id@blah.com"&gt;Your Name&lt;/author&gt;
+ &lt;title&gt;Apache Tuscany - Foo&lt;/title&gt;
+&lt;/properties&gt;
+&lt;body&gt;
+ &lt;section name="Tuscany Foo"&gt;
+ &lt;p&gt;
+ Welcome to the foo section.
+ Please review the &lt;a href="tuscany_foo.pdf"&gt;Tuscany FOO manual&lt;/a&gt;.
+ You can run foo by typing in the command:
+ &lt;pre&gt;
+ foo bar
+ &lt;/pre&gt;
+ &lt;/p&gt;
+
+&lt;/section&gt;
+&lt;/body&gt;
+&lt;/document&gt;
+ </pre>
+
+ Note the header information with a general title in the properties section - this gets applied to the title line of
+ the browser when the page is displayed. There is a body section, which is the main content
+ of the page. Within the body, each section tag places a heading into the page. Paragraphs
+ are defined using the &lt;p&gt; tags. Hyperlink references can be created using the &lt;a&gt;
+ element. For descriptions of commands and similar text elements, you can use the &lt;pre&gt;
+ element.
+ </p>
+ <p>
+ References like "tuscany_foo.pdf" should be dropped into the site/resources directory. If you want to structure the
+ information in the resources area, you can create subdirectories and then use relative references in the hyperlinks
+ which reference them, such as href="subdirname/tuscany_foo.pdf".
+ </p>
+ <p>If the foo page needs to be linked from the left bar, then a link to foo must be created in the
+ site.xml file which is in the main src/site directory, with the following format:
+
+ <pre>
+...
+&lt;menu name="Tuscany"&gt;
+...
+&lt;item name="Foo" href="foo.html" /&gt;
+&lt;/menu&gt;
+...
+ </pre>
+ Note that the link here is to foo.html, not to foo.xml - foo.html is the name of the page
+ in the final website format.
+ </p>
+ <section name="Preferred Data Formats">
+ <p>
+ When placing materials onto the web site, please use formats that are widely accepted and avoid
+ proprietary formats. So, xdoc format is the preferred style for source web pages since they get
+ the "house style" look and feel of the Tuscany site. HTML files are also acceptable, but they will
+ lack the naviagation features of the xdoc pages (particularly the left bar). If you need to publish
+ longer material, you can use HTML or PDF format. PDF is particularly good for material that users
+ may need to download and keep locally for reference. PDF is also good if you anticipate that the
+ users will need to print the material.
+ </p>
+ <p>Please avoid the use of proprietary format such as Word documents. Not everyone has Microsoft office
+ installed and may find such formats unreadable.
+ </p>
+ </section>
+ </section>
+
+</body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/index.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/index.xml
new file mode 100644
index 0000000000..17ead395b2
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/index.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="index.xml">
+ <properties>
+ <author email="someone@apache.org">someone</author>
+ <title>Apache Tuscany</title>
+ </properties>
+ <body>
+ <section name="Apache Tuscany">
+ <p>
+ Welcome to Apache Tuscany. The Apache Tuscany project is currently in incubation within the
+ Apache Incubator.
+ </p>
+ <p>
+ The Apache Tuscany project simplifies the development of business solutions that use a service-oriented
+architecture. It allows new solutions to be constructed by combining new or existing services within an
+easy to configure service oriented run time with little or no programming. It does this by providing
+implementations for the Service Component Architecture (SCA) and Service Data Object (SDO)
+and providing Data Access Service that supports SDO. Tuscany integrates with well
+established Web Services and server technologies such as Apache Axis2, Apache Tomcat and Geronimo.
+Specifications for SDO and SCA can be found on the <a href="documentation.html">Documentation page</a>
+ </p>
+ <p>
+ SCA provides developers with a simple, business-oriented, model for creating systems based on a service
+ oriented architecture. It manages infrastructure complexities such as transactions, security and reliable
+ messaging and frees the developer to focus on providing business function. The solutions developed using
+ SCA can be changed declaratively to alter infrastructure capabilities or application configuration properties
+ to meet changing business requirements. For example, infrastructure capabilities such as security policies
+ may change from one environment to another and can be changed without the need for re-implementation.
+ Application configuration may also be changed in this way, for example, the currency quoted by a stock
+ quote feed may be changed though the SCA configuration mechanism.
+ </p>
+ <p>
+ SCA divides up the steps in building a service-oriented application into two major parts:
+ <ul>
+ <li>
+ The Implementation of components which provide services and consume other services. SCA
+ supports service implementations written using any one of many programming languages, both including
+ conventional object-oriented and procedural languages such as Java<sup>tm</sup>, PHP, C ++. XML-centric languages
+ such as BPEL and XSLT, and also declarative languages such as SQL and XQuery. SCA also supports a
+ range of programming styles, including asynchronous and message-oriented styles, in addition to the
+ synchronous call-and-return style.
+</li>
+<li>
+The Assembly of sets of components to build composite business applications that addresses specific business requirements. This is performed by wiring together the service implementation components.
+</li>
+</ul>
+ For more information about SCA read the white paper Service Component Architecture-Building Systems using a Service Oriented Architecure on the <a href="documentation.html">Documentation page</a>.
+The Tuscany project provides runtime implementation of SCA in both Java and C++.
+ </p>
+ <p>
+ SDO enables developers to focus on data processing rather than the specific nature of data retrieval mechanisms as data arrives at and is dispatch from a service.
+ SDO provides a consistent mechanism for describing and manipulating data regardless of data resource target or source types and the environment in which the data is to be processed.
+ It maintains a change history for data as well as ensuring referential integrity based on a defined schema.
+ To further understand the benefits of SDO please refer to the "Next Generation Data Programming: Service
+ Data Objects"on the <a href="documentation.html">Documentation page</a>.
+ Tuscany implements SDO in Java and C++. A PHP implementation of SDO is also available under <script type="text/javascript">linkNewWindow('http://pecl.php.net/package/sdo','PECL' );</script>.
+ </p>
+ <p>
+RDB DAS provides a generic data access service that provides transformation capability between SDO data graphs and relational databases and vise versa.
+To further explore the benefits of DAS please refer to white paper "DAS White Paper: The Data Access Service" on the <a href="documentation.html">Documentation page</a>.
+ </p>
+<p>
+You can get a feel for what it's like to create simple applications using Tuscany by trying out the sample programs that are supplied with the Tuscany project.
+For Java look at the <a href="installjava.html" >Installation instructions for Java Projects</a> page and then follow the Samples README.
+For C++ go to the <a href="installcpp.html" >Installation Instructions for C++ Projects</a> page.
+ </p>
+ <p>
+The specifications for SDO and SCA can be found on the <a href="documentation.html">Documentation page</a>:<br/>
+<ul>
+<li>
+The SCA 0.9 Assembly Model specification
+</li>
+<li>
+The SCA 0.9 Client and Implementation Model specifications - for Java and for C++
+</li>
+<li>
+The SDO 2.01 specifications - for Java and for C++
+</li>
+</ul>
+ </p>
+ <p> <B> Tuscany is very interested in getting your comments or any feedback that you may have. </B> Please feel free
+ to post these on the mailing lists. Mailing list information is available in the <a href="mail-lists.html">Project Mailing Lists</a> section.
+ We look forward to your involvement in Tuscany.
+ </p>
+ </section>
+ <section name="Tuscany Subprojects">
+ <p>
+ Tuscany consists of 5 subprojects, each dealing with different aspects of the SOA programming model:
+ <ol>
+ <li>SCA Runtime for Java</li>
+ <li>SDO 2.0 Runtime for Java</li>
+ <li>Data Access Service for Java</li>
+ <li>SCA Runtime for C++</li>
+ <li>SDO 2.0 Runtime for C++</li>
+ </ol>
+ </p>
+ </section>
+ <section name="What's New?">
+ <p>
+ (March 6 2006) The codebase has reached a first stable milestone at SVN revision 383106.
+ Both the Java and C++ projects have advanced to provide end-to-end support for a range of
+ scenarios. For the Java project, the codebase now integrates with Apache Tomcat 5.5.15 and Axis 2.0.
+ There is a substantial set of working samples for the SCA, SDO and DAS subprojects, which can run on
+ Windows, Linux and Mac. There is also support for writing service components in Javascript.
+ </p>
+ <p>
+ With this combination you can write service components that provide Web services or that provide
+ business services supporting a Web UI based on Servlets and JSPs.
+ </p>
+ </section>
+
+ <section name="History">
+ <p>
+ (March 6 2006) The codebase has reached a first stable Java milestone at SVN revision 383106 and a first
+ a first C++ milestone at SVN revision 383564.
+ </p>
+ <p>
+
+ (Jan 10 2006) Tuscany project initial implementation published with intention to add a lot of additional
+ function over the coming weeks and months, such as support for additional implementation types and
+ for additional bindings. We're looking for people to
+ help us add these capabilities
+
+ </p>
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/installcpp.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/installcpp.xml
new file mode 100644
index 0000000000..b49704a671
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/installcpp.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="install.xml">
+
+ <properties>
+
+ <author email="mgmarum@us.ibm.com">Matthew Marum</author>
+
+ <title>Apache Tuscany - Installation Instructions for C++ Projects</title>
+ </properties>
+
+ <body>
+
+ <section name="Installation Instructions for C++ Projects">
+ <p>This page describes what you need to know to install the C++ Projects of Tuscany.</p>
+
+ <p>If you haven't already, the first step is to download the latest release of Apache Tuscany from our <a href="download.html">Downloads</a> page.</p>
+
+ <p>The current status of the SCA project is held in this <a href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/readme.txt ">readme.txt</a>.</p>
+
+ </section>
+
+ <section name="System Requirements">
+ <p>In order to run the Tuscany C++ runtimes there are some minimum system requirements</p>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>Operating System</td>
+ <td>
+ <ul>
+ <li>Windows XP SP2</li>
+ <li>Linux: Red Hat Fedora Core </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>Other components</td>
+ <td>
+ <ul>
+ <li><a href="http://ws.apache.org/axis/">
+ Apache Axis (C++) 1.5
+ </a></li>
+ <li><a href="http://xml.apache.org/xerces-c/">
+ Xerces C++ XML Parser 2.2
+ </a>
+ </li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+
+ <section name="Configuring Apache Tuscany">
+ <p>You can find detailed instructions on how to configure the C++ runtime and tools in the
+ <a href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/build.txt">build.txt</a> file.</p>
+ <p>You can find instructions on how to build the SCA C++ runtime here:
+ <a href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/INSTALL">INSTALL</a>.</p>
+ <p>You can find instructions on how to build the SDO C++ runtime here:
+ <a href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sdo/INSTALL">INSTALL</a>.</p>
+ </section>
+
+</body>
+
+
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/installjava.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/installjava.xml
new file mode 100644
index 0000000000..0a47976062
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/installjava.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 the apache software foundation or its licensors, as applicable.
+
+ licensed 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.
+ -->
+<document url="install.xml">
+
+ <properties>
+
+ <author email="mike_edwards@uk.ibm.com">mike edwards</author>
+
+ <title>apache tuscany - Installation instructions for Java projects</title>
+ </properties>
+
+ <body>
+
+ <section name="Installation Instructions for JAVA projects">
+ <p>This page describes what is needed to install and run Tuscany SCA, SDO and DAS for Java.
+ </p>
+
+ <p>if you haven't already, the first step is to download the latest release of apache tuscany from our <a href="download.html">downloads</a> page.
+ </p>
+
+ </section>
+
+ <section name="System Requirements">
+ <p>in order to run the tuscany java projects there are some minimum system requirements</p>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr> <!-- heading -->
+ <td><b>Software</b></td>
+ <td><b>Download Link</b></td>
+ <td><b>Download Instructions </b></td>
+ </tr>
+ <tr>
+ <td>jdk</td>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://java.sun.com/j2se/1.5.0/download.jsp','jdk 5.0');</script>
+ </td>
+ <td>Steps for Java setup is <a href="#setup JDK 5.0">here</a>. </td>
+ </tr>
+ <tr>
+ <td>operating system</td>
+ <td>
+ <ul>
+ <li>windows xp sp2</li>
+ <li>linux: red hat fedora core </li>
+ </ul>
+ </td>
+ <td></td>
+ </tr>
+ <tr> <!--mvn -->
+ <td> Apache Maven 2.0.4 </td>
+ <td><script type="text/javascript">linkNewWindow('http://maven.apache.org/download.html','Maven 2.04');</script> </td>
+ <td>
+ You would use maven to build samples if you wish to. Instruction for downloading mave 2.0.4 and building samples is <a href="#setup maven">here</a>.
+
+ </td>
+ </tr> </tbody>
+ </table>
+ </section>
+
+
+ <a name="setup JDK 5.0"></a>
+<section name="Downloading and Installing the Java JDK 5.0">
+<ul>
+ <li>
+ Point your Web browser to <script type="text/javascript">linkNewWindow('http://java.sun.com/j2se/1.5.0/download.jsp','jdk 5.0');</script>.
+ </li>
+ <li>
+ Select "Download JDK 5.0 Update 6".
+ </li>
+ <li>
+ Accept the License agreement, then select Windows Online Installation,
+ Multi-language - jdk-1_5_0_06-windows-i586-p-iftw.exe. </li>
+ <li>
+ Download jdk-1_5_0_06-windows-i586-p-iftw.exe to the C:\tuscany directory.
+ </li>
+ <li>
+ From the command prompt do the following:
+ <pre>
+ jdk-1_5_0_06-windows-i586-p-iftw.exe
+ This will run the JDK 5.0 Installation Wizard. Accept the License agreement,
+ then proceed through the pages of the wizard. Accept all the default options.
+
+ After a few minutes the installation will complete.
+ You should see the following: <br></br>
+ <img alt="installation result" src="jdkinstall.jpg"/>
+
+ Press Finish to close the installation wizard.
+ </pre>
+ </li>
+ <li>
+ Create a new .bat file C:\tuscany\setenv.bat and add the following line:
+ <pre>
+ set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_06
+ </pre>
+ </li>
+</ul>
+</section>
+
+
+
+<a name="setup maven"></a>
+<section name ="Setup Maven and Build Samples">
+ <p>
+ <b> Download and Setup </b>
+ </p>
+<ul>
+ <li>
+ Point your Web browser to <script type="text/javascript">linkNewWindow('http://maven.apache.org/download.html','http://maven.apache.org/download.html');</script>.
+ </li>
+ <li>
+ Select "Maven 2.0.4 (zip) - maven-2.0.4-bin.zip".
+ </li>
+ <li>
+ Download maven-2.0.4-bin.zip to the C:\tuscany directory.
+ </li>
+ <li>
+ From the command prompt do the following:
+ <pre>
+ unzip maven-2.0.4-bin.zip
+ </pre>
+ This will extract Maven 2.0.4 to the C:\tuscany\maven-2.0.4 directory.
+ </li>
+ <li>
+ Modify C:\tuscany\setenv.bat and add the following line:
+ <pre>
+ set PATH=%PATH%;C:\tuscany\maven-2.0.4\bin
+ </pre>
+ </li>
+</ul>
+<p>
+ <b> Build Samples </b>
+ <br></br>
+ You are now ready to build samples. For example, go to samples/sca/helloworld and issue the following command to build it.
+ <br> </br>
+ <pre>
+ mvn
+ </pre>
+ </p>
+</section>
+</body>
+
+
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/javadocinfo.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/javadocinfo.xml
new file mode 100644
index 0000000000..df3d8e5dd4
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/javadocinfo.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="javadocinfo.xml">
+ <properties>
+ <author email="hmahbod@gmail.com"></author>
+ <title>Apache Tuscany -Javadoc</title>
+ </properties>
+ <body>
+ <section name="Javadoc for SCA, SDO and DAS">
+
+ <p>
+ To be provided.
+ </p>
+
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/maven.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/maven.xml
new file mode 100644
index 0000000000..390b598679
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/maven.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="maven.xml">
+
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>Apache Tuscany Maven Quick Introduction</title>
+ </properties>
+
+ <body>
+<a name="using maven"></a>
+<section name="Maven Quick Reference">
+ <p>
+ For some help getting started with Maven, look at:
+ <script type="text/javascript">linkNewWindow('http://maven.apache.org/guides/getting-started/index.html','http://maven.apache.org/guides/getting-started/index.html');</script>
+ </p>
+ <p>
+ With Maven, there is no build "script" like the ant build.xml file. Instead you
+ provide Maven with a description of your project and it uses that information to
+ determine how to achieve your build goal. The description is held in a pom.xml file.
+ There is a pom.xml file at the top level of your project and there are subsidiary
+ pom.xml files for modules within your project which are referenced from the top level
+ pom file. The Maven project has also established a set of best practices for
+ structuring builds and if you follow those you can get away with very little
+ description; the Tuscany builds are set up that way.
+ </p>
+ <p>
+ The general rule for maven is that each (sub)project produces one build artifact
+ (typically a jar file). You can see this in the java project directory where
+ there are separate projects for sca, sdo, das (etc) and within these, separate
+ folders and pom files for major components such as container.java.
+ </p>
+ <p>
+ The main Maven 2.x command is "mvn" and the default goal is "install" which will
+ compile, unit test and package each project. This will typically output a
+ jar file that is installed locally so that other projects can depend on it.
+ </p>
+ <p>
+ Once you have the Java project setup up, you can build the project by issuing the following command in the tuscany root directory:<br/>
+ <code>
+ mvn
+ </code>
+
+ </p>
+ </section>
+
+ </body>
+
+
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/news.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/news.xml
new file mode 100644
index 0000000000..c3f851d906
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/news.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="news.xml">
+
+ <properties>
+
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+
+ <title>Apache Tuscany - News</title>
+ </properties>
+
+ <body>
+
+ <section name="Tuscany News" />
+
+ <p>
+ This page contains latest Tuscany News.
+ </p>
+<p><b>May 16-19 2006 -- JavaOne (San Francisco, USA)</b><br />
+<br />
+Various community members will be presenting SCA, SDO. There is also a BOF session for Tuscany on Thursday.
+</p>
+ <p><b>March 6 2006 -- A stable level of source code is available for both Java and C++ </b><br />
+<br />
+To get the Java project up and running on your system see the <script type="text/javascript">linkNewWindow('projectjava.html','Java Project Page');</script>.
+ <br></br>
+ Use the following SVN checkout command to get this version:
+ <pre> svn co -r 383106 http://svn.apache.org/repos/asf/incubator/tuscany/java
+ </pre>
+ Highlights for the Java project in this build:
+ <ul>
+ <li>SCA, SDO and DAS subprojects all have functional samples working, including the large BigBank sample.</li>
+ <li>Axis2 is supported for Web services.</li>
+ <li>Support for Javascript components</li>
+ </ul>
+ </p>
+<p><b>January 10 2006 -- Tuscany Project Initial Implementation</b><br /><br />
+We're looking to add a lot of additional function over the coming weeks and months, such as support for additional implementation types and for additional bindings. We're looking for people to help us add these capabilities - so please take some time to look over the project and join us in this exciting developement.
+ </p>
+ <p>
+The current codebase is designed to work with the Apache Tomcat runtime, and uses the Apache Axis runtime to provide support
+for Web services. With this combination, you can write service components that can be used to provide Web services or which
+can be used to provide business services behind Servlets and JSPs.
+ </p>
+
+ </body>
+
+
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/patches.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/patches.xml
new file mode 100644
index 0000000000..1662c2a486
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/patches.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="patches.xml">
+ <properties>
+ <author email="hmahbod@gmail.com">Haleh Mahbod</author>
+ <title>Apache Tuscany - Patches</title>
+ </properties>
+ <body>
+ <section name="Creating and Submitting a Patch">
+ Thank you for helping Tuscany project. Here are the steps to follow to create and submit a patch.
+ <ul>
+ <li>
+ <p>
+ <b> Check out the latest version </b> of source code from Subversion.
+ If you have a version checked out already,
+ do a fresh update before you make your changes.
+ </p>
+
+ <p>
+ You can find information about how to setup development environment <a href="projectjava.html"> for Java </a> or <a href="projectc++.html"> for C++ </a> here.
+ </p>
+ </li>
+
+ <li>
+ <p>
+ Please do a <b>full build with all tests enabled </b>. Try the following for Java projects:
+ </p><p>
+ <code>
+
+ maven -o clean new
+ </code>
+ </p>
+ </li>
+
+ <li>
+ <p>
+ <b>Confirm</b> that the problem is actually fixed and include a test case in the patch where possible.
+ </p>
+ </li>
+
+ <li>
+ <p>
+ <b>Generate a patch</b> by issuing the following command from tuscany directory.
+ </p><p>
+ <code>
+ svn diff File >> patchfile
+ </code>
+ </p><p>
+ Please try to give your patch files meaningful names. This helps the developer
+ who applies a number of different patches. A recommendation is to use the JIRA
+ issue number as part of patch file name. For example
+ </p>
+ <p>
+ <code>
+ svn diff File >> File312
+ </code>
+ <br></br>
+ In this example, the number 312 is a JIRA issue number associated with this patch.
+ </p>
+
+ </li>
+
+ <li>
+ <p> Add your patch file as an attachment to the JIRA issue that it is fixing.</p>
+ <p>
+ Please include detailed steps to reproduce the problem in the issue description
+ so that the patch can be properly verified after it is applied.
+ </p>
+ </li>
+ <li>
+ <p>Thank you! Your patch will be picked up for review. </p>
+ </li>
+ </ul>
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/phpproject.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/phpproject.xml
new file mode 100644
index 0000000000..c600ab4740
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/phpproject.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="phpproject.xml">
+
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+
+ <title>The SDO for PHP Project</title>
+ </properties>
+
+ <body>
+
+ <section name="The SDO for PHP Project" />
+
+ <p>
+ In addition to the Apache Tuscany projects which provide implementations of SDO and SCA for Java and
+ for C++, there is an open source implementation of SDO for PHP hosted on the PECL site
+ at <a href="http://pecl.php.net/package/sdo"> http://pecl.php.net/package/sdo </a>.
+ </p>
+ <p>
+ There is an overview of SDO for PHP at
+ <a href="http://www.zend.com/pecl/tutorials/sdo.php"> http://www.zend.com/pecl/tutorials/sdo.php </a>
+ and you can find full documentation in the PHP Manual at
+ <a href="http://php.net/manual/en/ref.sdo.php"> http://php.net/manual/en/ref.sdo.php </a>.
+ </p>
+
+ </body>
+
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/projectc++.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/projectc++.xml
new file mode 100644
index 0000000000..1712818e2d
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/projectc++.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="projectc++.xml">
+
+ <properties>
+
+ <author email="slattery@uk.ibm.com">Edward Slattery</author>
+
+ <title>Apache Tuscany - project Development Instructions for C++ Projects</title>
+ </properties>
+
+ <body>
+
+ <section name="Tuscany C++ Project">
+ <p>
+ The main Tuscany project repository is located at https://svn.apache.org/repos/asf/incubator/tuscany
+. You can use SVN to check out the entire project, and you will get both the java and C++ repositories.
+Alternatively you can check out just the cpp directory at
+https://svn.apache.org/repos/asf/incubator/tuscany/cpp, to get the SCA and SDO implementations for
+C++. </p>
+
+ <section name="Building Apache Tuscany for C++">
+ <p>You can find detailed instructions on how to configure the C++ runtime and tools in the
+ <a href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/build.txt">build.txt</a> file.</p>
+ <p>You can find instructions on how to build the SCA C++ runtime here:
+ <a href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/INSTALL">INSTALL</a>.</p>
+ <p>You can find instructions on how to build the SDO C++ runtime here:
+ <a href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sdo/INSTALL">INSTALL</a>.</p>
+ </section>
+
+ <p>The current status of the SCA project is held in this <a href="http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/readme.txt ">readme.txt</a>.</p>
+
+ </section>
+
+ <section name="System Requirements">
+ <p>In order to run the Tuscany C++ runtimes there are some minimum system requirements</p>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>Operating System</td>
+ <td>
+ <ul>
+ <li>Windows XP SP2</li>
+ <li>Linux: Red Hat Fedora Core </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>Other components</td>
+ <td>
+ <ul>
+ <li><a href="http://ws.apache.org/axis/">
+ Apache Axis (C++) 1.5
+ </a></li>
+ <li><a href="http://xml.apache.org/xerces-c/">
+ Xerces C++ XML Parser 2.2
+ </a>
+ </li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </section>
+
+</body>
+
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/projectjava.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/projectjava.xml
new file mode 100644
index 0000000000..35d09424fc
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/projectjava.xml
@@ -0,0 +1,358 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+ <document url="projectjava">
+ <properties>
+ <title>Apache Tuscany - Setting up Tuscany Java Project </title>
+ </properties>
+ <body>
+<section name="Tuscany JAVA Project">
+<p>
+ <ol>
+
+ <li><a href="#System requirements">System requirements</a></li>
+ <li><a href="#Enviroment scripts">Environment Scripts- <i>template scripts to setup your environment</i>.</a></li>
+ <li><a href="#checkout and build tuscany">Checkout and build Tuscany Java project</a></li>
+ <li><a href="#run samples">Running samples</a></li>
+ <li> <script type="text/javascript">linkNewWindow('patches.html','Create and submit a patch');</script></li>
+ <li> <script type="text/javascript">linkNewWindow('javadoc/index.htm','javadoc');</script></li>
+ <li> <script type="text/javascript">linkNewWindow('codeguidelines.html','Java Coding Guidelines');</script></li>
+ <li><a href="#using eclipse">Using Eclipse for IDE</a></li>
+ <li><a href="#using idea">Using IDEA style templates</a></li>
+ <li><a href="#Logging">Logging</a></li>
+ </ol>
+</p>
+</section>
+
+<a name="System requirements"></a>
+<section name="System requirements">
+ <p>
+ Next, please download the following in order to get your machine ready for Java development.
+ <br></br>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr> <!-- heading -->
+ <td><b>Software</b></td>
+ <td><b>Download Link</b></td>
+ <td><b>Download Instructions</b></td>
+ </tr>
+ <tr>
+ <td>JDK 5.0 Update 6 or later</td>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://java.sun.com/j2se/1.5.0/download.jsp','jdk 5.0');</script>
+ </td>
+ <td>Steps for Java setup is <a href="#setup JDK 5.0">here</a>. </td>
+ </tr>
+ <tr> <!--mvn -->
+ <td> Apache Maven 2.0.4 or later</td>
+ <td><script type="text/javascript">linkNewWindow('http://maven.apache.org/download.html','Maven 2.04');</script> </td>
+ <td>
+ <ul>
+ <li>
+ We are using Maven 2 to build Tuscany, plus a few Ant scripts. Steps for Maven setup is <a href="#setup maven">here</a>.
+ </li>
+ <li>
+ A quick reference on Maven is available <script type="text/javascript">linkNewWindow('maven.html','here');</script>
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr> <!--ant -->
+ <td> Apache Ant 1.6.5 or later</td>
+ <td><script type="text/javascript">linkNewWindow('http://ant.apache.org/bindownload.cgi','Ant');</script> </td>
+ <td> Steps for Ant setup is <a href="#setup ant">here</a>. </td>
+ </tr>
+ <tr> <!--svn -->
+ <td>Subversion 1.3.0 or later </td>
+ <td> <script type="text/javascript">linkNewWindow('http://subversion.tigris.org/project_packages.html','Subversion');</script></td>
+ <td>
+ <ul>
+ <li>Tuscany source code is stored in a Subversion (SVN) repository, you need Subversion to download it. Steps for svn setup is <a href="#setup subversion">here</a>. </li>
+ <li> A quick reference for subversion commands is <script type="text/javascript">linkNewWindow('quicksubversion.html','here');</script></li>
+ <li><i>Note: Some linux distributions may already have a subversion client installed. try executing "svn --version"</i></li>
+ </ul>
+ </td>
+ </tr>
+ <tr><!--tomcat -->
+ <td> Apache Tomcat 5.5.17 </td>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://tomcat.apache.org/','apache tomcat 5.5');</script>
+ </td>
+ <td>
+ This is the Web container that we integrate with, to allow you to use the SCA programming
+ model in Web applications.
+ Steps for Tomcat setup is <a href="#setup tomcat">here</a>.
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br></br>
+
+</p>
+</section><!-- system requirement for development -->
+
+
+<section name="Creating a tuscany directory">
+Open a Command Prompt window, then from the command prompt create a directory named "tuscany":
+This is the directory where we're going to check out the Tuscany code from subversion.
+</section>
+<section name="Environment scripts">
+<p>There is a windows <a href='setenv.bat'>setenv.bat</a> and a linux <a href='setenv.sh'>setenv.sh</a> script that you can
+download by right clicking and "selecting save as..." You can edit these scripts
+ with the below described environment variables to set up your environment any time by running them. On linux you invoke the shell script with
+ <pre>
+ . ./setenv.sh
+ </pre>
+</p>
+</section>
+ <a name="setup JDK 5.0"></a>
+<section name="Downloading and installing the Java JDK 5.0">
+<ul>
+ <li>
+ Download and extract the appropriate JDK for your operating system from <script type="text/javascript">linkNewWindow('http://java.sun.com/j2se/1.5.0/download.jsp','http://java.sun.com/j2se/1.5.0/download.jsp');</script>.
+ </li>
+ <li>
+ set the JAVA_HOME environment variable to point to the root directory of where you extracted java download.
+ </li>
+ <li>
+ Add to your PATH environment variable to include the full path to the <b>bin</b> subdirectory of the JDK download package.
+ </li>
+</ul>
+</section>
+
+<a name="setup maven"></a>
+<a name="setup maven"></a>
+<section name ="Downloading and installing Apache Maven">
+<ul>
+ <li>
+ Download and extract Maven 2.0.4 or later from <script type="text/javascript">linkNewWindow('http://maven.apache.org/download.html','http://maven.apache.org/download.html');</script>.
+ </li>
+ <li>
+ Add to your PATH environment variable to include the the full path to the <b>bin</b> subdirectory of the Maven download package.
+ </li>
+</ul>
+</section>
+<a name="setup ant"></a>
+<section name ="Downloading and installing Apache Ant">
+<ul>
+ <li>
+ Download and extract Ant 1.6.5 or later from <script type="text/javascript">linkNewWindow('http://ant.apache.org/bindownload.cgi','http://ant.apache.org/bindownload.cgi');</script>.
+ </li>
+ <li>
+ Add to your PATH environment variable to include the the full path to the <b>bin</b> subdirectory of the Ant download.
+ </li>
+</ul>
+</section>
+<a name="setup subversion"></a>
+<section name ="Downloading and installing Subversion">
+<ul>
+ <li>
+ Download and extract Subversion 1.3.1 or later from <script type="text/javascript">linkNewWindow('http://subversion.tigris.org/project_packages.html','http://subversion.tigris.org/project_packages.html');</script>.
+ </li>
+ <li>
+ Modify your path statement to include the full path to the subversion <b>bin</b> directory.
+ </li>
+ <p><i>Note: For linux you may need to install subversion as root </i></p>
+</ul>
+<p> A quick reference for subversion commands is <script type="text/javascript">linkNewWindow('quicksubversion.html','here');</script></p>
+</section>
+
+<a name="setup tomcat"></a>
+<section name ="Download and Setup Tomcat">
+ <ul>
+ <li>
+ Dowload apache-tomcat-5.5.17 <script type="text/javascript">linkNewWindow('http://mirrors.ibiblio.org/pub/mirrors/apache/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.zip','apache-tomcat-5.5.17.zip');</script> for Windows or
+ <script type="text/javascript">linkNewWindow('http://mirrors.ibiblio.org/pub/mirrors/apache/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.tar.gz','apache-tomcat-5.5.17.tar.gz');</script> for Linux
+ to the <B>tuscany\java\distribution\tomcat-overlay directory</B>. Do not unpack.
+ </li>
+ </ul>
+</section>
+
+<a name="checkout and build tuscany"></a>
+<section name ="Checkout and Build Tuscany">
+ <p>
+ <b>Check out Tuscany Java</b>
+ </p>
+ <p>
+ From the command prompt, in the <B>tuscany</B> directory do the following:
+ <br></br>
+ <code>
+ svn co http://svn.apache.org/repos/asf/incubator/tuscany/java
+ </code>
+ <br></br>
+ This should check out all the source code from the Tuscany SVN repository into java sub directory.
+</p>
+<p>
+</p>
+<p>
+ <b> Build Tuscany Java </b>
+</p>
+<p>
+ When the check out completes change to the <b>java</b> subdirectory.
+ From the command prompt do the following build tuscany using maven:
+ <pre>
+ mvn
+ </pre>
+This will build the Tuscany runtime with Maven. Maven will download all the JAR dependencies, build all the Tuscany sub-projects and run the unit tests.
+</p>
+<p>
+<i><b>Note:</b> Depending on the load of remote Mavan 2.0 repositories you may have to execute mvn several time until required
+ dependencies are all located in your local maven repository. After you have completed a full successful build you
+ can use "mvn -o" which is much faster.</i>
+</p>
+</section>
+<a name="run samples"></a>
+<section name ="Running The Samples">
+ <p>Run the samples by building the distribution.</p>
+ <ul>
+ <li>
+ Change the directory to the tuscany\java\distribution
+ </li>
+ <li>
+ Run build-dist.bat (for win32 platforms), or build-dist.sh (for linux)
+ </li>
+ <li>
+ Change the directory tuscany\java\distribution\target\tuscany-dist
+ </li>
+ <li>
+
+ Follow the directions in <script type="text/javascript">linkNewWindow('samples/java/GettingStarted.htm#Starting the Server','GettingStarted.htm');</script>.
+ </li>
+ </ul>
+
+</section>
+<a name="using eclipse"></a>
+<section name="Using Eclipse (optional)">
+ <p>
+ <span style="font-size: 10pt;">
+ Link to Eclipse download :
+ <span>
+ <a
+ href="http://www.eclipse.org/downloads/index.php">
+ http://www.eclipse.org/downloads/index.php
+ </a>
+ </span>
+ </span>
+ </p>
+ <p>
+ Getting Started documentation:
+ <a href="http://www.eclipse.org/downloads/index.php">
+ http://www.eclipse.org/downloads/index.php
+ </a>
+ </p>
+ <p>
+ To create the eclipse projects to use for SCA development:
+ </p>
+ <p>
+ 1) When checking code out from subversion, checkout the
+ subversion trunk to a location outside your eclipse
+ workspace (it has to be outside because Eclipse will
+ not allow you to import projects from a location
+ overlapping with your workspace)
+ </p>
+ <p style="margin-left: 0.5in; text-indent: -0.25in;"><!--[if !supportLists]-->
+ 2) Go to Import / Existing projects into workspace.
+ <span style="" />
+ Select either the runtime, spec, tools or samples
+ directory.
+ <span style="" />
+ The wizard proposes the list of Eclipse projects
+ under that directory. Importing the projects does
+ not copy the files; it just makes the files at that
+ location visible under an Eclipse project.
+ </p>
+ <p>
+ 3) If you need to use Eclipse to edit files outside of
+ these projects (for example the etc directory, or
+ the maven files at the root of the trunk), then
+ delete the Eclipse projects, with the option to not
+ delete the files, and import the whole trunk as a
+ project.
+ </p>
+ </section>
+ <section name="Using Eclipse style templates">
+ If you are using Eclipse, Tuscany has a preferred Java coding style. Please use the
+ <a href='http://svn.apache.org/repos/asf/incubator/tuscany/java/etc/tuscany-eclipse-codestyle.xml'>tuscany-eclipse-codestyle.xml</a> in Eclipse.
+ <br/>Download this file. <i>You may need to right click and save.</i>
+ Then in Eclipse:<br/>
+ <pre>
+ Window->Preferences-&gt;Java-&gt;Code-Style-&gt;Formatter-&gt;Import...
+ <i>(Specify path and file to the tuscany-eclipse-codestyle.xml just downloaded. </i>
+ </pre>
+ </section>
+ <section name="Using Subclipse (optional)">
+ <p>
+ Install the Subversion Eclipse Plugin as described here:
+ <a href="http://subclipse.tigris.org/">http://subclipse.tigris.org/
+ </a>
+ </p>
+ <ol>
+ <li>
+ Open the SVN Repository Exploring perspective
+ </li>
+
+ <li>
+ Right click in the SVN Repository view.
+
+ </li>
+ <li>Select "New" and "Repository Location"
+
+ </li>
+ <li>
+ Url:
+ <a href="http://svn.apache.org/repos/asf/incubator/tuscany">
+ http://svn.apache.org/repos/asf/incubator/tuscany
+ </a>
+ <p>
+ Use URL https://svn.apache.org/repos/asf/incubator/tuscany if you
+ have committer rights and need to commit changes back to the repository.
+ </p>
+ </li>
+ <li>
+ Select the "Finish" button and allow Subeclipse time to access the repository and
+ display its contents in the SVN Repository explorer. Once the repository is displayed
+ in the explorer, you will see a number of subfolders displayed. The ones that are
+ relevant are "java", "cpp" and "site" - which contain the Tuscany Java runtime, the
+ Tuscany C++ runtime and the Tuscany website material respectively.
+ </li>
+ <li>
+ Select the folder you want to check out as a project - one of java, cpp or site for example
+ Right click, select "Checkout" and "Checkout using new project wizard" - select the appropriate
+ options for your needs and then click "Finish"
+ </li>
+ </ol>
+ <p>
+ You can check in changes using the "Commit" item in the team submenu of the Java perspective.
+ </p>
+ </section>
+<a name="using idea"></a>
+ <section name="Using IDEA style templates">
+ If you are using IDEA IDE, Tuscany has a preferred Java coding style. Please use the
+ <a href='http://svn.apache.org/repos/asf/incubator/tuscany/java/etc/tuscany-idea-codestyle.xml'>tuscany-idea-codestyle.xml</a> in IDEA
+ <br/>Download this file. <i>You may need to right click and save.</i>
+ <pre>
+ copy tuscany-idea-codestyle.xml to ~/.IntelliJIdea50/config/codestyles
+ File-&gt;Settings, Project Code Styles, Import
+ </pre>
+ </section>
+<a name="Logging"></a>
+ <section name="Logging">
+ For more information regarding how to add logging to your code you can review
+ <script type="text/javascript">linkNewWindow('monitoring.htm','Tuscany Monitoring');</script>
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/quicksubversion.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/quicksubversion.xml
new file mode 100644
index 0000000000..876322498f
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/quicksubversion.xml
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+ <document url="quick subversion.xml"> <!-- this is useful to both Java and C++ -->
+ <properties>
+ <author email="hmahbod@gmail.com">Haleh Mahbod</author>
+ <title>Apache Tuscany - Quick Reference for Subversion</title>
+ </properties>
+ <body>
+
+ <a name="using subversion"></a>
+ <section name="Using Subversion (Command Line)">
+ <p>
+ You can download Subversion from
+ <script type="text/javascript">linkNewWindow('http://subversion.tigris.org/','http://subversion.tigris.org/');</script>.
+ </p>
+ <p>
+ Subversion Reference manual ("the book") is located at
+ <script type="text/javascript">linkNewWindow('http://svnbook.red-bean.com/','http://svnbook.red-bean.com/');</script>.
+ </p>
+ <p>
+ <span style="font-size: 10pt;">
+ If you use Eclipse as your development environment, there is a plugin available
+ which enables you to use Subversion from within Eclipse (ie it is a Subversion
+ client for Eclipse). This plugin is called Subclipse and it is located at:
+ <script type="text/javascript">linkNewWindow('http://subclipse.tigris.org/','http://subclipse.tigris.org/');</script>
+ </span>
+ </p>
+ <p style="margin-right: -0.25in;">
+ <span style="font-size: 10pt;">
+ If you use Windows on your systems, there is also a graphical client implemented as an
+ extension to the Windows shell, called TortoiseSVN:
+ <span style="" />
+ http://tortoisesvn.tigris.org/
+ </span>
+ </p>
+ <span style="font-size: 14pt;">
+ Common Commands for Subversion
+ </span>
+ <p>Create a directory called tuscany and check out the project.
+ <p>
+ <b style="">
+ <i style="">To check out the Java project:</i>
+ </b>
+ </p>
+ </p>
+ <pre>
+Committers:
+svn co https://svn.apache.org/repos/asf/incubator/tuscany/java
+Non-Commiters:
+svn co http://svn.apache.org/repos/asf/incubator/tuscany/java
+ </pre>
+ <p>
+ <b style="">
+ <i style="">To check out the C++ project:</i>
+ </b>
+ </p>
+ <pre>
+Committers:
+svn co https://svn.apache.org/repos/asf/incubator/tuscany/cpp
+Non-Commiters:
+svn co http://svn.apache.org/repos/asf/incubator/tuscany/cpp
+ </pre>
+ <p>
+ If it worked, you will see all the files as they
+ checkout followed by a revision number - this is the
+ version of the tree that you have (useful for comparing notes)
+ </p>
+ <p>
+ <b style="">
+ <i style="">
+ To update your copy with other's people's committed changes:
+ </i>
+ </b>
+ </p>
+ <pre>
+svn update
+ </pre>
+ <p>
+ <b>
+ <i>To manipulate files in various ways:</i>
+ </b>
+ </p>
+ <pre>
+svn add
+
+svn move
+
+svn remove
+
+svn diff
+ </pre>
+ <p>
+ <b>
+ <i>To commit changes go to the root and:</i>
+ </b>
+ </p>
+ <pre>
+svn commit -m"change comment"
+ </pre>
+ <p>
+ This will commit the entire tree and display the new
+ revision number. You can also commit sub-trees and
+ individual files but this is not normal.
+ </p>
+ <p>
+ <b>
+ <i>To undo changes:</i>
+ </b>
+ </p>
+ <pre>svn revert ${file}</pre>
+ <pre>svn revert -R ${directory}
+ </pre>
+ <p>
+ <b>
+ <i>To see what has changed locally:</i>
+ </b>
+ </p>
+ <pre>svn status</pre>
+ <p style="margin-left: 0.5in;">
+ <b>
+ <i>Results:</i>
+ </b>
+ </p>
+ <p>
+ A means a file has been added locally
+ </p>
+ <p>
+ D means a file has been deleted locally
+ </p>
+ <p>
+ M means a file has been modified locally
+ </p>
+ <p>
+ ? means a file exists locally that is not being managed
+ by svn.
+ <span style="" />
+ Typically this means you forgot to add it with
+ <span style="font-family: Courier;">svn add</span>
+ .
+ </p>
+ <p style="margin-left: 1in;">
+ ! means a file that was being managed by svn no longer
+ exists locally.
+ <span style="" />
+ Typically this means you didn't delete it using svn
+ remove.
+ </p>
+ </section>
+
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/reference.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/reference.xml
new file mode 100644
index 0000000000..c4017e7884
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/reference.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="reference.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>Apache Tuscany - Reference</title>
+ </properties>
+ <body>
+
+ <section name="Reference Material">
+ <h2>Specifications</h2>
+ <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>
+ <span style="font-weight: bold;">
+ Title
+ </span>
+ </td>
+ <td>
+ <span style="font-weight: bold;">
+ Description
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_AssemblyModel_V09.pdf','SCA Assembly Specification V0.9');</script>
+ </td>
+ <td>
+ The core Service Component Architecture Assembly specification
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_ClientAndImplementationModelforJava_V09.pdf','SCA Client and Implementation Model for Java Specification V0.9');</script>
+ </td>
+ <td>
+ The Service Component Architecture Client and Implementation specification
+ for Java. Describes how to write SCA components in Java and how to write
+ Clients to SCA services in Java.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_ClientAndImplementationModel_Cpp_V09.pdf','SCA Client and Implementation Model for C++ Specification V0.9');</script>
+ </td>
+ <td>
+ The Service Component Architecture Client and Implementation specification
+ for C++. Describes how to write SCA components in C++ and how to write
+ Clients to SCA services in C++.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/SDO_Specification_Java_V2.01.pdf','SDO Specification for Java V2.01');</script>
+ </td>
+ <td>
+ The Service Data Objects specification for Java. Describes the data
+ programming interfaces of SDO in the Java language.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <script type="text/javascript">linkNewWindow('http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/SDO_Specification_CPP_V2.01.pdf','SDO Specification for C++ V2.01');</script>
+ </td>
+ <td>
+ The Service Data Objects specification for C++. Describes the data
+ programming interfaces of SDO in the C++ language.
+ </td>
+ </tr>
+
+
+ </tbody>
+ </table>
+
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/releasescpp.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/releasescpp.xml
new file mode 100644
index 0000000000..4dbd040871
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/releasescpp.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="index.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+
+ <title>Apache Tuscany SCA and SDO Runtimes for C++ - Releases</title>
+ </properties>
+ <body>
+ <section name="Tuscany SCA and SDO Runtimes for C++ Releases">
+ <p>
+ There are no releases of the SCA and SDO Runtimes for C++ at present.
+ </p>
+ </section>
+ </body>
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/releasesdasjava.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/releasesdasjava.xml
new file mode 100644
index 0000000000..6c5f0c8531
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/releasesdasjava.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="index.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+
+ <title>Apache Tuscany Data Access Service for Java - Releases</title>
+ </properties>
+ <body>
+ <section name="Tuscany Data Access Service for Java Releases">
+ <p>
+ The latest release is included in the Apache Tuscany Java milestone release (tuscany incubating M1). To download please visit the
+ the <a href='download.html#Apache Tuscany Java Downloads'>Apache Tuscany Downloads page</a>.
+ </p>
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/releasesscajava.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/releasesscajava.xml
new file mode 100644
index 0000000000..d438fcc72f
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/releasesscajava.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="index.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+
+ <title>Apache Tuscany SCA Runtime for Java - Releases</title>
+ </properties>
+ <body>
+ <section name="Tuscany SCA Runtime for Java Releases">
+ <p>
+ The latest release is included in the Apache Tuscany Java milestone release (tuscany incubating M1). To download please visit the
+ the <a href='download.html#Apache Tuscany Java Downloads'>Apache Tuscany Downloads page</a>.
+ </p>
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/releasessdojava.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/releasessdojava.xml
new file mode 100644
index 0000000000..7deb1c958d
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/releasessdojava.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="index.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+
+ <title>Apache Tuscany SDO 2.0 Runtime for Java - Releases</title>
+ </properties>
+ <body>
+ <section name="Tuscany SDO 2.0 Runtime for Java Releases">
+ <p>
+ The latest release is included in the Apache Tuscany Java milestone release (tuscany incubating M1). To download please visit the
+ the <a href='download.html#Apache Tuscany Java Downloads'>Apache Tuscany Downloads page</a>.
+ </p>
+ </section>
+ </body>
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/requirements.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/requirements.xml
new file mode 100644
index 0000000000..6944738857
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/requirements.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="requirements.xml">
+
+ <properties>
+
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+
+ <title>Tuscany Requirements</title>
+ </properties>
+
+ <body>
+
+ <section name="Apache Tuscany Requirements" />
+ <p>
+ Tuscany requirements are handled via a
+ <script type="text/javascript">linkNewWindow('http://issues.apache.org/jira/browse/TUScany','<B>JIRA issues list</B>');</script>
+ (<script type="text/javascript">linkNewWindow('http://issues.apache.org/jira/browse/TUScany','http://issues.apache.org/jira/browse/TUScany');</script>)
+ </p>
+
+ </body>
+
+
+</document>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/roadmap.html b/site/branches/site-20060730-mvnbased/src/site/xdoc/roadmap.html
new file mode 100644
index 0000000000..000517493d
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/roadmap.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+ <head>
+ <title>Tuscany Work Items</title>
+ </head>
+ <body>
+ <h1>Tuscany Java Runtime Work Items</h1>
+ <h2>I. Incremental Changes </h2>
+ <p>These changes represent basic code cleanup and need to be done prior to the major work
+ detailed below. Most of these tasks can be done in parallel.</p>
+ <h3>1. Exception Handling Cleanup</h3>
+ <p>Exception handling needs to follow the style outlined in the exception handling guide.
+ The following packages need to be updated.</p>
+ <table>
+ <tr>
+ <td>Package</td>
+ <td>Owner</td>
+ <td>Completion Date</td>
+ </tr>
+ <tr>
+ <td>o.a.t.common</td>
+ <td>Sebastien</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.binding.axis</td>
+ <td>Raymond</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.core.addressing</td>
+ <td>Sebastien</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.core.extensions</td>
+ <td>Sebastien</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.core.invocation</td>
+ <td>Sebastien</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.core.message</td>
+ <td>Sebastien</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.core.pipeline</td>
+ <td>Sebastien</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.core.runtime</td>
+ <td>Jim</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.container.java.assembly</td>
+ <td>Sebastien</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.container.java.builder</td>
+ <td>Jim</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.container.java.config</td>
+ <td>Jim</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.container.java.handler</td>
+ <td>Sebastien</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.container.java.injection</td>
+ <td>Jim</td>
+ <td>9 Dec</td>
+ </tr>
+ <tr>
+ <td>o.a.t.container.java.runtime</td>
+ <td>Jim</td>
+ <td>9 Dec</td>
+ </tr>
+ </table>
+ <h3>2. JavaDoc proposal</h3>
+ <p>While cleaning up exceptions, owners should also bring code into conformance with the
+ following Javadoc guildelines: </p>
+ <ul>
+ <li>All public interfaces and methods on those interfaces</li>
+ <li>All public classes and methods that represent cross-project contracts</li>
+ <li>All public classes and methods</li>
+ <li>All other classes and methods</li>
+ </ul>
+ <h3>3. Contract cleanup</h3>
+ <p>While cleaning up Javadoc, the following needs to be done:</p>
+ <ul>
+ <li>Turn public classes that represent cross-project contracts into interfaces</li>
+ <li>Make public classes that do not need to be protected or default</li>
+ </ul>
+ <h3>3. Unclogging proposal</h3>
+ <p>Jeremy to write up best practices and guidelines based on his design. The owners of
+ exception cleanup should implement for their respective packages.</p>
+ <h3>4. Architecture documents</h3>
+ <p>Jim to convert powerpoint slides and add text around existing architecture documents. Due
+ 12 December.</p>
+ <h2>II. Significant Core Runtime Changes </h2>
+ <p>The following list represents the order in which signficant refactorings and new
+ functionality will be added to the core runtime.</p>
+ <h3>1. Subsystem design</h3>
+ <h4>a. Recursive Injection Container. Jim with some help from Sebastien</h4>
+ <h4>b. Susbsystem and Module Component topology/packaging design. Sebastien with some help
+ from Jim</h4>
+ <p>This will beed to done in conjunction with the recursive injection container.</p>
+ <h4>c. Refactoring of TuscanyModuleComponentContainerImp to support recursive injection
+ container. Jim and Sebastien.</h4>
+ <h4>d. Refactoring of Tomcat code to support subsystems. Sebastien.</h4>
+ <h3>2. Proxy Redesign</h3>
+ <h4>a. Subsystem "proxies". Sebastien with some help from Jim</h4>
+ <h4>b. Module proxies refactoring. Sebastien</h4>
+ <h3>3. Entry Point and External Service redesign. Raymond</h3>
+ <p>This will be staged after the Subsystem design work.</p>
+ <p/>
+ <h3>4. SDO 2 Support</h3>
+ <h4>a. Regenerate models</h4>
+ <h4>b. Remove all outstanding EMF dependencies</h4>
+ <h4>c. Remove old code that duplactes SDO 2 functions</h4>
+ <h4>d. Figure out a way to support POJO property values and support for collections such as
+ Map and List</h4>
+ <h4>e. SDO2 configuration mechanism for the runtime</h4>
+ <h4>f. Port tooling to SDO 2 and integrate with the runtime</h4>
+ <h4>g. SDO2 and web services authoring integration (annotated POJOs)</h4>
+ <h3>5. Policy Support</h3>
+ <p>Some of this could be done in parrallel with SDO2 integration</p>
+ <h4>a. Support for transactions via the Geronimo trasnaction manager</h4>
+ <h3>6. First class support of WSDL and XSD for component interfaces</h3>
+ <h3>7. Additional component and binding types</h3>
+ <h4>a.Spring as a module type </h4>
+ <h4>b.XSLT as component type </h4>
+ <h4>c. ActiveMQ JMS binding</h4>
+ <h4>d. Raw XML/HTTP</h4>
+ <h4>e. Scripting language component</h4>
+ <h3>8. Pluggable data binding framework</h3>
+ <p>Once the SDO 2 implementation has been integrated, we should investigate how to plug in
+ different binding technologies such as JAXB.</p>
+ <h2>III. Web Services Work</h2>
+ <p>This may be done in parallel with other work</p>
+ <h3>a. Better AxisServlet configuration></h3>
+ <h3>b. Streamling serialization/deserialization</h3>
+ <h3>c. Pluggable databinding as above</h3>
+ <h3>d. WS-I basic profile</h3>
+ <h3>e. RPC Encoded</h3>
+ </body>
+</html>
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/svn.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/svn.xml
new file mode 100644
index 0000000000..420194029f
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/svn.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="getinvolved.xml">
+
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>Apache Tuscany Subversion Repository</title>
+
+ </properties>
+
+ <body>
+ <section name="The Tuscany Subversion Repository">
+ <p>The Tuscany code is held in a Subversion repository. Subversion is a code control
+ system similar in function to CVS. Subversion is used as the code repository by many
+ Apache projects. If you are not familiar with Subversion, see the
+ section <a href="getinvolved.html#Using Subversion">"Using Subversion"</a>.
+ </p>
+ <p>The Tuscany Subversion repository is found at
+ <a href="https://svn.apache.org/repos/asf/incubator/tuscany">
+ https://svn.apache.org/repos/asf/incubator/tuscany</a>. You can check out the
+ Tuscany code from the repository and build it on your own machine.
+ </p>
+ <p>Inside the Tuscany repository, you will find two main directories containing code:
+ <ul>
+ <li>cpp - which holds the code for the C++ projects</li>
+ <li>java - which holds the code for the Java projects</li>
+ </ul>
+ </p>
+ </section>
+
+ </body>
+
+
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/userguidecpp.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/userguidecpp.xml
new file mode 100644
index 0000000000..6c6e6c058a
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/userguidecpp.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="faq.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>Apache Tuscany - User Guide for C++</title>
+ </properties>
+ <body>
+ <section name="Tuscany User Guide for C++">
+ <ol>
+ <li><a href="#Introduction">Introduction</a></li>
+ <li><a href="#Installing">Installing and Configuring Tuscany</a></li>
+ <li><a href="#First">Your First Tuscany Application</a></li>
+ <li><a href="#Troubleshooting">Troubleshooting</a></li>
+ </ol>
+ </section>
+ <a name="Introduction"></a>
+ <section name="Introduction">
+ <p>Apache Tuscany is built upon two core technologies, SCA and SDO.</p>
+ <b>What is SCA?</b>
+ <p>
+ Service Component Architecture (SCA) is a specification which describes a model for
+ building applications and systems using a Service Oriented Architecture (SOA).
+ If you'd like to learn more about SCA you can read the
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_White_Paper1_09.pdf">white paper</a>.
+ </p>
+
+ <b>What is SDO?</b>
+ <p>
+ Service Data Objects (SDO) is an architecture and API which provides uniform access #
+ to and manipulation of data from heterogeneous data sources, such as relational databases,
+ XML, and Web services. You can read the
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/SDO_Specification_CPP_V2.01.pdf">
+ SDO Specification for C++</a> to learn more about SDO.
+ </p>
+ </section>
+ <a name="Installing"></a>
+ <section name="Installing and Configuring Tuscany">
+ You can refer to the <a href="installcpp.html">Tuscany Installation Instructions for C++ Projects</a> for more information on
+ how to install and configure the Tuscany C++ projects.
+ </section>
+ <a name="First"></a>
+ <section name="Your First Tuscany Application">
+ TODO
+ </section>
+ <a name="Troubleshooting"></a>
+ <section name="Troubleshooting">
+ TODO
+ </section>
+
+ </body>
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/userguidejava.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/userguidejava.xml
new file mode 100644
index 0000000000..36b24ebb19
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/userguidejava.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="faq.xml">
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+ <title>Apache Tuscany - User Guide for Java</title>
+ </properties>
+ <body>
+ <section name="Tuscany User Guide for Java">
+ <ol>
+ <li><a href="#Introduction">Introduction</a></li>
+ <li><a href="#Installing">Installing and Configuring Tuscany</a></li>
+ <li><a href="#First">Your First Tuscany Application</a></li>
+ <li><a href="#Troubleshooting">Troubleshooting</a></li>
+ </ol>
+ </section>
+ <a name="Introduction"></a>
+ <section name="Introduction">
+ <p>Apache Tuscany is built upon two core technologies, SCA and SDO.</p>
+ <b>What is SCA?</b>
+ <p>
+ Service Component Architecture (SCA) is a specification which describes a model for
+ building applications and systems using a Service Oriented Architecture (SOA).
+ If you'd like to learn more about SCA you can read the
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sca/SCA_White_Paper1_09.pdf">white paper</a>.
+ </p>
+
+ <b>What is SDO?</b>
+ <p>
+ Service Data Objects (SDO) is an architecture and API which provides uniform access #
+ to and manipulation of data from heterogeneous data sources, such as relational databases,
+ XML, and Web services. You can read the
+ <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-sdo/SDO_Specification_Java_V2.01.pdf">
+ SDO Specification for Java</a> to learn more about SDO.
+ </p>
+ </section>
+ <a name="Installing"></a>
+ <section name="Installing and Configuring Tuscany">
+ You can refer to the <a href="installjava.html">Tuscany Installation Instructions for Java Projects</a> for more information on
+ how to install and configure the Tuscany Java projects.
+ </section>
+ <a name="First"></a>
+ <section name="Your First Tuscany Application">
+ TODO
+ </section>
+ <a name="Troubleshooting"></a>
+ <section name="Troubleshooting">
+ TODO
+ </section>
+
+ </body>
+</document> \ No newline at end of file
diff --git a/site/branches/site-20060730-mvnbased/src/site/xdoc/wiki.xml b/site/branches/site-20060730-mvnbased/src/site/xdoc/wiki.xml
new file mode 100644
index 0000000000..aeb1b5d7bb
--- /dev/null
+++ b/site/branches/site-20060730-mvnbased/src/site/xdoc/wiki.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ Licensed 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.
+ -->
+<document url="wiki.xml">
+
+ <properties>
+ <author email="mike_edwards@uk.ibm.com">Mike Edwards</author>
+
+ <title>Apache Tuscany - Wiki</title>
+ </properties>
+
+ <body>
+
+ <section name="Tuscany Wiki" />
+
+ <p>
+ Tuscany has a Wiki which you can find
+ <script type="text/javascript">linkNewWindow('http://wiki.apache.org/ws/Tuscany','here');</script>
+
+ </p>
+
+ </body>
+
+</document>