docs/architecture_diagrams.txt | 134 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+)
New commits: commit 788b2ab5c612476a51b86119784b8c8164baa649 Author: Luke Macken lmacken@redhat.com Date: Wed Dec 2 17:26:28 2009 -0500
Add some architecture diagrams
diff --git a/docs/architecture_diagrams.txt b/docs/architecture_diagrams.txt new file mode 100644 index 0000000..aa5fab0 --- /dev/null +++ b/docs/architecture_diagrams.txt @@ -0,0 +1,134 @@ +# To build these, you need DiTAA +# java -jar ditaa0_8.jar architecture_diagrams.txt + +Moksha middleware stack + +/----------------------------------------------\ +| Optional middleware | +| +------------------------------------------+ | +| | repoze.profile | | +| | Profiling | | +| +------------------------------------------| | +| | repoze.squeeze | | +| | Resource compression | | +| +------------------------------------------+ | ++----------------------------------------------+ +| TurboGears2 Middleware | +| +------------------------------------------+ | +| | Routes | | +| | Application routing/dispatching | | +| +------------------------------------------+ | +| | Beaker | | +| | Session management | | +| | Caching layer | | +| +------------------------------------------+ | +| | ToscaWidgets | | +| | Widget resource injection | | +| +------------------------------------------+ | +| | repoze.who | | +| | Authentication | | +| +------------------------------------------+ | +| | repoze.what | | +| | Authorization | | +| +------------------------------------------+ | +| | repoze.tm2 | | +| | Transaction management | | +| +------------------------------------------+ | +| | Paste | | +| | Registry manager | | +| +------------------------------------------+ | +| | WebError | | +| | Error handling & Debugging | | +| +------------------------------------------+ | ++----------------------------------------------| +| Moksha Middleware | +| +--------------+ +---------+ | +| | Applications | | Widgets | | +| +--------------+ +---------+ | ++----------------------------------------------| +| Your Application | +----------------------------------------------/ + +Moksha Hub + +/---------------------------\ +| Plugin loader | ++---------------------------+ +| Event loop reactor | ++---------------------------+ +| Plugins | +| +-----------+-----------+ | +| | Consumers | Producers | | +| +-----------+-----------+ | ++---------------------------+ +| Protocol Translator | +| +-----------+-----------+ | +| | AMQP | STOMP | | +| +-----------+-----------+ | +---------------------------/ + ^ + | + v + /----------------\ + | Message Broker | + ----------------/ + + +Rapid development deployment + +/-----------------\ /------------------------------\ +| Orbited | | Moksha Hub | +| | | | +| +---------+ +------------+ | | +| | MorbidQ | <--- | STOMP {io} | ---> | +-----------+ +-----------+ | +| +---------+ +------------+ | | Producers | | Consumers | | +-----------------/ | +-----------+ +-----------+ | + ------------------------------/ + +Bringing an AMQP broker into the mix + +/-----------------\ /------------------------------\ +| Orbited | | Moksha Hub | +| | | | +| +---------+ +------------+ | | +-----------+ /----------------\ +| | MorbidQ | <--- | STOMP {io} | ---> | +-----------+ +-----------+ | <--- | AMQP {io} | -------> | Qpid | +| +---------+ +------------+ | | Producers | | Consumers | | +-----------+ | {s} | +-----------------/ | +-----------+ +-----------+ | ----------------/ + ------------------------------/ + + +100% AMQP + + /------------------------------\ + | Moksha Hub | +/---------\ | | +-----------+ /----------------\ +| Orbited | | +-----------+ +-----------+ | <--- | AMQP {io} | -------> | Qpid | +---------/ | | Producers | | Consumers | | +-----------+ | {s} | + | +-----------+ +-----------+ | ----------------/ + | | + ------------------------------/ + + +Moksha Live Widgets + +/-----------------------------------\ +| Browser | +| | +| /-------------\ +-------------+ +---------------+ +---------+ +----------------+ +| | Live Widget |<--->| Live Socket |<---|{io}AMQP/STOMP |--->| Orbited |<--->| Message broker | +| -------------/ +-------------+ +---------------+ +---------+ +----------------+ +| | +-----------------------------------/ + + +/-----------------------------------------------------------------------\ +| +--------------------+ +----------------------+ | +| Live Widget | Topic(s) | | On message callback | | +| +--------------------+ +----------------------+ | +| | +| +-------------------+ +--------------------+ +----------------------+ | +| | Server side logic | | JS & CSS resources | | Widget template | | +| +-------------------+ +--------------------+ +----------------------+ | +-----------------------------------------------------------------------/ + +