summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/trunk/samples/helloworld-erlang-reference/README
blob: e61db16fda0a58fad098bbcb505d0e54ecbb2936 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Hello World Erlang References 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-service-erlang 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-service-erlang.jar helloworld.HelloWorldServer

and on *nix do

java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-service-erlang.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-reference-erlang.jar helloworld.HelloWorldErlangClient

and on *nix do

java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-reference-erlang.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-reference-erlang/
  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-service-erlang test. Take a look at the README in that sample
and you will see you need the following commands

cd helloworld-service-erlang
ant run

Once done you can now compile and run this sample using the following commands;

cd helloworld-reference-erlang
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-
service-erlang sample first as the JUnit test does this for you. 

cd helloworld-reference-erlang
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.