So I really haven’t blogged here about my love of Service Oriented Architecture (SOA) yet. I tried to get some of the folks in my last group to catch onto the idea, but it just didn’t take. Part of it was the culture, and part of it was the disconnect between the idea and the implications.
At the university I work for, we have a LOT of data pushed around, and all that data is still living in silos. SOA has not really caught on here yet, and I’m afraid it’s going to be a while before it gets there. Sure, we have Single Sign On (SSO), and most services now have an online presence, but they do not collaborate together.
This article on TechRepublic – Converting batch load processes into real-time processes – hits the nail on the head. With a large hammer.
One of the applications I’m working on currently is the campus maps application. I wrote the first version, and am pretty disappointed in it myself. It has the potential to be so much more. The problem is that the data in that system is data that I put there – not data that comes from real domain experts. I did not have any time or buy in to collaborate more openly with other groups. I also didn’t have the time to become a transit expert, a facilities coordinator, or any other kind of expert other than a web expert.
Now that I do have that time, I’m finding that other groups just aren’t ready to share that data. They do not have web service enabled systems. Many of them still use manual processes and publish in formats that are not easily consumed by computers.
A realization needs to occur around here – a renaissance of sorts – that when you share your data with others in a way that makes it easy for them to consume from you, it makes you that much more valuable. I don’t want to maintain a list of bus routes. I don’t want to maintain a list of restaurants and coffee shops. I really don’t want to maintain a list of buildings. But I want to consume all of that data in a system I know best – the web!
So, universities, plan for the future. Develop web services, not web entry points. Develop with the idea that if your data is important enough to share on the web, it’s probably important enough that someone else may want to use it in some unique way you didn’t think of. Maybe even in a way you don’t want to deal with, but they do. Sure, throw up those entry points, but do so with the backing of an open web service.