Publication and re-use of Web service resources improves service stability and interoperability and cuts development time. When rationalizing resources they can be thought of in common programming terms:
XSD Schemas - Declare and define types and structures.
XML Documents - Serve as constant static document instances to be shared between different services.
WSDL Definitions - Establish:
interfaces (portTypes) - which operations accept and return which messages, and which messages use which structures and types.
bindings - which transports and serialization approaches are to be used with which operations.
services - which bindings are logically encapsulated together; which port(s) host live applications using those bindings.
XSLT Transforms - Let documents and structures of one or more types be copied or assigned to documents of different types - frequently, on a one to one basis, but many to one and one to many use cases also work as pre- or post- processing manifolds and in report generation.
All of these documents use XML as their basic medium. BEA AquaLogic Service Registry leverages XML parsing capabilities and takes a document resource from a URL to create special records.
Publish an XSD Schema URL and the registry will generate a record containing a unique tModel key and the document's targetNamespace.
Publish an XML document URL and the registry will not only create a record with key but will also include a reference within that record to the schema resource(s) on which the document is based.
Publish an XSLT Transformation, and the registry will also include references to all input schemas and output schemas that the transformation leverages.
Publish a WSDL and the registry automatically generates Interface and Endpoint records.
"QName" is just a way of refering to the combined namespace and localname of an XML element. In the registry automatic reference generation depends on the consistent use of XML namespaces in the original documents.
When an XML resource is parsed, the xmlns (namespace) attributes of its elements are checked against the target namespace property in published schemas. Whenever a match is found the matching schema is added to the Namespaces property of the XML record.
This same approach is used when working with XSLT resources. All namespaces are checked against XSD records in the registry. Matches are plugged instantly into the new XSLT record. New schemas are added.
With this release (5.5) documents are not validated against their schemas.
In the loosely coupled distributed worlds of SOA systems relationships between type declarations(XSD), instances(XML), and operations(XSLT, WSDL) have the potential to become somewhat complex. The automation of namespace and schema matching upon resource publication makes such relations easy to explore and understand.