IMS Auto-generation Tool Public Draft Release (Version: 0.6 Alpha) ------------------------------------------------------------------ COPYRIGHT STATEMENT 2005 (c) IMS Global Learning Consortium Inc. All Rights Reserved. IMS Global Learning Consortium, Inc. (IMS) is publishing the information contained in this documentation (Ò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. While every attempt has been made to ensure that this tool auto-generates the WSDL and XSDs correctly, users should be aware that this is an experimental tool. Permission is given to make use of this tool. IMS makes no claim on the materials created by third party users of this tool. Details on how to use this tool are contained in the IMS document: "IMS General Web Services: WSDL/XSD Binding Auto-generation" available at the IMS web-site. OVERVIEW This auto-generation tool is use to convert UML representations of a specification into WSDL/XSD based bindings. This conversion is achieved by applying XSLs to the XMI files that contain the UML representation. Autogeneration is achieved by: (1) Create the UML description using the Poseidon tool. Two templates are supplied that contain the IMS UML profile. Use template 'UMLforWSDLTemplatev1.zuml' for web service specifications. Use template 'UMLforXSDTemplatev1.zuml' for XSD specifications (2) Save the UML description (saved as a .zuml file) (3) Unzip the .zuml file just created and retrieve the .xmi file contained in the unzipped directory (4) Apply the appropriate XSL using an ZSLT processor. Use the XSL UMLtoWSDLTransformv1p0.xsl to create a WSDL binding. Use the XSL UMLtoXSDTransformv1p0.xsl to create an XSD binding (5) A report of a web service can be created by applying the XSL 'WSDLtoHMTLv1p0.xsl' to the autogenerated '.wsdl' file UML TOOL REQUIREMENTS These auto-generation files have been developed to support XMI files that have been produced using the Poseidon v2.5, v2.6 or 3 tools. The UML descriptions must conform to the IMS UML Profile for web service and XSD specifications. XSTL PROCESSOR REQUIREMENTS These XSLs requires the use of the Xalan XSL processor. The Xalan multiple output files extenions are used to enable sveeral binding fiels to be created with single parse. FILE SET The set of files supplied in this tool-kit are listed below. Directory: Example * The directory 'WSDLexample' contains the files for a web service specification * The directory 'XSDexample' contains the files for an XSD specification Directory: Templates * UMLforWSDLTemplatev1.zuml - the IMS UML profile template for web services * UMLforXSDTemplatev1.zuml - the IMS UML profile template for XSD bindings Directory: XSLs * Globalvariablev1p0.xsl - eclaration of variables used for the generations * TypesTemplatesv1p0.xsl - XSL templates used for WSDL and XSD generation * UMLtoWSDLTransformv1p0.xsl - to create a WSDL binding from an XMI file * UMLtoXSDTransformv1p0.xsl - to create an XSD binding from an XMI file * WSDLtoHMTLv1p0.xsl - generates an HTML report of a web service description AMENDMENTS HISTORY This is the second release of these files. The changes made are summarisedd below. UMtoWSDL Transform Changes: (1) Namespace declarations added to the included xsd:schema definitions (2) Parameters can now have the same name i.e.duplicates ae removed (3) Remove all the inbuilt statusinfo and SOAP header declarations UMLtoXSD Transform Changes: (1) This is the first release of this XSL. WSDLtoHTML Changes (1) This is the first release of this XSL. General Changes: (1) PrimitiveTypes added are: Int, AnyType, ID, IDREF, IDREFS, ENTITY, Namespace (2) XML types added are: xml:base, xml:lang (3) Functional features added are: namspaced extensions for elements and attributes, the creation of independent XSDs containing sequenced elements and attributes (these are globally defined), support for the importing of the 'xml.xsd' file (4) Internal restructuring to use the 'key()' function (5) The enumerated types have been changed to be defined as global simpleTypes. This change is required to support Axis 1.2 (6) The derived data types have been changed to be defined as global simpleTypes. This change is required to support Axis 1.2 (7) The namespace declarations have been changed to differentiate between the WSDL and XSD target namespaces (8) Provision of a full set of comments (9) Introduction of key declarations and their usage (10) Extension of the XSD element name declarations -------------------------------------------------------------------- All comments should be sent to: Colin Smythe - csmythe@imsglobal.org ************************ Colin Smythe 16th May, 2005