summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/branches/sca-java-1.5.2/samples/feed-aggregator/README
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-13 01:25:44 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-13 01:25:44 +0000
commitb5c0d648cf147d3709eb78d98011f38e07aee723 (patch)
treee82891caaa5b04b3551ef59d1c790fddd99d5131 /sca-java-1.x/branches/sca-java-1.5.2/samples/feed-aggregator/README
parent539451c7e13d98504e6f3368d892406494ca711d (diff)
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835694 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/branches/sca-java-1.5.2/samples/feed-aggregator/README')
-rw-r--r--sca-java-1.x/branches/sca-java-1.5.2/samples/feed-aggregator/README110
1 files changed, 110 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.5.2/samples/feed-aggregator/README b/sca-java-1.x/branches/sca-java-1.5.2/samples/feed-aggregator/README
new file mode 100644
index 0000000000..8094bbf066
--- /dev/null
+++ b/sca-java-1.x/branches/sca-java-1.5.2/samples/feed-aggregator/README
@@ -0,0 +1,110 @@
+Feed Aggregator Sample
+======================================
+This sample demonstrates using the Feed binding to aggregate ATOM and RSS
+feeds and publish a new aggregated feed.
+
+The README in the samples directory (the directory above this) provides
+general instructions about building and running samples. Take a look there
+first.
+
+If you run the sample using ant, 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-feed-aggregator.jar launch.LaunchFeedServer
+
+and on *nix do
+
+java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-feed-aggregator.jar launch.LaunchFeedServer
+
+You should see the following output on the screen.
+
+run:
+ [java] Added Servlet mapping: http://localhost:8083/rssAggregator
+ [java] Added Servlet mapping: http://localhost:8083/atomAggregator/*
+ [java] Sample Feed server started (press enter to shutdown)
+
+ [java] To read the aggregated feeds, point your Web browser to the following addresses:
+ [java] http://localhost:8083/atomAggregator
+ [java] http://localhost:8083/atomAggregator/atomsvc (for the Atom service document)
+ [java] http://localhost:8083/rssAggregator
+
+As this point the aggregated Feeds are exposed by a web server started
+automatically by the SCA runtime. You can later stop the server by pressing enter.
+
+Now that the server is started you can point your Web browser to each URL of the
+aggregated feeds to see the information in your browser. These URLs are:
+
+http://localhost:8083/atomAggregator
+http://localhost:8083/atomAggregator/atomsvc
+http://localhost:8083/rssAggregator
+
+** Please note that if your browser is not configured correctly to receive
+feed information, you will be prompted to open each file that contains the feed
+information in XML.
+
+Sample Overview
+---------------
+The sample provides a single component exposing a Web resource.
+
+web-resource/
+ src/
+ main/
+ java/
+ feed/
+ AggregatorImpl.java - implementation of the Feed
+ aggregator component
+ Sort.java - utility interface
+ SortImpl.java - implementation of the Sort component
+ launch
+ LaunchFeedServer.java - starts the SCA Runtime and
+ publishes the aggregated feeds
+ resources/
+ FeedAggregator.composite - the SCA assembly for this sample
+ feed-aggregator.png - a pictorial representation of the
+ sample .composite file
+ build.xml - the Ant build file
+ pom.xml - the Maven build file
+
+
+Details of how this sample works
+--------------------------------
+1. AggregatorImpl is used to implement the two main components here (RSSAggregator & AtomAggregator).
+2. AggregatorImpl directly implements the Tuscany Atom Collection interface. It is a component
+ that provides an Atom feed to respond (see tuscany/modules/binding-atom-abdera)
+3. The AggregatorImpl component is not explicitly configured using nested <service> element nor its
+ implementation class is annotated with @Service annotation. Instead, the Tuscany Atom Collection interface
+ defines its services using @Remotable annotation.
+
+Building And Running The Sample Using Ant
+-----------------------------------------
+With the binary distribution the sample can be built and run using Ant using the
+following commands
+
+cd feed-aggregator
+ant compile
+ant run
+
+You should see the following output from the run target.
+
+run:
+ [java] Added Servlet mapping: http://localhost:8083/rssAggregator
+ [java] Added Servlet mapping: http://localhost:8083/atomAggregator/*
+ [java] Sample Feed server started (press enter to shutdown)
+
+ [java] To read the aggregated feeds, point your Web browser to the following addresses:
+ [java] http://localhost:8083/atomAggregator
+ [java] http://localhost:8083/atomAggregator/atomsvc (for the Atom service document)
+ [java] http://localhost:8083/rssAggregator
+
+
+Building The Sample Using Maven
+-------------------------------------------
+With either the binary or source distributions the sample can be built using
+Maven as follows.
+
+cd feed-aggregator
+mvn
+