summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/samples/running-tuscany/jse/README.html
blob: ee538a7552714214498f73a3ac115ef39348dc4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!--This file was converted to xhtml by OpenOffice.org - see http://xml.openoffice.org/odf2xhtml for more info.--><head profile="http://dublincore.org/documents/dcmi-terms/"><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/><title xml:lang="en-US">- no title specified</title><meta name="DCTERMS.title" content="" xml:lang="en-US"/><meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/><meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/><meta name="DCTERMS.creator" content="ant "/><meta name="DCTERMS.issued" content="2011-03-15T09:48:55.71" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.modified" content="2011-04-14T11:19:39.45" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.provenance" content="" xml:lang="en-US"/><meta name="DCTERMS.subject" content="," xml:lang="en-US"/><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/><link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/><link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/><link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/><base href="."/><style type="text/css">
	@page {  }
	table { border-collapse:collapse; border-spacing:0; empty-cells:show }
	td, th { vertical-align:top; font-size:12pt;}
	h1, h2, h3, h4, h5, h6 { clear:both }
	ol, ul { margin:0; padding:0;}
	li { list-style: none; margin:0; padding:0;}
	<!-- "li span.odfLiEnd" - IE 7 issue-->
	li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; }
	span.footnodeNumber { padding-right:1em; }
	span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000;  margin:0; border:0; padding:0;  }
	* { margin:0;}
	.Heading_20_1 { font-size:115%; margin-bottom:0.212cm; margin-top:0.423cm; font-family:Arial; writing-mode:page; font-weight:bold; }
	.P1 { font-size:10pt; font-family:Courier New; writing-mode:page; }
	.Standard { font-size:12pt; font-family:Times New Roman; writing-mode:page; }
	.T1 { color:#000000; font-family:Courier New; font-size:10pt; }
	.T2 { font-family:Courier New; font-size:10pt; }
	<!-- ODF styles with no properties representable as CSS -->
	{ }
	</style></head><body dir="ltr" style="max-width:21.001cm;margin-top:2cm; margin-bottom:2cm; margin-left:2cm; margin-right:2cm; "><h1 class="Heading_20_1"><a id="a__Running_the_Tuscany_runtime_from_a_Java_program"><span/></a>Running the Tuscany runtime from a Java program</h1><p class="Standard"> </p><p class="Standard">The Tuscany SCA Runtime provides a Node API that allows the runtime to be started from within a Java program. A Node in Tuscany represents a set of activated composites and a Node is configured  with all of the contributions required for those composites to run. The idea is to allow you to partition the domain up into it's constituent deployable composites and run each one in its own node on an appropriate machine. In that way the domain can easily be distributed while SCA takes care of making sure that wired services can communicate regardless of where they are. </p><p class="Standard"> </p><p class="Standard">The basic pattern is as follows:</p><p class="Standard"> </p><p class="Standard">1/ Use the <span class="T1">org.apache.tuscany.sca.node.NodeFactory </span>API to create a <span class="T1">org.apache.tuscany.sca.node.Node</span> instance configured with enough contributions to run the required composite</p><p class="Standard">2/ Start the Node instance. This starts deployable composites contained in the provided contributions</p><p class="Standard">3/ Interact with the services that the Node instance has made available</p><p class="Standard">4/ Stop the Node instance </p><p class="Standard"> </p><p class="Standard">The pattern is demonstrated in this sample in the <span class="T2">launcher.</span><span class="T1">LaunchCalculatorContribution </span>class. It loads the <span class="T2">calculator-contribution.jar </span>contribution found in the parent directory, makes a simple call to add two numbers together using the Calculator service and then shuts down. </p><p class="Standard"> </p><p class="Standard">To run the sample on Windows do:</p><p class="Standard"> </p><p class="P1">cd jse</p><p class="P1">run-sample.bat</p><p class="Standard"> </p><p class="Standard">To run the sample on *nix do:</p><p class="Standard"> </p><p class="P1">cd jse</p><p class="P1">run-sample.sh</p><p class="Standard"> </p><p class="Standard">To re-build the sample classes do </p><p class="Standard"> </p><p class="P1">cd jse</p><p class="P1">mvn</p><p class="Standard"> </p><p class="Standard">Note. The mvn build will automatically run a unit test that also runs the sample. </p><p class="Standard"> </p></body></html>