Tools are registered automatically when the web application that hosts the tool starts up. This is done by including in the web application Sakai context listener, and one or more tool registration .xml files. These files identify the "well known" tool id used to refer to tools, the tool's default configuration, and other meta-data such as categories and keywords related to the tool.
This registry has two interfaces. One, the Tool API, which is not dependent on the Servlet API, is used to discover what tools are available and information about these tools. The other, the ActiveTool API, which is dependent on the Servlet API, is used to invoke tools to process requests and produce user interfaces.