Recent work on system messaging

Mike's Notes

The work this week. I spent days staring into space, and then the solution became very clear while daydreaming 😴 between morning coffee and ice cream afternoons 😎. Slow but getting there.

Resources

References

  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series), by Gregor Hohpe and Bobby Woolf.
  • Integration Patterns (Patterns & Practices). Microsoft.

Repository

  • Home > Ajabbi Research > Library > Authors > Gregor Hophe
  • Home > Handbook > 

Last Updated

22/01/2026

Recent work on system messaging

By: Mike Peters
On a Sandy Beach: 22/01/2026

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

Pipi 4 (2005-2008)

A simple internal messaging system was invented and built for Pipi 4 around 2005. It had a messaging store and handled interactions between different internal systems. It was not called a messaging system; it was an unnamed part of the Metadata Repository. It was built in CFML code and ran on MS SQL Server.

Pipi 6 (2017-2019)

After reading about Apache Kafka and RabbitMQ, I realised that Pipi 4 had contained a primitive internal messaging system, 5 years before Kafka. A new, quick-and-dirty broker-based messaging system similar to RabbitMQ was built as a module to send messages across hundreds of modules when Pipi 4 was rebuilt from memory as Pipi 6. The work of Gregor Hohpe and Bobby Woolf was an inspiration. Martin Fowler was an enormous influence on everything.

Pipi 9 (2023-

The existing Pipi 6 messaging module is now being fully refactored into the Pipi 9 Messaging Engine (msg). Previously, it used a wrapper to make it appear to be an agent. Some minor changes are being made to the Namespace Engine (nsp). The Messaging Engine (msg) is used to create the local messaging systems via the Factory Engine (fac). It will be accessible for configuration via the coming Agent Workspace > msg module.

The Factory Engine (fac) will place a local message store using an embedded database inside each agent to connect to its Messaging Endpoint. Each system (made up of many agents) has its own messaging store attached to the system router.

As agents dynamically self-assemble in response to events, the messaging system always works.

The new Engine closely follows the patterns in Enterprise Integration Patterns and even uses the same icons, aka "Gregorgrams".

Summary of changes underway

  • Internal system messaging between hundreds of autonomous agents.
  • Possible because of the Namespace Engine (nsp) built into Pipi 8.
  • External messaging between Pipi and applications, such as databases, cloud platforms and containers, will be handled using an open-source messaging system, such as Kafka or RabbitMQ.
  • The two messaging systems need to interconnect. I don't know how yet! 😇
  • Event messaging and Pub/Sub are the most common; others include CQRS, Dead Letter, and Point-to-Point.
  • Essential for robust Pipi self-management.
  • The pipiWiki will automatically document the configuration of each engine, including messaging (Gregorgrams) diagrams. See link to the Primative Engine (prm) mockup above.
  • The messaging configuration can change dynamically.


No comments:

Post a Comment