Progress on IMS Learning Information Services (formerly Enterprise v2)

Here are some slightly-edited notes I provided to colleagues following my attendance at the October 2009 IMS Quarterly Learning Information Services (LIS) project team meeting. LIS is the next generation of what has previously been called “IMS Enterprise” and brings together the capabilities of batch processing (original IMS Enterprise) and the more “chatty” capabilities of IMS Enterprise Services alongside other refinements and additions.

The meeting was mostly oriented around:

  1. Demonstration by Oracle and a presentation by Sungard about their implementation of LIS
  2. Discussion on (minor) modifications to support requirements from IMS Learning Tools Interoperability (LTI)
  3. Mapping out next steps

The headline news is that a public draft release is expected in December this year. The core specification is judged to be fit for purpose and further work, after public draft, will focus on the definition of the “HE profile” and the conformance requirements.

Conformance specification and testing is acknowledged to be a difficult problem but there is interest in using BPEL to create what are effectively unit test scripts. Oracle seems to have taken this approach and there is some literature relating to it. It is my conjecture that a library of unit tests (in BPEL) managed by the to-be-instantiated “Accredited Profile Management Group” for LIS in IMS would be a practical approach to testing implementations of LIS.

The demonstrations:

Linda Feng (Oracle) showed their Campus Solutions “Student Administration Integration Pack” working with Sakai (Unicon version), Inigral Schools on Facebook app) and Beehive (Oracle collaboration software). Linda has recorded a ViewLet (best viewed full-screen). The Sakai integration used “normal” LIS SOAP web services but the other two used an ESB (specifically the Oracle service bus). The Beehive case is worthy of note as the integration was achieved, as I understand it, without any code mods to Beehive: LDAP was used for core person (an LDAP binding for LIS has been developed) and the existing REST API for Beehive was translated to from LIS SOAP via the ESB. Inigral is also REST based. It was reported that the Beehive integration took a couple of person weeks to achieve and I can see quite a few people following the ESB route.

Sungard had only just completed a code sprint and were not in a position to demo. They expect to have both batch and chatty versions completed in Q1 2010. They did comment that many customers were already using “old” Enterprise batch processing but fully intend to move to LIS (and leap Enterprise Services v1.0).

I gather Moodle Rooms is also close to completing a LIS implementation although this is probably currently implemented against an old draft of LIS (the press release is cagey and doesn’t mention LIS)

At the terminal “summit day” of the quarterly, Michael Feldstein did a showman-like intro to LIS which was video-ed (I’ll link it in when posted) and he has subsequently blogged about supplier inclinations towards LIS.

Universities and Colleges in the Giant Global Graph

Earlier this week I facilitated a session at the 2009 CETIS Conference to explore some of the opportunities that Linked Data might offer to universities and colleges and to help us (CETIS in particular but also JISC and our peer “innovation support centre”, UKOLN) work out what work should be done to move us closer to realising benefits in the management and delivery of Higher and Further Education from adoption of Linked Data principles either by universities and colleges or by other public or private bodies that form part of the overall H/FE system. An approximately factual account of the session, relevant links etc is available from the Universities and Colleges in the Giant Global Graph session page. This post contains more personal rambling opinion.

Paul Walk seems to be the first of the session participants to blog. He captures one of the axes of discussion well and provides an attractive set of distinctions. It seems inevitable that the semantic vultures will circle about terminological discussions and it is probably best for us to spell out what we mean rather than use sweeping terms like “Linked Data” as I do in the opening paragraph. My inclination is not to be quite as hard-line as Paul about the necessity for RDF to be used to call it “Linked Data”. Vultures circle. In future I’ll draw more clear distinctions between the affordances of open data vs linked data vs semantic web, although I tried to put whitespace between linked data and semantic web in my session intro (PPT). Maybe it would be more clear for some audiences to consider the affordances of particular acts such as selecting a recognised data licence of various types, assigning persistent URIs to things, … but this is not useful for all discourse. Talking of “recognised data licence[s]” may also allow us to sidestep the “open” meme conflation: open access, open source, open process, open-for-reuse…

Actually, I’m rather inclined to insert a further distinction for and use the (fantasy) term “Minty Data” for linked-data-without-requiring-RDF (see another of Paul Walk’s posts on this). Why? Well: it seems that just posting CSV, while that might be better than nothing from an open data point of view doesn’t promise the kind of network effects that 4-rules linked data (i.e. Berners-Lee rules) offers. On the other hand it does seem to me that we might be able to get quite a long way without being hard core and are a lot less likely to frighten people away. I’m also aware that there is likely to be a paradigm shift for many in thinking and working with web architecture, in spite of the ubiquitousness of the web.

Minty Data rules, kind-of mongrel of ROA and 4-Rules Linked Data:

  1. Assign URIs to things people are likely to want to refer to
    • having first thought through what the domain model behind them is (draw a graph)
    • make the URIs hackable, predictable, structured
    • consider Logical Types (ref Bertrand Russell)
    • don’t change them until Hell freezes over
  2. use HTTP URIs for the usual reasons
  3. Return something machine-readable e.g. JSON, Atom
      • and something human-readable (but this ISN’T Minty Data)

      For Extra-strong mints:

      1. Link to other things using their URIs, especially if they were minted by you
      2. When returning information about a thing, indicate what class(es) of things it belongs to
      3. If the “thing” is also described in one or more encyclopedia or other compendium of knowledge, express that link in a well-known way.
        • and if it isn’t described but should be, get it added if you can

        There was a bit of discussion in the conference session about the perceived investment necessary to make Linked Data available. I rather felt that this shouldn’t necessarily be the case given software such as D2R and Triplify. At least, the additional effort required to make Minty Data available having first thought though the domain model (information architecture) shouldn’t be much. This is, of course, not a universally-trivial pre-requisite but it is an objective with quite a lot of literature to justify the benefits to be accrued from getting to grips with it. It would be a mistake to suggest boiling the ocean; the conclusion I make is that a readiness-criterion for anyone considering exposing Linked/Minty Data is that consideration of the domain model related to that data has been considered or is judged to be feasible or desirable for other reasons.

        The BBC approach, described in many places but quoted from Tom Scott and Michael Smethurst in Talis Nodalities here,  seems to reflect the above:

        “I’d like to claim that when we set out to develop []/programmes we had the warm embrace of the semantic web in mind. But that would be a lie. We were however building on very similar philosophical foundations.

        In the work leading up to we were all too aware of the importance of persistent web identifiers, permanent URIs and the importance of links as a way to build meaning. To achieve all this we broke with BBC tradition by designing from the domain model up rather than the interface down. The domain model provided us with a set of objects (brands, series, episodes, versions, ondemands, broadcasts etc) and their sometimes tangled interrelationships.”

        On the other hand, I do perceive a threat arising from the ready availability of software to add a sprinkle of RDF or SPARQL endpoint to an existing web application or scrape HTML to RDF, especially if RDF is the focus of the meme. A sprinkle of RDF misses the point if it isn’t also based on a well-principled approach to URIs and their assignment and the value of links; a URI isn’t just the access point for a cranky API returning structured data. The biggest threat to the Linked Data meme may be a deluge of poor quality RDF rather than an absence of it.