7.6 Member Management
7.6.1 Service definition
This service provides a means to manage information about people belonging to groups. A member management service needs to support the following features:
  • Creating new members
  • Updating an existing member
  • Deleting an existing member
  • Requesting an existing member by its unique identifier
  • Requesting a set of members by query
  • Requesting a set of members for a group
7.6.2 Interfaces and data models
The specification with most direct applicability to this service is the IMS Enterprise Services specification, v1.0, which contains both interfaces and data models.
There are two service definitions that apply: PersonManager and PersonsManager. The former is an interface that applies to single instances of members, the latter to sets of members.
The MIT Open Knowledge Initiative also provides two relevant Open Service Interface Definitions (OSIDs), called Course Management and Group Management. These operate at a different binding point to the IMS interfaces, and are intended to be implemented within client applications via adapters rather than as a service layer.
There are many basic similarities between the two sets of specifications, and it is possible to combine them within an implementation (see above).
Not all of the OKI API can be implemented using IMS Enterprise at present, as there are some differences between the data model implied by the OKI definition and that provided by IMS.
There is also a specification used in conjunction with LDAP called EduPerson that provides a relevant data model. There is a high degree of correspondence between the IMS Person and EduPerson data models.
7.6.3 Bindings
IMS Group Manager and IMS GroupsManager have bindings for Web Services using the Web Services Definition Language (WSDL) and XML Schema (XSD).
The OKI OSIDs have Java API bindings.
The EduPerson schema is provided as a flat-file binding for LDAP.
7.6.4 Implementations
There is a library under development by CETIS that implements the IMS services for the J2EE platform using the Apache AXIS web services framework.