![]() |
IMS Enterprise Services Common Data Definitions Version 1.0 Final Specification |
Copyright © 2004 IMS Global Learning
Consortium, Inc. All Rights Reserved.
The IMS Logo is a registered trademark of IMS Global Learning
Consortium, Inc.
Document Name: IMS Enterprise Services Common Data
Definitions
Revision: 11 June 2004
IPR and Distribution Notices
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.
IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
Copyright © 2004 IMS Global Learning Consortium. All Rights Reserved.
If you wish to copy or distribute this document, you must complete a valid Registered User license registration with IMS and receive an email from IMS granting the license to distribute the specification. To register, follow the instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm.
This document may be copied and furnished to others by Registered Users who have registered on the IMS website provided that the above copyright notice and this paragraph are included on all such copies. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to IMS, except as needed for the purpose of developing IMS specifications, under the auspices of a chartered IMS project group.
Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/license.html.
The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.
THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
This document contains the definition of data models that are available to all of the IMS specification information models. A specific information model is responsible for establishing and explaining the context within which the classes defined herein are used. These models are described using the Unified Modelling Language (UML) and the syntax adopted for the description of the UML is given in the IMS Specifications, Methods and Best Practices document [SpecDev, 03]. The corresponding XML bindings, using XML Schema Definitions (XSDs) are also supplied for each class. This component-based approach to specification development is explained in the IMS Abstract Framework [AbsWhite, 03], [AbsGloss, 03], [AbsASCs, 03].
The content of this document will grow as the set of IMS specifications expands. Each specification development activity will identify new common data models that should be made available outside of the specification being defined. This means that this document will undergo regular extension however new data models will not, in all but the rarest cases, require changes to any of the other established data models.
The structure of this document is:
IAF |
IMS Abstract
Framework |
UML |
Unified Modelling
Language |
URL |
Universal Resource
Locator |
W3C |
World Wide Web
Consortium |
WSDL |
Web Services
Description Language |
XML |
Extensible Mark-up
Language |
The set of common data definitions described in this document is summarized in Table 2.1.
The DataSource class diagram is shown in Figure 3.1. The DataSource class is the container for any form of global unique or locally unique identifier that refers to the original source of the identifier. There is no internal sub-structure defined for the DataSource.
The set of associations for the Identifier class are summarized in Table 3.1.
Association Class Name | Multiplicity | Description |
---|---|---|
String |
1 |
A DataSource is a type
of String. |
The associated object constraint language description for this class is:
The XML binding for the DataSource class is shown in Figure 3.2. This binding is based upon the simple-type 'string'. The XSD listing is given in Appendix A.
The Email class diagram is shown in Figure 4.1. The Email class is the container for any email address. There is no internal sub-structure defined for the Email.
The set of associations for the Identifier class are summarized in Table 4.1.
Association Class Name | Multiplicity | Description |
---|---|---|
String |
1 |
An Email is a type of
String. |
The associated object constraint language description for this class is:
The XML binding for the Email class is shown in Figure 4.2. This binding is based upon the simple-type 'string'. The XSD listing is given in Appendix A.
The Identifier class diagram is shown in Figure 5.1. The Identifier class is the container for any form of global unique or locally unique identifier. There is no internal sub-structure defined for the Identifier.
The set of associations for the Identifier class are summarized in Table 5.1.
Association Class Name | Multiplicity | Description |
---|---|---|
String |
1 |
An Identifier is a
type of String. |
The associated object constraint language description for this class is:
context Identifier inv: identifier.size <= 4096
The XML binding for the Identifier class is shown in Figure 5.2. This binding is a simple-type 'string'. The XSD listing is given in Appendix A.
The IdentifierSet class diagram is shown in Figure 5.3. The IdentifierSet class is a collection of Identifiers.
The set of associations for the IdentifierSet class are summarized in Table 5.2.
Association Class Name | Multiplicity | Description |
---|---|---|
Identifier |
2..* |
The set of
Identifiers. The significance of the order of the Identifiers is
not defined as part of the class. |
The XML binding for the IdentifierSet class is shown in Figure 5.4. This binding is based upon the creation of the complex-type 'identifierSetDType'. The XSD listing is given in Appendix A.
The IdentifierPair class diagram is shown in Figure 6.1. The IdentifierPair is a tuple of Identifiers whose relationship is not defined as part of the class. The relationship is defined by the context of use.
The set of attributes for the IdentifierPair class are summarized in Table 6.1.
Attribute Name | Type | Multiplicity | Description |
---|---|---|---|
firstId |
Identifier |
1 |
The first
Identifier. |
secondId |
Identifier |
1 |
The second
Identifier. |
The XML binding for the Identifier class is shown in Figure 6.2. This binding is based upon the creation of the complex-type 'identifierPairDType'. The XSD listing is given in Appendix A.
The IdentifierPairSet class diagram is shown in Figure 6.3. The IdentifierPairSet is a collection of IdentifierPairs.
The set of associations for the IdentifierPairSet class are summarized in Table 6.2.
Association Class Name | Multiplicity | Description |
---|---|---|
IdentifierPair |
2..* |
The set of
IdentifierPairs. The significance of the order of the
IdentifierPairs is not defined as part of the class. |
The XML binding for the Identifier class is shown in Figure 6.4. This binding is based upon the creation of the complex-type 'identifierPairSetDType'. The XSD listing is given in Appendix A.
The IMSextension class diagram is shown in Figure 7.1. The IMSextension class is used to enable proprietary extensions to be added to the data models defined within the IMS service specifications.
The set of associations for the IMSextension class are summarized in Table 7.1.
Association Class Name | Multiplicity | Description |
---|---|---|
ExtensionField |
1..* |
The set of extension
fields which are available to support the extensions to be
defined. |
The ExtensionField class is a set name/type/value three-tuple that enables a single extension field to have a value assigned to the named field. This means that the set of extension fields must take the form of a flat list, i.e., no hierarchical extension forms are permitted.
The set of attributes for the ExtensionField class are summarized in Table 7.2.
The associated object constraint language description for this class is:
context ExtensionField
inv: fieldName.size <= 2048
inv: fieldType.size <= 2048
inv: fieldValue.size <= 2048
The XML binding for the Identifier class is shown in Figure 7.2. This binding is based upon the creation of the complex-type 'IMSextensionDType'. The XSD listing is given in Appendix A.
The LangString class diagram is shown in Figure 8.1. This enforces the language of the text string to be supplied along with the text string itself.
The set of attributes for the LangString class are summarized in Table 8.1.
Attribute Name | Type | Multiplicity | Description |
---|---|---|---|
language |
String |
1 |
The language of the
text. This is an enumerated list from ISO 603. |
text |
String |
1 |
The text entry
itself. |
The associated object constraint language description for this class is:
The XML binding for the Identifier class is shown in Figure 8.2. This binding is based upon the creation of the complex-type 'LangStringDType'. The XSD listing is given in Appendix A.
The SeqLangString class diagram is shown in Figure 8.3. This enforces the language of the text string to be supplied along with the text string itself.
The set of associations for the SeqLangString class are summarized in Table 8.2.
Association Class Name | Multiplicity | Description |
---|---|---|
LangString |
2..* |
The set of
LangStrings. The significance of the order of the LangStrings is
not defined as part of the class. |
The XML binding for the SeqLangString class is shown in Figure 8.4. This binding is based upon the creation of the complex-type 'SeqLangStringDType'. The XSD listing is given in Appendix A.
The RecordMataData class diagram is shown in Figure 9.1. This class is the container for all object-specific descriptive meta-data that may be required to define the usage context of the object.
The set of attributes for the RecordMetaData class are summarized in Table 9.1.
Attribute Name | Type | Multiplicity | Description |
---|---|---|---|
comments |
String |
0..1 |
Human readable
comments that are used to supply descriptive and contextual
information about the object containing this class. |
Further attributes will be added as required by other objects. All of the attributes are optional.
The associated object constraint language description for this class is:
context RecordMetaData
inv: comments.size <= 2048
The XML binding for the Identifier class is shown in Figure 9.2. This binding is based upon the creation of the complex-type 'RecordMetaDataDType'. The XSD listing is given in Appendix A.
The StatusInfo class diagram is shown in Figure 10.1. This class is used to return the status information reporting on the outcome of the associated request.
The set of attributes for the StatusInfo class are summarized in Table 10.1.
The associated object constraint language description for this class is:
context StatusInfo inv: Set{'Success', 'Processing', 'Failure',
'Unsupported'}.includes(codeMajor)
inv: Set{'Status', 'Warning',
'Error'}.includes(severity)
inv: codeMinorName.size <= 32
inv: codeMinorValue.size <= 32
inv: messageRefIdentifier.size <=
32
inv: operationRefIdentifier.size <=
32
The interpretation of the 'codeMajor/severity' matrix is shown in Table 10.2.
The information to be entered in the 'codeMinorName' should reflect the service responsible for generating the state code. In the case of the Enterprise Services these will be:
The set of predefined 'codeMinor' codes available for entry in the 'codeMinorField' are listed in Table 10.3.
The XML binding for the Identifier class is shown in Figure 10.2. This binding is based upon the creation of the complex-type 'statusInfoDType'. The XSD listing is given in Appendix B.
The StatusInfoSet class diagram is shown in Figure 10.3. This is a collection of StatusInfo classes and the order of these reflects the sequence in which the individual operations were requested.
The set of associations for the StatusInfoSet class are summarized in Table 10.4.
Association Class Name | Multiplicity | Description |
---|---|---|
StatusInfo |
1..* |
The status information
class returned for each and every operation. Each StatusInfo
instance references the status of each operation. |
The XML binding for the Identifier class is shown in Figure 10.4. This binding is based upon the creation of the complex-type 'StatusInfoSetDType'. The XSD listing is given in Appendix B.
The TimeFrame class diagram is shown in Figure 11.1. The TimeFrame class defines the period for which a particular activity is permitted.
The set of attributes for the TimeFrame class are summarized in Table 11.1.
The associated object constraint language description for this class is:
context TimeFrame -- Timeframe, where present, cannot be
empty.
inv: adminPeriod.size <= 32
The RestrictDate class allows a restriction on an activity to be defined from a particular date.
The set of attributes for the RestrictDate class are summarized in Table 11.2.
The XML binding for the Identifier class is shown in Figure 11.2. This binding is based upon the creation of the complex-type 'TimeFrameDType'. The XSD listing is given in Appendix A.
The URL class diagram is shown in Figure 12.1. The URL class is the container for a Universal Resource Locator There is no internal sub-structure defined for the URL.
The set of associations for the Identifier class are summarized in Table 12.1.
Association Class Name | Multiplicity | Description |
---|---|---|
String |
1 |
A URL is a type of
String. |
The associated object constraint language description for this class is:
context Identifier inv: URL.size <= 4096
The XML binding for the URL class is shown in Figure 12.2. This binding is based upon the simple-type 'string'. The XSD listing is given in Appendix A.
The UserId class diagram is shown in Figure 13.1. This class is used to contain the information that defines the access control for a user to the learning environment.
The set of attributes for the UserId class are summarized in Table 13.1.
The associated object constraint language description for this class is:
context UserId inv: userIdValue.size <= 256
inv: userIdType.size <= 32
inv: passWord.size <= 1024
inv: pwEncryption.size <= 32
inv: authentication.size <=32
The XML binding for the Identifier class is shown in Figure 13.2. This binding is based upon the creation of the complex-type 'UserIdDType'. The XSD listing is given in Appendix A.
The following structures are the message headers that are to be used in the 'Request' and 'Response' messages exchanged to implement the behaviors.
The synchronous request message header structure is shown in Figure 14.1. The corresponding XSD definition is given in Appendix B.
This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.
The synchronous response message header structure is shown in Figure 14.2. The corresponding XSD definition is given in Appendix B.
This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.
The status information returned as a response to single transaction request; see sub-section 10.1.
The status information returned as a response to multiple transaction request; see sub-section 10.2.
The synchronous request message header structure is shown in Figure 14.3. The corresponding XSD definition is given in Appendix B.
This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.
The asynchronous request acknowledgement message header structure is shown in Figure 14.4. The corresponding XSD definition is given in Appendix B.
This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.
The status information returned to indicate the initial status of the asynchronous request; see sub-section 10.1.
The synchronous request message header structure is shown in Figure 14.5. The corresponding XSD definition is given in Appendix B.
This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.
The status information returned as the final response to original transaction request; see sub-section 10.1.
The status information returned as the final response to the original multiple transaction request; see sub-section 10.2.
The asynchronous response acknowledgement message header structure is shown in Figure 14.6. The corresponding XSD definition is given in Appendix B.
This is the container for the unique message identifier. This is to be assigned by the system constructing the message header. It is the responsibility of the transmitting system to ensure that the message identifier is unique.
The status information returned to indicate the final status of the asynchronous request; see sub-section 10.1.
The set of XML binding files for the common objects are listed in Table A.1. The file names are hot links to the files themselves.
Description | File Name |
---|---|
XML binding of the
common data objects |
/services/common/imsCommonSchema_v1p0.xsd |
XML binding of the
message headers |
/services/common/imsMessBindSchema_v1p0.xsd |
Title |
IMS Enterprise
Services Common Data Definitions Specification |
Editor |
Colin Smythe (IMS) |
Team
Co-Lead |
Chris Vento (WebCT
Inc.) |
Version |
1.0 |
Version
Date |
11 June 2004 |
Status |
Final
Specification |
Summary |
This document presents
the IMS Enterprise Services Common Data Definitions Information
Model and XML Binding. The classes described within this document
are available as foundation classes to all of the service
specifications. This document also includes the XML Binding of
the operation message headers for the synchronous and
asynchronous protocols. |
Revision
Information |
11 June 2004 |
Purpose |
This document has been
approved by the IMS Technical Board and is made available for
adoption. |
Document
Location |
http://www.imsglobal.org/es/esv1p0/imscommon_infov1p0.html |
To register any
comments or questions about this specification please visit:
http://www.imsglobal.org/developers/ims/imsforum/categories.cfm?catid=20 |
The following individuals contributed to the development of this document:
A
Abstract Framework 1, 2
Asynchronous Request Message 1
Asynchronous Response Message 1
Attributes
Common
extension 1, 2, 3, 4 ExtensionField
fieldName 1
fieldValue 1 Identifier
firstId 1
secondId 1 LangString
language 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
comments 1 Result
result 1 Role
status 1, 2, 3, 4, 5, 6 StatusInfo
description 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
adminPeriod 1
begin 1
end 1 TypeValue
passWord 1
userIdType 1
userIdValue 1 Values
Identifier 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Description 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 Membership 1
Person 1
Name 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 Role
Values 1
G
Group Management Service 1
M
Membership Management Service 1
Message headers
Asynchronous Request 1
Asynchronous Response 1
Synchronous Request 1
Synchronous Response 1
O
OCL 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
P
Person Management Service 1
S
Services
Group Management 1
Membership Management 1
Person Management 1
Status Codes
fullsuccess 1
idallocfail 1
overflowfail 1
unsupported 1
Synchronous Request Message 1
Synchronous Response Message 1
W
WDSL 1
IMS Global Learning Consortium, Inc.
("IMS") is publishing the information contained in this IMS
Enterprise Services Common Data Definitions ("Specification")
for purposes of scientific, experimental, and scholarly
collaboration only.
IMS makes no warranty or representation regarding the accuracy or
completeness of the Specification.
This material is provided on an "As Is" and "As Available"
basis.
The Specification is at all times subject to change and revision
without notice.
It is your sole responsibility to evaluate the usefulness,
accuracy, and completeness of the Specification as it relates to
you.
IMS would appreciate receiving your comments and suggestions.
Please contact IMS through our website at http://www.imsglobal.org
Please refer to Document Name: IMS Enterprise Services
Common Data Definitions Revision: 11 June 2004