I did a series of posts a few months ago on using the SOAP interface to issue commands, stop/start situations, and query monitoring data from the ITM infrastructure. The nice thing about the SOAP interface is that you can interface with ITM monitoring from a variety of sources, be it distributed sources or even IBM SA z/OS automation.
When doing things like querying information using SQL via the SOAP interface, be aware that the usual rules of thumb for effective/efficient SQL coding apply here, as well. For example, consider things like the number of SQL calls, the frequency of the calls, or the amount of data potentially retrieved by the calls. It's a typical monitoring rule of thumb, the more data you request, the more it will likely cost.
There is a nice write up that goes into these considerations. Here is a link to the document, it's interesting reading: