QBO 3 abstracts the notion of message queuing to enable use of EventQueue, MSMQ, SQL Service Broker, or Amazon's SQS.
QBO 2.0 relies heavily on the use of the Event and EventQueue tables for asynchronous processing. QBO 3 will continue to support this infrastructure.
When generating Attachments, QBO 3 will enable offloading the processing to multiple application machines. The mechanism will be to queue an attachment generation request directly to a MSMQ, which is in turn monitored by a WCF instance that knows how to generate the requested attachment. This implies one or more distinct queues for each attachment plugin, such as:
The following of communications for generation of a Word document via Aspose might be:
In this scenario, there is no use made of the EventQueue table. However, the use of a logging sink enables more detail tracking that currently allowed by the EventQueue table. For example, a logging sink might be:
When calling QDS for build-in functionality like geo-coding or credit reporting, QBO 3 will enable offloading the processing to external parties, such as Quandis Data Services (QDS). The mechanism will follow MSMQ, but leveraging the cross-network convenience of Amazon SQS.
SQL Service Broker offers an alternative to MSMQ, with the distinct advantage of being accessible for TSQL reporting and insertion. However, it may not be available during backups or heavy SQL usage. We shall create an IQueue instance of SQL Service Broker should a use case for it arise, possibly including:
QBO 3 will include automatic configuration of queues, as well as a dashboard to quickly display the status of each queue participating in the installation's processing. The dashboard will include key information such as:
See the attached spreadsheet as an example.
Functionality provided by this dashboard will include: