Service Components

The Generic Service Component Framework helps to simplify and automate the management of background Java services. In Oracle Applications, service component containers and their service components are run through Generic Service Management (GSM), which you can control through Oracle Applications Manager.

A service component container is an instance of a service that manages the running of the individual service components that belong to it. The container monitors the status of its components and handles control events for itself and for its components. These actions are recorded in a log for the container.

A service component is an instance of a Java program which has been defined according to the Generic Service Component Framework standards so that it can be managed through this framework. Currently, Oracle Workflow provides two service component types: Workflow Mailer and Workflow Agent Listener.

All service components have certain attributes required by the Generic Service Component Framework. Definition attributes for a component include the component name, startup mode, container type, inbound agent, outbound agent, and correlation ID. Detail attributes include the container that owns the component and the maximum idle time for an on-demand component.

A service component can have one of three startup modes.

In Oracle Applications, all service components use the Oracle Applications GSM container type. A component can have either an inbound agent to process inbound messages, an outbound agent to process outbound messages, or both. An Oracle Advanced Queuing (AQ) correlation ID can be assigned to a component to limit its processing to only messages marked with that correlation ID. Oracle Workflow provides two predefined containers in which you can create components, the Workflow Mailer Service and the Workflow Agent Listener Service.

Service components can also have additional configuration parameters. Some parameters are common to all components, such as component log level and the number of inbound and outbound processing threads. Other parameters may be specific to the processing that a particular type of component performs. For example, a notification mailer service component has configuration parameters to specify the inbound and outbound e-mail servers it uses.

Among both the common and the type-specific configuration paramers, some parameters can be refreshed dynamically while a service component is running. These parameters are identified in the configuration pages for the component. For example, the component log level, inbound thread count, and outbound thread count are refreshable parameters.

The control events you can perform for a service component include:

A service component may also have additional control commands that are specific to the type of processing it performs. For example, Workflow Mailer components include a command to launch summary notifications.

You can perform these control events manually at runtime by choosing the relevant command in the Service Components page or in the Component Details page for the component. You can also schedule single or repeating control events when you are configuring a service component.

A service component can have one of the following statuses.

A component with a status of Starting, Running, Suspending, Suspended, Resuming, or Stopping is considered to be active. You cannot edit the definition and detail attributes of a component while it is active; you must stop the component before you can change these attributes. However, you can edit the component's configuration parameters while it is active. If you edit any refreshable parameters, the component will be dynamically refreshed with the new parameter values.

You can manually stop a component from any status. Also, if a container stops for any reason, all of its components are stopped as well.

A diagnostic log is recorded for each component container, from the time the container starts to the time it stops. When a container is restarted, a new log is begun. You can view the log through Workflow Manager. Each log entry is marked with the container ID, and, if applicable, with the ID of the service component that generated it. You can specify the level of detail of the information you want to record for each component container. You can also specify a separate log level for some types of service components. The log levels you can select, in order from most detailed to least detailed, are as follows:

The default log level for both containers and service components is Exception. This level is the recommended setting for normal usage.

Viewing Service Components

The Service Components page shows the service components that are defined in your Oracle Workflow installation.

Navigation: Applications Dashboard > (pull-down menu) Workflow Manager > (B) Go > Service Components status icon

To add the information from this page to your support cart, click the Add to Support Cart button.

For each service component, the list displays the service component name, status, type, startup mode, container type, and container. Click any column heading to sort the list by that column.

Creating Service Components

The Create Service Components page lets you choose the type of service component you want to create. This page lists the name and description of each available type. Select the type that you want and click the Create Service Component button. The steps to complete the service component definition depend on the type you select.

Currently, there are two available service component types.

Navigation: Applications Dashboard > (pull-down menu) Workflow Manager > (B) Go > Service Components status icon > Create

Service Instances for Service Component Containers

You can use Oracle Applications Manager to control service component containers as service instances in GSM.

Editing Service Parameters for a Container

Among other properties, a GSM service instance can have work shifts assigned to it. A work shift in turn can have service parameters associated with it. For a service instance that is a service component container, these service parameters apply to the container as a whole to determine how the container manages the components that belong to it.

Navigation: Applications Dashboard > (pull-down menu) Workflow Manager > (B) Go > Service Components status icon > container link > (B) Edit > (B) Edit Service Parameters

The Edit Service Parameters page initially displays the service parameters that can be specified for a container in the Edit Service Parameters field, together with their seeded default values. In most cases, you do not need to change these values. However, you can optionally edit these values in the Edit Service Parameters field if you choose.

You can also optionally delete any of the service parameters from the Edit Service Parameters field. In this case, for all parameters except the proxy setting parameters, the parameter values are obtained from the global settings stored in the WF_RESOURCES table. The default values in the WF_RESOURCES table are the same as the initial default values in the Edit Service Parameters page.

In the Edit Service Parameters field, the service parameter names and values should be specified separated by colons, in the following format:

<name1>=<value1>:<name2>=<value2>: . . . <nameN>=<valueN>

The following service parameters can be specified for a container:

You can also optionally specify the following service parameters for proxy settings. You should set these parameters if components in this container need to use a proxy server to access web content that is outside a firewall. For example, a mailer component may need to access outside web content that is to be included in an e-mail notification. The Generic Service Component Framework uses the values you set in these service parameters to set the relevant Java System Properties.

Selecting the Log Level for a Container

You can use the Service Instance Status page to view status details for a service component container, including the current log level for the container. The log level controls how much information is recorded in the log. Note that the log level you select here applies only to the log messages for the container. You can assign separate log levels to the individual components within the container.

Navigation: Applications Dashboard > (pull-down menu) Workflow Manager > (B) Go > Service Components status icon > container link > (B) View Status

The current log level is determined by the value of the SVC_CONTAINER_LOG_LEVEL service parameter. If no value is defined for that parameter, the log level is obtained from the default setting stored in the WF_RESOURCES table. The default container log level, which is also the recommended setting, is Exception.

You can optionally specify a different log level for the container if the container is running. To change the log level, select the level you want from the Change Log Level To pull-down menu and click the Go button. The log levels you can select, in order from most detailed to least detailed, are as follows: