Forum .LRN Q&A: Re: What is OKI, and what should dotLRN's relationship with it be?

We at Cambridge would be pleased/impressed if we could use Stanfords 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.