Architecture docs (#273)

diff --git a/.gitignore b/.gitignore
index 15822ad..5fc58a2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,5 +8,13 @@
 action/package-lock.json
 package-lock.json
 
+# Eclipse
+bin/
+**/.project
+.settings/
+.classpath
+.cache-main
+.cache-tests
+
 .idea/
-out/
\ No newline at end of file
+out/
diff --git a/README.md b/README.md
index 620a16f..fe42133 100644
--- a/README.md
+++ b/README.md
@@ -379,8 +379,11 @@
 ### Integrating OpenWhisk with IBM Message Hub, Node Red, IBM Watson IoT, IBM Object Storage, and IBM Data Science Experience
 Example that integrates OpenWhisk with IBM Message Hub, Node Red, IBM Watson IoT, IBM Object Storage, IBM Data Science Experience (Spark) service can be [found here](https://medium.com/openwhisk/transit-flexible-pipeline-for-iot-data-with-bluemix-and-openwhisk-4824cf20f1e0).
 
+## Architecture
+Archtecture documentation and diagrams, please refer to the [Architecture Docs](docs/arch/README.md)
+
 ## Development and Testing
-If you wish to deploy the feed service yourself, please refer to the [Development Guide](devGuide.md).
+If you wish to deploy the feed service yourself, please refer to the [Development Guide](docs/dev/README.md).
 
 ## References
 - [OpenWhisk](https://www.ibm.com/cloud-computing/bluemix/openwhisk)
diff --git a/docs/arch/README.md b/docs/arch/README.md
new file mode 100644
index 0000000..0eb6b0b
--- /dev/null
+++ b/docs/arch/README.md
@@ -0,0 +1,85 @@
+<!--
+#
+# 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.
+#
+-->
+
+## MessageHub Trigger Provider Architecture
+
+### Create Trigger Feed
+![MessageHub Trigger Create](images/Arch-Provider-MHV1-Create.png)
+
+**Scenario:** User wants to create a trigger `trigger1` for MessageHub service instance `instance1`, using Credentials `Credential-1` and use rule `rule1` to invoke action `action1` with messages from topic `topic1`.
+
+1. Developer creates a MessageHub service `instance1`
+2. Developer creates topic `topic1` in MessageHub service `instance1`
+3. Developer creates Credential key `Credential-1` for MessageHub `instance1`
+4. Developer creates trigger `trigger1` on OpenWhisk, the trigger stores the annotation `feed` with the feedAction name from system package or binded package.(`/whisk.system/messagingWeb/messageHubFeed`).
+5. Developer invokes action feedAction to create trigger feed passing input parameters (lifeCycle:`CREATE`, `trigger1`, Credentials1, Options:`topic1`)
+6. The feedAction invokes feedWebAction forwarding input parameter.
+7. The feedWebAction inserts trigger feed doc into DB for worker group 0 (feedWebAction protects DB credentials)
+8. DB insertion notifies workers group 0 via Cloudant/CouchDB changes API, workers listen on DB view with a filter for their group `worker0` and gets the DB doc.
+9. Kafka Consumer is created on each worker in a consumer group and starts polling for messages on `topic1` from `instance1` using `Credentials-1`.
+10. Developer creates `rule1` indicating that when `trigger1` fires invoke `action1`.
+11. Event source produces messages on `topic1`.
+12. Both consumers will batch the messages from `topic1` and fire `trigger1`.
+    - The fire is done with an http request containing the batch of messages in the body.
+    - Consumer will not poll for more messages and will not commit batch of messages until the http request gets a response from OpenWhisk trigger endpoint.
+    - Consumers in the same consumer group get assigned a set of partitions, each consumer on each worker host will get a unique set of messages avoiding duplicate messages being included in trigger fires.
+9. OpenWhisk will process the trigger fire for `trigger1` and finds the `rule1` and invokes `action1` with messages from topic `topic1`.
+
+### Update Trigger Feed
+![MessageHub Trigger Update](images/Arch-Provider-MHV1-Update.png)
+
+**Scenario:** User wants to update trigger `trigger1` to change from topic `topic1` to topic `topic2`.
+
+1. Developer creates topic `topic2` in MessageHub service `instance1`.
+2. Developer gets the annotation `feed` from trigger `trigger1`.
+3. Developer invokes feedAction to update trigger feed passing input parameters (lifeCycle:`UPDATE`, `trigger1`, Options:`topic2`).
+4. The feedAction invokes feedWebAction forwarding input parameter.
+5. The feedWebAction inserts trigger feed doc into DB for worker group 0 (feedWebAction protects DB credentials).
+6. DB insertion notifies workers group 0 via Cloudant/CouchDB changes API, workers listen on DB view with a filter for their group `worker0` and gets the DB doc.
+7. Kafka Consumer is re-created on each worker in a consumer group and starts polling for messages on `topic2` from `instance1` using `Credentials-1`.
+8. Event source produces messages on `topic2`.
+9. Both consumers will now handle `topic2` instead of `topic1`.
+10. OpenWhisk will process the trigger fire for `trigger1`, finds the rule `rule1` and invokes `action1` with messages from topic `topic2`.
+
+### Read Trigger Feed
+![MessageHub Trigger Read](images/Arch-Provider-MHV1-Read.png)
+
+**Scenario:** User wants to read the configuration and staus for trigger `trigger1`.
+
+1. Developer gets the annotation `feed` from trigger `trigger1`.
+2. Developer invokes feedAction to read the trigger feed passing input parameters (lifeCycle:`READ`, `trigger1`).
+3. The feedAction invokes feedWebAction forwarding input parameter.
+4. The feedWebAction gets the trigger feed doc from DB (feedWebAction protects DB credentials).
+5. The DB returns the trigger feed doc for `trigger1`.
+6. The feedWebAction returns a response to feedAction.
+7. The feedAction returns response (config, status) to Developer.
+
+### Delete Trigger Feed
+![MessageHub Trigger Read](images/Arch-Provider-MHV1-Delete.png)
+
+**Scenario:** User wants to delete trigger `trigger1`.
+
+1. Developer deletes rule `rule1`
+2. Developer gets the annotation `feed` from trigger `trigger1`.
+3. Developer invokes feedAction to delete the trigger feed passing input parameters (lifeCycle:`DELETE`, `trigger1`).
+4. The feedAction invokes feedWebAction forwarding input parameter.
+5. The feedWebAction updates the trigger feed doc into DB with a field `delete:true`(feedWebAction protects DB credentials).
+6. DB update notifies workers group 0 via Cloudant/CouchDB changes API, workers listen on DB view with a filter for their group `worker0` and gets the DB doc. The Kafka consumers for `trigger1/topic2` get destroyed.
+7. The feedWebAction deletes the trigger feed doc from DB.
+8. The Developer deletes trigger `trigger1`
diff --git a/docs/arch/images/Arch-Provider-MHV1-Create.png b/docs/arch/images/Arch-Provider-MHV1-Create.png
new file mode 100644
index 0000000..8d5aec5
--- /dev/null
+++ b/docs/arch/images/Arch-Provider-MHV1-Create.png
Binary files differ
diff --git a/docs/arch/images/Arch-Provider-MHV1-Delete.png b/docs/arch/images/Arch-Provider-MHV1-Delete.png
new file mode 100644
index 0000000..abfa261
--- /dev/null
+++ b/docs/arch/images/Arch-Provider-MHV1-Delete.png
Binary files differ
diff --git a/docs/arch/images/Arch-Provider-MHV1-Read.png b/docs/arch/images/Arch-Provider-MHV1-Read.png
new file mode 100644
index 0000000..80db17c
--- /dev/null
+++ b/docs/arch/images/Arch-Provider-MHV1-Read.png
Binary files differ
diff --git a/docs/arch/images/Arch-Provider-MHV1-Update.png b/docs/arch/images/Arch-Provider-MHV1-Update.png
new file mode 100644
index 0000000..3a38cef
--- /dev/null
+++ b/docs/arch/images/Arch-Provider-MHV1-Update.png
Binary files differ
diff --git a/docs/arch/images/Arch-Provider.xml b/docs/arch/images/Arch-Provider.xml
new file mode 100644
index 0000000..0b98596
--- /dev/null
+++ b/docs/arch/images/Arch-Provider.xml
@@ -0,0 +1 @@
+<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36" version="8.8.7" editor="www.draw.io" type="device"><diagram id="8b90fb75-adc8-f8ed-5786-064473bb2ab5" name="Page-1">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</diagram><diagram id="4a61cd6a-1d87-1c6d-e935-ed6030f03075" name="Page-2">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</diagram><diagram id="6cf33ac7-decd-3ee0-f8c2-8801fd974e49" name="Page-3">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</diagram><diagram id="4793e32e-30f5-cae3-abc5-2cdd6ce41493" name="Page-4">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</diagram></mxfile>
\ No newline at end of file
diff --git a/devGuide.md b/docs/dev/README.md
similarity index 100%
rename from devGuide.md
rename to docs/dev/README.md