Service Discovery Overview

Service Discovery enables you to configure and run activities to discover your business services and applications. The discovery process starts from a CI that represents the URL of a specified service, and continues only with other CIs that can potentially be related to the service.

The Service Discovery process builds dependency graphs from the consumer-provider components that make-up a service, as follows:

  1. A business-service CI is connected to the start-point component.

    The start-point component is the first CI referred by the URL of the service. This is the URL through which the service is consumed by users or by other business services.

  2. The start-point component is connected to its neighbor components with consumer-provider relationships.

    These neighbor components are the providers that are directly used by the start-point component. In this context, these neighbor components take on a consumer role.

  3. The start-point’s neighbor components (now taking on consumer roles) are connected via consumer-provider relationships to their own neighbors (their providers).

    Discovery recursively connects neighbors to additional neighbors of these neighbors via consumer-provider relationships, until all the components that make up the service are connected.

Often, a component or running software may be both a consumer and a provider.

For more information about consumers and providers, see Providers and Consumers.

Service Scope

You use service-border rules to define when one service ends and another one starts. These rules enable the discovery process to categorize consumer-provider relationships as either internal or external.

  • An external consumer-provider relationship connects two components that belong to different business services.
  • An internal consumer-provider relationship connects two components that belong to the same business service.

The discovery process can report this category for consumer-provider relationships, since it is populated as the value of an attribute of the consumer-provider relationship.

You can therefore define the service scope to be all the components reachable from the start-point component by a path made only of internal consumer-provider relationships (that is, only consumer-provider relationships labeled as internal).

While discovering a service's components, the discovery process halts when it reaches a new provider that is connected by an external consumer-provider relationship. This means that the discovery process does not discover a provider's neighbors. To enable this functionality, you must define service-border rules before you initiate the discovery process.

However, in many cases, you want to discover the service before defining the service-border-rules. You want to see which components make up the service, and only then define the service-border-rules for these discovered components. To limit the discovery process and prevent it from endlessly discovery neighbors of neighbors, use the Hop Limit setting when you create a Service Discovery activity.

Related Topics Link IconRelated Information