PC-MAINFRAME-LINK

PC-Cobol hilft Mainframes auf die Integrationssprünge

01.06.1990

Die Rechnerzwerge powern gegen die Großrechner mit voller Breitseite: Nicht nur leistungsmäßig dringen sie in die Domänen der Mainframes ein, auch im Softwarebereich fällt eine Bastion. Cobol, seit Anbeginn der Datenverarbeitung den Mainframes als Programmiersprache zugedacht, gehört im professionellen PC-Einsatz durchaus bereits zum Alltag. Für die einen ist es ein echter Schritt zur Integration, für die anderen ein schlichter Trick, die Mainframe-DV kräftig zu reanimieren.

*Ida Lösch ist freie DV-Fachjournalistin in München.

Als eine der ältesten, aber immer noch durchaus vitalen Programmiersprachen gilt Cobol in der Branche. Längst totgesagt, erfreut sich diese Sprache dennoch bester Gesundheit und Aktivität. Ein kurzer Rückblick in die Cobol-Vita offenbart frühzeitig gesetzte Überlebenstricks in einer Branche, in der Produkt-Lebenszyklen in Jahren an einer Hand abgezählt zu werden pflegen. Der PC-Siegeszug begann mit dem wohl allseits bekannten Betriebssystem CP/M, das Basic im Tornister hatte und das inzwischen ehrfürchtiges Schaudern provoziert.

Schon "damals" gab es neben Basic einen weiteren Favoriten zur kommerziellen Programmierung: Cobol. Basic liegt mittlerweile - zumindest in der Profi-Szene - auf dem Sterbebett, Cobol jedoch erfreut noch heute uneingeschränkt die Programmiererherzen - und zwar nicht nur im Bereich der PC-Mainframe-Anwendungen sondern auch als leistungsstarke Sprache für die kommerziell orientierte Software Entwicklung für und auf PCs. Diese Popularität basiert darauf, daß Cobol frühzeitig einer Normierung unterzogen wurde.

Bereits in den 60er Jahren machte sich ein Komitee unter Federführung der Amerikaner daran, einen Standard für Cobol zu erarbeiten. Daraus entstand die erste Norm-Version, das Cobol '66.

Ein Methusalem im Verjüngungsbad

Zum Ziel gesetzt hatte man sich damals, eine "Common Business Oriented Language" zu entwerfen, mit der speziell die Verarbeitung von großen Datenmengen im kommerziellen Bereich ermöglicht werden sollte. Gedacht war also an Anwendungen für "Zahlen mit Komma und DM am Schluß". Die Definition von Standards dieser Programmiersprache findet auch heute noch statt - die letzte Version wurde 1985 vom American National Standards Institute (ANSI) verabschiedet.

Eine zweite Idee trug zudem zur konsequenten Verjüngung und Überarbeitung der Sprachprodukte, aber auch zur weiteren Verbreitung dank tatsächIich gelieferter Qualität bei: Hersteller können ihre Cobol-Compiler testen lassen, werden je nach Ergebnis in verschiedene Levels eingeteilt und erhalten ein Zertifikat. Die High-Level-Auszeichnung erhält nur der Compiler, der alle Tests fehlerfrei durchlaufen hat.

Die Cobol-ANSI '85 Verbesserungen zielen besonders auf die Technik der strukturierten Programmierung ab, mit der sich neuere Sprachen wie Pascal und C hervorgetan haben. Die letzte Überarbeitung im Jahre 1985 tat der doch schon angegrauten Sprache denn auch sehr gut, vor allem da sich das allgemeine Umfeld der Informationsverarbeitung einem grundlegenden Wandel unterzogen hat. Erhöhtes Datenaufkommen und die Durchdringung immer größerer Bereiche mit DV haben die Mainframes an ihre Grenzen insbesondere bei der Anwendungsentwicklung herangeführt. Tägliche Routinearbeiten auf dem Mainframe müssen den korrekten betriebswirtschaftlichen Ablauf sichern, aber Anwendungsentwicklung und Programmpflege stehen ebenso auf dem Programm.

Entlastung tut not - und hier bietet sich der PC ganz automatisch an, wenn er ergebnisorientiert die Portabilität zum Mainframe liefert.

Zwei Dinge treffen also auf einander: Die Überlastung der Mainframes im modernen DV-Betrieb mit der Option eines starken Unterbaus durch Mikro-Rechner und eine relativ moderne, gut ausgetestete und weit verbreitete Sprache, die auf die Entwicklung kommerzieller Anwendungen ausgerichtet ist. Was Wunder, wenn Hersteller hier versuchten, synergetische Effekte auszunutzen.

PC und Mainframe sind nun nicht mehr getrennt

Die Portierung von Cobol auf PCs lag also auch aus diesem Grund nahe - nicht nur die steigende Zahl der benötigten PC-Programme war dafür ausschlaggebend. Anwendungen für Mainframes sind zum Überwiegenden Teil in Cobol geschrieben. Schätzungen aus dem Jahre 1985 rechnen mit einem Cobol-Bestand von an die 80 Milliarden Programmzeilen weltweit. PC und Mainframe waren bis dato mehr oder weniger getrennte Welten. Mit den heutigen Workbenches, wie zum Beispiel Cobol/2 von Micro Focus, ist es möglich geworden, die komplette Mainframe-Umgebung auf dem PC zu simulieren und dadurch den Mainframe wesentlich zu entlasten.

Darüber hinaus ist Cobol in Verbindung mit allen gängigen PC-Betriebssystemen einsetzbar, zum Beispiel mit MS-DOS und vielen Unix-Derivaten wie SCO Unix, SCO Xenix, Interactive Unix und auch mit Versionen in der benötigten Landessprache wie Eurix. Daraus ergibt sich eine durchgängige Homogenität, zumal die Anwendungen von System zu System durch einen Compile-Lauf auf dem Zielsystem direkt übernommen werden können.

Die leichte Erlernbarkeit von Cobol ist ein weiterer Vorteil für den Einsatz dieser Sprache auf dem PC, denn eine komplexe Sprache wie beispielsweise C erfordert ständiges Training, um eine effiziente Programmierung gewährleisten zu können. Der oft gehörte Einwand, man müsse aufgrund der langen Statements und Befehle von Cobol erst einen Schreibmaschinenkurs belegen, ist leicht zu widerlegen: Die Anlehnung an die "natürliche" Sprache (Englisch) läßt daraus quasi eine Selbst-Dokumentation entstehen.

Auf diesem sehr großen und auch konsolidierten Markt treten viele Hersteller auf: unter anderem Micro Focus, mbp, Realia, die inzwischen unter Liant Software Corp. firmierenden Language Processors Inc. und Ryan McFarland sowie Microsoft und IBM, die jedoch beide Lizenzvereinbarungen mit Micro Focus haben. Die Produkte der meisten dieser Hersteller sind sowohl unter DOS als auch unter Unix PCs verfügbar.

Vor der Entscheidung für einen Hersteller stehen für den Anwender grundsätzliche Überlegungen, die sich teils aus der bestehenden DV-Umgebung, teils aber auch aus allgemeinen Problemen des Sujets und Angebotes ergeben. Grundsätzlich ist zu prüfen, inwieweit der Compiler den ANSI- und anderen Normen (Posix, ISO, X/Open etc.) entspricht und welche Zusatz-Tools verfügbar sind. Umgebungsbezogen gestalten sich die Überlegungen, auf welchem Betriebssystem die Produkte laufen und vor allem wie kompatibel, also durchgängig, sie von Betriebssystem zu Betriebssystem sind.

Der gewiefte Kunde fragt nach geprüften Standards

So banal die nächste Frage klingt, so wichtig ist sie als Investitionsschutz, da sich auch hier von Hersteller zu Hersteller Unterschiede im Produktangebot ergeben: Ist die Entwicklung von Anwendungen für "meinen" Mainframe mit diesem Produkt überhaupt möglich - wenn ja, wie - und welches Performance-Verhalten ist zu erwarten.

Bei der Frage nach den Standards kann es durchaus passieren, daß sich einige Hersteller mit Aussagen wie "Ja, unser Compiler entspricht dem Standard, ist jedoch nicht zertifiziert" oder "natürlich sind wir voll kompatibel zu allem, unser Produkt ist jedoch so komplex und umfangreich, daß man es gar nicht testen kann", aus der Affäre zu ziehen versuchen. Der gewiefte Kunde läßt sich auf solche Experimente erst gar nicht ein, sondern verlangt geprüfte und zertifizierte Standards.

Zusatz-Tools stellen meist kein Problem mehr dar, denn diese fehlen bei keinem Angebot für einen Cobol-Compiler. Zu beachten sind hier die unterschiedlichen Verkaufsstrategien der einzelnen Hersteller: Teils werden Cobol-Pakete mit allem Drum und Dran, teils einzelne Tools mit der Option auf Erweiterung vertrieben. Ob sie jedoch zum einen untereinander kommunizieren und zum anderen sowohl interaktiv als auch im Hintergrund, zum Beispiel bei der Erstellung von Maschinencode, aufrufbar und ablauffähig sind, steht auf einem anderen Blatt.

Die Frage nach dem eingekauften Luxus ist in der Programmierung nicht profan. Kann zwischen einzelnen Tools beliebig hin- und hergeschaltet werden und hilft zu allem Überfluß das Werkzeug dabei, indem es sich die zuletzt bearbeitete Datei "merkt" oder automatisch während des Compile-Laufes zu der Datei und Zeilennummer zurückspringt, bei der ein Fehler auftrat?

Die Frage des Komforts sollte mit Muße und Fachwissen angegangen werden.

Die Einsetzbarkeit des Compilers ist zu prüfen

Auch ist zu prüfen, ob der jeweilige Compiler und seine Zusatz-Tools einen Einsatz unter den Betriebssystemen der verschiedenen Rechnertypen (MS-DOS, Unix und Mainframe-Betriebssystem) sowie unter deren Derivaten zuläßt. Probleme ergeben sich nicht selten bei der Entwicklung von Cobol-Anwendungen bezüglich der Portierung zwischen verschiedenen Betriebssystemen. Oft fiel eine Kaufentscheidung zuungunsten der avisierten Applikation aus, weil trotz guter Qualität und Leistungsfähigkeit keine Möglichkeit der Umstellung auf eine andere Umgebung, zum Beispiel von DOS auf Unix, gegeben war oder zu hohe Kosten verursacht hätte - vom Mangel an Spezialisten ganz zu schweigen.

Diese Probleme spielen auch bei der Investitionssicherung eine extrem große Rolle, denn je mehr Systeme und Umgebungen auf dieselbe Anwendung zugreifen können, desto mehr Anwender fühlen sich in jeder Umgebung "heimisch". Auch die Angebotspalette der Hersteller entsprechender Anwendungen wird durch frühzeitige Berücksichtigung der Portabilitätsproblematik ohne großen Aufwand erweitert und ermöglicht so eine Umsatz- und Gewinnsteigerung.

Speziell die Frage der Performance ist ein Bereich, in dem viele Aussagen gemacht werden, denen man mehr oder vielmehr weniger Glauben schenken darf. Bei vorliegenden Zeit-Tests, den sogenannten Benchmarks, wie beispielsweise US-Steel, Gibson, Sieve, GSA oder herstellereigenen Tests, sollte man möglichst den Sourcecode vorliegen haben, nach eventuellen herstellerspezifischen Änderungen durchsehen und dann mehrere Compiler gegeneinander testen, denn die Erfahrung lehrt auch hier: Traue keinem Benchmark, den Du nicht selbst programmiert hast!

Nur selbstgemachten Benchmark-Tests trauen

Weiterhin sind zusätzliche Tools, wie etwa Testhilfen, Editoren, Maskengeneratoren, Konvertierungs- und Umstellungsprogramme und vielleicht sogar Sourcecode-Generatoren zu beachten, die mit Hilfe von Abfragemenüs eigenständig Sourcecode erzeugen. Er läßt sich dann über einen Compilerlauf zur fertigen Anwendung gestalten. Aufgrund von praktischen Erwägungen sollte ein Sourcecode-Generator auch in der Lage sein, das Cobol eines anderen Herstellers beziehungsweise dessen spezifische Zusätze zu verstehen respektive einbinden zu können - nicht zuletzt wieder aus Kompatibilitätsgründen.

Idealerweise weist Cobol, das auf PCs eingesetzt wird, Schnittstellen beziehungsweise Emulationen zum Mainframe auf, um die dezentrale Entwicklung von Cobol Programmen für den Mainframe auf PCs denn auch wirklich professionell durchführen zu können. Verfügbar sind derzeit Emulationen der Mainframe-Umgebungen CICS und IMS sowie entsprechende Compiler für andere Programmiersprachen, wie zum Beispiel 370 Assembler. Diese Verbindungsmöglichkeiten sind extrem wichtig für wirklich komplexe Anwendungen, bei denen nicht nur Cobol allein Verwendung findet, sondern auch Schnittstellen zu anderen Sprachen oder Anwendungen benötigt werden.

C zusammen mit Cobol erlaubt hohe Komplexität

C zum Beispiel eignet sich hervorragend für die Systemprogrammierung und erlaubt in Verbindung mit Cobol Programmierung hoher Komplexität. Kommt dann noch eine Verbindung per SQL-Abfrage zu einer relationalen Datenbank hinzu, ist eine effiziente Verarbeitung der Information sowie die Ausbaufähigkeit der Anwendung sicher gewährleistet.

Nicht zu vergessen ist letztendlich die Wartungsfrage bei der Entscheidung, welches Cobol von welchem Hersteller bezogen werden soll. Viele Manufakturen bieten inzwischen Wartungs- und Support-Pakete an und stellen auch die entsprechenden Experten mit umfangreicher Kenntnis des Cobol-Marktes zur Verfügung. Das Wissen um die Schnittstellen und Möglichkeiten der Verbindung zu anderen Komponenten wie Datenbanken oder Programmiersprachen, so zeigt die Erfahrung, gehört leider noch nicht zur hohen Schule des Supports. Die Fernunterstützung via Telefon und Einklinken per Modem sowie Einarbeitungskurse in die komplexen und interaktiven Werkzeuge sind dagegen bereits eine Selbstverständlichkeit. Auch die Unterstützung vor Ort durch einen hauseigenen Spezialisten wird von vielen Herstellern angeboten.

Manchmal ist dies für die Garantie-Zeit im Paketpreis enthalten, die Abrechnungsweise sollte jedoch in jedem Fall vor Inanspruchnahme der Hilfe geklärt werden.

Gefragt ist der "duale" Experte für Organisation

Cobol auf PC ist also mehr als "just another one" im Reigen der Programmiersprachen für Mikros. Die heutigen Cobol-Angebote schaffen daneben gute Möglichkeiten, Mainfrarne-Anwendungen aus Kapazitätsgründen auf die intelligenten Power-Zwerge abzuwälzen. Gefragt aber ist dazu der "duale" Experte, der vor allem auch organisatorisch für eine sinnvolle Aufgabenverteilung sorgen kann - damit nicht letztendlich die PC-Mainframe-Anwendungsentwicklung aufgrund von Überlastung wieder auf den Mainframe ausgelagert wird.