Achieving Learning Interoperability through Standards

It's bananas...
Creative Commons License photo credit: betsyweber

Part 3 of my series on the new IMS Global Learning Consortium’s Learning Information Services specification:

Sometimes standards are needed when there are lots of people making arbitrary decisions.  But how does one judge when they are needed?  Take for example, whether people should eat their bananas stem side up or stem side down.  Different users can argue which way is better for as long as they want – either way, the banana gets eaten.  No standard really needed for that.  (By the way, it turns out that monkeys prefer to eat their bananas stem side down – that way they can hold onto the stem as a handle of sorts…see here for directions ;-) )   On the other hand, driving on the same side of the road – now that most would agree is a place where standards are important.   It doesn’t really matter which side people choose, but it IS important that we all make the same decision.  The same could be said of some of the decisions which went into the LIS specification.  We needed everyone to agree on the same convention for things like naming, data model representation and service methods.  If someone had an existing model which provided a good example and could be considered generic, we tried to include it whenever possible.  Similarly, if we had specified service methods or expanded part of the data model which vendors don’t currently have a need to implement, we intentionally removed it from the LIS profile definitions.

So what is the minimum subset of LIS needed for interoperability?  The consensus of the working group was to cover the core LIS use case, which is allowing an authoritative system to publish data about courses, people and enrollments.   Remember that the target or consumer of this type of data could be a Learning Management System, but it could just as easily be a wiki, blog or collaboration environment such as Google Apps.    Similarly, the source system typically would be a Student Information System, but it could also be a combination of systems such as a central Identity Mgmt system plus a master instance of a Learning Management system.   The goal is to establish a low barrier to adoption, while also formulating ways for vendors to achieve higher forms of interoperability at the same time.  This is accomplished through the Core and Addition Profiles for LIS:

Continue reading

Share
Posted in Developers and Architects, Functional Experts and End Users, Managers and Administrators, Uncategorized | Tagged , , , | Leave a comment

Can Web Services Improve Student Life?

photo credit: Some rights reserved by dullhunk

It could be that for some, improving student life might mean better methods to obtain pizza – but for others, enabling seamless integration between separate academic systems might be just what many campuses today need.

The IMS Learning Information Services specification is poised to fundamentally improve the cost of integrating systems housing student and academic information for thousands, if not millions of students around the world.

As the co-chair of the LIS project group, I want to share some of my perspectives about the specification and some of the rationale that went into key choices.   Before we go further, however, here are several fundamental principles and concepts behind the LIS specification:

LIS is designed to exist within an ecosystem of loosely coupled systems. Schools today typically run their Student Information System or Learning Management System separately, housed within separate servers and administered by different groups.  Institutions may also have other systems on campus to support different functions supporting their community, i.e., iTunesU, GoogleApps or MyMathLab.  Each individual system may be administered with different schedules for uptime and service level agreements.  This means that core information typically needs to be accessible within a system independent of the availability of another system.

LIS presumes specific systems are designated as the authoritative source for key information. In most cases, for example, the Student Information System would serve as the “source of truth” for information about courses, persons and enrollment.  On the other hand, a downstream Learning Management System may serve as the Outcome source for Final Grades.  This does not preclude multiple sources of student data feeding into one or more learning system – however it is presumed that a given identifier (whether it be for a Person, Course, Enrollment or Outcome) will be associated with one and only one data “source”.

When the LIS project group was chartered back in 2007, the landscape of Enterprise Student System integration was scattered, with widely varying degrees of implementations of the former IMS Enterprise specification.   This included pockets of IMS Enterprise Services implementations throughout the UK, where adoption of the Learner Information Profile (LIP) specification was also slightly more established.   The group felt there was no reason to completely dismantle the existing Person, Group and Membership entities, which had previously been defined by various versions of IMS Enterprise.   Having said that, we knew we need to solve several key problems with the original specification:

  • support for the exchange of unambiguously defined hierarchical course structure
  • support for loose associations of course sections to allow student systems to maintain grouping constructs separately from downstream learning applications
  • support reporting of outcomes information, both assessment item level as well as final grades
  • support system bulk exchange/initialization

For services such as Person, we realized there were infinite possibilities to establish a definitive set of attributes, let alone to determine which ones would be considered required or optional.  Therefore, we employed a technique using vocabulary driven “type-value” pairs to define a common framework for Person attributes.  For each attribute “type” (name, address, etc.), a core vocabulary is defined and used to evaluate conformance, however it is recognized that local implementations are free to extend it with region-specific elements, for example.  (This also means that backward compatibility with the previous IMS Enterprise data model is not easily achieved, due to the extensive structural changes made to entities such as Person.)

Based on the primary use cases we set out to solve for Learning Information Services, the following are the resulting 6 services which were defined. As I mentioned, they consist of 3 original (though modified) services, and 3 new services:

  • PERSON – refactored from the original IMS Enterprise model; used to represent students, instructors, administrators and other people associated with downstream learning applications.
  • GROUP – this was largely retained from the original IMS Enterprise specification.  The GROUP structure is very flexible and can be used to model many different things, from institutions, organizations, academic departments, terms or academic sessions, and non-course groups such as project groups, committees, clubs or other organizations.
  • MEMBERSHIP – this was also largely retained from the IMS Enterprise model; used to associate PERSONs with COURSEs or GROUPS.  In addition, a set of roles and subroles can be assigned for a given MEMBERSHIP.
  • COURSE – this new structure allows a 3 level hierarchy to be represented for Courses.  At the highest level is the Course Template, which is designed to model a Course typically included in an Institutional Course Catalog.  The Course Template does not have an association with a Term or Academic Session, rather it contains attributes about a Course that hold true for all terms.  The next level down is the Course Offering.  This is where the Academic Session relationship can be established.  It is important to note that the Academic Session object is not itself an LIS entity – rather it is an LIS Best Practice to populate the Academic Session element with a Group SourcedId (where the Group entity is used to house the Academic Session details for that particular term).
  • OUTCOME – the new Outcomes service can represent individual assessment items as well as interim or final results.  Specific flags are used within the Outcomes data model to indicate the “type” of Outcome which is represented.  The Outcome model is actually made up of 3 separate entities: Line Item, Result and Result Value.  The Line Item represents the definition of the Assessment – typically, this can be thought of as a column in a Gradebook.  Results for a given LineItem are the actual scores assigned to the Person (Student).  Finally, the Result Value represents the grading scheme used for the Line Item or Result, and can be associated with either or both entities.
  • BULK DATA EXCHANGE – this new service is designed to support the bulk exchange of data between 2 or more systems.

Each of these services operates on the entity as described by the information model.   More detail about the definition of the individual LIS service operations will be discussed in upcoming posts.

Share
Posted in Developers and Architects, Functional Experts and End Users, Managers and Administrators, Uncategorized | Tagged , , , | Leave a comment

Important News Regarding Learning Information Services

Five years in the making, the IMS Learning Information Services specification is about to be released as Public Final this month.  This is significant because:

  • It represents vendors coming together to put a stake in the ground regarding interoperability between Student Information Systems and Learning Management Systems
  • It allows authoritative data about courses, students and enrollments to be propagated to downstream learning applications without faculty or student intervention.
  • It also makes possible, the return flow of outcomes (final and interim grades), from the learning environment back to the system of record for the student.

As my esteemed former colleague Michael Feldstein outlines in earlier posts starting with this one, vendors and institutions came together to work on v2.0 of Learning Information Services (v1 was formerly known as IMS Enterprise) to solve several significant problems.   This milestone marks the progress of what we set out to achieve: creating a broad base Service Oriented specification for Learning Information, together with narrowed core and addition profiles to meet specific integration use cases for today’s SIS and LMS systems.

And not only does this milestone mark public availability of specification documents (of which there are lots) :-) , but we are also showing progress in real world vendor adoption.  Just a few weeks ago, at the 2011 IMS Learning Impact conference in Long Beach, California, Blackboard demonstrated their new integration capabilities with both Sungard and Oracle.  And while that may seem boring or obvious, the fact that the same integration worked without any additional product code, consulting solution or customization, would not have previously been possible without LIS.

In the next several posts, I will introduce the main concepts of the Learning Information Services specification, and provide a personal perspective from the viewpoint of one who was involved in the working group process.  I encourage you to take a look at several documents as they get posted to the IMS website and post any questions, comments or feedback on the IMS LIS Alliance forum.

Share
Posted in Developers and Architects, Functional Experts and End Users, Managers and Administrators | Tagged , , , , , | Leave a comment

Is “De Jure” Out When It Comes to Software Standards?

One of the biggest problems in the software ecosystem is the unfair advantage of dominant vendors, who may wish to put forward an existing product-ized solution as “the” standard.  For this reason, the process of developing standards needs a neutral forum and rules which allow a level playing field amongst all vendors, big and small.   Strict rules, however, can sometimes lead to slower development and a longer path to adoption.    The two main styles of standards setting organizations are the formal “de jure” process, and the consortia-based approach.  The formal process is generally carried out in the International Standards Organization (ISO).   And one example of a consortia-based standards organization is  W3C.  Generally, consortia-based standards groups are considered faster and more focused on implementation and adoption.  However, the formal process is sometimes the only place where standards can be recognized globally.  Continue reading

Share
Posted in Developers and Architects, Functional Experts and End Users, Managers and Administrators | Tagged , , , , , , , , | Leave a comment

Services Let You Kill Multiple Birds with One Stone

If you work in a college or university IT department, chances are good that you get many requests that you just don’t have the time to meet. Yes, sure, you’d love to set up that blog and that wiki and to link students directly from their courses to their course evaluation forms and integrate your SIS with your room scheduling software…and…and…. But you just don’t have the time to do everything. You’re lucky if you can squeeze in one or two of these nice-to-have projects every now and then in between all the gotta-haves. Wouldn’t it be great if there were a way to combine some of these projects so that you could get at least partway done on a few of them with just one effort? Even better, wouldn’t it be great if there were a way to get at least partway to some of these nice-to-haves simply by doing one of your gotta-haves in a particular way?

Luckily, there is.

Continue reading

Share
Posted in Functional Experts and End Users, Managers and Administrators | Tagged , | Leave a comment

SOA and the Case for Standards

These days, it seems anywhere we need to go, invariably we wind up on a freeway.   And the more freeways there are, doesn’t it seem like we see more overpasses or underpasses?  The other day, I was behind a very tall truck that was barreling towards a freeway overpass.  I could have sworn the truck was too tall to make the height clearance needed.  Imagine my relief when the driver cleared it and went on their way – at top speed no less!   This is a very real and important case for standards in the physical world.  What if there were no rules for truck manufacturers and overpass/tunnel projects?  How would we guarantee that trucks and other vehicles avoid having a height that exceeds the pass through under all conditions?

And when you think about it, the very reason that trucks and freeways need standards is because they are built by different people at different times.  Trucks and freeways can be considered components of a larger transportation system, designed to get people and goods from point A to point B.   So standards need to exist when any system consists of components.   Conversely, standards enable a previously single, monolithic sytem to be redeployed with components.   And why do we need components?  Because things change. And when they do, it’s usually easier and cheaper to fix or change one piece instead of the whole thing.   Think of a road that costs millions of dollars to construct – what if we were told only one type of vehicle could travel on it?  (I know there are cases where this actually might be useful for example in the case of high speed rail, however for everyday transportation needs, no one wants to feel locked in to a specific mode of transportation without the ability to choose how and when to travel.)  This is especially true in the case of Service Oriented Architecture – why?  Because software, like roads, can be costly to build and maintain, and what’s more, no one can predict how people will want to use the software over time.  So with standards and SOA, software can be combined in intelligent ways without predetermined reasons.

Continue reading

Share
Posted in Developers and Architects, Functional Experts and End Users, Managers and Administrators | Tagged , , , | Leave a comment

A Web Services Example for a Functional Solution

If you are a college or university administrator in areas like Admissions, Registration and Records, Bursar, and Student Affairs, you have probably heard your IT staff talk about Service Oriented Architecture.  As a former Registrar, I know how confusing techno-speak can be, so in this article, I’d like to take a look at a real life example of how services can work on campus.   Continue reading

Share
Posted in Functional Experts and End Users, Managers and Administrators | Tagged | Comments Off

If you don’t have some SOA, how do you get it?

So, what do you do if you have a legacy application – that wasn’t built, or designed using SOA – and now you want to incorporate SOA principles? From my perspective this is the most common situation in higher education; at least, it’s one that I deal with on a daily basis. For this blog, I will draw upon those experiences, and will try using these entries to explain the challenges and the opportunities of adopting SOA, or as is more common, an incremental adoption of service oriented architecture. I’ll start at a very high – abstract level – and will work my way closer to tangible examples with future entries.

Continue reading

Share
Posted in Developers and Architects, Managers and Administrators | Tagged | Leave a comment

What SOA Is and Why You Should Care

Welcome to the Service-Oriented Campus weblog. My colleagues and I will be using this space to write about how and why Service-Oriented Architecture (SOA) can be useful to people working in higher education in general and Oracle’s higher education customers in particular. For this inaugural post on the blog, we thought it would be helpful to start out with a basic conceptual discussion of what SOA is and why you should care about it. This will be a jargon-free explanation aimed at non-technologists such as functional experts and managers, but technologists may find it a useful aid in explaining the very basic idea of SOA and its relevance to their non-technical stakeholders.1

Continue reading

  1. By the way, every post on this blog will be categorized by the audience(s) that might find it useful. You can see a list of posts that are appropriate for you by clicking on the appropriate link under the “Posts by Audience” heading in the sidebar. []
Share
Posted in Functional Experts and End Users, Managers and Administrators | Comments Off