Author: sblackmon
Date: Sun Dec 7 16:37:35 2014
New Revision: 1643695
URL: http://svn.apache.org/r1643695
Log:
update in preparation for 0.1 release
Modified:
incubator/streams/site/trunk/content/architecture.mdtext
incubator/streams/site/trunk/content/index.mdtext
incubator/streams/site/trunk/content/source-repository.mdtext
incubator/streams/site/trunk/content/streams-usage.mdtext
Modified: incubator/streams/site/trunk/content/architecture.mdtext
URL:
http://svn.apache.org/viewvc/incubator/streams/site/trunk/content/architecture.mdtext?rev=1643695&r1=1643694&r2=1643695&view=diff
==============================================================================
--- incubator/streams/site/trunk/content/architecture.mdtext (original)
+++ incubator/streams/site/trunk/content/architecture.mdtext Sun Dec 7
16:37:35 2014
@@ -16,7 +16,9 @@ Notice: Licensed to the Apache Softwar
specific language governing permissions and limitations
under the License.
-The preliminary architecture for the Apache Streams (v0.1) project is heavily
influenced by Enterprise Integration Patterns and general messaging
architecture. It is the goal of the project to support both a lightweight
servlet container deployment and a robust distributed deployment. The initial
architectural patterns selected are being developed with an Enterprise Service
Bus based architecture in mind with target implementations of Apache ServiceMix
and Apache Camel.
+The architecture for the Apache Streams (v0.1) project is essentially a
loosely coupled set of modules which provide, process, or persist documents,
with a preference for ActivityStreams.
+
+Streams is heavily influenced by Enterprise Integration Patterns and general
messaging architecture. It is the goal of the project to support multiple
execution containers, including distributed deployments.
---
@@ -24,11 +26,17 @@ The preliminary architecture for the Apa
---
-
-
-Component Descriptions
+Streams Vocabulary
----------------------
+*Activity Persist Reader*: Task running within an Activity Streams deployment
that sources documents from a file system or database.
+
+*Activity Persist Writer*: Task running within an Activity Streams deployment
that saves documents to a file system or database.
+
+*Activity Processor*: Task running within Activity Streams deployment that
transforms documents, perhaps with a synchronous call to an external system.
+
+*Activity Provider*: Task running within Activity Streams deployment that
sources documents for the stream, likely in their original data format.
+
*Activity Publisher*: Entity external to Activity Streams server that creates
Activities per the activitystre.ms specification
*Activity Publisher Endpoint Adapter*: Provides protocol interfaces for
Activity Publishers to use when registering as an Activity Publisher and when
publishing Activities
@@ -53,4 +61,4 @@ Component Descriptions
*Activity Streams Subscriber Registration Service*: Creates Activity Streams
Subscriber Delegates for each Activity Streams Subscribers.
-*Activity Streams Router*: Handles the routing of poll requests from Activity
Streams Subscribers to Activity Streams Subscriber Delegates and push
notifications from Activity Streams Subscriber Delegates to Activity Streams
Subscribers
+*Activity Streams Router*: Handles the routing of poll requests from Activity
Streams Subscribers to Activity Streams Subscriber Delegates and push
notifications from Activity Streams Subscriber Delegates to Activity Streams
Subscribers
\ No newline at end of file
Modified: incubator/streams/site/trunk/content/index.mdtext
URL:
http://svn.apache.org/viewvc/incubator/streams/site/trunk/content/index.mdtext?rev=1643695&r1=1643694&r2=1643695&view=diff
==============================================================================
--- incubator/streams/site/trunk/content/index.mdtext (original)
+++ incubator/streams/site/trunk/content/index.mdtext Sun Dec 7 16:37:35 2014
@@ -1,5 +1,5 @@
Title: Apache Streams
-Subtitle: Lightweight server for ActivityStreams
+Subtitle: Lightweight framework for ActivityStreams
Notice: 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
@@ -19,7 +19,7 @@ Notice: Licensed to the Apache Softwar
---
-> *Apache Streams (incubating)* is a lightweight (yet scalable) server for
ActivityStreams.
+> *Apache Streams (incubating)* is a lightweight (yet scalable) framework for
ActivityStreams.
---
Modified: incubator/streams/site/trunk/content/source-repository.mdtext
URL:
http://svn.apache.org/viewvc/incubator/streams/site/trunk/content/source-repository.mdtext?rev=1643695&r1=1643694&r2=1643695&view=diff
==============================================================================
--- incubator/streams/site/trunk/content/source-repository.mdtext (original)
+++ incubator/streams/site/trunk/content/source-repository.mdtext Sun Dec 7
16:37:35 2014
@@ -16,34 +16,26 @@ Notice: Licensed to the Apache Softwar
specific language governing permissions and limitations
under the License.
-Apache Streams uses [Subversion](http://subversion.apache.org/) for version
control with a [Git](http://git.apache.org/) mirror.
+Getting the Source Code
+-----------------------
-Run the following command to check out the repository trunk:
+Apache Streams uses [Git](http://git.apache.org/) for version control.
-> svn checkout https://svn.apache.org/repos/asf/incubator/streams/trunk
streams-trunk
+Run the following command to check out the repository trunk:
-OR
-> git clone git://git.apache.org/streams.git streams-trunk
+> https://git-wip-us.apache.org/repos/asf/incubator-streams.git
-There is also a [Web
UI](http://svnsearch.org/svnsearch/repos/ASF/search?path=%2Fincubator%2Fstreams)
+There is also a [Web
UI](https://git-wip-us.apache.org/repos/asf/incubator-streams.git)
which can be used to view the repository and project activity online.
-Project Build Structure
+The repository syncs to [GitHub](http://git.apache.org/), where most pull
requests are created and discussed.
+
+Building the Project
-----------------------
-Streams uses Maven 3+ as its build tool. Below is a breakdown of the projects
and components that are built or can be built using Maven.
+Streams uses Maven 3+ as its build tool.
+
+`mvn clean install` from project root will build all modules and install them
to your local maven repo.
-**streams-eip-routes**: contains Camel xml routes that are packaged as a
-war. This could be hot deployed to servicemix or packaged with
-streams-web for a servlet container or applications server deployment.
-
-**streams-osgi-components**: contains OSGI compliant java modules. Each
-module is packaged as an osgi bundle jar. A uber-jar
-(streams-components) is also built that contains all of the components
-for packaging with streams-web. Each module could be hot deployed to
-servicemix.
-
-**streams-web**: contains streams-eip-routes, streams-components.jar,
-camel web interface, and possibly a streams web interface.
-Specifically for servlet contain/application server deployment.
+Streams requires Java 1.7+.
Modified: incubator/streams/site/trunk/content/streams-usage.mdtext
URL:
http://svn.apache.org/viewvc/incubator/streams/site/trunk/content/streams-usage.mdtext?rev=1643695&r1=1643694&r2=1643695&view=diff
==============================================================================
--- incubator/streams/site/trunk/content/streams-usage.mdtext (original)
+++ incubator/streams/site/trunk/content/streams-usage.mdtext Sun Dec 7
16:37:35 2014
@@ -1,4 +1,4 @@
-Title: Apache Streams Usage
+Title: Running Apache Streams Server
Notice: 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
@@ -16,11 +16,63 @@ Notice: Licensed to the Apache Softwar
specific language governing permissions and limitations
under the License.
-The following is an outline of how to work with the current development branch
of Streams. It provides a walkthrough to see the current major functions of
Streams in action.
+---
+
+> *Running Apache Streams Embedded*
+
+---
+
+Streams can be embedded in a stand-alone Java Application using the
streams-runtime-local module.
+
+First, in your application's build definition, import:
+
+ org.apache.streams:streams-runtime-local:0.1
+
+Next, in the class you intend to run, create a StreamLocalBuilder.
+
+ StreamBuilder builder = new LocalStreamBuilder(100);
+
+Add data providers for your application by importing additional provider
modules, for example:
+
+ org.apache.streams:streams-provider-twitter:0.1
+
+and adding providers to the builder:
+
+ builder.newPerpetualStream("provider", new TwitterStreamProvider());
+
+The provided documents can be transformed by your application with processors:
+
+ builder.addStreamsProcessor("converter", new
TwitterTypeConverter(ObjectNode.class, Activity.class);, 2, "provider");
+
+Common database persistence libraries are also available as modules.
+
+ org.apache.streams:streams-persist-hdfs:0.1
+
+Your stream can write documents to databases with a PersistWriter:
+
+ builder.addStreamsPersistWriter("hdfs", new WebHdfsPersistWriter(), 1,
"converter");
+
+Finally, your program should call
+
+ builder.start();
+
+At which point the stream will initialize, begin execution, and run until all
providers have completed.
+
+Perpetual stream providers can run indefinitely, while other provider modes
typically complete after retrieving a finite dataset.
+
+Streams may be configured to time-out and terminate if no new documents are
provided with some amount of time:
+
+ Map<String, Object> streamConfig = Maps.newHashMap();
+ streamConfig.put(LocalStreamBuilder.TIMEOUT_KEY, 20 * 60 * 1000);
+ StreamBuilder builder = new LocalStreamBuilder(1000, streamConfig);
+
+The shell running your application stream may also terminate the stream.
+Upon receipt of a halt signal, the stream will attempt to process and write
any documents in flight before shutting down.
+
---
-> *Apache Streams (incubating) v0.1 Setup*
+> *Running Apache Streams Server*
---