Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [Ens] >  [BusinessService]
Private  Storage   

abstract class Ens.BusinessService extends Ens.Host, Ens.Util.IOLogger

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
2 10 20


Summary

This is a Business Service class.

Properties
%AlertStartTime %ConfigName %ConfigQueueName
%LastActionTime %LastHandledTime %LastReportedError
%OutsideCreated %PreserveSession %ProcessInputCalled
%QuitTask %RequestHeader %SessionId
%SuperSession %SuperSessionCreatedBeforeSession %WaitForNextCallInterval
%WarnedLatest %isShadow Adapter
AlertGracePeriod AlertGroups AlertOnError
ArchiveIO BusinessPartner GenerateSuperSessionID
IOLogEntry InactivityTimeout ThrottleDelay

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OnClose %OnNew
%OriginalNamespace %PackageName %RemoveFromSaveSet %SerializeObject
%SetModified %SuperSessionSet %ValidateObject AdapterName
AssignOneSetting CloseIOLogEntry EnumerateSettingsClose EnumerateSettingsExecute
EnumerateSettingsFetch ForceSessionId GenerateSuperSession GetDeferredResponseToken
GetProductionSettingValue GetProductionSettings GetPropertyConnections GetSettings
GetShadowInstance NewIOLogEntry OnError OnGenerateSuperSession
OnGetConnections OnInit OnKeepalive OnMonitor
OnProcessInput OnProductionStart OnProductionStop OnTearDown
PopulateSuperSession QueueName SaveIOLogEntry SendAlert
SendDeferredResponse SendRequestAsync SendRequestSync

Subclasses
Ens.Activity.Service.TCPCounted Ens.Alerting.AlertMonitor Ens.BusinessDuplex
Ens.BusinessMetric Ens.Enterprise.MonitorService Ens.Enterprise.MsgBank.TCPService
Ens.Java.Service.Standard Ens.ManagerService Ens.MonitorService
Ens.ProductionMonitorService Ens.ScheduleService EnsLib.Background.Service
EnsLib.DotNetGateway.Service EnsLib.EDI.EDIFACT.Service.Standard EnsLib.EDI.X12.Service.Standard
EnsLib.EDI.XML.Service.Standard EnsLib.FTP.PassthroughService EnsLib.File.PassthroughService
EnsLib.HTTP.Service EnsLib.JavaGateway.Service EnsLib.MFT.Service.Passthrough
EnsLib.MQSeries.PassthroughService EnsLib.PEX.BusinessService EnsLib.Printing.PrintService
EnsLib.PushNotifications.AppService EnsLib.RecordMap.Service.Base EnsLib.RecordMap.Service.ComplexBatchStandard
EnsLib.SOAP.Service EnsLib.TCP.Framed.PassthroughService EnsLib.TCP.PassthroughService
EnsLib.TCP.StatusService EnsLib.Testing.Service EnsLib.XML.Object.Service.Standard
EnsLib.XSLT.TransformedService

Parameters

• parameter APPDATAKEY = "ProcessInputAsync";
• parameter SETTINGS = "GenerateSuperSessionID:Additional,AlertGracePeriod:Alerting";
List of properties can be set as settings in the configuration file format is a comma separated list of property names

Properties

• property %AlertStartTime as %Numeric [ InitialExpression = 0 ];
• property %OutsideCreated as %String;
IO device name if created by CreateBusinessService from a CSP TCP job
• property %PreserveSession as %Boolean [ InitialExpression = 0 ];
Put all inputs from this service into a single session
• property %ProcessInputCalled as %Boolean [ Calculated ];
Deprecated - use %WaitForNextCallInterval
• property %RequestHeader as Ens.MessageHeader;
• property %SuperSessionCreatedBeforeSession as %Boolean [ InitialExpression = 0 ];
This is used to indicate if the %SuperSession has been created from the inbound request and ought not to be cleared as part of %PreserveSession actions
• property %WaitForNextCallInterval as %Boolean [ InitialExpression = 1 ];
Used to be named %ProcessInputCalled, with inverse sense
• property AlertGracePeriod as %Numeric(MINVAL=0) [ InitialExpression = 0 ];
When AlertOnError is True, refrain from alerting if it is not from ProcessInput() and the Service succeeds again within this number of seconds
• property GenerateSuperSessionID as %Boolean [ InitialExpression = 0 ];
If this setting is enabled then generate a Super Session ID.
See method GenerateSuperSession() and user call back method OnGenerateSuperSession()in Ens.Host

Methods

• method ForceSessionId() as %Status
Pre-allocate a request header object and an ID for it to represent a fresh session even before we get around to sending our first request. When we do get around to making our first SendRequest... call it will use this pre-allocated header.
• method OnError(pStatus As %Status) as %Boolean
Override this method to provide custom error handling. Return 0 means skip standard AlertOnError behavior.
• method OnProcessInput(pInput As %RegisteredObject, Output pOutput As %RegisteredObject, ByRef pHint As %String) as %Status
Override this method to process incoming data. Do not call SendRequestSync/Async() from outside this method (e.g. in a SOAP Service or a CSP page).
• method OnTearDown() as %Status
This user callback method is called from %OnClose()
• method PopulateSuperSession() as %Status
Generate a Super Session ID if it is currently empty and setting to generate enabled.
• method SendAlert(pAlertRequest As Ens.AlertRequest) as %Status
Use this method to send an alert message
• method SendRequestAsync(pTargetDispatchName As %String, pRequest As %Library.Persistent, pDescription As %String = "") as %Status
Use this method to dispatch a business invocation asynchronously
• method SendRequestSync(pTargetDispatchName As %String, pRequest As %Library.Persistent, ByRef pResponse As %Library.Persistent, pTimeout As %Numeric = -1, pDescription As %String = "") as %Status
Use this method to dispatch a business invocation synchronously


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.