7.5 Membership Management
7.5.1 Service definition
This service provides a means to manage information about membership of groups. A membership management service needs to support the following features:
  • Creating new memberships of a group by a person
  • Updating an existing membership
  • Deleting an existing membership
  • Requesting an existing membership by a unique identifier
  • Requesting a set of memberships by query
  • Requesting a set of memberships associated with a group
  • Requesting a set of memberships associated with a person
7.5.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: MembershipManager and MembershipsManager. The former is an interface that applies to single instances of a membership, the latter to sets of memberships.
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, in the Group Management section).
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.
7.5.3 Bindings
IMS MembershipManager and IMS MembershipsManager have bindings for Web Services using the Web Services Definition Language (WSDL) and XML Schema (XSD).
The OKI OSIDs have Java API bindings.
7.5.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.