Hilfe für IBM i Befehle

11. Juni 2019 | Von | Kategorie: Wissenschaft und Forschung

Diese Serie soll am Beispiel von Befehlen der IBM i die Möglichkeiten zur Nutzung und zur individuellen ­Erweiterung von semantischen Analysen zeigen.

© tom-kirchgaessner.de und Jason Leung

von Manfred Sielhorst, Benjamin Walter

Gerade im Hinblick auf den Wechsel zu IBM ACS (Access Client Solutions) und IBM RDi (Rational Developer for i) als Werkzeuge für die Administration und die Entwicklung mit der Verlagerung von Quellen ins IFS (Integrated File System) hat dies eine besondere Bedeutung in Bezug auf die Abhängigkeiten und die Aktualität: „Passt die angezeigte Information im Client zum benutzten IBM i System?“  Nicht nur die singuläre Analyse eines einzelnen Befehls im Terminal, sondern auch die ­komplexe Auswertung einer gesamten IBM i Infrastruktur mit allen Kundenanpassungen und ­Erweiterungen, ist eines der Ziele der semantischen Analyse im Semantic Data Store.

Artikel dieser Serie:

1. Hilfe für IBM i Befehle (dieser Artikel)

2. Grundlagen zu semantischen Auswertungen

  • Ontologien (OWL)
  • Resource Description Framework (RDF)
  • Triple Data – Abfragen (SPARQL)

3. Analyse von IBM i Befehlen

  • N-Gram Analyse von Befehlen
  • Klassifizierung, Gruppen von Befehlen

4. Semantische Analysen zu IBM i Befehlen

  • Modellierung einer Ontologie
  • Abfragen erstellen

5. Semantic Data Store (SDS)

  • Individuelle Auswertungen
  • Lösung von Aufgaben

Inhaltsverzeichnis dieses Artikels

  • Teil 1 — Vom Terminal zu modernen Client- Umgebungen
  • Wissen und Semantik
  • Befehle in der IBM  i Infrastruktur
  • Exemplarische Nutzung Suche von Befehlen
  • Exemplarische Nutzung eines Befehls
  • Informationen zu Objekten
  • Informationen zu Befehlen
  • Client Werkzeuge einsetzen
  • Ausblick
  • Literatur
  • Autoren

Teil 1 — Vom Terminal zu modernen Client-Umgebungen

Die Benutzer, Administratoren und Entwickler der IBM  i Infrastruktur sind bei ihrer täglichen ­Arbeit auf die Befehle der Plattform angewiesen. Dabei ­relevant sind einerseits die systemspezifischen Befehle der IBM i und deren Modifikationen durch Kunden und andererseits die anwendungsspezifischen Befehle von Softwareprodukten, die gekauft oder entwickelt ­wurden.

Auf der Terminalebene steht auf der Plattform eine Benutzerführung (Funktionstaste F4) für alle Befehle zur Verfügung. Darüber hinaus bieten die Systembefehle eine umfangreiche Dokumentation und ­Onlinehilfe (Funktionstasten F1, F2).

Abb 1.1: Menü zu CMD-Befehlen – Seite 1

 

Abb 1.2: Menü zu CMD-Befehlen – Seite 2

Modifizierte, selbst erstellte oder von Dritten gelieferte Befehle werden nicht unbedingt in gleicher Qualität dokumentiert. Das Wissen über die Befehle und ihre speziellen Eigenschaften existiert überwiegend bei den Entwicklern oder den Personen, die die Befehle bereits kennen und häufig nutzen – oft über viele Jahrzehnte, unverändert und überwiegend aufwärtskompatibel. Um dieses Wissen zu transferieren, ist es formell zu beschreiben und effizient nutzbar zu machen.

Wissen und Semantik

Wissen im Kontext der IBM i Infrastruktur und wie dieses Wissen anzuwenden ist, ist Kern der Arbeit von Benjamin Walter zum Bachelor [1] und zum Master [2] an der University of Applied Science in Darmstadt (fbi.h-da.de).

Hier wird aufgezeigt, wie aus dem Kontext von ­Befehlsstrukturen im Betriebssystem IBM i Wissen extrahiert und semantisch sowie konzeptionell aufgearbeitet und formalisiert abgelegt wird. Zugleich wird eine ­semantische Suchfunktion geschaffen: Wissen wird auf eine neue, vereinfachte Art ­kontextsensitiv abfragbar. Selbst aus historischer Sicht besonders ­komplexe ­Fragen, etwa zu Befehlen, werden damit deutlich ­effizienter auswertbar:

  • Welche Befehle haben einen Parameter OUTFILE?
  • Welche physischen Dateien (PF) wurden als OUTFILE erzeugt und durch welchem Befehl?
  • Sind die Inhalte noch aktuell?
  • Wie unterscheiden sich die Befehle zweier Betriebssystemversionen?
  • Was wurde an den Befehlen seit der letzten SDS-Analyse geändert?
  • Welche Varianten zu Befehlen werden in einem System genutzt?

Ziel der Arbeit ist die Bereitstellung einer Plattform im Rahmen der POWER Students https://www.power-students.de (Sponsoren gesucht) sowie als Startup Angebot für die Community der POWER Students
https://www.semantic-data-store.de (.de DE / .eu EN).

Diese Web-Anwendung soll für eine Version von IBM i (beispielsweise V7R3) kostenfrei, insbesondere durch Studierende genutzt werden können, um sich in die Infrastruktur der Objekte einzuarbeiten und ­zusätzlich als kommerzielles Angebot für individuelle Auswertungen.

Die Suche in tausenden von Seiten Dokumentation alter und aktueller Versionen im Internet ist dagegen deutlich ineffizienter oder auch erfolglos, speziell wenn es um komplexe Zusammenhänge geht oder ­individuelle Versionen und Entwicklungen berücksichtigt werden sollen; dann wird programmiert – notfalls.

Aber der Reihe nach, prüfen wir zuerst die bekannten Möglichkeiten.

Befehle in der IBM i Infrastruktur

Die Anwender der IBM i POWER Prozessor Infrastruktur arbeiten seit 30 Jahren auf einem 25×80 Zeichen Terminal, welches mit Befehlen, Menüs und den Funktionstasten F1–F24 bedient wird. Dabei stehen bei der täglichen Arbeit etwa 2270 Systembefehle zur ­Verfügung. Zusätzlich können auf einem System ­mehrere Sprachvarianten bereitgestellt werden.

Die grundlegenden Strukturen der IBM i basieren auf Objekten. Als spezielle Varianten von Objekten sind bei der täglichen Arbeit Befehle (Command, *CMD auf der IBM i) und Bibliotheken (Library, *LIB auf der IBM i), zur Gruppierung von Objekten relevant.

Abb 1.3: Aufruf von WRKCMD mit Bedienerführung

Die Befehle sind ausführbare Objekte, welche den Aufruf von Programmen einheitlich strukturieren. Mit Befehlen können Aufgaben manuell, über die Command Language (CL) oder über CL-Programme (CLP) manuell oder automatisiert ausgeführt werden.

Die Bibliotheken unterstützen die Gruppierung von Objekten. Objekte werden eindeutig durch die Bibliothek, der sie zugeordnet sind, ihren Namen und den ­jeweiligen Objekttyp identifiziert.

Für alle Objekte kann optional eine maximal 50 ­Zeichen lange Beschreibung angegeben werden.

Abb. 1.4: Auswahl WRKCMD – Hilfetext

Für Befehle steht darüber hinaus eine interaktive ­Benutzerführung, sowie für Systembefehle eine umfangreiche Dokumentation zur Verfügung, interaktiv sofern sich der Anwender im Kontext des Befehls ­befindet oder im Internet [3, IBM Knowledge Center].

Exemplarische Suche von Befehlen

Zur Veranschaulichung der Problemstellung wird nochmal in Erinnerung gerufen, wie auf einem Terminal der IBM i interagiert wird, um einen Befehl zu finden, mit welchem ein Benutzer die Parameter und Objekteigenschaften eines Befehls ansehen oder ­bearbeiten kann.

Zunächst kann ein Anwender über das Menü ­CMDCMD, dass er durch den Befehl GO CMDCMD aufruft, eine vordefinierte Liste von Befehlsbeschreibungen (CMD) zu Befehlen (CMD) sichten.

Analog dazu könnten die Befehle zu Nachrichten (MSG) mit GO CMDMSG oder zum Zufügen (ADD) mit GO CMDADD aufgerufen werden.

Die CMDCMD-Liste enthält ausschließlich die Einträge zum Arbeiten mit Befehlen, für welche von IBM eine Beschreibung oder weitere Menüs hinterlegt wurden – eigene Befehle oder Befehle von Drittanbietern sind natürlich nicht enthalten. Kunden können ­diese Menüs nicht editieren, um z.B. eigene Aliase oder ­Varianten zu dokumentieren. Diese sind aufwendig zu identifizieren (s. Abb. 1.5).

Abb. 1.5: Aufruf von DSPOBJD

Der Benutzer muss die Kurzbeschreibungen der ­Befehle lesen und einen passenden Befehl oder ein Menü mit weiteren Befehlen auswählen. Die Abbildungen 1.1 und 1.2 zeigen die Ausgaben zum Aufruf von GO CMDCMD mit allen bekannten Systembefehlen zum Themengebiet Befehle (CMD).

Exemplarische Nutzung eines Befehls

Der Benutzer wählt die Option 23 auf der zweiten Seite (s. Abb. 1.2), weil er die Beschreibung für passend hält. Damit gelangt er zur Benutzerführung für den Befehl WRKCMD (s. Abb. 1.3).

Abb 1.3: Aufruf von WRKCMD mit Bedienerführung

In der Benutzerführung kann er die Details zu den ­Parametern (Funktionstaste F4), sowie dann zum ­Befehl selbst (Funktionstasten F1 und F2) abrufen.

Um sicher zu gehen, ruft er mit der Funktionstaste F1 die Hilfen zum ausgewählten Befehl ab (s. Abb. 1.4), die als Objekte vom Typ *PNLGRP verfügbar sind.

Abb. 1.4: Auswahl WRKCMD – Hilfetext

Ist der Benutzer in den Menüs nicht fündig geworden, kann er alternativ auf den sehr allgemeinen Befehl DSPOBJD zur Suche von Objekten zurückgreifen. Dieser listet mit den Parametern
DSPOBJD *ALL *ALL *CMD
alle Befehle auf dem System auf.

Die Befehle werden nach Bibliotheken gruppiert ­jeweils auf mehreren Seiten angezeigt. Wie in Abb. 1.5 zu sehen, sind insgesamt 24 Bibliotheken mit Befehlen im System.

Um den Befehl WRKCMD zu finden, muss der ­Benutzer alle 24 Bibliotheken per Hand durchgehen und den passenden Befehl WRKCMD in der richtigen Bibliothek identifizieren und auswählen, in diesem Falle in QSYS, also anhand der Beschreibung (Spalte ’Text’) und dem Namen (Spalte‚ ’Objekt’).

Informationen zu Objekten

Dann gelangt der Benutzer mit Auswahl 5 zu den ­Objektinformationen. Diese liefern keine weitere ­Dokumentation oder Hilfetexte zum Befehl selbst, ­sondern nur allgemeine Informationen, wie im Beispiel zu jedem Objekt (s. Abb. 1.6).

Abb. 1.6: Objektbeschreibung aus DSPOBJD

Etwaige individuelle Varianten von Befehlen für ein Unternehmen müssen natürlich nicht identisch benannt oder beschrieben sein und sind aufwendiger zu identifizieren, etwa über das auszuführende Programm und die Liste der Parameter.

Informationen zu Befehlen

Um weiteres Wissen über einen Befehl selbst abzurufen kann der Benutzer den Befehl DSPCMD nutzen, den er in Abbildung 1 unter Punkt 11 gesehen hat und den er jetzt auf sein spezielles Objekt anwenden kann.

Abb. 1.7 zeigt einige Informationen für den Befehl WRKCMD an. Für den Benutzer interessante Informationen sind z.B., wo die Ausführung des Befehls zulässig ist, denn interaktive Befehle (*INTERACT) können in Werkzeugen für die IBM i Infrastruktur nur auf Terminalebene genutzt werden.

Abb. 1.7: Befehlsbeschreibung aus DSPCMD

Das aufgeführte Beispiel zeigt den einfachen ­Anwendungsfall, in dem ein bekannter Systembefehl gesucht und gefunden wurde.

Durch unterschiedliche Benutzergruppen kommen aber weitere Anwendungsfälle hinzu. Die Benutzer lassen sich einteilen in Anwender, Administratoren und Entwickler. Jede dieser Gruppen hat eigenes Wissen über die Arbeitsabläufe und die verwendeten Befehle im jeweiligen Umfeld.

Dieses Wissen schöpft sich oftmals aus vielen ­Jahren Erfahrung im Umgang mit der Plattform. Weitere ­Anwendungsfälle treten insbesondere bei Software von Drittanbietern auf, wenn dort weniger Informationen wie Menüs zur Suche von Befehlen, Online-Hilfen oder Dokumentationen zu Befehlen zur entsprechenden Version vorhanden sind.

Selbst wenn die Lösungsstrategien mit DSPOBJD und GO CMDxxx kombiniert werden können, ist es nach wie vor erforderlich, vor einer Suche sehr genau zu wissen, wonach und vor allem wo gesucht werden muss.

Client Werkzeuge einsetzen

Diese Suche von Befehlen mit Hilfe von CMDxxx-Menüs steht in aktuellen Werkzeugen für Entwickler und Administratoren nicht mehr zur Verfügung. Vermutlich bekannt sind die Möglichkeiten, in der SQL Ausführung von ACS (Access Client Solutions) mithilfe von RUNSQLSTMT neben SQL Statements auch CL-Befehle auszuführen – etwa so:
CL: GO CMDCMD

Das wird aber nicht für interaktive Befehle unterstützt, denn es steht keine Terminalfunktion zur Verfügung (s. Abb. 1.8). Was bleibt, ist die aufwendigere Suche in den Handbüchern [1] oder der Weg zurück in eine Terminalumgebung.

Abb. 1.8: Fehler bei der Befehlsausführung in ACS

Dieser Zustand lässt sich durch moderne Technologien in der Wissensrepräsentation und -auswertung deutlich verbessern, wie die Bachelorarbeit [1] gezeigt hat.

Ausblick

Ziel ist die sukzessive modulare Erweiterung von IBM i Ontologien und die Erstellung von Lösungsszenarien mit Hilfe von semantischem Wissen. Dies soll für Abfragen zu Standardumgebungen (reines Betriebssystem), für individuelle Umgebungen (Customized) und für ältere Versionen des Betriebssystems und der Anwendungen (incl. Versionierung) möglich werden.

Die nächsten Folgen werden das Vorgehen detailliert beschreiben, so dass Sie am Ende in der Lage sein werden, eigene semantische Analysen mit dem Semantic Data Store auszuführen:

Literatur

[1] B. Walter, “Modellierung eines Schemas zur Erfassung von Metadaten mit der Web Ontology Language 2,” Bachelor Thesis, Hochschule Darmstadt, Darmstadt, Germany, March 2017.

[2] B. Walter, “Wie entsteht Wissen für semantische Auswertungen? Strukturen der IBM i Befehle für den Semantic Data Store nutzbar machen“, Paper zur Praxisphase, Fachbereich Informatik, Hochschule Darmstadt, Deutschland, März 2019.

[3] IBM Knowledge Center, “Objects and Libraries” https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/­rbam6/objec.htm, Abgerufen am 2019-04-18.

 

Schlagworte: , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.