Moksha provides a WSGI (PEP 333) compliant application and middleware stack
See also
Moksha provides a message hub that allows for other applications, services, or users to communicate over a low-latency topic-based publish/subscribe message bus. It’s designed in such a way as to facilitate a variety of different message flows, allowing for a combination of different message queueing brokers and protocols.
Out of the box, Moksha utilizes MorbidQ, a lightweight message queue for bundled deployment, for it’s message queueing needs. With a 1-line change to Moksha’s configuration file, you can integrate it with an existing AMQP broker, such as Qpid or RabbitMQ. With similarly small configuration changes, you can integrate it with a 0mq messaging fabric.
See also
Moksha integrates with Orbited, a highly-scalable
server that allows for asynchronous browser <-> server communication (Comet). Moksha
then makes it simple to create LiveWidgets
that can publish and
subscribe to arbitrary message topics in the The Moksha Hub. This
allows for the creation of very rich live web applications.
Moksha also packs a built-in WebSocket server and Live Widget mixin as an alternative to the Orbited (Comet) pattern. The WebSocket pattern is compatible with only the 0mq messaging backend.
Moksha offers a highly-scalable plugin infrastructure that transparently handles initializing, dispatching, manipulating, and scaling applications and widgets – allowing people to rapidly innovate without worrying about the over or under-lying software architecture.
ToscaWidgets provides a powerful API for creating reusable “Widgets”, which are essentially just bundles of HTML, JavaScript, CSS, and render-time logic. The ToscaWidgets WSGI Middleware is also integrated into Moksha, which handles intelligently injecting Widget resources. Moksha has built-in support for both ToscaWidgets1 and ToscaWidgets2.
Moksha also provides a variety of other Widgets, including a Live Widgets API for creating real-time message-driven widgets that can publish and subscribe to message Topics.
See also
Moksha architecture is self-scaling and can adapt to a variety of infrastructure environments.
The Moksha Hub gives you Expert System-like functionality by providing APIs for interacting with a variety of knowledge bases (SQLAlchemy models, Caches, Message Queues, etc), and can easily monitor and process incoming data. One could then easily build state-machines, inference engines, or even forward/backward-chaning rule-driven expert systems.
Moksha also provides a simple yet powerful API for creating Producers. With these, developers can script periodic tasks such as fetching data, polling resources, warming caches, sending notifications, analyzing databases, etc. For example, Moksha provides a The Moksha Feed Stream, that automatically handles fetching, parsing, caching, and sending notifications for all known feeds at a regular interval.
These are loaded by The Moksha Hub, and are executed outside of the WSGI application stack, but they are still able to access the Database, Cache, MessageHub, etc.
See also