It's an excellent idea to define standard XML data types and vocabularies to enable better information exchange and process integration within your enterprise. (It definitely does not defeat the whole notion of SOA -- in fact, vocabulary management is a prerequisite to gaining advanced SOA benefits.) As a general rule, WSDL messages should use standard data types whenever possible rather than proliferating redundant, incompatible, and inconsistent ways to represent enterprise data. The actual WSDL message elements, though, are typically unique to a specific service. For example, if you have a service that exposes the operation "getCustomer", you should define WSDL message elements called "getCustomer" and "getCustomerResponse", specifically for this WSDL, but the elements should use corporate standard types, such as "Customer".
It's also an excellent idea to capture those standard data types in a centralized data dictionary or repository to facilitate use of those standard types. There is no widely accepted formal repository standard for WSDLs and XML Schemas, so all solutions are essentially proprietary. (Note that a repository for managing service artifacts is different from a registry for enabling the exchange of service information at runtime. The standard for runtime exchange is UDDI. UDDI is an index to artifacts, but it does not manage the artifacts themselves.)
The SOA repository vendors (HP, Software AG, IBM, BEA, LogicLibrary, SOA Software, etc) provide compelling solutions that help you manage services and service artifacts, including XML data types. (Most of these products include and/or support synchronization with a UDDI registry.) If you're interested in high-end vocabulary management tools, take a look at Progress DataXtend SI and Liaison Contivo.
Dig Deeper on Topics Archive
Related Q&A from Anne Thomas Manes
Anne Thomas Manes explains the differences between open source clients and open source implementations. Continue Reading
Anne Thomas Manes discusses the best way to go about creating an enterprise data dictionary and why the systems works well. Continue Reading
Anne Thomas Manes explains the difference between 'hard' real time and 'live' real time systems. Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.