There’s an excellent (albeit necessarily technical) conversation about implementing OKI (which are standards that, among other things, are central to the Sakai project) over at the dotLRN discussion board within the OpenACS web site. (OpenACS is an Open Source toolkit upon which the dotLRN LMS is based.) Here’s a key snippet of conversation:
We at Cambridge would be pleased/impressed if we could use Stanford’s Coursework for content management, but use dotLRN/OpenACS communities within and across courses.
Hi John, I think this use case has a lot of value, but have you seen any indications from the OKI team that they are trying to support it? From everything I’ve seen and heard, I think not. I could be wrong, but my impression is that at best OKI intends to enable the creation of “islands of compatibility” in which you get plug & play within a particular language and platform.
I believe a web services binding as well as a Jave binding is expected at some point.
I’ve thought quite a bit about what it would mean to have Web Services bindings, and I don’t see it working out. Or at least not without huge amounts of investment. OKI has made very specific assumptions which do not fit very well with Web Services. They favor method signatures that can accept and return behaving classes. Moreover, these classes are specified by their interfaces, such that the implementation can vary at run time. In Web Services, by contrast, you’re typically dealing with method signatures that handle behaviorless data structures. There is no “passing by interface” in Web Services.
As one example of the problem, consider Authentication. A user is authenticated by the AuthenticationManager.authenticate() method. If this method is running locally inside a GUI program, it can spawn a text prompt or login window. If it is running locally inside a web server, it can reach into a global context and grab cookies or security certificates. But if it is running remotely on some other server, it has no easy way to retrieve user credentials. Perhaps one could program elaborate session systems that maintain state between OKI consumers and OKI providers. But this will be complex and expensive, and maybe will never work.
If this is correct (and from what I can gather from the OKI web site, I think it is), then OKI isn’t really about loose coupling so much as it is about looser coupling. It’s intended to be an incremental step of defining standard API’s within a still relatively tightly-coupled enterprise system rather than a more radical move into the fluid web services world where any 16-year-old with a text editor can whip up a service that puts de.licio.us tags on Amazon.com book listings, posts the categorized list to your blog, and splices it into your RSS feed. It’s not about enabling rapid and pervasive innovation so much as it is about loosening the shackles of (often proprietary) legacy systems for large institutions that are integrating their LMS systems with some fairly heavy machinery (e.g., e-commerce systems, library inventory systems, HR systems, etc.). That makes sense given the size of the founding institutions.
However, the real action in terms of innovating new affordances for better pedagogy is in the loosy-goosy world of web services as the new duct tape of the internet. I worry about the technical gap between these two sets of goals but, more importantly, I also worry about the profound cultural gap between the two communities of developers. I don’t see any dialogue happening at all. And that’s really bad. As somebody who had a ring-side seat to watch the rise of big-ticket LMS/LCMS squash all innovation and much quality out of the corporate e-learning world, I can say with great confidence that there is a danger that the enterprise-centric view to educational problem-solving can squeeze the life out of real innovation at institutions that adopt these enteprise systems because the cumbersome nature of these tools makes it too hard to innovate, and because the monetary investment in big systems will be so high that the institutions who invested in them (and the people within the institutions who put their careers on the line by advocating for them) can’t afford to change.
I don’t think there has to be an either/or view of enterprise stability versus internet nimbleness. I imagine it’s possible to keep a core system that’s architected while allowing the fringe systems (where the pedagogical innovations happen) to grow organically. But I don’t see that happening right now, and unless some bridges are built between the two worldviews fairly quickly, I don’t think that it will.