A telecommunications service node includes a multi-level architecture
comprising an operating system layer interfaced using a compile time
linked interface to a service framework layer, and a service application
layer interfaced using an object oriented, run time linked interface to
the service framework layer. Run time linking of the service applications
supports the introduction or modification of service applications during
run time execution of the service node. Each service application inherits
from the same base class, and is defined by certain criteria which need to
be met in order to execute the service. A trader maintains a reference to
each available service application. When a certain service needs to be
performed, a set of criteria for that certain service are evaluated by the
trader, and a particular one of the service applications within the
service layer defined to meet the criteria set is selected. The selected
service application is then invoked to support the certain service.
Following termination of the invoked service application, the service is
shut down in a controlled fashion.