WSGI Middleware Stack¶
Moksha was once highly coupled with the TurboGears2 framework, but has since been separated. You can concievably use Moksha’s WSGI middleware and Widget API with any WSGI framework such as TurboGears2, Pyramid, or Flask.
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.
Low-latency Browser Socket¶
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.
Widget Creation API¶