A theme that keeps cropping up is the idea of keeping systems loosely coupled. Loosely coupled systems allow pieces to be written with less interaction between developers. Reading things like Wikipedia's entry on Loosely Coupled might make you think that this is something new, but I remember developers at OCLC talking about it 20 years ago. An example at OCLC is the use of Z39.50 as an internal protocol, something we still do to a certain extent. The use of an established standard interface (even better, an interface we didn't have to develop ourselves) worked very well for us. The Web has made everyone more aware of this, however. For example, the link above to Wikipedia will continue to work as long as the system is active and there is an entry called 'Loosely_Coupled' is there. Lots of other things can and will change, from my browser to the Wikipedia wiki software, but that link should still work.
Here, the interfaces are Microsoft's SOAP definition for services that will interact with the research pane (you have to have Office 2003 to use these. Conforming SOAP Web services, such as a thesaurus, or in our case some genre lists and a MeSH subset, can then be searched and selected, all in a sidebar within the MS Office application, such as IE or Word). WSDL and the .NET tools make this fairly easy, although I was able to look at the examples and adapt the basic Python HTTP server to work in a few hours just as an experiment.
One of the tricks is going to be making this sort of service sustainable, but it's not too hard to imagine offering the basic resolution and search services for free, with some premium services requiring a subscription of some kind.