Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Customer 1: XML over FTP
  • Customer 2: CSV over HTTP
  • Customer 3: Excel via e-mail

Wiki Markup
Now on the Acme side, all this has to be converted to a canonical XML format and submitted to the Acme accounting system via JMS.  Then the Acme accounting system sends an XML reply via JMS, with a summary of what it processed (e.g. 3 line items accepted, line item #2 in error, total invoice $123.45).  Finally, that data needs to be formatted into an e-mail, and sent to a contact at the customer in question ("Dear Joyce, we received an invoice on 1/2/08.  We accepted 3 line items totaling $123.45, though there was an error with line items #2 \[invalid quantity ordered\].  Thank you for your business.  Love, Acme.").

So it turns out Camel can handle all this:

  • Listen for HTTP, e-mail, and FTP files
  • Grab attachments from the e-mail messages
  • Convert XML, XLS, and CSV files to a canonical XML format
    • using XSLT, automatic data format conversion, and/or POJOs that write to JAXB objects
  • read and write JMS messages
  • route based on company ID
  • format e-mails using Velocity templates
  • send outgoing e-mail messages

This tutorial will cover all that, plus setting up tests along the way.