
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68
141 lines
No EOL
6.3 KiB
HTML
141 lines
No EOL
6.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<!-- * Licensed to the Apache Software Foundation (ASF) under one
|
|
* or more contributor license agreements. See the NOTICE file
|
|
* distributed with this work for additional information
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
* to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance
|
|
* with the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
* KIND, either express or implied. See the License for the
|
|
* specific language governing permissions and limitations
|
|
* under the License. -->
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
|
<title>Tuscany Hello World Celtix Web Service Sample</title><!-- LINK rel="stylesheet" href="ait.css" type="text/css" --><!-- maven -->
|
|
<style type="text/css" media="all">
|
|
@import url("../../../../css/maven-base.css");
|
|
@import url("../../../../css/maven-theme.css");
|
|
@import url("../../../../css/site.css");
|
|
</style>
|
|
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print">
|
|
<!-- end maven -->
|
|
</head>
|
|
<body>
|
|
<h2>Tuscany Hello World Celtix Web service Sample</h2> <h3>Overview</h3>
|
|
<p>
|
|
The Tuscany hello world Celtix Web service sample shows using the Tuscany SCA runtime as a standalone web service.
|
|
</p>
|
|
<h3>Location</h3> This sample is located in the samples\sca\helloworldws-celtix
|
|
directory.<br>
|
|
|
|
|
|
<h3>Setup</h3>This sample depends on the Tuscany runtime, Celtix, and the sample jar,
|
|
|
|
<span style="font-weight: bold;">
|
|
sample-helloworldws-celtix-incubating-M1.jar
|
|
</span>
|
|
|
|
, all of these must be available on the classpath to run the sample.
|
|
|
|
<h3>Running</h3>
|
|
|
|
In the directory samples/sca/helloworldws-celtix use the JDK 1.5 java command to run the class helloworld.HelloWorldServer
|
|
|
|
<pre>Linux: java -cp ../../../lib/tuscany-runtime-incubating-M1.jar:../../../lib/celtix/tuscany-celtix-incubating-M1.jar:target/sample-helloworldws-celtix-incubating-M1.jar helloworld.HelloWorldServer</pre>
|
|
<pre>Windows: java -cp ../../../lib/tuscany-runtime-incubating-M1.jar;../../../lib/celtix/tuscany-celtix-incubating-M1.jar;target/sample-helloworldws-celtix-incubating-M1.jar helloworld.HelloWorldServer</pre>
|
|
|
|
<h3>Code Overview</h3> The source files are physically organized as shown below:<br>
|
|
<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<pre>
|
|
+---main
|
|
+---java
|
|
¦ +---helloworld
|
|
¦ HelloWorldServer.java
|
|
¦ HelloWorldImpl.java
|
|
¦ HelloWorldService.java
|
|
+---resources
|
|
¦ sca.module
|
|
+---wsdl
|
|
helloworld.wsdl
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<br>
|
|
<br>
|
|
<table style="text-align: left; width: 100%; height: 154px;" border="0" cellpadding="2" cellspacing="2">
|
|
<tbody>
|
|
<tr>
|
|
<td>HelloWorldServer.java</td>
|
|
<td>Main method to startup the Tuscany runtime which will startup the services defined in sca.module</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">HelloWorldService.java</td>
|
|
<td>Defines the Java interface implemented by the component.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">HelloWorldImpl.java</td>
|
|
<td>Implements the SCA component. Uses the SCA service annotation
|
|
tag on the class to show what SCA interface is being implemented.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top; height: 62px;">sca.module</td>
|
|
<td style="height: 62px;">Defines the SCA module, entryPoint and component.
|
|
Defines for the HelloWorldServiceComponent component and the Java class that
|
|
implements the component For the entryPoint it defines WSDL for the service, the
|
|
Java interface provided by the service, and wires the service to the HelloWorldServiceComponent</td>
|
|
</tr>
|
|
<tr>
|
|
<td>helloworld.wsdl</td>
|
|
<td>WSDL for the service.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<h3>Instrumentation</h3>
|
|
You can instrument Celtix runtime using Celtix management facilities.
|
|
Information in the Celtix configuration file is used to configure the behavior of Celtix management facilities.
|
|
When JMX is enabled, Celtix instrumentation info is exported through the JMX MBeanServer. To enable JMX (
|
|
JMX is disabled in Celtix by default), you need to pass in a Celtix configuration file by running the sample using command below:
|
|
<br>
|
|
<br>
|
|
|
|
In the directory samples/sca/helloworldws-celtix use the JDK 1.5 java command to run the class helloworld.HelloWorldServer
|
|
|
|
<pre>Linux: java -Dceltix.config.file=file:///<Tuscany-installation-dir>/samples/sca/helloworldws-celtix/server.xml -cp ../../../lib/tuscany-runtime-incubating-M1.jar:../../../lib/celtix/tuscany-celtix-incubating-M1.jar:target/sample-helloworldws-celtix-incubating-M1.jar helloworld.HelloWorldServer</pre>
|
|
<pre>Windows: java -Dceltix.config.file=file:///<Tuscany-installation-dir>/samples/sca/helloworldws-celtix/server.xml -cp ../../../lib/tuscany-runtime-incubating-M1.jar;../../../lib/celtix/tuscany-celtix-incubating-M1.jar;target/sample-helloworldws-celtix-incubating-M1.jar helloworld.HelloWorldServer</pre>
|
|
|
|
<Tuscany-installation-dir> is the location where Tuscany installed.
|
|
<br>
|
|
<br>
|
|
|
|
You can use jconsole, which comes with JDK1.5, to explore the Celtix managed components:
|
|
|
|
<pre>jconsole</pre>
|
|
|
|
The server JMX Service URL is:
|
|
<pre>service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/server</pre>
|
|
|
|
|
|
NOTE: Enter the JMX service URL as above, leave the username and password empty in this sample.
|
|
<br>
|
|
<br>
|
|
|
|
Further information about Celtix instrumentation can be found from Celtix "Using Celtix Management" manual and Celtix management sample.
|
|
|
|
|
|
<br>
|
|
</body>
|
|
</html> |