Web Services in California Government


Michael Clark, who works for California's Department of Social Services wrote me with a wonderful story of using XML to link multiple government systems.  I quote him here with permission: 

XML is one of those concept technologies that I find many have trouble putting into action. I can, after all, pass data any way I like. It will probably be smaller and of course we know it will be proprietary and ultimately either fail outright or die after lengthy fits of pain (usually the programming staff). I do use XML structures as often as possible and look for emerging XML standards to implement in areas we do development in, though often the XML standards are not ready, half baked or will simply never gain acceptance. I refer to the XML standards that I see for content types like news stories etc. Internally I have had to develop a document standard for information on the web, since no good standard exists, at least yet.

I will admit that I did not use SOAP on the system I wrote because I felt it's just too darn complicated and most of the counties have legacy systems.  I went with SOAP's half brother XML-RPC because it was much simpler. Also it was implemented in about 15 different languages, so there was a lot for resources available for different development shops. This let me set a simple standard of participation without the counties thinking they were adopting a bigger counties protocol and also prevented the feeling that we (the state) was shoving something down their throats (because it's a neutral ground everyone agreed to it). Here's the problem we needed to solve with web services.

The information system is largely browser based, wonderful for those counties who had poor systems or could not afford one at all. But then we have a number of "rich" counties that already had case management systems doing the job (food stamp error rates), the problem was they fed other systems which fed other systems etc... four months later data made it to the state level. To make the system real time, and get everyone on board we told them, if you have a system, use it, but extend it with this simple standard XML-RPC client that talks directly to our system, if you don't here is a browser based system free of charge.

The result is that we built the system in 78 days. The counties that already had existing systems went out and read the standards, picked up the code base that made sense for their platforms and tied their systems up to ours.  No loss of investment at the county level for anyone. For once the smaller less technical counties have a level playing field for participation and the bigger counties (who normally want to do things their own way) got on the system quickly and in there own way, no one found it difficult. A very high acceptance rate with, very, very low investment (quite a change here in CA).

Michael had written me because he felt that some of the things on my blog might be discouraging this sort of development.  Nothing could be further from the truth.  I have some issues with XML, but I firmly believe that XML and web services offer great hope of linking systems less expensively and to great effect, as Michael's note points out.  

If you've got  XML and web services success stories from inside government at any level, please send them to me.  I'd love to have a collection of them for people to refer to and use to convince doubters that we must push ahead.