ELEMENTS OF AN XML SCHEMA REPOSITORY Developing XML for use in internal applications can be useful for standardizing the data flowing from one system to another. The real power of XML, however, starts to show when XML is used to share information between organizations. One problem with sharing XML documents is validating the content and sharing the schema that defines the content model. Using a repository can provide a centralized resource for publishing and retrieving XML schemas. WHY YOU WANT TO CENTRALIZE If your organization is using XML heavily, you'll want to centralize your XML schemas. Of course, "schemas" includes XML Schemas, document type definitions (DTDs), and any other information that is related to managing your XML infrastructure. When your schemas are not centralized, it can become difficult to find out where the schema is located when it comes time to validate an XML document. Centralizing schema information provides several benefits. One key benefit is manageability. When your schemas and other information are dispersed, you'll have difficulty knowing where a particular schema resides. While this can impact your ability to find the schema, imagine what an application will do. Keeping the information in one place also allows you to share it with other organizations easier. That way, they won't have to search for the information either. WHAT THE REPOSITORY IS AND DOES An XML schema repository is basically a storage medium that understands how to store and retrieve your XML schemas and other resources such as XML documents and documentation about the schemas. The repository provides all of the necessary information for creating systems that will interact with your XML definitions. It also provides a mechanism for adding new content and updating existing content. Keep in mind that your XML schemas will change. The repository offers several key features. Obviously, it allows you to access the XML schemas and other information. It usually does this by using a standard mechanism such as a Web interface. It should also allow users to search for specific XML information using keywords or applications. Not every repository user will be human; sometimes applications and programs will access the repository. This means that the search and retrieval functions should be well defined so that an application can easily interface with the repository. REPOSITORY SOLUTIONS There are many approaches to implementing an XML repository solution. The following are simply some concepts that may apply when you decide to create and use an XML schema repository. These are included to help you understand some of the options that are available. FILE SYSTEM-DRIVEN FTP SITE One of the simplest solutions for creating an XML schema repository is to install an FTP server and create a file system-based repository. This basically means using the FTP protocol's existing functionality for uploading and downloading content. It also means creating a file system hierarchy that represents the structure and organization of your content. Some of the benefits of this approach include ease of setup and the simple and standard FTP interface. DATABASE-DRIVEN WEB SITE Of course, FTP sites are not always the easiest sites to browse. For example, setting up default index pages doesn't work. Also, you may want to better control access and storage of your information. To accomplish this, you might create a database-driven Web site. This means setting up a Web server and a database server and creating the appropriate Web application for handling, uploading, and downloading of content. You can use various methods for handling security and access to the information, including hooking into an existing LDAP authentication infrastructure. This solution also allows you to categorize your documents in multiple ways as well as provide search functionality. OUTSOURCING If you choose not to take on the task of setting up a repository at all, outsourcing may be a good option. This means finding a good partner that can provide the services you and your trading partners need to handle your (and possibly your trading partners') XML data. You may reap more benefits with this approach if you or your trading partners are using standard XML vocabularies. There are various online repositories such as Microsoft's BizTalk.org and Oasis' XML.org that currently provide schema hosting for companies. http://click.online.com/Click?q=1f-rvwqI58DvyIYvAW1x11DH2bqC8sR http://click.online.com/Click?q=34-pJpSIcdc2934QU53_w-syi4E-7uR Brian Schaffner is a senior consultant for DMR Consulting, a Fujitsu company. He provides architecture, design, and development support for DMR's Telcom360 group. ----------------------------------------