Service Development

Sakai services follow certain guidelines and design patterns.

Coding to APIs

Sakai code (with very few exceptions) is written to interfaces. That means that objects are declared against an interface and only methods defined for that interface are invoked against a class instance. This pattern holds true for standard Java classes as well, thus List is used instead of Vector.

Dependency Injection

Where one service depends on another, Sakai uses dependency injection to resolve references when a class instance is created. Dependency injection support is provided by the Sakai Kernel.

Manager Classes

Most Sakai services will include a Manager class that is reponsible for creating and managing instances of the objects included in this service. In this regard, it is similar to a factory pattern. The Manager class is responsible for persistence and retreival of objects from a permanent data store.

Support for Integration

All Sakai services must provide support for enterprise integration. In some cases, this is done by multiple implementations of the API against different enterprise services. One of these alternative implementations can be specified as the primary implementation that Sakai tools will use.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.