KNB Software Development Guide: Metacat Service Based Architecture
KNB Home Data People Informatics Biocomplexity Education Software

Metacat Service Based Architecture

Back | Home | Next
Table of Contents
Overview
Extending BaseService Class
Controling Services With ServiceService Class
Overview

Metacat is migrating toward a service based architecture. Basically, what this means is that any internal service that Metacat provides should be represented in a singleton class that extends the BaseService class.

There are a few basic questions that can be asked when you are creating a class to decide if it should be a service.

Any of these could signify the need for a service. Note that another option is to create a utility class. Utility classes are singletons that have static methods and less state requirements. See the Utilities Classes page for more information.

Extending BaseService Class

All Services extend the BaseService class except the ServiceService class (discussed next).

Currently, BaseService defines three methods:

Controling Services With ServiceService Class

The ServiceService class is a exception to the BaseService extension rule. This service controls all other services. It maintains a registry of available services.

Some of the methods available via ServiceService are:


Back | Home | Next