You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by bu...@apache.org on 2013/09/17 20:13:26 UTC
svn commit: r878846 - in /websites/staging/streams/trunk/content: ./
streams-usage.html
Author: buildbot
Date: Tue Sep 17 18:13:26 2013
New Revision: 878846
Log:
Staging update by buildbot for streams
Modified:
websites/staging/streams/trunk/content/ (props changed)
websites/staging/streams/trunk/content/streams-usage.html
Propchange: websites/staging/streams/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Sep 17 18:13:26 2013
@@ -1 +1 @@
-1510649
+1524151
Modified: websites/staging/streams/trunk/content/streams-usage.html
==============================================================================
--- websites/staging/streams/trunk/content/streams-usage.html (original)
+++ websites/staging/streams/trunk/content/streams-usage.html Tue Sep 17 18:13:26 2013
@@ -166,67 +166,93 @@
<p><em>Apache Streams (incubating) v0.1 Setup</em></p>
</blockquote>
<hr />
-<p>Streams is designed for deployment in Apache ServiceMix which provides Apache Camel and as OSGI container. Step 1 is to download the latest <a href="http://servicemix.apache.org/">ServiceMix</a>. You should also get the latest <a href="http://streams.incubator.apache.org/source-repository.html">Streams source</a>.<br />
-</p>
+<p>Before starting you will need the following software:</p>
+<p><a href="http://servicemix.apache.org/">ServiceMix</a> </p>
+<p><a href="http://cassandra.apache.org/download/">Cassandra</a></p>
+<p><a href="http://tomcat.apache.org/">Tomcat</a></p>
+<p><a href="https://svn.apache.org/repos/asf/incubator/streams/streams-master-pom/trunk">Streams Master</a></p>
+<p><a href="https://svn.apache.org/repos/asf/incubator/streams/trunk/">Streams Source</a></p>
+<p>Streams is designed for deployment in Apache Tomcat, Apache ServiceMix provides a JMS connection, and Apache Cassandra acts as a persistence layer.</p>
+<p>To begin run mvn install from within the streams-master directory and then from within the streams-source directory:</p>
<div class="codehilite"><pre> <span class="n">mvn</span> <span class="n">install</span>
</pre></div>
-<p>This will generate jar files for streams-eip-routes and streams-osgi-components (each module individually). Transfer (drag and drop, or copy):</p>
-<blockquote>
-<p>streams-eip-routes-0.1-SNAPSHOT.jar, activity-subscriber-0.1-SNAPSHOT.jar,activity-registration-0.1-SNAPSHOT.jar, and activity-consumer-0.1-SNAPSHOT.jar into the {servicemix}/deploy folder.</p>
-</blockquote>
-<div class="codehilite"><pre> <span class="o">.</span><span class="sr">/bin/s</span><span class="n">ervicemix</span> <span class="n">will</span> <span class="n">start</span> <span class="n">servicemix</span>
+<p>This will generate a war file located in the streams-web/target directory. Before starting Tomcat, you will need to start Cassandra. To do this, run:</p>
+<div class="codehilite"><pre> <span class="o">./</span><span class="n">bin</span><span class="o">/</span><span class="n">cassandra</span> <span class="o">-</span><span class="n">f</span>
+</pre></div>
+
+
+<p>from within your Cassandra installation</p>
+<p>Copy the streams-web.war to the /webapps directory of tomcat and start Tomcat:</p>
+<div class="codehilite"><pre> <span class="o">./</span><span class="n">bin</span><span class="o">/</span><span class="n">startup</span><span class="p">.</span><span class="n">sh</span>
+</pre></div>
+
+
+<p>from within your Tomcat installation</p>
+<p>Start ServiceMix: </p>
+<div class="codehilite"><pre> <span class="o">./</span><span class="n">bin</span><span class="o">/</span><span class="n">servicemix</span>
</pre></div>
+<p>from within your ServiceMix installation</p>
<h1 id="testing-throughput">Testing Throughput</h1>
<p>You can use any utility capable a sending HTTP requests, but Chrome's Advanced Rest Client browser plugin is simple and easy to use.</p>
-<p>With your HTTP utility of choice set up a publisher by POSTing JSON like the following to http://localhost:8000/streams/publisher/register</p>
+<p>With your HTTP utility of choice set up a publisher by POSTing JSON like the following to http://localhost:8080/streams/publisher/register</p>
<div class="codehilite"><pre> <span class="p">{</span>
- <span class="s">"authToken"</span><span class="p">:</span> <span class="s">"token"</span><span class="p">,</span>
- <span class="s">"@class"</span><span class="p">:</span><span class="s">"org.apache.streams.osgi.components.activityconsumer.impl.PushActivityConsumer"</span><span class="p">,</span>
- <span class="s">"input_type"</span><span class="p">:</span> <span class="s">"http"</span><span class="p">,</span>
- <span class="s">"method"</span><span class="p">:</span> <span class="s">"post"</span><span class="p">,</span>
- <span class="s">"src"</span><span class="p">:</span> <span class="s">"http.example.com:8888"</span><span class="p">,</span>
- <span class="s">"delivery_frequency"</span><span class="p">:</span> <span class="s">"60"</span><span class="p">,</span>
- <span class="s">"auth_type"</span><span class="p">:</span> <span class="s">"none"</span><span class="p">,</span>
- <span class="s">"username"</span><span class="p">:</span> <span class="s">"username"</span><span class="p">,</span>
- <span class="s">"password"</span><span class="p">:</span> <span class="s">"password"</span>
+ "<span class="n">authToken</span>"<span class="p">:</span> "<span class="n">token</span>"<span class="p">,</span>
+ "<span class="p">@</span><span class="n">class</span>"<span class="p">:</span>"<span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">streams</span><span class="p">.</span><span class="n">osgi</span><span class="p">.</span><span class="n">components</span><span class="p">.</span><span class="n">activityconsumer</span><span class="p">.</span><span class="n">impl</span><span class="p">.</span><span class="n">PushActivityConsumer</span>"<span class="p">,</span>
+ "<span class="n">input_type</span>"<span class="p">:</span> "<span class="n">http</span>"<span class="p">,</span>
+ "<span class="n">method</span>"<span class="p">:</span> "<span class="n">post</span>"<span class="p">,</span>
+ "<span class="n">src</span>"<span class="p">:</span> "<span class="n">http</span><span class="p">.</span><span class="n">example</span><span class="p">.</span><span class="n">com</span><span class="p">:</span>8888"<span class="p">,</span>
+ "<span class="n">delivery_frequency</span>"<span class="p">:</span> "60"<span class="p">,</span>
+ "<span class="n">auth_type</span>"<span class="p">:</span> "<span class="n">none</span>"<span class="p">,</span>
+ "<span class="n">username</span>"<span class="p">:</span> "<span class="n">username</span>"<span class="p">,</span>
+ "<span class="n">password</span>"<span class="p">:</span> "<span class="n">password</span>"
<span class="p">}</span>
</pre></div>
<p>The service will return a URL that can be POSTed to with ActivityStrea.ms formatted JSON.</p>
-<p>Next setup a subscriber by POSTing JSON like the following to http://localhost:8000/streams/subscriber/register</p>
+<p>Next setup a subscriber by POSTing JSON like the following to http://localhost:8080/streams/subscriber/register</p>
<div class="codehilite"><pre> <span class="p">{</span>
- <span class="s">"authToken"</span><span class="p">:</span> <span class="s">"token"</span><span class="p">,</span>
- <span class="s">"@class"</span><span class="p">:</span><span class="s">"org.apache.streams.osgi.components.activitysubscriber.impl.ActivityStreamsSubscriptionImpl"</span><span class="p">,</span>
- <span class="s">"filters"</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">{</span>
- <span class="s">"@class"</span><span class="p">:</span><span class="s">"org.apache.streams.osgi.components.activitysubscriber.impl.ActivityStreamsSubscriptionLuceneFilterImpl"</span><span class="p">,</span>
- <span class="s">"query"</span><span class="p">:</span> <span class="s">"string represented query of type expected by filter implementation"</span>
-
- <span class="p">}</span>
- <span class="p">],</span>
- <span class="s">"outputs"</span><span class="p">:</span> <span class="p">[</span>
- <span class="p">{</span>
- <span class="s">"output_type"</span><span class="p">:</span> <span class="s">"http"</span><span class="p">,</span>
- <span class="s">"method"</span><span class="p">:</span> <span class="s">"post"</span><span class="p">,</span>
- <span class="s">"url"</span><span class="p">:</span> <span class="s">"http.example.com:8888"</span><span class="p">,</span>
- <span class="s">"delivery_frequency"</span><span class="p">:</span> <span class="s">"60"</span><span class="p">,</span>
- <span class="s">"max_size"</span><span class="p">:</span> <span class="s">"10485760"</span><span class="p">,</span>
- <span class="s">"auth_type"</span><span class="p">:</span> <span class="s">"none"</span><span class="p">,</span>
- <span class="s">"username"</span><span class="p">:</span> <span class="s">"username"</span><span class="p">,</span>
- <span class="s">"password"</span><span class="p">:</span> <span class="s">"password"</span>
- <span class="p">}</span>
+ "<span class="n">authToken</span>"<span class="p">:</span> "<span class="n">token</span>"<span class="p">,</span>
+ "<span class="p">@</span><span class="n">class</span>"<span class="p">:</span>"<span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">streams</span><span class="p">.</span><span class="n">osgi</span><span class="p">.</span><span class="n">components</span><span class="p">.</span><span class="n">activitysubscriber</span><span class="p">.</span><span class="n">impl</span><span class="p">.</span><span class="n">ActivityStreamsSubscriptionImpl</span>"<span class="p">,</span>
+ "<span class="n">filters</span>"<span class="p">:</span> <span class="p">[</span>
+ "<span class="n">tags</span>"
<span class="p">]</span>
<span class="p">}</span>
</pre></div>
<p>This will return a unique URL that can take GET and POST requests. POST requests should contain JSON like the above to reconfigure the endpoint, GET requests will return activity streams JSON.</p>
-<p>Now, POST some JSON activitystrea.ms to the URL you received for the Publisher and then GET the URL you received for the Subscriber.</p>
+<p>Now, POST some JSON activitystrea.ms to the URL you received for the Publisher and then GET the URL you received for the Subscriber. The subscriber will return activity with tags that correspond to the subscribers filter. The following is an example of an activity that will be returned to the subscriber example:</p>
+<div class="codehilite"><pre> <span class="p">{</span>
+ "<span class="n">id</span>"<span class="p">:</span> "<span class="n">id</span>"<span class="p">,</span>
+ "<span class="n">verb</span>"<span class="p">:</span> "<span class="n">verb</span>"<span class="p">,</span>
+ "<span class="n">tags</span>"<span class="p">:</span> "<span class="n">tags</span>"<span class="p">,</span>
+ "<span class="n">provider</span>"<span class="p">:</span> <span class="p">{</span>
+ "<span class="n">url</span>"<span class="p">:</span> "<span class="n">www</span><span class="p">.</span><span class="n">providerexample</span><span class="p">.</span><span class="n">com</span>"
+ <span class="p">},</span>
+ "<span class="n">actor</span>"<span class="p">:</span> <span class="p">{</span>
+ "<span class="n">id</span>"<span class="p">:</span> "<span class="n">actorid</span>"<span class="p">,</span>
+ "<span class="n">objectType</span>"<span class="p">:</span> "<span class="n">actorobject</span>"<span class="p">,</span>
+ "<span class="n">displayName</span>"<span class="p">:</span> "<span class="n">actorname</span>"<span class="p">,</span>
+ "<span class="n">url</span>"<span class="p">:</span> "<span class="n">www</span><span class="p">.</span><span class="n">actorexampleurl</span><span class="p">.</span><span class="n">com</span>"
+ <span class="p">},</span>
+ "<span class="n">target</span>"<span class="p">:</span> <span class="p">{</span>
+ "<span class="n">id</span>"<span class="p">:</span> "<span class="n">targetid</span>"<span class="p">,</span>
+ "<span class="n">displayName</span>"<span class="p">:</span> "<span class="n">targetname</span>"<span class="p">,</span>
+ "<span class="n">url</span>"<span class="p">:</span> "<span class="n">www</span><span class="p">.</span><span class="n">targeturl</span><span class="p">.</span><span class="n">com</span>"
+ <span class="p">},</span>
+ "<span class="n">object</span>"<span class="p">:</span> <span class="p">{</span>
+ "<span class="n">id</span>"<span class="p">:</span> "<span class="n">objectid</span>"<span class="p">,</span>
+ "<span class="n">displayName</span>"<span class="p">:</span> "<span class="n">objectname</span>"<span class="p">,</span>
+ "<span class="n">objectType</span>"<span class="p">:</span> "<span class="n">object</span>"<span class="p">,</span>
+ "<span class="n">url</span>"<span class="p">:</span> "<span class="n">www</span><span class="p">.</span><span class="n">objecturl</span><span class="p">.</span><span class="n">org</span>"
+ <span class="p">}</span>
+ <span class="p">}</span>
+</pre></div>
</div> <!-- /span -->
</div> <!-- /row-fluid -->
</div>