Anwendungskennung

Die Anwendungskennung ist eine Zeichenfolge und wird als eines der Klassifizierungskriterien für die automatische Klassifizierung von Prozessen oder Threads (mit der Datei rules) verwendet. Diese Kennung ist im Grunde ein anwendungsdefiniertes Klassifizierungskriterium, das zusätzlich zu den systemdefinierten Kriterien wie user, group, application und type verwendet wird.

Wenn ein Anwendungsprozess oder Thread seine Kennung setzt, wird er sofort unter Verwendung der geltenden Superklassen- und Unterklassenregeln für die derzeit aktive WLM-Konfiguration neu klassifiziert. WLM überprüft die Zuordnungsregeln und sucht unter Verwendung aller Prozessattribute, einschließlich der neuen Kennung nach einer Übereinstimmung.

Die Kennung muss, um wirksam zu sein, in mindestens einer der Zuordnungsregeln verwendet werden. Das Format und die Verwendung der verschiedenen Kennungen durch die einzelnen Anwendungen müssen in der Verwaltungsdokumentation der Anwendung eindeutig angegeben sein und den WLM-Administratoren bekannt sein, so dass sie die verschiedenen Werte der Kennungen in ihren Zuordnungsregeln verwenden können, um zwischen verschiedenen Instanzen derselben Anwendung zu unterscheiden.

Da unterschiedliche Benutzer unterschiedliche Anforderungen in Bezug auf die Merkmalgruppe für Anwendungsprozesse haben können, die sie für die Klassifizierung dieser Prozesse verwenden möchten, wird empfohlen, dass die Anwendung eine Gruppe von Konfigurations- oder Laufzeitattributen bereitstellt, die für die Erstellung der Kennung verwendet werden können. Der Anwendungsadministrator kann das Format der Kennung für die Anwendung festlegen. Die Attribute, die für die Kennung verwendet werden können, und die Syntax für das Format der WLM-Kennung sind anwendungsabhängig und liegen in der Verantwortung des Anwendungsproviders.

Eine Instanz eines Datenbankservers kann beispielsweise ermitteln, mit welcher Datenbank sie arbeitet (db_name) und über welchen TCP-Port ein bestimmter Benutzer verbunden wird (port_num). Administratoren können folgende Prioritäten haben:

  • Jeder Klasse unterschiedliche Nutzungsrechte für Ressourcen erteilen, um unterschiedliche Klassen für Prozesse zu erstellen, die auf unterschiedliche Datenbanken zugreifen.
  • Prozesse, die ferne Anforderungen unterschiedlichen Ursprungs bearbeiten, unterscheiden und die Portnummer als Klassifizierungsattribut verwenden.
  • Eine Superklasse für jede Datenbank und eine Unterklasse für jede Portnummer jeder Superklasse erstellen.

Eine Möglichkeit, diese unterschiedlichen Anforderungen zu konsolidieren, ist die Spezifikation von Inhalt und Format der Kennung. Angenommen, die Kennung kann in einer Konfigurationsdatei oder in einem Laufzeitparameter wie WLM_TAG=$db_name oder WLM_TAG=$db_name_$port_num an die Anwendung übergeben werden.

Wenn sie ihre Kennung setzt, kann eine Anwendung angeben, ob diese Kennung von allen untergeordneten Anwendungen übernommen wird, so dass alle Prozesse, die von einer bestimmten Instanz einer Anwendung erzeugt werden, derselben Klasse zugeordnet werden können. Die Anwendungskennung wird sehr häufig im Zusammenhang mit dem Attribut "inheritance" verwendet.

Das folgende Beispiel zeigt, wie Anwendungskennungen verwendet werden können. In diesem Beispiel ist die Kennung der Datenbank mit dem Datenbanknamen identisch. Wenn zwei Instanzen des Servers mit zwei unterschiedlichen Datenbanken arbeiten, werden zwei unterschiedliche Kennungen definiert, z. B. db1 und db2.

Ein Systemadministrator kann zwei unterschiedliche Klassen, dbserv1 und dbserv2 erstellen, und die beiden Datenbankserver (und alle untergeordneten Prozesse, sofern der Parameter inheritance verwendet wird) anhand der Kennungen diesen Klassen zuordnen. In diesem Fall ist es möglich, jeder Klasse auf der Basis bestimmter Geschäftsziele unterschiedliche Nutzungsrechte für Ressourcen zu erteilen.

Die entsprechenden Zuordnungsregeln könnten wie folgt aussehen:
* class   resvd  user  group     application     type  tag
*
dbserv1     -    -     dbadm     /usr/sbin/dbserv  -   db1
dbserv2     -    -     dbadm     /usr/sbin/dbserv  -   db2