Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

14.08.1992 - 

Das Problem, das Microsofts Wosa lösen soll

Windows-Entwickler leiden unter fehlenden Konzepten

Über die Vorteile von grafischen Benutzeroberflächen wird viel geredet. Die Probleme, mit denen sich auch Windows-Anwender konfrontiert sehen, sind kaum thematisiert. Für die meisten, die eine Migration zu einer grafischen Benutzerschnittstelle planen, sind Anwendungsentwicklungs-Tools entscheidend. So wächst mit dem Heranreifen von Windows auch das Angebot entsprechender Tools.

Windows ist weit mehr als eine Benutzerschnittstelle von Microsoft wird es als Betriebssystem-Erweiterung vermarktet, und vielen Anwendern erscheint es als das eigentliche Betriebssystem. Da liegt es nahe, daß Windows-Entwicklungs-Tools neben der Oberflächenprogrammierung auch eine Reihe von Systemanforderungen, wie Sicherheits- und Kommunikationsaspekte, unterstützen müssen. Auch die Zugriffsmöglichkeit auf Datenbanken soll eng in die Benutzerschnittstelle eingebunden sein.

Microsoft sieht sein Produkt inzwischen immer mehr als Betriebssystem. Kürzlich äußerte sich Bill Gates folgendermaßen über Windows: "The operating system is playing a more critical role than ever. For example, messaging capabilities will be build into the operating system. The idea of coordinating shared information across different application - that can only be in the operating system!"**

Mitch Wolfson, Plattform Marketing Manager der Microsoft GmbH, erklärt, Microsofts Ziel sei es, als Anbieter offener Tools aufzutreten, um anderen Anbietern die Integration ihrer Werkzeuge zu erleichtern. Und das "Betriebssystem" Windows, das nach seiner Auffassung bereits die anderen Oberflächen wie den Presentation Manager, OSF Motif und den Apple Macintosh ins Abseits gestellt hat, sei die treibende Kraft hinter dieser Strategie.

Obwohl sich Windows NT noch in der Entwicklungsphase befindet, sieht der Hersteller die Majorität der heute erhältlichen Tools als geeignete Kandidaten für das neue Betriebssystem an. Darüber hinaus gefällt sich Microsoft in der Rolle des Tool-lntegrators, weil es mit dem Betriebssystem, der Benutzerschnittstelle und weiteren proprietären Standards, wie Mapi oder Windows API die Basis für die Tool-Entwicklung anbietet.

Supermarkte für Werkzeuge

Microsofts Languages Division kann einiges von den Schwierigkeiten der letzten zwei Jahre im Tool-Markt berichten. So läuft der C/C+ + -Compiler immer noch nicht im Grafikmodus. Darüber hinaus erschien er später als erwartet auf dem Markt. Die Wettbewerber, wie Borland und Zortech (Symantec), reagierten schneller und er freuen sich mit ihren Produkten heute bei den Windows-Entwicklern großer Beliebtheit.

In der Tat wachsen sich Borland und Symantec durch eine Reihe von Unternehmensakquisitionen in letzter Zeit zu Supermärkten für Windows-Tools aus. Symantec erwarb beispielsweise kürzlich die Whitewater Group (Actor) und Multiscope (Multiscope debugger). Borland kaufte Solutions Systems. Die Idee hinter den Aufkäufen ist, die eigene Entwicklungsumgebung mit Tools anderer Hersteller zu erweitern.

Entwickler stehen heute in der Regel unter Zeitdruck. Rückstände, die hohen Qualitätsanforderungen, die zunehmenden Ansprüche der Anwender und die Komplexität der Softwareprodukte machen den Job schwierig. Diese Produktivitätslücke ist der Nährboden für den Verkauf von Entwicklungswerkzeugen, weshalb auch der Markt für Windows-Tools boomt.

Erschwert wird die Auswahl der passenden Entwicklungsumgebung dadurch, daß viele Programmierer noch nicht mit der unter Windows geforderten ereignisgesteuerten Software-Erstellung vertraut sind. Sie zu erlernen erforderte eine Einarbeitungszeit von sechs Monaten bis zu einem Jahr. Außerdem müssen grafische Standards wie IBMs Common User Access (CUA) unterstützt werden, die ständig Änderungen unterliegen. Daher ist es notwendig, über Tools zu verfügen, die es erlauben, alle Objekte der Oberfläche frei zu definieren und zu modifizieren.

Hinzu kommt, daß die Auswahl der verschiedenen Entwicklungswerkzeuge kaum mehr zu überblicken ist. Um das "richtige" Tool zu finden, ist es hilfreich die Produkte nach ihrer Funktionalität und ihrem Programmieransatz zu ordnen.

Ein auf sich gestellter Programmierer mag dazu neigen, seine ihm vertraute Entwicklungssprache, beispielsweise C zu favorisieren. Der Entwickler in der industriellen Datenverarbeitung wird sich dagegen einem unternehmensweiten Standard anpassen müssen. Viele Tools entsprechen jedoch derartigen Standards nicht und kommen deshalb nicht mehr in Frage.

Wöchentlich erscheinen neue Tools auf dem Windows-Markt. Allein die Neuheit und Unerprobtheit vieler Werkzeuge zwingt viele Unternehmen dazu, zweimal zu überlegen, bevor sie zugreifen. Einige Unternehmen, beispielsweise die Citibank, haben bereits schlechte Erfahrungen mit derartigen "Bleedingedge"-Tools gemacht. Upgrades und Verbesserungen für ein neues Tool führen häufig auch zu unliebsamen Überraschungen.

Wenn Windows als Entwicklungs-Plattform auf breiter Linie akzeptiert werden soll, muß vor allem ein Life-Cycle-Modell für die Software-Erstellung vorhanden sein. Vorbild wäre hier zum Beispiel IBMs AD/Cycle-Konzept. Damit versuchte Big Blue in den 80er Jahren, den Werkzeugmarkt für IBM-Anwendungen zu vereinheitlichen. Mit Herstellerstandards sollte der Übergang von einer Entwicklungsphase zur nächsten definiert werden. Ein integriertes und vollständiges Tool-Konzept dieser Art muß das langfristige Ziel bei der Tool-Auswahl und -Anwendung sein.

Entscheidend für die Auswahl eines Tools sind letztendlich die Anforderungen im Anwenderbetrieb. Neben den Funktions-Features und der Performance eines Tools müssen auch kommerzielle Aspekte, etwa Anschaffungs-, Wartungs- und Schulungskosten, berücksichtigt werden. Im Unternehmen selbst existieren in der Regel Strukturen aufgrund der Mitarbeiterprofile, der Hardware-Infrastruktur sowie der Ziel- und Entwicklungsplattformen. SchließIich können Zeit- und Budget-Anforderungen die Auswahl eines Programmierwerkzeugs entscheidend beeinflussen. Zusammenfassend bestimmen unternehmensspezifische Anforderungen und das Einsatzgebiet einer Software die Tool-Auswahl.

Entwicklungs-Tools unter MS Windows

3GL-Sprachen offerieren eine große Einsatzbreite. Sie eignen sich besonders für strukturierte Anwendungsprogrammierung, aber auch für die Erstellung systemnaher Software. Bei der Programmierung für Windows werden die Windows SDK-Bibliotheken direkt genutzt. Unterstützende Werkzeuge, speziell für das Layout, erzeugen gewöhnlich Codegerüste, die vom Entwickler verfeinert werden müssen. Die Hilfs Werkzeuge wie Browser und Debugger selbst sind nicht programmierbar, das heißt an eigene Konventionen anpaßbar Beispiele sind "Case/W", ein Layout-Tool für Anwendungsgerüste, die plattformunabhängige GUI-Bibliothek XVT, der Multiscope-Debugger, Microsofts C/C + + in der Version 7.0 und Borlands C + + 3.0.

4GL-Sprachen sind deklarative Sprachen, die auf einem Baukastenprinzip beruhen. Zur Programmierung steht eine grafische, interaktive Entwicklungsumgebung zur Verfügung, die oftmals bereits CASE Eigenschaften integriert. Dank der höheren Abstraktionstiefe lassen sich die damit erstellten Entwicklungen portieren, wenn das Werkzeug auf verschiedenen GUI-Plattformen verfügbar ist. Die Anwendungen werden intern auf die Funktionen des zugrundeliegenden GUI-Systems abgebildet. Beispiele für 4GL-Systeme sind- die Easel-Workbench und SQL-Windows.

Applikationsgeneratoren sind Werkzeuge, die zum einen als Code eine höhere Programmiersprache, beispielsweise C oder Cobol, erzeugen, zum anderen diese Sprachen direkt als Sourcecode verwenden. Ihre Verwendung bietet sich an, wenn bestehende Applikationen ohne grafische Benutzeroberfläche mit einer solchen versehen werden sollen. Die Oberfläche läßt sich dann mit dem Applikationsgenerator erstellen, große Teile der Funktionalität kann der Entwickler aber aus der alten Applikation übernehmen. CASE:PM und Windows-Maker sind Vertreter dieser Werkzeuggruppe.

Objektorientierte Werkzeuge sind ein Klasse für sich, obwohl sie durchaus eine mit den üblichen Hochsprachen wie C vergleichbare Syntax aufweisen. Sie eignen sich speziell im Bereich der Entwicklung von Anwendungen mit grafischen Benutzeroberflächen, da grafische Oberflächen schon an sich objektstrukturiert sind. Leider ist die Koppelung der Techniken

des Software-Engineering mit dem objektorientierten Paradigma noch nicht abgeschlossen. Beispiele für Werkzeuge dieser Kategorie sind Enfin/2, Smalltalk V, Actor und Object/l.

CASE-Werkzeuge bilden eine Schwachstelle im Angebot der Windows-Tools. In der Regel unterstützen sie nur einen kleinen Teil des gesamten Software-Lebenszyklus. Das widerspricht dem Anspruch der Werkzeuganbieter, damit möglichst viele Phasen des Zyklus zu begleiten, so daß Ergebnisse nahtlos von einer Phase in die nachfolgende übernommen werden können. Oftmals wird zwischen Upper-CASE und Lower-CASE unterschieden, wobei ein Teil der 4GL- und der objektorientierten Werkzeuge den Lower-CASE-Bereich tangiert. Insgesamt ist der Markt für CASE-Werkzeuge für die Windows-Entwicklung noch sehr klein, Beispiele sind der System Architect von Popkin Software, Erwin von Logic Works und der Systema Engineer von der LBMS Inc.

Groupware-Werkzeuge gehören zu den neueren Produkten für Windows. In den siebziger Jahren entwickelte David Wooley an der University of Illinois unter der Bezeichnung Plato das erste Groupware-System. Unterstützung der Teamarbeit und des Team-Managements sind die zentralen Aufgaben dieser Tools.

Dafür sind sie mit E-Mail, Konferenz- und Kalenderfunktionen ausgestattet und erlauben darüber hinaus die gleichzeitige Bearbeitung eines Dokuments durch mehrere Programmierer. Technische Basis dieser Werkzeuge ist die Existenz eines lokalen Netzes.

Ein Beispiel ist Lotus Notes. Interessanterweise hat es seine eigene grafische Benutzeroberfläche, die nicht das von Windows gewohnte Erscheinungsbild aufweist. Das mittlerweile verfügbare dritte Release wird zunehmend auch als Entwicklungswerkzeug für Büroautomation und abteilungsspezifische Anwendungen eingesetzt. Außerdem setzen die Entwickler Notes für die Vorgangssteuerung ("Workflow") ein.

Windows wurde aufgrund der großen Installationsbasis bereits zum De-facto-Standard bei grafischen Benutzeroberflächen. Als Entwicklungsumgebung weist es jedoch ebenso viele Schwächen auf wie die dafür vorgesehenen Werkzeuge. Das fehlende Life-Cycle-Modell stiftet Verwirrung auf dem Tool-Markt und erschwert die Kaufentscheidung. Die Auswahl der richtigen Tools ist ein komplexer Prozeß, in dem Experimente den Anwender teuer zu stehen kommen können.

Thomas Curran ist Gründer und Geschäftsführer der TC-Management Consulting GmbH.

**aus: Upside, Unstoppable Bill Gates, April 1992, Seite 42 ff