
Diffusion Product Stack
Cases/Examples
Benefits
- Reduction in operating costs
- Increased innovation and market opportunities
- Quick ROI
- Reduce your carbon foot print
- Improved user experience
- Build rich internet applications quickly
Features
- Best Message Delivery
- Bi-Directional
- Cascading Transport Layer
- Client Connectivity (Roundtrip Monitor)
- Client Driven Events
- Compression
- Conflation
- Firewall Compatible
- Guaranteed Message Delivery
- Hierarchical Topics
- High & Low Water Marks
- High Performance & Scalability
- Multiple Queue Types
- Multiple Message Types
- Multiple Transport Layers
- Secure
- Simple & Flexible API
- Technology Agnostic
- Topic Aliasing
- Web Sockets
- Zero Copy
- Zero Download
- Zero Fan Out Time
- Zero Latency
Diffusion Architecture
Diffusion is a Distributed Message Broker infrastructure. Diffusion allows you to create a two-way secure real-time online channel between an organisation and its audience. Diffusion enables you to push and receive data and events to and from any current, or future, ‘net’ connected device including the web browser. Some of the main components are introduced in the diagram below:-

Many of the components shown are optional. Only Publishers and Clients are essential for a working Diffusion application.
Clients connect to a Diffusion Server and Publishers publish Messages to Clients that are interested in those Messages. The communication is bi-directional and thus Clients may also send Messages to Publishers. A Publisher is a user written Java class.
An Event Publisher allows for data to be fed to Publishers from some external application.
An External Publisher allows for a Publisher to be implemented outside the Diffusion Server. It connects to the Server and publishes Messages which are routed by the Server to Clients.
A Publisher Server is a bi-directional communication channel between a Publisher and some external application. In a distributed environment a Publisher can connect to a Diffusion Server as a Client but can also connect to a Publisher Server as if it were a Diffusion Server.
Publishers and Clients are loosely coupled - the link being provided by Topics.
Distribution
Diffusion Servers may communicate in a peer to peer network to provide full scalable distribution. Load may be spread across different Publishers in different Servers across different machines. Publishers may act as Clients of other Servers by subscribing to Topics in the same way as normal Clients.
The following diagram shows a typical distributed configuration:-

