It seems the solution would need to combine three or four different technologies.
(1) Some storage technology, like a data-base, to keep long-term information and support custom queries. Basically to hold "data at rest". A classic RDBMS may be a good fit.
(2) A messaging technology to update the state, get notification of state changes, signal and coordinate integrate between different applications and processes. Messaging middleware technologies such as DDS/RTPS, ZeroMQ, JMS/AMQP would seem the best for this.
(3) Web client and server technologies. Something like Java Script for the client-side and Node.js or some other HTTP/REST back end.
(4) A protocol mediation and integration technology. Something that allows different protocols and technologies to be integrated. E.g. detect a change to a database remotely by getting a message, Integrate between the HTTP/REST service, the messaging technologies and the database, integrate between SMS and the back-end etc. The kinds of things Apache Camel and Enterprise Service busses provide.
I and most familiar with building systems that are centered around DDS as a messaging platform. If you chose DDS, then the different DDS vendors provide a lot of these building blocks already. For example searching on the web I found integrations with Apache Camel Integration and Node.js. Hans already mentioned Vortex from PrismTech. RTI has ready made integrations with relational databases (https://www.rti.com/products/dds/database-integration.html) so any changes made on a data-base are reflected on the message bus and vice-versa, as well as integration with Web/HTTP/REST (http://www.slideshare.net/GerardoPardo/london-connext-dds-conference-web-enabled-dds), and several other of the already mentioned Web Technologies.
Another approach you could take is to develop your approach centered around some an ESB and use the adaptors it provides to the different technologies. This is probably one of the simplest approaches but it has the disadvantage that everything will be brokered by the ESB, this may or many not matter to your application. You may want to look at this article I wrote where I describe some of these tradeoffs: http://soa.sys-con.com/node/467488
Gerardo