This is a Blogger exclusive post in which I want to discuss the basic architecture for the eQuery system with the help of a few Diagrams. I think the best way would be to go for a modular approach; designing the application by splitting it into small components such that no module is dependent on the inner implementation of the other. This would allow extensibility by adding plug-ins latter to the service which would extend its overall life cycle.
Top Level View
The top level view of the system divides the system into two modules; the front-end interface and the back-end service. The front-end would be responsible for all the communication with the clients of the system. This would include the SMS Gateway, and the web services (web applications, twitter, facebook, and instant messengers) via a public interface accessible through a custom API. The back-end service would be responsible for the actual processing of the data. This would be achieved through a collection of extensible services written as plug-ins for the service host. The back end would interface with the databases as well.