previo | siguiente

Service Contracts


A service contract defines an inter-package interface specification. A service contract implementation is a set of procedures that fulfill the specification of a specific service contract.

Service contracts are normally used by central services packages to provide a "plug-in" capability for various functionality. An example is the notifications package, which defines a "delivery method" service contract. Various "plug-in" implementations, such as e-mail delivery or SMS delivery, can be provided. The service contract mechanism allows the contract owner ("notifications") to call methods within a contract implementation ("e-mail delivery") without its having knowledge of the internal structure of the plug-in package.

Some of the other service contracts in OpenACS and .LRN include:

  • portal datasource Used to define a portlet to be used by the portals subsystem.

  • dotLRN applet Used to define a .LRN applet (a "glue" package that connects a particular application and set of portlets to a .LRN community).

  • search Used to provide content to be indexed by the OpenFTS search facility.

  • payment gateway Used by e-commerce and other packages that need to do credit card billing to connect to various commercial payment gateways (authorize.net, for instance). A test gateway is provided so you can test your credit card billing code without actually accruing charges on your credit card!

Don Baccus (dhogaza@pacifier.com)

Don Baccus (dhogaza@pacifier.com)