January 31, 2005
Enterprise Services - the REST version
I've knocked together a document providing a simple interface to the IMS Enterprise Web Services spec using a REST-style HTTP+XML approach, rather than requiring SOAP and WSDL.
Its not intended as a replacement for the IMS SOAP binding, but instead may be useful where course enrolments are needed by applications in a read-only fashion, as in "get me the list of everyone on course x", rather than requiring the full transaction capabilities of ESWS.
For example, a request for a list of people at Bangor University on a course with identifier "yce1110" would be:
This would return either a list of ims:Person objects in XML, or a ims:StatusInfo block, which would describe any error conditions as per the ESWS spec.
Another use is obtaining very basic course information, for example:
... would return something like ...
<group> <groupType> <scheme>http://www.mydomain.org/vocabs/groups.xml</scheme> <typeValue> <type>Module</type> <level>1</level> </typeValue> </groupType> <url>http://www.mydomain.org/modules/psychology/100/</url> <description> <descShort>PSY100</descShort> <descLong>Introduction to Psychology</descLong> </description> <extensionField> <fieldName>feed-rss</fieldName> <fieldType>URL</fieldType> <fieldValue>http://www.mydomain.org/modules/psychology/100/news.xml</fieldValue> </extensionField> <extensionField> <fieldName>icalendar</fieldName> <fieldType>URL</fieldType> <fieldValue>http://www.mydomain.org/modules/psychology/100/timetable.ics</fieldValue> </extensionField> </group>
Note the use of extension fields for linking RSS news feeds and iCalendar timetables with the course.
In future, I think there is a need to harmonize the use of FOAF, vCard, and Enterprise for representing people in educational contexts, and the same for Groups and Courses.
Perhaps one extension could be to allow formatting choices for requesting person info, as in:
Which corresponds to the SRU approach of requesting metadata in DC or other formats in a result set.
In the meantime, we can at least use the IMS Enterprise spec for exchanging fairly basic contextual information about courses and activities.