Application Dependencies

Interdependency is the natural consequence of a model in which applications are constructed from interconnected services. In TIBCO ActiveMatrix, interdependency manifests at several levels. Within an application, component references depend on services provided by other components. At the application level, promoted references depend on promoted services provided by other applications. Service dependencies can be satisfied even if the interdependent components and applications are deployed to different nodes.

In TIBCO ActiveMatrix, applications have other types of dependencies besides service dependencies. Components are dependent on the custom features that contain the component implementations. Applications can depend on product applications that extend the functionality of the TIBCO ActiveMatrix platform. In addition, applications can also depend on extensions to product applications provided by user-supplied applications. That is, application A can depend on application P, a product application and application E, a user-supplied extension application. Applications can have properties that depend on resource instances.

Dependencies affect the life cycles of interdependent applications. For example, when an application A is dependent on application B, all life cycle operations performed on application B affect the availability of services provided by application A. If application B is stopped, application A cannot service its clients even if it continues to run.

Service, feature, application, and resource dependencies are tracked and managed within Administrator. When you perform life cycle operations (create, delete, deploy, stop, and start) on an application or node, Administrator examines the application's dependencies and performs actions to ensure that the dependencies are satisfied. The specific actions depend on the types of the dependency:

  • Service - When you start or stop an application or node, Administrator ensures that applications providing required services are started before and stopped after the dependent application is started or stopped.
  • Feature - When you deploy an application, Administrator automatically installs required features on any nodes to which the application's components are distributed. If a required feature is not packaged with the application you must upload it before you deploy the application.
  • Application - When you perform any life cycle operations, Administrator evaluates dependencies before invoking the operation. Administrator notifies you which dependencies and other applications are affected by the operation and allows you to specify how to resolve the dependencies.
  • Resource instance - When you deploy an application, Administrator reports a deployment failure for each node lacking a required resource instance. You must install any required resource instances before you deploy the application.