|
Jan Tielens presents some ideas on how to do reporting in a SOA world and poses the question whether or not there are any other know solutions or products:
In the "good old days" of pure two-tier Client/Server programming it was quite simple: the reporting engine connected directly to the database and fetches the data by executing SQL statements.
Actually, in a very pragmatic way, "reporting" might just be a service as well. I would just create a service which uses any popular reporting tool to generate PDFs, XLSs, RPTs, and so on. This service would then accept a "ReportRequest" message which contains the parameters and the delivery method (file store, by email, etc.). This backend service can then use high-performance direct T-SQL to access the underlying database to acquire the necessary data. (In a second release, I would even think of combining this with WS-Addressing/WS-Eventing and add another service which sends a message to MSN Messenger to notify the requesting user of the completion of their report. Or maybe the client application is just listening for callbacks ... or similar.)
|