| Hello World Erlang Reference Sample |
| =================================== |
| This sample demonstrates an SCA reference that uses a Erlang binding |
| |
| The README in the samples directory (the directory above this) provides |
| general instructions about building and running samples. Take a look there |
| first. |
| |
| In order to run Erlang samples you need to have Erlang/OTP distribution installed - |
| epmd binary is required in your system path. See http://erlang.org for downloads. |
| |
| If you just want to run it to see what happens you need to run the server first |
| so open a command prompt, navigate to the helloworld-erlang-service sample directory |
| and do |
| |
| ant run |
| |
| OR if you don't have ant, on Windows do |
| |
| java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-helloworld-erlang-service.jar helloworld.HelloWorldServer |
| |
| and on *nix do |
| |
| java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-erlang-service.jar helloworld.HelloWorldServer |
| |
| |
| Once the server is running open a command prompt, navigate to this sample |
| directory and do: |
| |
| ant run |
| |
| OR if you don't have ant, on Windows do |
| |
| java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-helloworld-erlang-reference.jar helloworld.HelloWorldErlangClient |
| |
| and on *nix do |
| |
| java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-erlang-reference.jar helloworld.HelloWorldErlangClient |
| |
| |
| Sample Overview |
| --------------- |
| The sample provides a component that has a reference with a Erlang binding. |
| The binding refers to Erlang module and communicates with a service |
| exposed by the helloworld-service-erlang sample. |
| |
| helloworld-erlang-reference/ |
| src/ |
| main/ |
| java/ |
| helloworld/ |
| HelloWorldImpl - HelloWorld service implementation |
| HelloWorldService.java - interface description for |
| HelloWorldServiceComponent |
| HelloWorldServiceComponent.java - component implementation |
| HelloWorldErlangClient.java - starts the SCA Runtime and |
| deploys the helloworldwserlangclient |
| .composite. It then calls the |
| HelloWorldServiceComponent |
| resources/ |
| helloworlderlangreference.composite - the SCA assembly for this sample |
| helloworlderlangservice.composite - the SCA assembly for the server |
| that is used by the JUnit tests |
| logging.properties - log4j configuration file |
| test/ |
| java/ |
| helloworld/ |
| HelloWorldErlangClientTestCase.java - JUnit test case |
| dynaignore/ - internal Java classes for ignoring test |
| in case of missing Erlang/OTP distribution |
| |
| helloworld-reference.png - a pictorial representation of the |
| sample .composite file |
| build.xml - the Ant build file |
| pom.xml - the Maven build file |
| |
| Building And Running The Sample Using Ant |
| ----------------------------------------- |
| With the binary distribution the sample can be built and run using Ant. Before |
| you do this start up the service that the reference will talk to. To do this |
| run up the helloworld-erlang-service sample. Take a look at the README in that sample |
| and you will see you need the following commands |
| |
| cd helloworld-erlang-service |
| ant run |
| |
| Once done you can now compile and run this sample using the following commands; |
| |
| cd helloworld-erlang-reference |
| ant compile |
| ant run |
| |
| You should see the following output from the run target. |
| |
| run: |
| [java] 2009-05-26 12:03:54 org.apache.tuscany.sca.node.impl.NodeImpl <init> |
| [java] INFO: Creating node: helloworlderlangreference.composite |
| [java] 2009-05-26 12:03:55 org.apache.tuscany.sca.node.impl.NodeImpl configureNode |
| [java] 2009-05-26 12:03:56 org.apache.tuscany.sca.node.impl.NodeImpl configureNode |
| [java] 2009-05-26 12:03:56 org.apache.tuscany.sca.node.impl.NodeImpl start |
| [java] INFO: Starting node: helloworlderlangreference.composite |
| [java] Hello World |
| [java] 2009-05-26 12:03:56 org.apache.tuscany.sca.node.impl.NodeImpl stop |
| [java] INFO: Stopping node: helloworlderlangreference.composite |
| |
| BUILD SUCCESSFUL |
| |
| |
| Building And Running The Sample Using Maven |
| ------------------------------------------- |
| With either the binary or source distributions the sample can be built and run |
| using Maven as follows. When using Maven you don't need to run the helloworld- |
| erlang-service sample first as the JUnit test does this for you. |
| |
| cd helloworld-erlang-reference |
| mvn |
| |
| You should see the following output from the test phase. |
| |
| Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.569 sec |
| |
| Results : |
| |
| Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 |
| |
| |
| This shows that the Junit test cases have run successfully. |