Skip to main content

Enterprise Services Specification

 

The Enterprise Services specification is the definition of how systems manage the exchange of information that describes people, groups, and memberships within the context of learning. The Enterprise Services specification is constructed following the recommendations documented in the Abstract Framework. This means that this specification is based upon the concepts of:

  • Interoperability - Enterprise Services focuses on the exchange of information between Enterprise systems. There are no assumptions in the specification on how the data is managed within the Enterprise systems;
  • Service-oriented - Enterprise Services defines the exchange of information in terms of the services being supplied by the collaboration of the systems. This takes the form of Person Management Services, Group Management Services and Membership Management Services;
  • Component-based - the set of services will be supplied such that they can be combined to form a range of services. The Person Management Services, Group Management Services and Membership Management Services can be combined to provide other services and the Enterprise Service will have other services added to it in later releases;
  • Layering - the Enterprise Service and its constituent services (Person, Groups and Membership) are part of the Application Services layer; Behaviors and Data Models - the Enterprise Services are defined in terms of their behaviors and data models. The behaviors cause changes in the state of the data model and the state of the data model will only be altered as a result of a clearly defined behavior;
  • Multiple Bindings - the Enterprise Services information model is to be defined using the Unified Modelling Language (UML). This enables reliable mapping of the information model into a range of different bindings. The bindings of immediate importance are to the Web Services Description Language (WSDL);
  • Adoption - the Enterprise Services are based upon the original Enterprise specification data model. While there are significant changes the underlying data model has been maintained and the core Person, Group and Membership structures remain.

Version 1 was approved by the Technical Advisory Board in July 2004. The Enterprise Services v1.0 specification Final Release has a WSDL/XSD binding that supports synchronous messaging only. The asynchronous message binding specification has remained as a Public Draft until sufficient implementation feedback has been received from the community. The asynchronous message binding documentation is available under the ESv1.0 Public Draft 2 materials further down this page.

Questions and Feedback:
Post errata, questions, and comments to our Public Forums here.

 Enterprise Services - Version 1 Final Specification - HTML

 

Version 1 Final -Enterprise Specification XSDs


COMMON DATA FILES

Enterprise Services Final Release XMI Files

Enterprise Services Final Release Source Code Support

Examples
Group

 
Message Example File
'createGroupRequest' Message /examples/createGroupRequestSync.txt
'createGroupResponse' Message /examples/createGroupResponseSync.txt
'createByProxyGroupRequest' Message /examples/createByProxyGroupRequestSync.txt
'createByProxyGroupResponse' Message /examples/createByProxyGroupResponseSync.txt
'deleteGroupRequest' Message /examples/deleteGroupRequestSync.txt
'deleteGroupResponse' Message /examples/deleteGroupResponseSync.txt
'deleteGroupRelationshipRequest' Message /examples/deleteGroupRelationshipRequestSync.txt
'deleteGroupRelationshipResponse' Message /examples/deleteGroupRelationshipResponseSync.txt
'readGroupRequest' Message /examples/readGroupRequestSync.txt
'readGroupResponse' Message /examples/readGroupResponseSync.txt
'updateGroupRequest' Message /examples/updateGroupRequestSync.txt
'updateGroupResponse' Message /examples/updateGroupResponseSync.txt
'replaceGroupRequest' Message /examples/replaceGroupRequestSync.txt
'replaceGroupResponse' Message /examples/replaceGroupResponseSync.txt
'changeGroupIdentifierRequest' Message /examples/changeGroupIdentifierRequestSync.txt
'changeGroupIdentifierResponse' Message /examples/changeGroupIdentifierResponseSync.txt
'createGroupsRequest' Message /examples/createGroupsRequestSync.txt
'createGroupsResponse' Message /examples/createGroupsResponseSync.txt
'createByProxyGroupsRequest' Message /examples/createByProxyGroupsRequestSync.txt
'createByProxyGroupsResponse' Message /examples/createByProxyGroupsResponseSync.txt
'deleteGroupsRequest' Message /examples/deleteGroupsRequestSync.txt
'deleteGroupsResponse' Message /examples/deleteGroupsResponseSync.txt
'deleteGroupsRelationshipRequest' Message /examples/deleteGroupsRelationshipRequestSync.txt
'deleteGroupsRelationshipResponse' Message /examples/deleteGroupsRelationshipResponseSync.txt
'readGroupsRequest' Message /examples/readGroupsRequestSync.txt
'readGroupsResponse' Message /examples/readGroupsResponseSync.txt
'readGroupsForPersonRequest' Message /examples/readGroupsForPersonRequestSync.txt
'readGroupsForPersonResponse' Message /examples/readGroupsForPersonResponseSync.txt
'updateGroupsRequest' Message /examples/updateGroupsRequestSync.txt
'updateGroupsResponse' Message /examples/updateGroupsResponseSync.txt
'replaceGroupsRequest' Message /examples/replaceGroupsRequestSync.txt
'replaceGroupsResponse' Message /examples/replaceGroupsResponseSync.txt
'changeGroupsIdentifierRequest' Message /examples/changeGroupsIdentifierRequestSync.txt
'changeGroupsIdentifierResponse' Message /examples/changeGroupsIdentifierResponseSync.txt

Person

 
Message Example File
'createPersonRequest' Message /examples/createPersonRequestSync.txt
'createPersonResponse' Message /examples/createPersonResponseSync.txt
'createByProxyPersonRequest' Message /examples/createByProxyPersonRequestSync.txt
'createByProxyPersonResponse' Message /examples/createByProxyPersonResponseSync.txt
'deletePersonRequest' Message /examples/deletePersonRequestSync.txt
'deletePersonResponse' Message /examples/deletePersonResponseSync.txt
'readPersonRequest' Message /examples/readPersonRequestSync.txt
'readPersonResponse' Message /examples/readPersonResponseSync.txt
'updatePersonRequest' Message /examples/updatePersonRequestSync.txt
'updatePersonResponse' Message /examples/updatePersonResponseSync.txt
'replacePersonRequest' Message /examples/replacePersonRequestSync.txt
'replacePersonResponse' Message /examples/replacePersonResponseSync.txt
'changePersonIdentifierRequest' Message /examples/changePersonIdentifierRequestSync.txt
'changePersonIdentifierResponse' Message /examples/changePersonIdentifierResponseSync.txt
'createPersonsRequest' Message /examples/createPersonsRequestSync.txt
'createPersonsResponse' Message /examples/createPersonsResponseSync.txt
'createByProxyPersonsRequest' Message /examples/createByProxyPersonsRequestSync.txt
'createByProxyPersonsResponse' Message /examples/createByProxyPersonsResponseSync.txt
'deletePersonsRequest' Message /examples/deletePersonsRequestSync.txt
'deletePersonsResponse' Message /examples/deletePersonsResponseSync.txt
'readPersonsRequest' Message /examples/readPersonsRequestSync.txt
'readPersonsResponse' Message /examples/readPersonsResponseSync.txt
'readPersonsForGroupRequest' Message /examples/readPersonsForGroupRequestSync.txt
'readPersonsForGroupResponse' Message /examples/readPersonsForGroupResponseSync.txt
'updatePersonsRequest' Message /examples/updatePersonsRequestSync.txt
'updatePersonsResponse' Message /examples/updatePersonsResponseSync.txt
'replacePersonsRequest' Message /examples/replacePersonsRequestSync.txt
'replacePersonsResponse' Message /examples/replacePersonsResponseSync.txt
'changePersonsIdentifierRequest' Message /examples/changePersonsIdentifierRequestSync.txt
'changePersonsIdentifierResponse' Message

/examples/changePersonsIdentifierResponseSync.txt

Membership

 
Message Example File
'createMembershipRequest' Message /examples/createMembershipRequestSync.txt
'createMembershipResponse' Message /examples/createMembershipResponseSync.txt
'createByProxyMembershipRequest' Message /examples/createByProxyMembershipRequestSync.txt
'createByProxyMembershipResponse' Message /examples/createByProxyMembershipResponseSync.txt
'deleteMembershipRequest' Message /examples/deleteMembershipRequestSync.txt
'deleteMembershipResponse' Message /examples/deleteMembershipResponseSync.txt
'readMembershipRequest' Message /examples/readMembershipRequestSync.txt
'readMembershipResponse' Message /examples/readMembershipResponseSync.txt
'updateMembershipRequest' Message /examples/updateMembershipRequestSync.txt
'updateMembershipResponse' Message /examples/updateMembershipResponseSync.txt
'replaceMembershipRequest' Message /examples/replaceMembershipRequestSync.txt
'replaceMembershipResponse' Message /examples/replaceMembershipResponseSync.txt
'changeMembershipIdentifierRequest' Message /examples/changeMembershipIdentifierRequestSync.txt
'changeMembershipIdentifierResponse' Message /examples/changeMembershipIdentifierResponseSync.txt
'createMembershipsRequest' Message /examples/createMembershipsRequestSync.txt
'createMembershipsResponse' Message /examples/createMembershipsResponseSync.txt
'createByProxyMembershipsRequest' Message /examples/createByProxyMembershipsRequestSync.txt
'createByProxyMembershipsResponse' Message /examples/createByProxyMembershipsResponseSync.txt
'deleteMembershipsRequest' Message /examples/deleteMembershipsRequestSync.txt
'deleteMembershipsResponse' Message /examples/deleteMembershipsResponseSync.txt
'readMembershipsRequest' Message /examples/readMembershipsRequestSync.txt
'readMembershipsResponse' Message /examples/readMembershipsResponseSync.txt
'readMembershipsForPersonRequest' Message /examples/readMembershipsForPersonRequestSync.txt
'readMembershipsForPersonResponse' Message /examples/readMembershipsForPersonResponseSync.txt
'readMembershipsForGroupRequest' Message /examples/readMembershipsForGroupRequestSync.txt
'readMembershipsForGroupResponse' Message /examples/readMembershipsForGroupResponseSync.txt
'updateMembershipsRequest' Message /examples/updateMembershipsRequestSync.txt
'updateMembershipsResponse' Message /examples/updateMembershipsResponseSync.txt
'replaceMembershipsRequest' Message /examples/replaceMembershipsRequestSync.txt
'replaceMembershipsResponse' Message /examples/replaceMembershipsResponseSync.txt
'changeMembershipsIdentifierRequest' Message /examples/changeMembershipsIdentifierRequestSync.txt
'changeMembershipsIdentifierResponse' Message /examples/changeMembershipsIdentifierResponseSync.txt

Enterprise Services Version 1 - Public Draft 2 Specification - HTML
Version 1.0 Public Draft 2 contains Asynchronous Binding Files. Only the Asynchronous Binding materials should be used from this document set.; you should us the Enterprise Services v1 Final Specification above for the Synchronous materials.

 

ESv1.0 Public Draft 2 -1EdTech Enterprise Specification Asynchronous XSDs


COMMON DATA FILES

EXAMPLES
Change Group(s)Identifier

Help us improve the accessibility of this site by emailing recommendations to web@imsglobal.org