Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Entwicklung eines konfigurierbaren Softwaretools für Kreditinstitute auf Internetbasis

Entwicklung eines konfigurierbaren Softwaretools für Kreditinstitute auf Internetbasis
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Christian Schloz, Rainer Gross
  • Abgabedatum: Juni 1998
  • Umfang: 189 Seiten
  • Dateigröße: 1,1 MB
  • Note: 1,5
  • Institution / Hochschule: Fachhochschule Konstanz Deutschland
  • ISBN (eBook): 978-3-8324-2267-7
  • ISBN (Paperback) :
    978-3-8324-2267-7 P
  • ISBN (CD) :978-3-8324-2267-7 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Christian Schloz, Rainer Gross Juni 1998: Entwicklung eines konfigurierbaren Softwaretools für Kreditinstitute auf Internetbasis, Hamburg: Diplomica Verlag
  • Schlagworte: Skriptsprache, DCOM, Objektorientierung, Java, CORBA

Diplomarbeit von Christian Schloz, Rainer Gross

Einleitung:

Die Diplomarbeit Entwicklung eines konfigurierbaren Softwaretools für Kreditinstitute auf Internetbasis diente der Neuentwicklung eines Systems, welches bestehende Serverapplikationen eines Kreditistituts unter einheitlicher, durch eine Skriptsprache konfigurierbare Oberfläche zusammenfaßt. Die Neuerungen des in der vorliegenden Diplomarbeit beschriebenen Systems beziehen sich auf den zugrunde liegenden objektorientierten Systementwurf, die Client-Server-Architektur, die eingesetzte Skriptsprache sowie die Verwendung zeitgemäßer Internettechnologien.

Um die für das entwickelte System geeigneten Internettechnologien auswählen zu können, wurden unter anderem verschiedene WWW-Programmiertechniken, die Programmiersprache Java und das Modell JavaBeans sowie mehrere verteilte Objektsysteme und Mechanismen zur Datensicherheit in Netzwerken analysiert.

Das unter Berücksichtigung der Untersuchungsergebnisse entworfene System verwendet verteilte Objekte zur Realisierung der Client-Server-Kommunikation. Eine Clientapplikation wird anhand einer eigens dafür entworfenen, der des ursprünglichen Systems ähnlichen Skriptsprache entwickelt, wobei der Anwendungsprogrammierer sich nicht um das Objektmanagement zu kümmern braucht, gesteuert durch Skripte, wird es vom System selbst übernommen. Dabei geschieht die Zuweisung von Objektattributen mit Hilfe eines verteilten Parsingverfahrens, jedes durch ein Skript verursachtes Objekt besitzt seinen eigenen Parser und parametrisiert sich anhand des zugehörigen Skriptausschnitts selbst.

Ein nach diesem Systementwurf in der Sprache Java entwickelter Prototyp verwendet zur Kommunikation mit Serverapplikationen alternativ die Protokolle Java-RMI oder DCOM. Damit die Skriptsprache und somit das gesamte System um neue Funktionalität in Form von Variablen, Grafikkomponenten und Instruktionen erweitert werden kann, wurde ein spezieller Mechanismus implementiert, der es ermöglicht, ohne das System erneut zu übersetzen, zusätzliche Klassen mitsamt der entsprechenden Skriptsyntax zu ergänzen.

Schließlich galt das Projekt der Erprobung eines disziplinierten Softwareentwicklungsverfahrens, weshalb besonderes Augenmerk auf die Dokumentation des Projektverlaufs gerichtet wurde. In diesem Zusammenhang werden sowohl das Capability Maturity Model als auch die Digital Program Methodology vorgestellt.

Inhaltsverzeichnis:

Vorwort VIII
Abkürzungsverzeichnis X
Darstellungsverzeichnis XII
Abbildungen XII
Tabellen XIII
1. Einleitung 1
1.1 Die Diplomarbeitsfirma 1
1.2 Das Projekt 1
1.3 Vorgehensweise zur Durchführung des Projekts 3
1.4 Projektziele 4
2. Das Entwicklungstool VórteX 5
2.1 Die Entstehungsgeschichte von VórteX 5
2.2 Der Aufbau von VórteX 6
2.3 Der Transaktionsserver 7
2.4 Der Navigator 7
2.4.1 Die Navigatoroberfläche und -funktionalität 7
2.4.2 Die Navigatorskriptsprache 8
2.5 Der Dialogserver 10
2.6 Die Modulkommunikation 11
3. Untersuchung internetgeeigneter Technologien 13
3.1 Netzwerkcomputer 13
3.2 WWW-Programmiertechniken 15
3.2.1 Hypertext Markup Language (HTML) 15
3.2.2 Hypertext Transfer Protocol (HTTP) 17
3.2.3 Dynamische HTML-Seiten 18
3.2.3.1 CGI-Server 18
3.2.3.2 Active Server Pages 19
3.2.4 Java Script 20
3.3 Java 23
3.3.1 Übersicht zu Java 23
3.3.2 Unterschiede zwischen Java und C++ 24
3.3.3 Java-Applets 27
3.3.4 Exceptions in Java 28
3.3.5 Threads und Synchronisation in Java 31
3.3.6 Klassenpakete und Java-Bibliotheken 32
3.3.7 Möglichkeiten zur Optimierung von Java 33
3.3.8 Sicherheitsmechanismen von Java 34
3.4 JavaBeans 35
3.4.1 Ereignisse 36
3.4.1.1 Klassen zur Ereignisbehandlung 36
3.4.1.2 Ereignisadapter 38
3.4.2 Attribute von Beans 40
3.4.2.1 Getter- und Setter-Methoden 40
3.4.2.2 Bound-Properties 41
3.4.2.3 Constrained-Properties 42
3.4.3 Analyse von Beans 43
3.4.3.1 Analyse nach Namengebungsregeln 43
3.4.3.2 Analyse durch Bean-Beschreiber 44
3.4.3.3 Der Bean-Analysator 44
3.4.4 Parametrisierung von Beans 45
3.4.4.1 Customizer 45
3.4.4.2 Attributeditoren 45
3.4.5 Speicherung von Beans 46
3.5 Objektorientierte verteilte Client-Server-Systeme 46
3.5.1 Prinzipien der Objektorientierung 46
3.5.2 Das Client-Server-Prinzip 48
3.5.3 Verteilte Objekte 48
3.5.4 CORBA 49
3.5.5 CORBA-Produkte 51
3.5.5.1 Funktionalität der untersuchten CORBA-Produkte 51
3.5.5.2 Test unterschiedlicher CORBA-Produkte 52
3.5.6 Remote Method Invocation (RMI) 55
3.5.7 Distributed Component Object Model (DCOM) 57
3.5.7.1 Kommunikation zwischen COM-Objekten 57
3.5.7.2 Marshaling 59
3.5.7.3 Definition eines COM-Objektes 59
3.5.7.4 Instanziierung von COM- und DCOM-Objekten 60
3.5.7.5 Anwendung von Methoden auf COM-Objekte 61
3.5.7.6 Sicherheitsmechanismen von DCOM 62
3.6 ActiveX-Controls 62
3.7 Datensicherheit in Netzwerken 64
3.7.1 Übersicht zur Datensicherheit 64
3.7.2 Umfang des VorteX-Inet-Sicherheitskonzepts 65
3.7.3 Authentikation 65
3.7.3.1 Authentikation durch Login 65
3.7.3.2 Authentikation durch Digitalzertifikate 66
3.7.4 Autorisierung 68
3.7.4.1 Autorisierung durch Dateiattribute 68
3.7.4.2 Dynamische Autorisierung 68
3.7.5 Verschlüsselung 69
3.7.5.1 Symmetrische Verschlüsselung 69
3.7.5.2 Asymmetrische Verschlüsselung 69
3.7.5.3 Verschlüsselungsstandards und -produkte 69
3.7.6 Datensicherheit im System VorteX Inet 70
4. Modellierung eines neuen Systems 71
4.1 Am Anfang stand eine Idee 71
4.2 Anforderungen an das neue System 71
4.3 Vorbemerkung zur Funktionalität des Prototypen 72
4.4 Die Funktionalität des VorteX-Inet-Prototypen 75
4.4.1 Die Funktionalität des Navigators 75
4.4.2 Die Funktionalität von Dialogen 76
4.4.3 Die Funktionalität von Transaktionen 78
4.4.4 Die VorteX-Inet-Skriptsprache 78
4.4.5 Ein grafisches Entwicklungstool 84
4.5 Auswahl zur Implementierung verwendeter Technologien 85
4.5.1 Festlegung der Auswahlkriterien 85
4.5.2 Technologien für den VorteX-Inet-Client 86
4.5.3 Technologien für den VorteX-Inet-Server 89
4.5.4 Zusammenfassung 92
4.6 Die logische Struktur von VorteX Inet 92
4.7 Der Softwareentwurf 95
4.7.1 Die Systemstruktur 95
4.7.2 Die Gruppe des Interface VorteXParser 97
4.7.3 Die Gruppe des Interface VorteXVar 100
4.7.3.1 Die Klasse VorteXNameSpace 101
4.7.4 Die Gruppe des Interface VorteXInstruction 105
4.7.5 Die Gruppe des Interface VorteXComponent 107
4.7.6 Die Gruppe des Interface VorteXContainer 110
4.7.6.1 Die Klasse VorteXNode 112
4.7.6.2 Die Klasse VorteXDataSheet 113
4.7.6.3 Die Klasse VorteXDialog 113
4.7.7 Customizer nach dem JavaBeans-Modell 114
4.7.8 Die Exceptionklassen 115
4.7.9 Die Serverklassen 116
5. Implementierung des Prototypen 118
5.1 Vorbemerkung zur Implementierung 118
5.2 Vorgehensweise der Parser 118
5.3 Systemerweiterungen 120
5.4 Probleme bei der Implementierung von DCOM 122
5.5 Decodierungvon Transaktionsergebnissen 123
5.6 Die Verwendung von Heuristiken 124
5.6.1 Hintergrund zur Verwendung von Heuristiken 124
5.6.2 Heuristiken zur Interpretation von Benutzereingaben 124
5.6.3 Heuristiken für die Deutung von Datenfragmenten 125
5.7 Qualitätssicherung 127
5.7.1 Tests 127
5.7.2 Konfigurationsmanagement 128
5.7.3 Formelle Konventionen 128
5.7.4 Überwachung der Implementierungsphase 129
5.7.5 Coderevision 129
6. Disziplinierte Softwareentwicklung 131
6.1 Ziele disziplinierter Softwareentwicklung 131
6.2 Das Capability Maturity Model (CMM) 132
6.2.1 Übersicht zum Capability Maturity Model 132
6.2.2 Die fünf Reifeniveaus des CMM 133
6.2.2.1 Der Initial Level 133
6.2.2.2 Der Repeatable Level 133
6.2.2.3 Der Defined Level 133
6.2.2.4 Der Managed Level 134
6.2.2.5 Der Optimizing Level 134
6.2.3 Verbesserung des Softwareprozesses mit CMM 134
6.3 Die Digital Program Methodology (DPM) 135
6.3.1 Der Lebenszyklus nach DPM 135
6.3.2 Das Projektmanagement nach DPM 136
6.3.3 Anwendung der DPM 137
6.4 Die Dokumentation des Projekts VorteX Inet 138
6.4.1 Auf DPM basierende VorteX-Inet-Dokumente 138
6.4.2 Zusätzliche VorteX-Inet-Dokumente 139
6.5 Erfahrungen mit disziplinierter Softwareentwicklung 139
7. Schlußbetrachtung und Ausblick 141
7.1 Durchführung des Projektes 141
7.1.1 Definition des Projektes 141
7.1.2 Die Umsetzung der Definition in einen Entwurf 142
7.1.3 Die Implementierung des Softwareentwurfes 143
7.1.4 Integration und Durchführung der Akzeptanztests 143
7.1.5 Abschluß des Projektes 145
7.2 Weiterführung des Projektes 145
Anhang 1-8 147
Quellenverzeichnis 168
Bücher 168
Zeitschriften 168
Sonstige Quellen 169
Ehrenwörtliche Erklärung 171

Automatisiert erstellter Textauszug:

Dialoge des Systems VorteX Inet sind spezielle Fenster, die die Kommunikation mit dem Anwender realisieren. Ein Dialog ermöglicht die Bereitstellung von Informationen in Abhängigkeit von Benutzereingaben. Die Eingabedaten dienen hierbei als Parameter für auszuführende Transaktionen, deren Ergebnisse dem Benutzer innerhalb des Dialogs übermittelt werden. Ein Dialog wird ebenfalls mit Hilfe der Skriptsprache erstellt. Dabei stehen dem Programmierer verschiedene Komponenten zur grafischen Gestaltung zur Verfügung. Im einzelnen sind dies Labels zur Beschriftung, Knöpfe zum Auslösen von Skriptaktionen und Ein- bzw. Ausgabefelder für Text, Kalenderdatum, Personalausweisnummer, Kontonummer, Geldbetrag und Tabelle. Sofern es möglich ist, werden Benutzereingaben beim Verlassen eines Felds syntaktisch geprüft, bei der Ausweisnummer wird beispielsweise ein Prüfalgorithmus angewandt und die errechnete Prüfziffer mit der eingetippten Zahl verglichen. Entspricht die Eingabe den Vorschriften, dann wird sie formatiert ausgegeben, im gegenteiligen Fall wird der Zustand, den die Komponente vor der nicht akzeptierten Eingabe besaß, wieder hergestellt. Mit dem Verlassen von Feldern oder dem Drücken eines Knopfes können Ereignisse ausgelöst werden, welche Auswirkungen auf verschiedene Dialogkomponenten haben können, beispielsweise die Formatierung der Eingabe oder das Löschen eines anderen Eingabefelds. Aufgrund der Ereignisse, die ebenfalls im Skript programmiert werden, können aber auch Transaktionen gestartet oder weitere Dialoge eröffnet werden. [...]

Zur Ausführung von VorteX-Inet-Applikationen steht dem Anwender ein Java-Applet, genannt Navigator, zur Verfügung. Dieser präsentiert sich in Form eines vertikal zweigeteilten Fensters, die linke Seite zeigt einen Hierarchiebaum, anhand dessen der Anwender die Navigation durch die Anwendung vornimmt, während die rechte Seite zur Ausgabe von Daten an den Benutzer dient. Der Hierarchiebaum setzt sich aus Knoten zusammen, welche ihrerseits Unterknoten enthalten können. Die Darstellung eines Knotens besteht aus einem Icon und dem Knotennamen. Die Hierarchiestufe eines Knotens wird durch Einrückungen, also dem Abstand des Icons vom Fensterrahmen, verdeutlicht. Das Icon zeigt an, ob ein Knoten geöffnet oder geschlossen ist. Das Öffnen bzw. Schließen eines Knotens wird per Mausklick erzielt. Das Erscheinungsbild und die Funktionalität eines Hierarchiebaums werden durch ein Skriptprogramm bestimmt. Das Öffnen eines Knotens kann mehrerlei Folgen haben. Enthält ein Knoten Unterknoten, so werden diese beim Öffnen des übergeordneten Knotens im Hierarchiebaum angezeigt. Außerdem kann das Knotenöffnen einige weitere, beliebig zu kombinierende Aktionen auslösen, welche ebenfalls durch das Skript definiert werden. So können Transaktionen durchgeführt, Dialogfenster geöffnet, andere Bäume oder Teilbäume sowie dynamische, als Transaktionsergebnisse erhaltene Unterknoten angezeigt werden. Jeder Knoten besitzt potentiell die gleiche Funktionalität, sei es ein Haupt-, ein Unterknoten oder ein dynamisch erhaltener Knoten. Für die Ausführung und Kombination der oben erläuterten Aktionen können Variablen innerhalb eines Knotens verwaltet werden. Im Unterschied zum alten System VórteX, wo sämtliche Variablen als Strings gehandhabt werden, besitzt das System VorteX Inet einige speziell für die zu bewältigenden Aufgaben festgelegte Datentypen. Diese Neuerung hielten wir für nötig, um das System besser zu strukturieren und Programmierfehlern durch die unterschiedlich mögliche Deutung eines Strings entgegenzuwirken. Eine bisher nicht erwähnte mögliche Aktion, die durch das Öffnen eines Knotens hervorgerufen werden kann, ist die formatierte Anzeige von Daten im rechten Fenster des Navigators. Die im rechten Fenster anzuzeigenden Daten werden unterhalb eventuell bereits vorhandener Daten dargestellt, so daß früher angezeigte Informationen weiterhin zugänglich bleiben. Übersteigt die Menge der im Fenster darzustellenden Informationen dessen Größe, so können nicht mehr angezeigte Informationen mit Hilfe einer Scrollbar erneut sichtbar gemacht werden. Für die Formatierung derartig auszubreitender Daten stehen dem Skriptprogrammierer verschiedene VorteX-InetKomponenten zur Verfügung, siehe nachfolgenden Abschnitt Die Funktionalität von Dialogen. Hinsichtlich des rechten Navigatorfensters unterscheidet sich die Funktionalität des Prototypen VorteX Inet vom System VórteX. VórteX zeigt zum Beispiel Unterknoten nicht nur innerhalb des Hierarchiebaums, sondern zusätzlich im rechten Fenster an. Dadurch ergibt sich die Möglichkeit, veranlaßt durch das Anklicken eines Knotens im linken Fenster, den selben Knoten im rechten [...]

Für den zu entwickelnden Prototypen mußte eine eingeschränkte Funktionalität bezogen auf das bisherige System festgelegt werden. Während der Modellierungsphase war es von entscheidender Wichtigkeit, die spätere Implementierung von im Prototypen nicht enthaltener Funktionalität zu berücksichtigen. Hierzu einige Beispiele: anders als beim bisherigen System kann von einem Client des Prototypen kein Druckauftrag abgesetzt werden. Wie im Abschnitt Sicherheitsmechanismen von Java im Kapitel Untersuchung internetgeeigneter Technologien beschrieben, ist es jedoch möglich, hierfür eine Lösung zu implementieren. Der Prototyp verwirklicht kein Sicherheitskonzept, unsere diesbezüglichen Vorschläge sind jedoch im Abschnitt Datensicherheit im System VorteX Inet im selben Kapitel aufgeführt. Im Prototypen ebenfalls nicht realisiert sind die Implementierung eines Cache zur Vermeidung unnötigen Netzwerkverkehrs sowie eines Store-and-Forward-Mechanismus, der den OfflineEinsatz von VorteX Inet ermöglichen soll. Wie im Abschnitt Technologien für den VorteX-InetServer zu sehen ist, wurde unter anderem der Cache als Argument gegen die Implementierung von verteilten Serverobjekten genannt, obwohl auch für diesen Fall die Weiterentwicklung des Prototypen zum fertigen Produkt durchdacht und vorbereitet war. Die Nichtimplementierung verteilter Serverobjekte hielt als Cambio Uno ([span.] Änderung eins) Einzug in die Geschichte der VorteX-Inet-Modellierung, die Auswirkungen dieser Änderung werden im Abschnitt Auswahl zur Implementierung verwendeter Technologien erörtert. Bei den anfänglichen Gesprächen bezüglich der Funktionalität des neu zu entwickelnden Systems war die Rede davon, die Konfiguration der Benutzeroberflächen möglichst wie im System VórteX mit einer Skriptsprache zu steuern. Doch schon bei der Präsentation des ersten grob entwikkelten Modells des neuen Systems wurde die Kompatibilität einer neuen Skriptsprache gefordert, um deren Koexistenz neben den bereits eingesetzten Skriptsprachen und somit einen problemlosen Umstieg auf das neue System zu ermöglichen. Die darauffolgenden weiteren Überlegungen zur Modellierung des neuen Systems gingen daher lange Zeit von der Notwendigkeit dieser Kompatibilität aus, bis wir aufgrund weiterer Untersuchungen zu der Erkenntnis gekommen sind, daß die Kompatibilität der Skriptsprachen sich nicht mit den ursprünglichen Projektzielen vereinbaren läßt - siehe unten in diesem Abschnitt -, und Cambio Dos ([span.] Änderung zwei), die Einführung einer unabhängigen Skriptsprache für VorteX Inet, unumgänglich wurde. Die verschiedenen Pflichtenheftversionen, die während der Modellierungsphase für unterschiedliche Modelle erarbeitet wurden, sprechen zunächst von der Weiterverwendung der bisherigen Skriptsprachen im neuen System, dann von deren Verbesserung durch Erweiterung um zusätzliche Funktionalität. Später ist von einer neuen Sprache die Rede, wobei alte Skripts vollständig in die neue Sprache übersetzt werden können, bis schließlich die neue, VórteX ähnliche, nicht kompatible Skriptsprache in Erscheinung tritt, welche die beiden ehemaligen Sprachen ersetzt, aber nicht die identische Funktionalität aufweist, weshalb ein Umwandlungsmechnismus zwar möglichst viele Informationen aus alten Skripts in neue Skripts übertragen könnte, der fehlende Rest jedoch manuell programmiert werden müßte. Ausschlaggebend für die Einführung einer neuen, unabhängigen Skriptsprache war die komplexe und für einen objektorientierten Entwurf nicht geeignete Struktur von VórteX, dessen Module [...]

Arbeit zitieren:
Christian Schloz, Rainer Gross Juni 1998: Entwicklung eines konfigurierbaren Softwaretools für Kreditinstitute auf Internetbasis, Hamburg: Diplomica Verlag

Schlagworte:
Skriptsprache, DCOM, Objektorientierung, Java, CORBA

Entdecken Sie mehr zum Thema

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren