SimpleQ is a messaging service that allows Claris FileMaker applications to work together in a loosely-coupled fashion. SimpleQ uses the Publish/Subscribe design pattern to broker messages between a Publisher and a Subscriber. To understand how SimpleQ operates, it's helpful to think about how tightly-coupled applications work together. Consider the following scenario:
In a Student Registration System, a student decides to drop their French class and add a Spanish class. The Registrar makes the changes to the student's schedule in the system. Other modules may depend on the Registration system for their information, such as the Bookstore to produce a list of required texts or an Attendance system for recording class attendance, and need to be notified in the event of a schedule change.
In a tightly-coupled architecture, the Registration system would have a connection to both the Bookstore and Attendance systems, and when making the schedule change it would call the functions in those modules directly. This requires the Registration system to know which methods to call and the format of the parameters needed for those methods. This can lead to many problems, particularly if the developer doesn't control all the systems involved.
In a loosely-coupled architecture, the Registration system would not call the Bookstore and Attendance systems directly. Instead, it would publish the schedule change event as a Message. The other systems would be notified of the new Message available for processing, and are responsible for invoking whatever scripts are necessary.
There are several benefits to a loosely-coupled architecture, including increased scalability, improved performance, and asynchronous operation. Combined with Otto's webhooks Receiver, SimpleQ even makes it easier to integrate with external systems.