diff options
Diffstat (limited to '')
9 files changed, 482 insertions, 0 deletions
diff --git a/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/pom.xml.off b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/pom.xml.off new file mode 100644 index 0000000000..697232e97f --- /dev/null +++ b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/pom.xml.off @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. + --> +<project> + <parent> + <groupId>org.apache.tuscany.samples.sca</groupId> + <artifactId>parent</artifactId> + <version>1.0-incubator-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>sample-helloworldws-celtix</artifactId> + <packaging>jar</packaging> + <name>Tuscany HelloWorld Celtix Web Service Sample</name> + <description>A sample HelloWorld Web Service.</description> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca.kernel</groupId> + <artifactId>core</artifactId> + <version>${pom.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>test</artifactId> + <version>${tuscanyVersion}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca.services.bindings</groupId> + <artifactId>celtix</artifactId> + <version>${pom.version}</version> + <scope>provided</scope> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <configuration> + <archive> + <manifest> + <mainClass>helloworld.HelloWorldClient</mainClass> + </manifest> + </archive> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/readme.htm b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/readme.htm new file mode 100644 index 0000000000..6d3210d097 --- /dev/null +++ b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/readme.htm @@ -0,0 +1,141 @@ +<!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>
\ No newline at end of file diff --git a/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/run.bat b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/run.bat new file mode 100755 index 0000000000..fa24c84328 --- /dev/null +++ b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/run.bat @@ -0,0 +1,10 @@ +echo on +rem set java_debug_set=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=3720,server=y,suspend=y +mkdir target\standalone +pushd target\standalone +jar -xf "%USERPROFILE%\.m2\repository\org\apache\tuscany\standalone\1.0-SNAPSHOT\standalone-1.0-SNAPSHOT-bin.zip" +jar -xf "%USERPROFILE%\.m2\repository\org\apache\tuscany\bindings\celtix\1.0-SNAPSHOT\celtix-1.0-SNAPSHOT-bin.zip" +popd +move target\standalone\extension\*.jar target\standalone\boot +copy "%USERPROFILE%\.m2\repository\org\apache\tuscany\bindings\celtix\1.0-SNAPSHOT\celtix-1.0-SNAPSHOT.jar" target\standalone\extension +java %java_debug_set% -jar target\standalone\bin\launcher.jar --classpath "%USERPROFILE%\.m2\repository\org\apache\tuscany\samples\sca\sample-helloworldws-celtix\1.0-SNAPSHOT\sample-helloworldws-celtix-1.0-SNAPSHOT.jar" %* diff --git a/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/server.xml b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/server.xml new file mode 100644 index 0000000000..94c9efe897 --- /dev/null +++ b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/server.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE beans SYSTEM + "http://celtix.objectweb.org/configuration/spring/celtix-spring-beans.dtd"> + +<beans + xmlns:ct="http://celtix.objectweb.org/configuration/types" + xmlns:sec="http://celtix.objectweb.org/bus/configuration/security" + xmlns:im-conf="http://celtix.objectweb.org/bus/instrumentation/instrumentation-config" + xmlns:im="http://celtix.objectweb.org/bus/instrumentation" +> + + <bean id="celtix.Instrumentation" + class="org.objectweb.celtix.bus.instrumentation.instrumentation_config.spring.InstrumentationConfigBean"> + <property name="instrumentationControl"> + <value> + <im:instrumentation> + <im:InstrumentationEnabled>true</im:InstrumentationEnabled> + <im:JMXEnabled>true</im:JMXEnabled> + </im:instrumentation> + </value> + </property> + <property name="MBServer"> + <value> + <im:MBServer> + <im:JMXConnector> + <im:Threaded>true</im:Threaded> + <im:Daemon>false</im:Daemon> + <im:JMXServiceURL>service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/server</im:JMXServiceURL> + </im:JMXConnector> + </im:MBServer> + </value> + </property> + </bean> +</beans> + diff --git a/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/java/helloworld/HelloWorldClient.java b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/java/helloworld/HelloWorldClient.java new file mode 100644 index 0000000000..f9781fb48d --- /dev/null +++ b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/java/helloworld/HelloWorldClient.java @@ -0,0 +1,47 @@ +/* + * 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. + */ +package helloworld; + +import org.osoa.sca.CompositeContext; +import org.osoa.sca.CurrentCompositeContext; + +/** + * This client program shows how to create an SCA runtime, start it, locate the Eager Init service and invoke it. + */ +public final class HelloWorldClient { + private HelloWorldClient() { + } + + public static void main(String[] args) throws Exception { + String name = "World"; + + CompositeContext compositeContext = CurrentCompositeContext.getContext(); + + // Locate the Eager init service + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldServiceComponent"); + + // Invoke the HelloWorld service + String value = helloWorldService.getGreetings(name); + + System.out.println(value); + System.out.flush(); + + } +} diff --git a/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/java/helloworld/HelloWorldImpl.java b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/java/helloworld/HelloWorldImpl.java new file mode 100644 index 0000000000..0de3c70303 --- /dev/null +++ b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/java/helloworld/HelloWorldImpl.java @@ -0,0 +1,33 @@ +/* + * 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. + */ +package helloworld; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the HelloWorld service. + */ +@Service(HelloWorldService.class) +public class HelloWorldImpl implements HelloWorldService { + + public String getGreetings(String name) { + return "Hello " + name; + } + +} diff --git a/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/java/helloworld/HelloWorldService.java b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..8f23acd645 --- /dev/null +++ b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/java/helloworld/HelloWorldService.java @@ -0,0 +1,28 @@ +/* + * 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. + */ +package helloworld; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +public interface HelloWorldService { + + String getGreetings(String name); + +} diff --git a/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/resources/META-INF/sca/default.scdl b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/resources/META-INF/sca/default.scdl new file mode 100644 index 0000000000..281cdd37ab --- /dev/null +++ b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/resources/META-INF/sca/default.scdl @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. + --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" name="helloworldws"> + + <service name="HelloWorldWebService" target="http:///foo"> + <!-- interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)"/ --> + <interface.java interface="helloworld.HelloWorldService"/> + + +<!--FIXME the location attribute is a really bad hack here! does not follow to spec at all +--> + <binding.ws endpoint="http://helloworld#wsdl.endpoint(HelloWorldService/HelloWorldSoapPort)" + conformanceURIs="http://ws-i.org/profiles/basic/1.1" + location="wsdl/helloworld.wsdl" + /> + + <reference>HelloWorldServiceComponent</reference> + </service> + + <component name="HelloWorldServiceComponent"> + <implementation.java class="helloworld.HelloWorldImpl"/> + </component> + +</composite> diff --git a/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/resources/wsdl/helloworld.wsdl b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/resources/wsdl/helloworld.wsdl new file mode 100644 index 0000000000..21781bfc7f --- /dev/null +++ b/sandbox/old/contrib/binding-celtix/samples/helloworldws-celtix/src/main/resources/wsdl/helloworld.wsdl @@ -0,0 +1,77 @@ +<!-- + * 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. + --> +<wsdl:definitions targetNamespace="http://helloworld" xmlns:tns="http://helloworld" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" + name="helloworld"> + + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://helloworld" xmlns="http://www.w3.org/2001/XMLSchema"> + + <element name="getGreetings"> + <complexType> + <sequence> + <element name="name" type="xsd:string"/> + </sequence> + </complexType> + </element> + + <element name="getGreetingsResponse"> + <complexType> + <sequence> + <element name="getGreetingsReturn" type="xsd:string"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="getGreetingsRequest"> + <wsdl:part element="tns:getGreetings" name="parameters"/> + </wsdl:message> + + <wsdl:message name="getGreetingsResponse"> + <wsdl:part element="tns:getGreetingsResponse" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="HelloWorld"> + <wsdl:operation name="getGreetings"> + <wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest"/> + <wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="getGreetings"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="getGreetingsRequest"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="getGreetingsResponse"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="HelloWorldService"> + <wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldSoapPort"> + <wsdlsoap:address location="http://localhost:8080/sample-helloworldws/services/HelloWorldWebService"/> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> |