Design : Java API

Hi,

I want to develop an auditing tool for the support team.

We have a MQ broker which publishes messages to MQ queues.
The customers subscribe to these messages.The messages are XML (with header fields and actual data) .This data is stored into database into various columns , not as a blob or clob.

Tool should display following audit information:

Was the message received?
What time was the message received?
What time did the message get routed?
What active routing rule was used at the time the message was received?
What topic did the message get routed to?
What packages included the topic the message was routed to at the time the message was received?
Which customers were subscribed to at least one of the packages that this message was routed to at the time the message was received?
What changes have been made to the broker rules since the message was received (if any).
What changes have been made to the packages since the message was received (if any).
What changes have been made to the customer's package subscriptions since the message was received (if any).

I want to design java APIs to fetch data from database and display it into the tool. Can anyone suggest the most ideal design for such a tool if anyone has ever designed anything similar.