You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by le...@apache.org on 2012/12/19 19:02:46 UTC

svn commit: r1423988 - in /incubator/streams/site/trunk: content/architecture.mdtext content/images/ content/images/v.1_architecture.png content/source-repository.mdtext lib/path.pm

Author: letourneau
Date: Wed Dec 19 18:02:46 2012
New Revision: 1423988

URL: http://svn.apache.org/viewvc?rev=1423988&view=rev
Log:
added architecture and project structure information

Added:
    incubator/streams/site/trunk/content/architecture.mdtext
    incubator/streams/site/trunk/content/images/
    incubator/streams/site/trunk/content/images/v.1_architecture.png   (with props)
Modified:
    incubator/streams/site/trunk/content/source-repository.mdtext
    incubator/streams/site/trunk/lib/path.pm

Added: incubator/streams/site/trunk/content/architecture.mdtext
URL: http://svn.apache.org/viewvc/incubator/streams/site/trunk/content/architecture.mdtext?rev=1423988&view=auto
==============================================================================
--- incubator/streams/site/trunk/content/architecture.mdtext (added)
+++ incubator/streams/site/trunk/content/architecture.mdtext Wed Dec 19 18:02:46 2012
@@ -0,0 +1,56 @@
+Title:    Apache Streams Architecture
+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
+          regarding copyright ownership.  The ASF licenses this file
+          to you under the Apache License, Version 2.0 (the
+          "License"); you may not use this file except in compliance
+          with the License.  You may obtain a copy of the License at
+          .
+            http://www.apache.org/licenses/LICENSE-2.0
+          .
+          Unless required by applicable law or agreed to in writing,
+          software distributed under the License is distributed on an
+          "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+          KIND, either express or implied.  See the License for the
+          specific language governing permissions and limitations
+          under the License.
+
+The preliminary architecture for the Apache Streams 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.
+
+---
+
+> *Apache Streams (incubating) v.1 Architecture*
+
+---
+
+![v.01 Architecture](/images/v.1_architecture.png)
+
+Component Descriptions
+----------------------
+
+*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
+
+*Publisher Registration Service*: Authorizes Activity Producers to publish Activities to Activity Streams server and configures a dedicated Activity Consumer for the Activity Publisher
+
+*Activity Routing Service*:  For pushed Activities, this service routes the Activity to the appropriate Activity Consumer
+
+*Activity Consumer*: Consumes Activities from Authorized Activity Publishers.  An Activity Consumer is set up to be either a push or pull service.  A Pull Activity Consumer will poll an Activity Publisher for new Activities, and a Push Activity Consumer will receive new Activities from the Activity Router Service.
+
+*Activity Splitter*: Activity Consumers use the Activity Splitter to create discrete Activity messages from a collection of Activities and place them for processing on the Activity Queue.
+
+*Activity Aggregation Service*: Pops Activities from the Activity Queue and notifies Activity Streams Subscriber Delegates when a new Activity Stream they have subscribed to is available.
+
+
+*Activity Streams Subscriber*: An external entity that is interested in subscribing to aggregated Activity Streams based on some criteria.  Expects Activities adhering to activitystre.ms specification
+
+*Activity Streams Subscriber Delegate*:  Defines the aggregation of Activity Streams on behalf of Activity Streams Consumers and provides notification to its Activity Streams Subscriber when new aggregated Activity Streams are available
+
+
+*Activity Streams Subscriber Endpoint Adapter*: Provides protocol interfaces for Activity Streams Subscribers to use when subscribing to Activity Streams and polling for new Activity Streams
+
+*Activity Streams Consumer 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

Added: incubator/streams/site/trunk/content/images/v.1_architecture.png
URL: http://svn.apache.org/viewvc/incubator/streams/site/trunk/content/images/v.1_architecture.png?rev=1423988&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/streams/site/trunk/content/images/v.1_architecture.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: incubator/streams/site/trunk/content/source-repository.mdtext
URL: http://svn.apache.org/viewvc/incubator/streams/site/trunk/content/source-repository.mdtext?rev=1423988&r1=1423987&r2=1423988&view=diff
==============================================================================
--- incubator/streams/site/trunk/content/source-repository.mdtext (original)
+++ incubator/streams/site/trunk/content/source-repository.mdtext Wed Dec 19 18:02:46 2012
@@ -16,11 +16,32 @@ 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. 
+Apache Streams uses [Subversion](http://subversion.apache.org/) for version control with a [Git](http://git.apache.org/) mirror. 
 Run the following command to check out the repository trunk:
 
     svn checkout https://svn.apache.org/repos/asf/incubator/streams/trunk streams-trunk
 
+OR
+    git clone git://git.apache.org/streams.git streams-trunk
+
 There is also a [Web UI](http://svnsearch.org/svnsearch/repos/ASF/search?path=%2Fincubator%2Fstreams) 
 which can be used to view the repository and project activity online.
 
+*Project Build Structure*
+
+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-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.
+

Modified: incubator/streams/site/trunk/lib/path.pm
URL: http://svn.apache.org/viewvc/incubator/streams/site/trunk/lib/path.pm?rev=1423988&r1=1423987&r2=1423988&view=diff
==============================================================================
--- incubator/streams/site/trunk/lib/path.pm (original)
+++ incubator/streams/site/trunk/lib/path.pm Wed Dec 19 18:02:46 2012
@@ -8,6 +8,8 @@ our @nav = (
     { title => "Wiki (coming soon)",
       href => ""},
     { title => "Project" },
+     { title => "Architecture",
+      href => "/architecture.html" },
     { title => "Source Code",
       href => "/source-repository.html" },
     { title => "Mailing Lists",