Home » Blackbird Pages » Documentation » Use Cases » Sales Order Integration

Sales Order Integration

[Graphics are coming soon]

Blackbird is especially well suited to component reuse. Assume an e-commerce environment that contains a Web store, an accounting system, and a CRM system. You want to notify the customer via e-mail whenever an order is placed/confirmed, and store the order in the accounting system, and a summary of the order in the CRM system. You could simply add code to the Web store to do this, but it's not very flexible today, or extensible down the road.

Blackbird ships with a demo module called email-sender. It is designed to send e-mail messages filled with fields from an incoming message in a message topic. To solve this problem using Blackbird, you could:

  1. Create an XML Schema that defines a Sales Order, and describes header, line item, and summary information.
  2. Create one Blackbird module for each of the three applications:
    • Web Store - Poll a database looking for new sales orders. For each new order, send an XML message to /topic/Sales/Orders that implements the SalesOrder schema with the Status field set to New.
    • Accounting System - Subscribe to /topic/Sales/Orders. Whenever a message is received, store the order in the accounting system, updating other tables if necessary.
    • CRM System - Same functionality as the accounting system, but a different target database and only storing a text summary description of the order.
  3. Run a Blackbird instance with one instance each of the above modules. This provides the core integration functionality.

 

Once this environment is set up, adding an e-mail sender for customer order confirmations is as easy as making a configuration file that loads the email-sender object, tells it to listen to /topic/Sales/Orders, and provides the template files it should fill in for each new message.

Here's where reuse becomes valuable:

 

We could go on and on, but you get the idea - it's easy, and it's powerful.



ITema - "Making IT Simple."