Kernel-Engine (Engine krn)

Die Jobs des Kernel-Executors krn dienen der internen Verwaltung der Applikationsserverprozesse. Dies sind insbesondere Funktionen zur Batch-Verwaltung, Serverüberwachung, Registry-Verwaltung und zum Administrieren geladener Engines zur Laufzeit.

2. Channel-Verwaltung

Diese Jobs betreffen den Server-Kommunikationskanal (Channel) sowie den darauf aufsetzenden Callback-Kanal, über den der Server Nachrichten und Jobaufrufe an einen Client pusht (z. B. krn.OnRegisteredJobCall oder der aus krn.SendMessageToClients resultierende Callback adm.On<Message>). Der Callback-Mechanismus ist bei krn.GetChannelGUID beschrieben.

3. Registered Job Call (RJC) / Job-Call-Monitoring

Der RJC-Mechanismus registriert eine Session als serverweiten Live-Monitor für Jobaufrufe: Der Server pusht für jeden Aufruf eines überwachten Jobs — über alle Sessions und Benutzer hinweg — eine Benachrichtigung über den Callback-Kanal. Dies ist der Mechanismus hinter der Live-Ereignisansicht des Enterprise Managers. Interne Infrastruktur — nur für Administration, Diagnose und Monitoring.

5. Registry-Verwaltung

Diese Jobs dienen der Registry-Verwaltung. Es können Registry-Einträge abgefragt oder geändert werden.

8. Queue- und Thread-Monitoring

Der Server betreibt mehrere benannte Queues. Jede Queue wird von einem festen Pool von Threads (NumThreads) bedient und von einer oder mehreren Engines (Namespaces) genutzt. Ein Job wird in eine Queue eingestellt und von einem ihrer Threads ausgeführt; er ist über die Kombination aus ThreadID, JobNumber und Queue adressierbar. Die folgenden Jobs listen die Queues auf, lesen deren Konfiguration und Statistik, listen die Threads samt ihrer aktuellen Tätigkeit auf und können einen laufenden Job unterbrechen.

9. Client-Verwaltung

Diese Jobs listen die am Server angemeldeten Clients auf und liefern Detailinformationen zu ihnen.

11. Nicht dokumentierte Endpunkte

Folgende Jobs werden vom enaio®-Server in der krn-Engine bereitgestellt, sind in dieser Dokumentation aber derzeit nicht beschrieben:

Channel-Verwaltung (Server-zu-Server-Kommunikation)

krn.ChannelDrop, krn.ChannelEnum, krn.ChannelGetInfo, krn.ChannelGetInfoSR, krn.ChannelMakePing, krn.ChannelOpen, krn.ChannelPingMade, krn.ChannelServerGetInfoSR, krn.ConnectionGetInfoSR, krn.CritSectGetInfoSR

Erweiterte Session-Verwaltung

krn.CloseSession, krn.CreateSession, krn.GetUserBySessionGUID, krn.OpenSession, krn.SessionCheckPwd, krn.SessionDropNotActive, krn.SessionGetInfoSR, krn.SessionGetSysRoles, krn.SetSessionUser

Server-Strings (Key-Value-Persistenz am Server)

krn.SrvStrg_Clear, krn.SrvStrg_ElementDelete, krn.SrvStrg_ElementEnum, krn.SrvStrg_ElementExists, krn.SrvStrg_ElementGet, krn.SrvStrg_ElementNames, krn.SrvStrg_ElementProps, krn.SrvStrg_ElementSet, krn.SrvStrg_Load, krn.SrvStrg_Save

Prepared Jobs

krn.PreparedJobDel, krn.PreparedJobEnum, krn.PreparedJobExecute, krn.PreparedJobState, krn.PreparedJobStop, krn.PreparedJobUnlock

Profiler

krn.ProfilerConfigGet, krn.ProfilerConfigSet, krn.ProfilerStart, krn.ProfilerStop

Job-Callbacks und asynchrone Jobs

krn.AsynchJobResponse, krn.RejectJob

Datenbank-Pool-Diagnose

krn.DBGetJTEnum, krn.DBPoolJTEnum, krn.DBPoolRTEnum

Direkter SQL-Zugriff (interne Diagnose)

krn.SQLCommand, krn.SQLSelect

Logging und Trace-Konfiguration

krn.ETMGetFileName, krn.ETMRereadConfig, krn.LogConfigReread

Sonstige Verwaltung

krn.AslogGeneralFlags, krn.BatchGetLastResults, krn.CheckClausesFormats, krn.CheckExpires, krn.ClearOvertimedJobs, krn.EnvironmentChanged, krn.ExecutorKernel, krn.ExplorerFind, krn.PacketToSendQueue