Lade Inhalt...

Rapid Application Development

©2001 Diplomarbeit 90 Seiten

Zusammenfassung

Inhaltsangabe:Gang der Untersuchung:
Diese Diplomarbeit versucht, einen Überblick über die heute unter Microsoft Windows hauptsächlich verwendeten Entwicklungswerkzeuge und deren Kombinationsmöglichkeiten zu geben.
Es wird die zwingende Notwendigkeit zur Modularisierung und Komponentenerstellung der modernen Softwareindustrie hervorgehoben, und die Grundlagen dafür werden angeführt.
Außerdem möchte der Autor einen groben Überblick über die Programmierung des Betriebssystems MS Windows geben, sowie die Notwendigkeit der Straffung des Entwicklungsprozesses verständlich machen und die dafür notwendigen Techniken aufzählen.

Inhaltsverzeichnis:Inhaltsverzeichnis:
Zusammenfassung2
Abstract2
Abbildungsverzeichnis4
Vorwort5
1.Was ist eine Applikation?10
2.Der Entwicklungsprozess13
3.Möglichkeiten zur Beschleunigung des Entwicklungsprozesses22
4.Authoring Tools33
4.1Macromedia Flash34
4.2Macromedia Director35
4.3Sybase Powerbuilder36
5.Klassische RAD-Tools37
5.1MS Visual Basic37
5.2Borland (Inprise) Delphi39
6.Klassische Programmiersprachen41
6.1MS Visual C++ und MFC (Microsoft Foundation Classes)41
6.2MS Visual C++ und ATL (Active Template Library)45
6.3Sun Java und Swing46
7.Kombinationsmöglichkeiten der angeführten Entwicklersysteme48
7.1Typen von Bibliotheken (Library Encapsulations)48
7.2Com57
7.3Dcom60
7.4Corba61
7.5XML65
7.6Andere69
8.Zukunftsaussichten70
9.Morphix (Konkretes Beispiel einer - unter Zuhilfenahme einiger der angeführten Techniken - vom Autor erstellten Applikation)73
10.Morphix – Urheberrechtserklärung78
11.Stichwortverzeichnis79
12.Quellenverzeichnis82

Leseprobe

Inhaltsverzeichnis


ID 4549
Rainer Höller
Rapid Application Development
Diplomarbeit
an dem Verein zur Errichtung und Führung einer Fachhochschule St.
Pölten, 7
September 2001 Abgabe

ID 4549
Höller, Rainer: Rapid Application Development / Rainer Höller -
Hamburg: Diplomica GmbH, 2001
Zugl.: St. Pölten, Fachhochschule, Diplom, 2001
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die
der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen,
der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der
Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung,
vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im
Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der
Bundesrepublik Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des
Urheberrechtes.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem
Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche
Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten
wären und daher von jedermann benutzt werden dürften.
Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können Fehler nicht
vollständig ausgeschlossen werden, und die Diplomarbeiten Agentur, die Autoren oder
Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für evtl.
verbliebene fehlerhafte Angaben und deren Folgen.
Diplomica GmbH
http://www.diplom.de, Hamburg 2001
Printed in Germany

Wissensquellen gewinnbringend nutzen
Qualität, Praxisrelevanz und Aktualität zeichnen unsere Studien aus. Wir
bieten Ihnen im Auftrag unserer Autorinnen und Autoren Wirtschafts-
studien und wissenschaftliche Abschlussarbeiten ­ Dissertationen,
Diplomarbeiten, Magisterarbeiten, Staatsexamensarbeiten und Studien-
arbeiten zum Kauf. Sie wurden an deutschen Universitäten, Fachhoch-
schulen, Akademien oder vergleichbaren Institutionen der Europäischen
Union geschrieben. Der Notendurchschnitt liegt bei 1,5.
Wettbewerbsvorteile verschaffen ­ Vergleichen Sie den Preis unserer
Studien mit den Honoraren externer Berater. Um dieses Wissen selbst
zusammenzutragen, müssten Sie viel Zeit und Geld aufbringen.
http://www.diplom.de bietet Ihnen unser vollständiges Lieferprogramm
mit mehreren tausend Studien im Internet. Neben dem Online-Katalog und
der Online-Suchmaschine für Ihre Recherche steht Ihnen auch eine Online-
Bestellfunktion zur Verfügung. Inhaltliche Zusammenfassungen und
Inhaltsverzeichnisse zu jeder Studie sind im Internet einsehbar.
Individueller Service
­
Gerne senden wir Ihnen auch unseren Papier-
katalog zu. Bitte fordern Sie Ihr individuelles Exemplar bei uns an. Für
Fragen, Anregungen und individuelle Anfragen stehen wir Ihnen gerne zur
Verfügung. Wir freuen uns auf eine gute Zusammenarbeit.
Ihr Team der Diplomarbeiten Agentur

Zusammenfassung
Diese Diplomarbeit versucht, einen Überblick über die heute unter Microsoft Windows
hauptsächlich verwendeten Entwicklungswerkzeuge und deren
Kombinationsmöglichkeiten zu geben.
Es wird die zwingende Notwendigkeit zur Modularisierung und Komponenten-
erstellung der modernen Softwareindustrie hervorgehoben, und die Grundlagen dafür
werden angeführt.
Außerdem möchte der Autor einen groben Überblick über die Programmierung des
Betriebssystems MS Windows geben, sowie die Notwendigkeit der Straffung des
Entwicklungsprozesses verständlich machen und die dafür notwendigen Techniken
aufzählen.
Um die praktische Relevanz der angeführten Techniken zu veranschaulichen, hat der
Autor außerdem eine Demoversion einer von ihm entwickelten Applikation als
Anschauungsmaterial auf der begleitenden CD-Rom beigegeben.
Abstract
This diploma thesis tries to give an overview of today mainly used development tools
in Microsoft Windows and their combination options.
The mandatory necessity is emphasized for the modularity and component
creation of the modern software industry, and the bases for it are stated.
Additionally the author would like to give a rough overview over the programming of
the operating system MS Windows, as well as to make the necessity for the
rationalisation of the development process understandable and to enumerate the
techniques necessary for it.
In order to illustrate the practical relevance of the aforementioned techniques, the
author added a demo version of an application developed by himself as illustrative
material on the accompanying CD-ROM.

Inhaltsverzeichnis:
-
Zusammenfassung
2
-
Abstract
2
-
Abbildungsverzeichnis
4
-
Vorwort
5
- 1.
Was ist eine Applikation ?
10
-
2.
Der Entwicklungsprozess
13
-
3.
Möglichkeiten zur Beschleunigung des Entwicklungsprozesses
22
- 4:
Authoring
Tools
33
4.1: Macromedia Flash
34
4.2: Macromedia Director
35
4.3: Sybase Powerbuilder
36
- 5:
Klassische
RAD-Tools
37
5.1 MS Visual Basic
37
5.2 Borland (Inprise) Delphi
39
- 6:
Klassische
Programmiersprachen
41
6.1 MS Visual C++ und MFC (Microsoft Foundation Classes)
41
6.2 MS Visual C++ und ATL (Active Template Library)
45
6.3 Sun Java und Swing
46
- 7:
Kombinationsmöglichkeiten der angeführten Entwicklersysteme
48
7.1 Typen von Bibliotheken (Library Encapsulations)
48
7.2 Com
57
7.3 Dcom
60
7.4 Corba
61
7.5 XML
65
7.6 Andere
69
-
8:
Zukunftsaussichten
70
- 9:
Morphix
(Konkretes Beispiel einer - unter Zuhilfenahme einiger der
angeführten Techniken - vom Autor erstellten Applikation)
73
-
10:
Morphix - Urheberrechtserklärung
78
-
11:
Stichwortverzeichnis
79
-
12:
Quellenverzeichnis
82

Abbildungsverzeichnis:
Abbildung I
Assembler (Source-Code-Beispiel) ...
Seite 16
Abbildung II
Übersicht Microsoft Datenbankschnittstellen ...
Seite 27
Abbildung III
Macromedia Flash (Shockwave) ActionScript (Source-Code-Beispiel) ...
Seite 34
Abbildung IV
Macromedia Director Lingo (Source-Code-Beispiel) ...
Seite 35
Abbildung V
Microsoft Visual Basic (Source-Code-Beispiel) ...
Seite 38
Abbildung VI
Borland Inprise Delphi (Source-Code-Beispiel) ...
Seite 40
Abbildung VII
Microsoft Visual C++ (Source-Code-Beispiel) ...
Seite 41
Abbildung VIII
Sun Java (Source-Code-Beispiel) ...
Seite 46
Abbildung IX
Die drei verschieden Komponentenarten unter COM ...
Seite 50
Abbildung X
ActiveX-Einbindung der Java VM (schematisiert) ...
Seite 55
Abbildung XI
DCOM-Protokollstapel und das OSI-Schichtenmodell ...
Seite 60
Abbildung XII
Das OMAReferenzmodell ...
Seite 63
Abbildung XIII
Photo eines Gesichts (Applikations-Beispiel) ...
Seite 76
Abbildung XIV
Ausgeschnittenes Gesicht (Applikations-Beispiel) ...
Seite 76
Abbildung XV
Manipuliertes Photo (Applikations-Beispiel) ...
Seite 76
Abbildung XVI
Vom Programm automatisch erstellte Textur (Applikations-Beispiel) ...
Seite 76

Vorwort
Diese Diplomarbeit versucht, einen Überblick über aktuelle [Stand: Juli 2001] Arten der
Programmierung von Softwarelösungen - und den dafür notwendigen Überblick über den
Aufbau des Betriebssystems eines modernen Computers - zu vermitteln.
Um ein komplettes Gesamtbild zu ergeben, und einigermaßen überschaubar zu bleiben,
orientiert sich die Diplomarbeit hauptsächlich an Microsoft Windows, da es zwar eine
mittlerweile fast unübersichtlich große Zahl an Betriebssystemen gibt (kommerzielle Unix -
Systeme, LinUX, MacOS, BeOS, OS / 2, Sun Solaris, um nur einige zu nennen), jedoch die
32-Bit Betriebssysteme von Microsoft (Win 95, Win 98, Win NT 4.0, Win ME, Win 2000) die
bei weitem größte Reichweite aller Betriebssysteme überhaupt besitzen (Siehe: Anhang
Quellenverzeichnis
http://www.oscounter.org/counter
) und jedem zeitweiligen Computer-
Benutzer aus dem täglichen Umgang bekannt sind.
Außerdem sind viele der grundsätzlichen Funktionalitäten (Dateisystem, grafisches Interface,
Eingabegeräteabfrage, etc...) aufgrund des Prinzips form follows function bei den unter-
schiedlichen Betriebssystemen weitgehend ident, sodaß man eines davon durchaus als
Exempel behandeln kann.
Um die Bedeutung des Begriffs RAD zu veranschaulichen, betrachtet man ihn anhand der
konkreten Anforderungen des Marktes:
Ein Großteil der heutzutage vom Markt geforderten Softwarelösungen sind Anbindungen an
die verbreitetste Bürosoftware (beispielsweise Microsoft Office oder SAP R/3), individuelle
Lösungen betriebsspezifischer Problemstellungen, Datenbankanbindungen, Erstellung von
CD-Roms oder DVDs, oder die Erstellung von Internet-Seiten
(1)
, etc.
Alle genannten Software-Lösungen bestehen meist aus einem, oder mehreren Programmen.
(1)
Auch aufwendigere Internet-Seiten setzen den Einsatz eines Programms (einer Server-
Applikation) voraus, die über das Internet mit dem Rechner des Betrachtenden Users verbunden
ist und den Seitenaufbau auf demselben organisiert.
Die dafür verwendete Technologie ist eines der unzähligen, drei oder vier Buchstabenkürzel die
heutzutage Techniken aus dem Computerumfeld beschreiben. ASP (Active Server Pages), nicht
zu verwechseln mit dem ASP (Applikation Service Providing, später noch ausführlich behandelt.)
ist eine Technologie von Microsoft, die in Funktionalität auch von anderen Technologien ersetzt
werden kann, beispielsweise in Form einer Script-Engine (Bsp.: PHP oder CGI), jedoch aufgrund
der höheren technischen Leistungsfähigkeit, der Verbreitung von MS Windows und Microsofts
starker Marktposition immer mehr an Bedeutung gewinnt.

Diese Programme können direkt auf einem Rechner lauffähig sein, - also kompiliert zu
Maschinen-Code, man spricht auch von sogenanntem "nativen" -Code -, oder von einem
seinerseits direkt lauffähigen Programm interpretiert werden.
(2)
Viele Funktionalitäten, die früher nur durch Programmieren lösbar waren, sind heutzutage bei
fast allen Entwicklersystemen zu einfachen Mausklicks reduziert: Formulardesign,
Komponentenintegration, manchmal sogar Programmablaufsteuerung, etc.
Fast alle modernen Entwicklerwerkzeuge stellen dem Nutzer also eine Palette an Hilfsmitteln
zur Programmerstellung zur Verfügung, die aber letztendlich nur dem Ziel dient: - entweder
ein sogenanntes Executable oder ein zu interpretierendes Skript zu erstellen.
Deshalb besteht eine für Windows erstellte Applikation aus zumindest einer lauffähigen .exe-
Datei, die vom jeweiligen Entwicklungswerkzeug erstellt wird ( Ausnahmen siehe
(2)
).
Das Hauptaugenmerk dieser Diplomarbeit liegt auf der Möglichkeit, Programme - abhängig
von Umfang und Funktionsweise - sagt man auch Applikationen (engl. Rapid Application
Development - schnelle Applikationserstellung), möglichst rasch zu erzeugen.
Außerdem liegt der Schwerpunkt dieser Diplomarbeit auf der Erstellung eigener, möglichst
unabhängiger Softwarelösungen. Deshalb wird auf interpretierte Sprachen in dieser
Diplomarbeit nur in Verwendung als Zusatz zu einer zugehörigen Applikation eingegangen.
Eine genauere Erklärung des Begriffs Applikation folgt im nächsten Kapitel.
(2)
Ausgenommen sind alle sogenannten "interpretierten" Programmiersprachen, bei denen ein
"Interpreter" die in einem Skript oder als Bytecode gespeicherten Befehlsfolgen in sogenannter
"Laufzeit" auswertet und ausführt. Beispiel: HTML, Java, Skriptsprachen wie PHP oder CGI, etc.
Macromedia Shockwave Flash, Macromedia Director, Visual Basic oder Sybase Powerbuilder
beispielsweise verfügen über beide Möglichkeiten, also direkt ausführbare .exe - Dateien zu
erzeugen, sowie, die Programmanweisungen während der Ausführung, in sogenannter "Echtzeit"
(JIT - Just In Time) zu interpretieren und auszuführen.
C++ und Delphi wird in allen Fällen zu einem , - auf der jeweiligen Prozessor-Betriebssystem -
Plattform - , lauffähigen Maschinencode umgewandelt (kompiliert).

Um Applikationen schnell
(3)
zu entwickeln gibt es mehrere Möglichkeiten:
- Authoring Tools (Macromedias Flash oder Director, Sybase Powerbuilder, oder
ähnliche)
- Klassische RAD-Tools z.B.: MS Visual Basic oder Borland (Inprise) Delphi
- Klassische Programmiersprachen in Kombination mit vorgefertigten Frameworks (z.B.
MS Visual C++ und ATL (Active Template Library) und / oder MFC (Microsoft
Foundation Classes), Sun Java in Kombination mit Swing (grundlegende grafische
Funktionalitäten und grafische Benutzeroberfläche)
- Kombinationen der vorhergehenden (Jedes der genannten und auch fast jedes andere
heutzutage verwendete Entwicklersystem ermöglicht auch die Einbindung von
Fremdkomponenten über definierte Schnittstellen z.B.: Com / DCom, Corba, SOAP /
XML)
Alle am Markt befindlichen Entwicklersysteme lassen sich in eine der drei genannten
Kategorien (Autorensysteme, Rad-Tools, klassische Programmiersprachen) einordnen, wobei
die Grenze von Autorensystemen zu Rad-Tools sehr unscharf ist. Nach Ansicht des Autors
liegt der Unterschied im Verwendungszweck. Während Autorensysteme meist relativ spezielle
Aufgaben haben (Grafische Präsentation, Mathematische Berechnungen, etc.), sind Rad-
Tools Mehrzweckwerkzeuge mit ähnlicher Anwendungsvielfalt wie klassische
Programmiersprachen, aber gestrafftem und automatisiertem Entwicklungsprozeß.
(3)
schnell ist natürlich relativ, jedoch ist die Erstellung heutzutage (noch) in den meisten Software -
Firmen eine relativ zeitraubende Angelegenheit. Da nicht alle Firmen sich sofort auf die neuesten
Technologien einstellen und, das muß natürlich auch gesagt werden, es nicht für alle Probleme
sinnvoll, beziehungsweise wünschenswert ist, RAD - Tools zu verwenden, da ein Plus bei der
Erstellungsgeschwindigkeit meist, jedoch nicht immer mit einem Minus bei der Qualität das
Endergebnisses zu bezahlen ist. So ist nach wie vor C/C++, eine relativ komplexe und
strukturierte Programmiersprache, Industriestandard.

Programmiersprachen wie COBOL oder FORTRAN haben natürlich ebenso ihre
Existenzberechtigung, sind jedoch aufgrund ihrer Spezialisierung auf mathematisch-
wissenschaftliche Aufgaben nicht optimal zur Erstellung eines beliebigen Applikationstyps
geeignet.
Obwohl sich COBOL und FORTRAN zum Erstellen von Softwarekomponenten eben aufgrund
ihrer Spezialisierung eignet, sofern der Verwendungszweck der Komponenten ein
mathematisch-wissenschaftlicher ist.
Ähnliches gilt für SmallTalk, jedoch wäre ein mögliches Einsatzgebiet kein mathematisch-
wissenschaftliches, sondern eher ein Herstellen von Kompatibilität zu bestehenden SmallTalk-
Applikationen. SmallTalk ist eine Programmiersprache, die für Problematiken ersonnen wurde,
die ein Maximum an Objektorientiertheit voraussetzen. Sein Verwendungszweck liegt
hauptsächlich im Veranschaulichen von Softwarearchitektur. Smalltalk ist zum Erstellen
ökonomisch relevanter Applikationen heute nicht mehr so in Verwendung, weshalb in dieser
Diplomarbeit nicht näher darauf eingegangen wird. (Interessierte finden jedoch im
Quellenverzeichnis weiterführende Verweise)
ADA beispielsweise hat hinsichtlich des hierarchischen Aufbaus und Syntax sehr viel
Ähnlichkeit mit C, jedoch bei weitem nicht die gleiche Verbreitung.
Da dem Autor keine Problemstellungen bekannt sind, die mit ADA - jedoch nicht mit C lösbar
wären, wird auf ADA im Rahmen dieser Diplomarbeit ebenfalls nicht näher eingegangen.
Der Autor hat sich auf die angeführten Beispiele beschränkt, da es die auf Windows
verbreitetsten Entwicklerpakete sind, und der Autor vermutet, daß der Leser zumindest mit
einem oder mehrerer dieser Softwarepakete schon einmal zu tun gehabt hat.
(4)
Außerdem decken diese die meisten, an ein modernes Entwicklersystem gestellten
Anforderungen ab.
(4)
Macromedias Shockwave Flash und Director sind in dem Sinn keine eigentlichen
Entwicklerwerkzeuge, sondern ihre Leistungsfähigkeit liegt in der grafischen Präsentation. Dennoch
möchte der Autor sie in der Aufzählung anführen, da ihre Stärke die schnelle Erstellung interaktiver
grafischer Oberflächen ist, - eine Aufgabe, die mitunter durchaus komplex sein kann und das
Erkennen kausaler Zusammenhänge voraussetzt, nicht jedoch zwangsweise
Programmierkenntnisse erfordert (Dennoch besitzen beide Macromedia Produkte mit ActionScript
(SW Flash) und Lingo (Director) eine eigene Programmiersprache). Außerdem lassen sich beide in
Applikationen, geschrieben in einem der genannten anderen Entwicklersysteme (Visual Basic, C++,
Delphi, etc.), problemlos einbinden.

(4) ff
Da diese Diplomarbeit hauptsächlich auf Applikationserstellung fokussiert ist, sind hier
hauptsächlich die Fähigkeiten Flashs und Directors zur Erstellung eines sogenannten Projektors
(lauffähiges Executable) und die Integration von Flash- und Director-Movies in bestehende
Applikationen thematisiert.
Sybase Powerbuilder: RAD for Client/Server, Web, and N-Tier, - kein Allround-
Entwicklerwerkzeug wie etwa MS Visual Basic oder Borland (Inprise) Delphi, sondern ein
Allround-Client-Server-Entwicklerwerkzeug mit gestrafftem Entwicklungsprozeß und vielfältigen
Datenbankanbindungsmöglichkeiten.
Visual Basic ist das populärste Entwicklersystem weltweit: Es hat die größte Verbreitung am
Weltmarkt (3 Millionen professioneller Entwickler weltweit, die Hälfte aller professionellen
Entwickler: Quelle: Bill Gates in Visual Basic Programmer´s Journal Aug. 2001 Vol. 11 No. 9). Es
ist in reduzierter Form (VBA Visual Basic for Applications), - verwendet als Makrosprache zur
Automatisierung - , Bestandteil unzähliger populärer Softwarepakete. (Microsoft Office, AutoCAD,
CorelDraw, etc.). Es wird in fast allen Klein- und Mittelbetrieben im EDV-Umfeld zur Entwicklung
und Anpassung (kleinerer) Softwarelösungen verwendet und ist aufgrund seines Aufbaus und des
automatisierten Entwicklungsprozesses eines der besten Allround-Entwicklungs-Systeme
überhaupt.
Microsoft Visual C++ ist quasi Industriestandard, und wird neben den weniger verbreiteten C++
Produkten der Konkurrenz (Borland (Inprise) C++ Builder, Symantec C++, etc.) in fast allen
großen Softwarefirmen weltweit zur Entwicklung komplexer Anwendungen eingesetzt.
Inprise Delphi beispielsweise, ist eine Weiterentwicklung des um die 80er bis frühen 90er Jahre
populären Borland Pascal, und besitzt aufgrund seiner Kompaktheit und dennoch
Leistungsfähigkeit und Betriebssystemnähe noch viele treue Anhänger.
Sun Java hat der Autor den Vorzug vor Microsoft Java gegeben, weil viele Firmen es nach wie
vor vorziehen. Es stellt nämlich eine Alternative zu dem starken Übergewicht Microsofts am Markt
der Entwicklersysteme dar, und technisch Versierte halten es von der Technologie her für
ebenbürtig bzw. in manchen Bereichen sogar für überlegen (hauptsächlich hinsichtlich seiner
exzellenten Kombinationsfähigkeiten mit Non-Microsoft Plattformen und -Systemen).

1. Was ist eine Applikation ?
Der Autor versucht, sich dem Begriff durch eine Darstellung desselben aus technischer Sicht
zu nähern. In weiterer Folge wird vor allem auf die eigentlich wirkenden "Darsteller"
eingegangen, - die Dateien, aus denen eine Applikation im Kern eigentlich besteht
(5)
.
Viele haben diese vielleicht schon bemerkt, denn sobald man heutzutage einen (Windows)
Computer einschaltet und beginnt, sich ein wenig zwischen den einzelnen Dateien zu
orientieren, muss man eine große Häufigkeit bestimmter Files feststellen, deren Endung, die
letzten drei Buchstaben des vollständigen Dateinamens, durch einen Punkt vom eigentlichen
Dateinamen getrennt - auch als Suffix oder engl. Extension bekannt - auf .exe, .com oder .dll,
.lib bzw. .ocx lautet.
(6)
Man findet sie besonders häufig innerhalb einer genau determinierten, abgegrenzten
Umgebung, die nach der seit Windows 3.11 gleich gebliebenen Terminologie (Topologie?)
meist mit der Wortfolge ...
"{Laufwerksbuchstabe}:\WINDOWS\SYSTEM" bzw.
"{Laufwerksbuchstabe}:\WINNT\SYSTEM" unter Win NT und Nachfolger(n)
... beschrieben wird - und auch als Systemverzeichnis bekannt ist.
Alle fünf Dateitypen besitzen eine Gemeinsamkeit: Sie sind entweder direkt ausführbar, oder
beinhalten ausführbaren Programmcode, sind also Programmbibliotheken.
(5)
Dies sind in erster Linie die Dateien, die Programmcode beinhalten und für die eigentliche
Interaktion mit dem User sorgen. Hilfsdateien, die beispielsweise benötigte Ressourcen (Daten,
Grafiken, Sounds, etc.) zur Verfügung stellen, finden später noch Erwähnung.
(6)
Die Aufzählung erfolgt ohne Gewähr der Vollzähligkeit, da es noch mehrere andere Dateitypen
unter Windows gibt, die in diese Gruppe einzuordnen sind, diese jedoch entweder veraltet sind
(z.B.: .drv, .vbx - Windows 3.11), oder nur vom Betriebssystem selbst verwendet werden (.vxd ...
virtueller Gerätetreiber).

Drei Gruppen dieser Dateien, - .exe, .dll und .ocx
lassen sich einer größeren Gruppe
zuordnen, die man auch als sogenannte .pe-Files bezeichnet. (engl. portable executable)
(7)
Der Dateityp .exe bezeichnet unter Microsoft Windows ausführbare Dateien.
Etwa durch eine Eingabe des Dateinamens unter DOS oder unter Windows in der
Zeicheneingabe - , der sogenannten DOS-Box - , durch "Ausführen" im Startmenü, durch
Doppelklick auf das Symbol im Windows-Explorer, einem Aufruf durch eine andere
ausführbare Datei, etc. teilt man dem Betriebssystem die Aufforderung zur Ausführung mit.
Die Dateinamenerweitung .dll kommt aus dem Englischen, und steht für Dynamic Link Library.
Der Name wurde deswegen so gewählt, da bei einem Aufruf durch eine .exe-Datei der
Eingangs erwähnte in der DLL enthalten Native-Code in den Speicher, genauer gesagt in den,
- dem sogenannten System-Prozess des jeweiligen aufrufenden Executables zugeordneten
Speicherbereich - geladen und ausgeführt wird.
(8)
(In-Process-Server)
Das hat den Vorteil, daß die in einer DLL enthaltene Funktionalitäten oder Ressourcen von
mehreren Aufrufern gleichzeitig genutzt werden kann.
(7)
Zur Verwaltung der Dateiinformationen wird jedes ausführbare Programm mit einem Dateikopf
ausgestattet, und zwar unabhängig davon, ob es sich um eine DOS- oder Windows-Anwendung
handelt. Der Einheitlichkeit halber wird auch ein Windows-Programm durch einen DOS-Header
eingeleitet. Bei einer Windows-Anwendung schließt sich an den DOS-Header zunächst ein
kleines Maschinenprogramm an, das bei der Meldungsausgabe dafür bürgt, daß die Anwendung
ausschließlich unter Windows ausführbar ist. Erst im Anschluß daran folgt der sogenannte
Windows-Header, der bei 32-Bit-Programmen durch die Kennung PE eingeleitet wird.
lib-Dateien sind sogenannte statische Libraries, sind aber nicht mehr sehr häufig und
unterscheiden sich von ihren "dynamischen Kollegen " .dll und .ocx hauptsächlich durch weniger
Bedienungskomfort bei der Programmierung.
.com-Dateien sind ein Relikt aus den Zeiten von MS-DOS und sind heutzutage nur noch aus
Gründen der Abwärtskompatibilität Teil der neuen Microsoft-Betriebssysteme.
(8)
Dies ist in der System-Architektur von Windows (und den meisten anderen modernen
Betriebssystemen) begründet, die einem ausgeführten Executable aus Sicherheitsgründen, Time-
Sharing, etc. seinen genau festgelegten Speicherbereich zuordnen, auf den (im Normalfall) nur es
selbst Zugriff hat.

Eine DLL stellt also eine, bei Bedarf geladene Programmbibliothek dar.
(9)
Der Dateityp .ocx bezeichnet eine ebenfalls dynamisch geladene (-> ActiveX)
Programmbibliothek mit integriertem visuellen Erscheinungsbild für die zugehörige IDE
(MS Visual Basic, MS Visual C++, Borland Inprise Delphi, Sybase Powerbuilder).
Direkt ausführbar bedeutet, daß der, in der jeweiligen Datei enthaltene native, d.h. dem
jeweiligen lokalen Prozessor des Computers verständliche Programmcode, direkt von der
CPU des Computers gelesen und abgearbeitet werden kann.
Alle Windows-Applikationen bestehen (hauptsächlich) aus einem oder mehrer dieser drei
Dateitypen (pe-Files), die miteinander durch gegenseitige Aufrufe von Befehlen oder
Funktionen verknüpft sind, - man spricht von sogenannten "Abhängigkeiten".
(engl. dependencies, siehe Beispiel-Programm Microsoft Depends
(10)
)
Was natürlich ebenfalls Erwähnung finden muß, ist die Tatsache, daß Applikationen im
Normalfall noch aus sehr vielen weiteren Dateitypen bestehen, diese jedoch wie bereits
erwähnt, der Bereitstellung von benötigten Ressourcen dienen.
Datenbanken, Texte, Grafiken, Animationen, Sounds und ähnliche Daten werden heutzutage
je nach Typ und Verwendungszweck in verschiedensten, unterschiedlich standardisierten
Formaten gespeichert und können auf verschiedenste Weise in die Applikation eingebunden
werden (siehe 3. Beschleunigung des Entwicklungsprozesses).
(9)
Unter Windows gibt es zwei große Gruppen von Dlls:
-
Solche, bei denen der, in ihnen enthaltene Befehlssatz sowie die Art der zu übergebenden
Parameter dem Programmierer bekannt sein müssen (Standard-Dlls)
-
Solche, bei denen es einen Befehl zum Übermitteln des sogenannten Interfaces gibt, das
ihren Befehlssatz spezifiziert. (ActiveX -Dlls, siehe ActiveX)
(10)
Um die Abhängigkeiten der pe-Files untereinander für den Leser zu veranschaulichen, hat sich
der Autor entschlossen - das frei distribuierbare Tool MS Depends zusammen mit einer kurzen
Anleitung zu dessen Benutzung auf der Diplomarbeits-CD-Rom beizugeben.

2. Der Entwicklungsprozess
Alle, auf dem Computermonitor für den Benutzer sichtbaren Veränderungen, aber natürlich
auch alle zu diesen führenden Berechnungen beispielsweise, müssen, eingeschlossen aller
möglicher Eingabezustände, durch Struktur und Aufbau des gerade ausgeführten .pe-Files
berücksichtigt sein.
Mit einfachen Worten gesagt - Der Entwickler, oder das Entwicklerteam bzw. das
Entwicklerwerkzeug muß bei der Erstellung einer Applikation alle möglichen Eingabezustände
vorhersehen, und durch Programmanweisungen behandeln lassen.
Das klingt komplizierter, als es eigentlich ist. Viele der Grundfunktionalitäten, die heutzutage
bei der Applikationserstellung Vorraussetzung sind, sind Grundbestandteil der sogenannten
Entwicklungsumgebungen (engl. IDE Integrated Developer Environment):
- Eingabeerleichterung und generelle Vereinfachung des Entwicklungsprozesses durch
vom Entwicklerwerkzeug automatisierte Routineaufgaben
(auf einfaches Drag & Drop und sonstige Mausoperationen beschränkte Programm-
Erstellung bei visuellen Entwicklerwerkzeugen, Syntaxprüfung und Codeergänzung bei
textbasierten Systemen)
- Integration von vorgefertigten Frameworks oder Komponenten für wiederholt benötigte
Funktionalitäten
- Erstellung einer lauffähigen Variante der vom Entwickler gegebenen Programm-
Ablaufbefehle - das Executable oder Skript - aus den, grafisch- oder textbasiert
schematisierten Programmbefehlszeilen.
Alle diese Funktionalitäten sind in heutige Entwicklertools integriert und ermöglichen einen
schnellen Entwicklungsprozeß.
Jemand, der sich entschließt, eine Applikation zu erstellen, kann je nach Art des gewünschten
Anwendungsbereichs aus einer breiten Palette von Entwicklungswerkzeugen wählen,
trotzdem sind alle drei Grundfunktionalitäten fixer Bestandteil jedes modernen
Entwicklerwerkzeugs.
Abhängig von Art der zu erstellenden Applikation und von Entwicklersystem zu
Entwicklersystem verschieden ist lediglich ihre Ausführung.

Während Pakete zu Movie- und Präsentationserstellung wie beispielsweise Macromedia
Shockwave Flash oder Director viele Bereiche der Programmablaufsteuerung grafisch über
eine Zeitleiste visualisiert haben, ist die Programmablaufsteuerung bei Hochsprachen wie MS
Visual Basic, MS Visual C++, Sun Java oder Borland (Inprise) Delphi vorwiegend
codebasierend.
Die Gründe dafür sind klar, und liegen hauptsächlich an der Zielgruppe von Entwicklern und
ihren Aufgabenstellungen.
Die Verwendung von Shockwave Flash zum Gestalteten von Internetseiten, zum Erstellen
kleinerer Präsentationen oder kleinerer interaktiver Movies durch eine breite Zielgruppe
bedingt eine komfortable, relativ leicht zu bedienende Benutzer-Oberfläche.
Anders ist die Sache schon bei dem größeren Bruder - Macromedias Director.
Die größere Leistungsfähigkeit im Vergleich zu dem rein vektorbasierenden Flash bei
Komponenten- und Ressourcenintegration, Komplexität der erzeugten Applikation, usw. macht
den code-basierenden Anteil an der Programmablaufsteuerung größer bzw. setzt ihn voraus.
So ist der Sprachumfang von Lingo (Programmiersprache Director) signifikant höher, als der
von ActionScript (Programmiersprache Flash).
Beide benutzen aber zur Programmablaufsteuerung eine Zeitleiste, in der alle Ereignisse
chronologisch visualisiert sind.
Microsoft Visual Basic, Borland (Inprise) Delphi, Sybase Powerbuilder wiederum,
Allroundentwicklerwerkzeuge mit weitaus größerem Anwendungsbereich, besitzen keine
visuelle Programmablaufsteuerung,
(11)
jedoch kann die Komponenten-Integration ebenso wie
bei den beiden Macromedia-Produkten mit ein paar einfachen Mausklicks erfolgen. Ebenso
automatisiert ist die Erstellung des Executables.
(12)
(11)
Es gibt jedoch sogenannte Third-Party Tools, wie z.B. SoftWire von SoftWire Technologies, die
ein vb-"programmieren" mittels Drag&Drop ermöglichen.
(12)
das -> kompilieren und -> linken der einzelnen Source-Code Module wird vollautomatisch von der
IDE übernommen und gibt dem Anwender keinen Platz für Fehlbedienungen.

Klassische Programmiersprachen, wie C++ oder Java besitzen den im Vergleich geringsten
Grad an Automatisierung den Entwicklungsprozeß betreffend, jedoch ist auch hier die
Tendenz zur Straffung des Entwicklungsprozesses erkennbar. (Es gibt verschiedenste
Frameworks
(13)
zur Vereinfachung programmiertechnischer Routineaufgaben im Handel, und
Komponenten
(14)
verschiedensten Typs machen die Integration von "zugekauften"
Funktionalitäten relativ simpel.)
Ein Entwickler oder ein Entwicklerteam kann also heutzutage, Systematik und Übersicht
vorausgesetzt, sich in jedem modernen Entwicklersystem ein Repertoire an wiederholt
benötigten Funktionalitäten aufbauen, und den Entwicklungsprozeß bedeutend verkürzen.
(siehe 3. Möglichkeiten zur Beschleunigung des Entwicklungsprozesses)
Um den Entwicklungsprozeß einer Applikation für den Leser zu veranschaulichen, bedient
sich der Autor eines kurzen historischen Rückblicks:
Die Programmierung der ersten Computer erfolgte direkt über die Programmierung ihrer
Hardware: die dazu benötigten Kommandos waren Bit-Folgen, also Folgen von Nullen und
Einsen, die dem Prozessor des jeweiligen Computers direkt verständlich waren.
Es gab nur einige wenige Menschen weltweit, die das zur Programmierung dieser Maschinen
notwendige Wissen besaß.
(13)
Der Autor verwendet diesen Begriff im Zusammenhang mit den, von den Erzeugern der
Entwicklungsumgebungen oder Fremdherstellern (sog. third party tool vendors) vorgefertigten
-> Code-Klassen, die dem Entwickler einen Großteil der grundlegenden Vorarbeiten zur
Erstellung einer Applikation in einer klassischen Programmiersprache abnehmen.
Beispiel: MFC (Microsoft Foundation Classes) oder ATL (Active Template Library) unter Visual
C++, oder Swing bzw. AWT unter Sun Java
(14)
der Begriff Komponente wird in der Softwareentwicklung in Zusammenhang mit vorgefertigten
Funktionalitäten, die kompiliert - in binärer Form also - vorliegen, verwendet. Der Entwickler, der
sich entschließt, K. zu verwenden benötigt - ebenso wie bei Frameworks in Source-Code-Form -
eine Auflistung der, in ihnen enthaltenen Funktionen, ein sogenanntes API (engl. Application
Programming Interface). Im Unterschied dazu, muß er jedoch nichts über den Inneren Aufbau der
Komponenten wissen, da diese einem der drei Grundprinzipien der -> Objektorientierung folgend
- der sogenannten Kapselung - von der eigentlichen Applikation getrennt sind, und dem
Entwickler als sogenannte "Blackbox" erscheinen.
Die unterschiedlichen Typen von K. werden noch ausführlich unter Punkt 7:
Kombinationsmöglichkeiten beschrieben.

Als jedoch immer mehr Menschen aus unterschiedlichsten Berufen die Vorteile der
Inanspruchnahme von Hilfe durch die Computer zur Bewältigung ihrer alltäglichen Arbeiten
nützen wollten, wurde auch die Notwendigkeit der Vereinfachung ihrer Programmierung
größer.
Zuerst wurden die Folgen von Nullen und Einsen zu einer für Menschen leichter
verständlichen, lesbareren Form abstrahiert.
Sogenannter Assembler - Source - Code reduziert Maschinen-Kommandos in binärer Form zu
leicht verständlichen Kurzworten. (mit oder ohne zusätzliche Parameter)
Assembler ist auch heute, in manchen Bereichen zur direkten Steuerung von Computer-
Hardware noch immer unabkömmlich: - dem Compilerbau oder der Treiberentwicklung
beispielsweise.
(15)
Einsatz findet Assemblerprogrammierung heutzutage auch beim Erstellen hochperformanter
Softwarekomponenten - etwa Reinassembler-Dlls - oder in direkter Integration in eigene
Programme via Inline-Assembler unter C oder Delphi.
(15)
Abbildung I: Assembler Source-Code (Code-Beispiel / Auszug)

Details

Seiten
Erscheinungsform
Originalausgabe
Jahr
2001
ISBN (eBook)
9783832445492
ISBN (Paperback)
9783838645490
DOI
10.3239/9783832445492
Dateigröße
993 KB
Sprache
Deutsch
Institution / Hochschule
Fachhochschule St. Pölten – Medienmanagement
Erscheinungsdatum
2001 (September)
Note
3,0
Schlagworte
applikationsprogrammierung betriebssystem kombinationsmöglichkeiten praxisrelevanz überblick
Zurück

Titel: Rapid Application Development
book preview page numper 1
book preview page numper 2
book preview page numper 3
book preview page numper 4
book preview page numper 5
book preview page numper 6
book preview page numper 7
book preview page numper 8
book preview page numper 9
book preview page numper 10
book preview page numper 11
book preview page numper 12
book preview page numper 13
book preview page numper 14
book preview page numper 15
book preview page numper 16
book preview page numper 17
book preview page numper 18
book preview page numper 19
90 Seiten
Cookie-Einstellungen