tuscany-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From antel...@apache.org
Subject svn commit: r453226 - in /incubator/tuscany/java/samples/sca/helloworld.rmiReference: ./ src/main/java/helloworld/ src/main/resources/META-INF/sca/ src/test/java/helloworld/
Date Thu, 05 Oct 2006 13:13:36 GMT
Author: antelder
Date: Thu Oct  5 06:13:35 2006
New Revision: 453226

URL: http://svn.apache.org/viewvc?view=rev&rev=453226
Log:
TUSCANY-799, Commit patches from Venkat:
Fix RMI Service and Reference sample so that it can be run over Tuscany Java SCA Standalone.

Added:
    incubator/tuscany/java/samples/sca/helloworld.rmiReference/readme.htm
    incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldRmiClient.java
Removed:
    incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/test/java/helloworld/HelloWorldTestCase.java
Modified:
    incubator/tuscany/java/samples/sca/helloworld.rmiReference/pom.xml
    incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldImpl.java
    incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldService.java
    incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/resources/META-INF/sca/default.scdl

Modified: incubator/tuscany/java/samples/sca/helloworld.rmiReference/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/samples/sca/helloworld.rmiReference/pom.xml?view=diff&rev=453226&r1=453225&r2=453226
==============================================================================
--- incubator/tuscany/java/samples/sca/helloworld.rmiReference/pom.xml (original)
+++ incubator/tuscany/java/samples/sca/helloworld.rmiReference/pom.xml Thu Oct  5 06:13:35
2006
@@ -47,4 +47,19 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifest>
+                            <mainClass>helloworld.HelloWorldRmiClient</mainClass>

+                        </manifest>
+                    </archive>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>

Added: incubator/tuscany/java/samples/sca/helloworld.rmiReference/readme.htm
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/samples/sca/helloworld.rmiReference/readme.htm?view=auto&rev=453226
==============================================================================
--- incubator/tuscany/java/samples/sca/helloworld.rmiReference/readme.htm (added)
+++ incubator/tuscany/java/samples/sca/helloworld.rmiReference/readme.htm Thu Oct  5 06:13:35
2006
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><!-- 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. -->
+<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 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>
+<H1>Tuscany HelloWorld - RMI Service &amp; RMI Reference Samples</H1>
+<H2>Overview</H2>
+<TABLE border="0">
+	<TBODY>
+		<TR>
+			<TD width="100%" valign="top" align="left">This is a two part sample - RMI Service
and RMI Reference. The RMI Service sample demonstrates how the Tuscany Runtime can be used
to host service components as RMI Services. The RMI Reference sample demonstrates how the
Tuscany Runtime provides RMI client bindings for service components that would like to refer
RMI Servcies.</TD>
+		</TR>
+	</TBODY>
+</TABLE>
+<H2>Location</H2>
+<P>This sample is located &nbsp;in the samples\sca\helloworld.rmiSevice
+and samples\sca\helloworld.rmiSevice directories in the source
+distribution.</P>
+<P>In the binary distribution the samples are available as
+<I> sample-helloworld-rmiService-1.0-incubator-M2-SNAPSHOT.jar and
+sample-helloworld-rmiReference-1.0-incubator-M2-SNAPSHOT.jar</I>
+ 
+ . If you have downloaded the source and have built Tuscany Java SCA then these jars would
be found in the
+<I>target</I>
+sub-directory of the
+<I>samples/sca/helloworld.rmiSevice</I>
+and
+<I>samples/sca/helloworld.rmiReference</I>
+project directories respectively and also in your Local Maven Repository under the path
+<I>org/apache/tuscany/samples/sca</I>/
+<I>/helloworld.rmiSevice</I>
+and
+<I>org/apache/tuscany/samples/sca</I>
+/
+<I>/helloworld.rmiReference </I>respectively.<BR></P>
+<H2>Setup<BR>
+</H2>
+<P>1) Download the Tuscany SCA Standalone Host distribution. The standalone distribution
comes in two forms: -<BR>    
+   <I>   standalone-1.0-incubator-M2-SNAPSHOT-bin.zip </I> and <I>standalone-1.0-incubator-M2-SNAPSHOT-bin.tar.gz<BR>

+</I>Choose the one that best suits your platform.<BR>
+<BR>2) Extract the contents of this archive file into a local directory say <I>&lt;tuscany
+samples&gt;</I>. This will create the following subdirectories with contents in
each: -<BR>
+<I><BR>
+&lt;tuscany samples&gt;</I>/boot<I> <BR>&lt;tuscany samples&gt;</I>/bin<BR>
+<I>&lt;tuscany samples&gt;</I>/lib
+</P>
+<P>3) Create a sub-directory called 'extension' under <I>&lt;tuscany
+samples&gt;</I><BR>
+<BR>4) Copy the SCA RMI Extension jar into this sub-directory named 'extension'. This
jar can be found in the binary distribution as <I>rmi-1.0-incubator-M2-SNAPSHOT.jar</I>.
Alternative if you have built the source yourself, then you may find this jar in your local
Maven Repository, in the path <I>org/apache/tuscany/sca/services/bindings/rmi/1.0-incubator-M2-SNAPSHOT/rmi-1.0-incubator-M2-SNAPSHOT.jar</I>
and also in the <I>target </I>directory of the project <I>sca/services/bindings/binding.rmi</I>.<BR>
+<BR>5) Create a sub-directory called 'rmiSample' under <I>&lt;tuscany
+samples&gt;</I>. <BR>
+<BR>6) Copy the <I>sample-helloworld-rmiService-1.0-incubator-M2-SNAPSHOT.jar</I>
and <I>sample-helloworld-rmiReference-1.0-incubator-M2-SNAPSHOT.jar</I> into this
sub-directory. Look at the section Location above, about locating these jars.<BR>
+<BR>
+7) &lt;Subject to change&gt; : Copy the cglib-nodep-2.1_3.jar file into the the <I>&lt;tuscany
+samples&gt;</I>/boot directory. This jar can be found in your Maven Local Repository
under the path <I>cglib/cglib-nodep/2.1_3. </I></P>
+<P>In summary the following must be your directory structure after doing all of the
above</P>
+<P><I>&lt;tuscany samples&gt;</I>/boot<I> <BR>
+&lt;tuscany samples&gt;</I>/bin<BR>
+<I>&lt;tuscany samples&gt;</I>/lib<BR>
+<I>&lt;tuscany samples&gt;</I>/extension<BR>
+<I>&lt;tuscany samples&gt;</I>/rmiSample
+</P>
+<P></P>
+<H2>Running</H2>
+<P></P>
+<P>1) Open up a commandline window and go to the 
+directory <I>&lt;tuscany samples&gt;</I>. First run the RMI Service Sample
as follows : -<BR>
+<BR>
+<FONT color="purple"><I>&lt;tuscany samples&gt;</I></FONT><FONT
color="navy">java -jar
+bin/launcher.jar
+rmiSample/sample-helloworld-rmiService-1.0-incubator-M2-SNAPSHOT.jar</FONT><BR>
+<BR>
+On running the RMI Service sample the console will display ....<BR>
+<BR>
+<FONT color="green"> </FONT><FONT color="green" face="Courier New">Service
+Started and Running...<BR>
+Hit ENTER to exit</FONT><BR>
+<BR>2) Open up another commandline window and go to the 
+directory <I>&lt;tuscany samples&gt;</I>. Here, run the RMI Reference
sample as follows : -<BR>
+<FONT color="purple"><I>&lt;tuscany samples&gt;</I></FONT><FONT
color="navy">java -jar
+bin/launcher.jar
+rmiSample/sample-helloworld-rmiReference-1.0-incubator-M2-SNAPSHOT.jar</FONT></P><P>On
+running the RMI Reference sample the console will display ....</P>
+<P><FONT color="green" face="Courier New">Hello SCA RMI Client - from the SCA
RMI Service</FONT><BR>
+<BR>
+<BR>Thus   a component of the <I>HelloWorld RMI Reference</I> Sample Application
running in one SCA Standalone Runtime was able to invoke a service component  <I> </I>hosted
as an an RMI service by another  SCA Standalone Runtime that was running the   <I>HelloWorld
+RMI Service </I>sample application.<BR>
+<BR>Press 'Enter' key in the console running the RMI Service sample to shut down that
server.</P>
+<H2>Code Overview</H2>
+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>
+<B><U>RMI Service Sample</U></B>
++---main<br>    +---java<br>    |   +---helloworld
+                       HelloWorldService.java
+                       HelloWorldImpl.java
+                       HelloWorldRmiServer.java
+    +---resources
+        +----META-INF
+             +----sca
+                     default.scdl
+
+<U><B>RMI Reference Sample</B><B></B></U>
++---main<BR>    +---java<BR>    |   +---helloworld
+                       HelloWorldService.java
+                       HelloWorldImpl.java
+                       HelloWorldRmiClient.java
+    +---resources
+        +----META-INF
+             +----sca
+                     default.scdl</pre></td></tr></tbody></table>
+<B> <BR>RMI Service Sample</B>
+<TABLE border="1">
+	<TBODY>
+		<TR>
+			<TD width="230" valign="top">default.scdl</TD>
+			<TD width="396" valign="top">Defines the assembly of the Helloworld Server Application
with the  HelloWorldImpl component defined to be hosted as an RMI Service under the covers
of the SCA Runtime. You will never notice any APIs in java.rmi.*</TD>
+		</TR>
+		<TR>
+			<TD width="230">HelloWorldService.java</TD>
+			<TD width="396">Defines a HelloWorld service interface</TD>
+		</TR>
+		<TR>
+			<TD width="230">HelloWorldImpl.java</TD>
+			<TD width="396">Implements the HelloWorldService interface</TD>
+		</TR>
+		<TR>
+			<TD width="230">HelloWorldRmiServer.java</TD>
+			<TD width="396">Launches the Standalone Tuscany Runtime with the RMI Server SCA
Application loaded and running</TD>
+		</TR>
+	</TBODY>
+</TABLE>
+
+<P><BR>
+<B>RMI Reference Sample</B>
+
+</P>
+
+<TABLE border="1">
+	<TBODY>
+		<TR>
+			<TD width="230" valign="top">default.scdl</TD>
+			<TD width="396" valign="top">Defines the assembly of the Helloworld
+			 Application with the HelloWorldImpl component referring the a HelloWorld RMI Service</TD>
+		</TR>
+		<TR>
+			<TD width="230">HelloWorldService.java</TD>
+			<TD width="396">Defines a HelloWorld service interface</TD>
+		</TR>
+		<TR>
+			<TD width="230">HelloWorldImpl.java</TD>
+			<TD width="396">Implements the HelloWorldService interface. This implementation
inturn calls out to the RMI Service under the covers of the SCA Runtime - i.e. you will never
notice any APIs in java.rmi.* used in this application</TD>
+		</TR>
+		<TR>
+			<TD width="230">HelloWorldRmiClient.java</TD>
+			<TD width="396">Launches the Standalone Tuscany Runtime with the RMI
+			Client SCA Application loaded and run.</TD>
+		</TR>
+	</TBODY>
+</TABLE>
+</p></body></html>

Modified: incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldImpl.java?view=diff&rev=453226&r1=453225&r2=453226
==============================================================================
--- incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldImpl.java
(original)
+++ incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldImpl.java
Thu Oct  5 06:13:35 2006
@@ -18,10 +18,6 @@
  */
 package helloworld;
 
-import java.rmi.RemoteException;
-
-import helloworld.HelloWorldService;
-
 import org.osoa.sca.annotations.Reference;
 import org.osoa.sca.annotations.Service;
 
@@ -43,7 +39,7 @@
         this.extService = extService;
     }
 
-    public String sayHello(String name) throws RemoteException 
+    public String sayHello(String name)  
     {
         return extService.sayHello(name);
     }

Added: incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldRmiClient.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldRmiClient.java?view=auto&rev=453226
==============================================================================
--- incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldRmiClient.java
(added)
+++ incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldRmiClient.java
Thu Oct  5 06:13:35 2006
@@ -0,0 +1,46 @@
+/*
+ * 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;
+
+/**
+ * @author administrator
+ *
+ */ 
+public class HelloWorldRmiClient { 
+
+    /**
+     * @param args
+     */
+    public static void main(String[] args) {
+        try {
+            HelloWorldRmiClient rmiClient = new HelloWorldRmiClient();
+                        
+            CompositeContext context = CurrentCompositeContext.getContext();
+            HelloWorldService helloWorldService = context.locateService(HelloWorldService.class,
"HelloWorldServiceComponent");
+            System.out.println(helloWorldService.sayHello("SCA RMI Client"));
+        } catch ( Exception e ) {
+            e.printStackTrace();
+        }
+
+    }
+
+}

Modified: incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldService.java?view=diff&rev=453226&r1=453225&r2=453226
==============================================================================
--- incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldService.java
(original)
+++ incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/java/helloworld/HelloWorldService.java
Thu Oct  5 06:13:35 2006
@@ -18,15 +18,13 @@
  */
 package helloworld;
 
-import java.rmi.Remote;
-import java.rmi.RemoteException;
 
 
 /**
  * This is the business interface of the HelloWorld greetings service.
  */
-public interface HelloWorldService extends Remote {
+public interface HelloWorldService  {
 
-    public String sayHello(String name) throws RemoteException ;
+    public String sayHello(String name) ;
 
 }

Modified: incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/resources/META-INF/sca/default.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/resources/META-INF/sca/default.scdl?view=diff&rev=453226&r1=453225&r2=453226
==============================================================================
--- incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/resources/META-INF/sca/default.scdl
(original)
+++ incubator/tuscany/java/samples/sca/helloworld.rmiReference/src/main/resources/META-INF/sca/default.scdl
Thu Oct  5 06:13:35 2006
@@ -21,15 +21,14 @@
            xmlns:rmi="http://tuscany.apache.org/xmlns/binding/rmi/1.0-SNAPSHOT"
            name="HelloWorldRmiComposite">
            
-  	<reference name="HelloWorldExtRmiService">
-        <interface.java interface="helloworld.HelloWorldService"/>
-        <rmi:binding.rmi uri="HelloWorldRmiService"   />
-    </reference>
-    
-    
     <component name="HelloWorldServiceComponent">
         <implementation.java class="helloworld.HelloWorldImpl"/>
-       <reference name="extService">HelloWorldExtRmiService</reference>
+       <reference name="extService">HelloWorldRmiService</reference>
     </component>
+    
+    <reference name="HelloWorldRmiService">
+        <interface.java interface="helloworld.HelloWorldService"/>
+        <rmi:binding.rmi host="localhost" port="1099" serviceName="HelloWorldRemoteService"
  />
+    </reference>
    
 </composite>



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org


Mime
View raw message