Introduction

The TMCore product provides two principle ways to access and update topic map data. The full .NET API is suitable for complex applications that need fine-grained control over the update of topics and is also suitable for creating your own ASP.NET controls or other server-side applications. The TMCore Web Services interface is suitable for creating n-tier applications and for developing client-server applications. There are several major advantages to using the Web Services interface over the .NET API:

  1. Performance

    Many of the operations are more coarse-grained than those of the .NET API but are written to be executed efficiently. In some cases, the Web Service implementations can out-perform the use of the .NET API by several times.

    In addition you can more easily make use of multiple levels of caching using the Web Services in an n-tier application.

  2. Ease Of Deployment

    None of the TMCore libraries are required to access the Web Services (although you can make use of our web services client library in your .NET applications). This makes it much easier to distribute your applications across multiple machines.

  3. Portability

    The Web Services interfaces support both simple HTTP GET and POST requests and SOAP. This makes it possible to write applications to access and update TMCore data from any language that provides libraries for SOAP or HTTP interactions - Perl, Ruby, Python and even Javascript can all be used to access the topic map via the Web Services interface.

A small set of XML schemas define the input and output data structures for all of our web services. There are 6 main schemas and all of these schemas are described in detail in the Appendix to this document.

  1. The Topic Map Fragment Schema represents topics and associations from a topic map. It is used both to retrieve information from the topic map and to update the topic map.

  2. The Hierarchy Schema is used to retrieve information about hierarchies contained in a topic map.

  3. The Topic Map Transaction Schema is used to update the topic map. It allows updates to several topics or associations to be made in a single transaction.

  4. The NPCL Schema is used to retrieve the Networked Planet Constraint Language (NPCL) schema from a topic map.

  5. The NPCL Forms Schema presents the Networked Planet Constraint Language schema for a topic map along with some additional information which makes it easy to create your own constrained editing front-ends, such as an HTML form for entering a new topic of a particular type.

  6. The Results Schema is used to convey the results of Web Service operations.

This document describes all of the web services provided by TMCore. The first part of this document provides an overview of how the TMCore web services are described in the rest of the document and how that description maps to the actual SOAP and HTTP implementations. There then follows sections describing each of the services provided by TMCore. Currently TMCore provides two separate services, the Topic Map Web Service which provides basic query, browse and update methods and the NPCL Web Service which provides access to the NPCL schema information for a topic map. Finally, the appendix of this document provide a detailed description of each of the XML schemas used by the services.