Top Method Summary
Options Name Purpose
ActivatedHandler (EventArgs) Event handler for the Deactivated event of the Service Manager
DeactivateHandler (EventArgs) Event handler for the Deactivated event of the Service Manager
DeregisterBusinessService (character) Deregisters an external Business Service from the ServiceManager class
DeregisterBusinessService (Class) Deregisters an external Business Service from the ServiceManager class
Consultingwerk.OERA.IBusinessService GetBusinessService (character) Returns a reference to a Business Service Instance
Consultingwerk.OERA.IBusinessService GetBusinessService (character, BusinessServiceOperatingModeEnum) Returns a reference to a Business Service Instance
Consultingwerk.OERA.IBusinessService GetBusinessService (Class) Returns a reference to a Business Service Instance
Consultingwerk.OERA.IBusinessService GetBusinessService (Class, BusinessServiceOperatingModeEnum) Returns a reference to a Business Service Instance
CHARACTER GetMappedServiceName (character) Returns the mapped business service name from the current registered implementation of the IServiceNameMappingService interface (can but does not need to be an instance of this class here)
GetServiceManagerMonitoring (table) Returns the eBusinessServices Temp-Table with the monitoring information about the service manager
LOGICAL HasLifeCycleDefinition (character) Returns if the specified Business Service has a matching life cycle definition
LOGICAL HasLifeCycleDefinition (Class) Returns if the specified Business Service has a matching life cycle definition
LOGICAL IsInCallStack (character) Returns if the given Business Service is in the call stack
LOGICAL IsInCallStack (Class) Returns if the given Business Service is in the call stack
LOGICAL IsRunning (character) Returns if the given Business Service is already running
LOGICAL IsRunning (character, BusinessServiceTypeEnum) Returns if the given Business Service is already running
LOGICAL IsRunning (Class) Returns if the given Business Service is already running
LOGICAL IsRunning (Class, BusinessServiceTypeEnum) Returns if the given Business Service is already running
Consultingwerk.OERA.IBusinessService LaunchBusinessService (character, BusinessServiceOperatingModeEnum) Launches a Business Services
ProcessServiceLifeCycle () Processes the Service Life Cycle
RegisterBusinessService (character, IBusinessService) Registers an external Business Service with the ServiceManager class
RegisterBusinessService (Class, IBusinessService) Registers an external Business Service with the ServiceManager class
RequestEndedHandler (EventArgs) Event handler for the RequestEnded event of the Service Manager
StopAllBusinessServices () Stops all Business Services Instances
StopAllBusinessServices (Class) Stops all Business Services Instances of the given Class
StopBusinessService (character) Stops an Business Service Instance
StopBusinessService (character, NotRunningServiceEnum) Stops an Business Service Instance
LOGICAL TypeOf (character, Class) Checks if the given Business Service is TYPE-OF the given class
ValidateServiceLifeCycleDefinition () Validates the imported service life cycle definitions for consistency

Top Constructor Summary
Options Name Purpose
ServiceManagerImpl () Constructor for the ServiceManagerImpl class


Method Detail
Top

ActivatedHandler (EventArgs)

Purpose: Event handler for the Deactivated event of the Service Manager
Notes:

Parameters:
e Consultingwerk.EventArgs
The Consultingwerk.EventArgs with the data for this event
Top

DeactivateHandler (EventArgs)

Purpose: Event handler for the Deactivated event of the Service Manager
Notes:

Parameters:
e Consultingwerk.EventArgs
The Consultingwerk.EventArgs with the data for this event
Top

DeregisterBusinessService (character)

Purpose: Deregisters an external Business Service from the ServiceManager class
Notes: External Business Services are launched externally, may even be
registered in the ServiceContainer class. This is useful for allowing
access to Session Services (e.g. FrameworkSettings:ServiceContainer) to
be exposed to clients using the Service Interface while staying directly
accessible on the back end though the ServiceContainer. External Business
Services are considered not to be managed by the ServiceManager, that
is the ServiceManager will not attempt to shut them down in the Stop...
kind of methods.

Parameters:
pcServiceName CHARACTER
The name of the Service to be deregistered (typically the class name)
Top

DeregisterBusinessService (Class)

Purpose: Deregisters an external Business Service from the ServiceManager class
Notes: External Business Services are launched externally, may even be
registered in the ServiceContainer class. This is useful for allowing
access to Session Services (e.g. FrameworkSettings:ServiceContainer) to
be exposed to clients using the Service Interface while staying directly
accessible on the back end though the ServiceContainer. External Business
Services are considered not to be managed by the ServiceManager, that
is the ServiceManager will not attempt to shut them down in the Stop...
kind of methods.

Parameters:
poServiceType Progress.Lang.Class
The type of the Service to be deregistered
Top

Consultingwerk.OERA.IBusinessService GetBusinessService (character)

Purpose: Returns a reference to a Business Service Instance
Notes: Starts the Business Service if required (using LaunchBusinessService)
It is possible to use multiple instances of the same Business Service
class at once. In this case the business service name should be
concatenated from the class name followed by CHR(1) and the instance
identified

Parameters:
pcServiceName CHARACTER
The Name of the Business Service, eventually containing a #, see Notes at LaunchBusinessService
Returns Consultingwerk.OERA.IBusinessService
The reference to the IBusinessService
Top

Consultingwerk.OERA.IBusinessService GetBusinessService (character, BusinessServiceOperatingModeEnum)

Purpose: Returns a reference to a Business Service Instance
Notes: Starts the Business Service if required (using LaunchBusinessService)
It is possible to use multiple instances of the same Business Service
class at once. In this case the business service name should be
concatenated from the class name followed by CHR(1) and the instance
identified
Supports both managed and unmanaged operating mode for business services
See notes in BusinessServiceOperatingModeEnum

Parameters:
pcServiceName CHARACTER
The Name of the Business Service, eventually containing a #, see Notes at LaunchBusinessService
poOperatingMode Consultingwerk.OERA.BusinessServiceOperatingModeEnum
The BusinessServiceOperatingModeEnum controlling the operating mode of the business service
Returns Consultingwerk.OERA.IBusinessService
The reference to the IBusinessService
Top

Consultingwerk.OERA.IBusinessService GetBusinessService (Class)

Purpose: Returns a reference to a Business Service Instance
Notes: Starts the Business Service if required (using LaunchBusinessService)
This variant of the method will always return a managed business service

Parameters:
poServiceType Progress.Lang.Class
The type of the Business Service
Returns Consultingwerk.OERA.IBusinessService
The reference to the IBusinessService
Top

Consultingwerk.OERA.IBusinessService GetBusinessService (Class, BusinessServiceOperatingModeEnum)

Purpose: Returns a reference to a Business Service Instance
Notes: Starts the Business Service if required (using LaunchBusinessService)
Supports both managed and unmanaged operating mode for business services
See notes in BusinessServiceOperatingModeEnum

Parameters:
poServiceType Progress.Lang.Class
The type of the Business Service
poOperatingMode Consultingwerk.OERA.BusinessServiceOperatingModeEnum
The BusinessServiceOperatingModeEnum controlling the operating mode of the business service
Returns Consultingwerk.OERA.IBusinessService
The reference to the IBusinessService
Top

CHARACTER GetMappedServiceName (character)

Purpose: Returns the mapped business service name from the current registered
implementation of the IServiceNameMappingService interface (can but
does not need to be an instance of this class here)
Notes: Returns the input parameter when no IServiceNameMappingService exists
or that implementation returns "" or ?

Parameters:
pcServiceName CHARACTER
The service name as provided by the consumer
Returns CHARACTER
The name of the actual business service implementing class
Top

GetServiceManagerMonitoring (table)

Purpose: Returns the eBusinessServices Temp-Table with the monitoring information
about the service manager
Notes:

Parameters:
eBusinessServices TEMP-TABLE eBusinessServices
Temp-Table from Consultingwerk/OERA/Monitoring/eBusinessServices.i
Top

LOGICAL HasLifeCycleDefinition (character)

Purpose: Returns if the specified Business Service has a matching life cycle
definition
Notes:

Parameters:
pcServiceName CHARACTER
The name of the Business Service
Returns LOGICAL
Logical value indicating if the specified service has a matching life cycle definition
Top

LOGICAL HasLifeCycleDefinition (Class)

Purpose: Returns if the specified Business Service has a matching life cycle
definition
Notes:

Parameters:
poServiceType Progress.Lang.Class
The type of the Business Service
Returns LOGICAL
Logical value indicating if the specified service has a matching life cycle definition
Top

LOGICAL IsInCallStack (character)

Purpose: Returns if the given Business Service is in the call stack
Notes: Does not support differentiating by Context/Instance ID (CHR 1 delimited service name)
Useful to decide if a Business Entity needs to be invoked with a
context/instance ID to avoid circular calling into the same
instance

Parameters:
pcServiceName CHARACTER
The name under which the service is registered (typically the class name)
Returns LOGICAL
Logical value indicating if the Business Service is in the call stack
Top

LOGICAL IsInCallStack (Class)

Purpose: Returns if the given Business Service is in the call stack
Notes: Useful to decide if a Business Entity needs to be invoked with a
context/instance ID to avoid circular calling into the same
instance

Parameters:
poServiceType Progress.Lang.Class
The type under which the service is registered
Returns LOGICAL
Logical value indicating if the Business Service is in the call stack
Top

LOGICAL IsRunning (character)

Purpose: Returns if the given Business Service is already running
Notes: Default version of the method only checks for externally launched
(=registered) Business Services

Parameters:
pcServiceName CHARACTER
The name under which the service is registered (typically the class name)
Returns LOGICAL
Logical value indicating if the Business Service is running
Top

LOGICAL IsRunning (character, BusinessServiceTypeEnum)

Purpose: Returns if the given Business Service is already running
Notes:

Parameters:
pcServiceName CHARACTER
The name under which the service is registered (typically the class name)
poServiceType Consultingwerk.OERA.BusinessServiceTypeEnum
The service type to check for, defaults to Any when ? is passed in
Returns LOGICAL
Logical value indicating if the Business Service is running
Top

LOGICAL IsRunning (Class)

Purpose: Returns if the given Business Service is already running
Notes: Default version of the method only checks for externally launched
(=registered) Business Services

Parameters:
poServiceType Progress.Lang.Class
The type under which the service is registered
Returns LOGICAL
Logical value indicating if the Business Service is running
Top

LOGICAL IsRunning (Class, BusinessServiceTypeEnum)

Purpose: Returns if the given Business Service is already running
Notes:

Parameters:
poServiceType Progress.Lang.Class
The type under which the service is registered
poBusinessServiceType Consultingwerk.OERA.BusinessServiceTypeEnum
The service type to check for
Returns LOGICAL
Logical value indicating if the Business Service is running
Top

Consultingwerk.OERA.IBusinessService LaunchBusinessService (character, BusinessServiceOperatingModeEnum)

Purpose: Launches a Business Services
Notes: When a # or | is used in the service name parameter, use the second entry
as the character parameter to the Constructor. The first entry needs
to contain the service class name. The Business Service is is referenced
in a temp-table for latter access to the running instance.

Parameters:
pcServiceName CHARACTER
The Name of the Business Service, eventually containing a # or |, see Notes
poOperatingMode Consultingwerk.OERA.BusinessServiceOperatingModeEnum
The BusinessServiceOperatingModeEnum controlling the operating mode of the business service
Returns Consultingwerk.OERA.IBusinessService
The reference to the IBusinessService
Top

ProcessServiceLifeCycle ()

Purpose: Processes the Service Life Cycle
Notes: Shuts down Business Services based on the definition of the life cycle

Top

RegisterBusinessService (character, IBusinessService)

Purpose: Registers an external Business Service with the ServiceManager class
Notes: External Business Services are launched externally, may even be
registered in the ServiceContainer class. This is useful for allowing
access to Session Services (e.g. FrameworkSettings:ServiceContainer) to
be exposed to clients using the Service Interface while staying directly
accessible on the back end though the ServiceContainer. External Business
Services are considered not to be managed by the ServiceManager, that
is the ServiceManager will not attempt to shut them down in the Stop...
kind of methods.

Parameters:
pcServiceName CHARACTER
The name under which the service will be registered (typically the class name)
poInstance Consultingwerk.OERA.IBusinessService
The instance of the business service
Top

RegisterBusinessService (Class, IBusinessService)

Purpose: Registers an external Business Service with the ServiceManager class
Notes: External Business Services are launched externally, may even be
registered in the ServiceContainer class. This is useful for allowing
access to Session Services (e.g. FrameworkSettings:ServiceContainer) to
be exposed to clients using the Service Interface while staying directly
accessible on the back end though the ServiceContainer. External Business
Services are considered not to be managed by the ServiceManager, that
is the ServiceManager will not attempt to shut them down in the Stop...
kind of methods.

Parameters:
poServiceType Progress.Lang.Class
The type under which the service will be registered
poInstance Consultingwerk.OERA.IBusinessService
The instance of the business service
Top

RequestEndedHandler (EventArgs)

Purpose: Event handler for the RequestEnded event of the Service Manager
Notes:

Parameters:
e Consultingwerk.EventArgs
The Consultingwerk.EventArgs with the data for this event
Top

StopAllBusinessServices ()

Purpose: Stops all Business Services Instances
Notes:

Top

StopAllBusinessServices (Class)

Purpose: Stops all Business Services Instances of the given Class
Notes:

Parameters:
poClass Progress.Lang.Class
The Progress.Lang.Class reference (Class or Interface)
Top

StopBusinessService (character)

Purpose: Stops an Business Service Instance
Notes: Defaults to StopBusinessService (pcServiceName, NotRunningServiceEnum:Throw)
Throws: Consultingwerk.OERA.Exceptions.BusinessServiceNotRunning

Parameters:
pcServiceName CHARACTER
The Name of the Business Service, eventually containing a #, see Notes at LaunchBusinessService
Top

StopBusinessService (character, NotRunningServiceEnum)

Purpose: Stops an Business Service Instance
Notes:
Throws: Consultingwerk.OERA.Exceptions.BusinessServiceNotRunning

Parameters:
pcServiceName CHARACTER
The Name of the Business Service, eventually containing a #, see Notes at LaunchBusinessService
poNotRunningServiceEnum Consultingwerk.OERA.NotRunningServiceEnum
The NotRunningServiceEnum value indicating how to handle a Business Service that is not running
Top

LOGICAL TypeOf (character, Class)

Purpose: Checks if the given Business Service is TYPE-OF the given class
Notes:

Parameters:
pcServiceName CHARACTER
The name of the Business Service
poClass Progress.Lang.Class
The class to verify
Returns LOGICAL
Logical value indicating of the Business Service is TYPE-OF the given class
Top

ValidateServiceLifeCycleDefinition ()

Purpose: Validates the imported service life cycle definitions for consistency
Notes: Either StopAfterEachRequest, TimeoutAfterLastRequest or
TimeoutAfterStart should be set per entry - but one setting must be
set
Throws: Consultingwerk.OERA.Exceptions.BusinessServiceNotRunning



Constructor Detail
Top

ServiceManagerImpl ()

Purpose: Constructor for the ServiceManagerImpl class
Notes: Parses the life services cycle configuration file



Temp-Table Detail

Temp-Table eBusinessServices

Defined in:


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       30.03.2026 11:05:35