Gegenüberstellung verschiedener Implementierungen einer verteilten Anwendung im Prüfungswesen auf Basis von SOAP und JMS
- Art: Diplomarbeit
- Autor: Darius Felski
- Abgabedatum: November 2004
- Umfang: 116 Seiten
- Dateigröße: 998,9 KB
- Note: 1,3
- Institution / Hochschule: Fachhochschule Oldenburg/Ostfriesland/Wilhelmshaven, Standort Wilhelmshafen Deutschland
- ISBN (eBook): 978-3-8324-2898-3
-
ISBN (Paperback) :
978-3-8324-2898-3 P - ISBN (CD) :978-3-8324-2898-3 CD
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Felski, Darius November 2004: Gegenüberstellung verschiedener Implementierungen einer verteilten Anwendung im Prüfungswesen auf Basis von SOAP und JMS, Hamburg: Diplomica Verlag
- Schlagworte: Apache Axis, Java Message Service, Web Service, Middleware, JAX-RPC
In den Warenkorb
74,00 €
Diplomarbeit von Darius Felski
Einleitung:
Die Fachhochschule Oldenburg/Ostfriesland/Wilhelmshaven ist in mehrere Fachbereiche unterteilt, die jeweils aus zusammengehörenden Studiengängen bestehen und als Verwaltungs- und Lehreinheiten fungieren. Jeder Fachbereich unterhält ein eigenes Prüfungswesen und ist für die dort eingesetzten Systeme verantwortlich. In den einzelnen Fachbereichen existieren viele verschiedene Systeme nebeneinander, wie zum Beispiel die Klausurenverwaltung, Stammdatenverwaltung für Prüfer und Mitarbeiter. Diese Systeme wurden im Laufe der Zeit unabhängig voneinander entwickelt und agieren oft autonom.
Da dieser Zustand zu einer redundanten Datenhaltung und der damit verbundenen Probleme führt, entstand im Laufe der Zeit der Wunsch nach Teilsystemen die gemeinsam kooperieren können. So sollen die Daten des Prüfungswesens zentral gehalten werden; die für die jeweilige Aufgabenstellung benötigte Geschäftslogik und ggf. zusätzliche Daten sollen jedoch auf getrennte Module ausgelagert werden.
Als Beispiel könnte man sich eine Datenbank vorstellen, in der alle Daten der Professoren der Fachhochschule oder des jeweiligen Fachbereiches verwaltet werden. Die zusätzlich nötigen Relationen und Daten um eine Klausur im System anzulegen würden von der für die Erstellung des Klausurplans zuständigen Applikation verwaltet werden. Diese Applikation könnte dafür durchaus eine eigene Datenbank nutzen.
Dies würde zu einer schlankeren und übersichtlicheren Struktur der einzelnen Applikationen führen, die sich dann leichter und unabhängig voneinander warten und erweitern ließen.
Gang der Untersuchung:
Der Fachbereich Wirtschaftsingenieurwesen (WI) unterhält im Bereich des Prüfungswesens ein System zur Klausurenplanung, das alle Klausuren mit den dazugehörigen Prüfern, Räumen, Uhrzeiten sowie weiteren Daten verwaltet. Da jede Klausur von einem Mitarbeiter beaufsichtigt werden muss, existiert bislang ein System mit dessen Hilfe die Mitarbeiter die Aufsicht für Klausuren übernehmen können.
Beide Bereiche, die Klausuren- und die Aufsichtsplanung, werden bisher von einer Applikation verwaltet.
Als eine Option für die Zukunft soll die Klausurverwaltung und die Aufsichtsplanung in einzelne, zusammenarbeitende Systeme getrennt werden. Das langfristige Ziel ist es, das Prüfungswesen in kleine und leicht zu wartende Einheiten aufzuteilen.
Diese Arbeit stellt den Vergleich der beiden Technologien Message-Oriented-Middleware und Web Services in den Vordergrund. Anhand verschiedener Ansätze einer Implementierung werden die Vor- und Nachteile beider Technologien am Beispiel des Klausurenplans und der Aufsichtverwaltung im Prüfungswesen des Fachbereiches WI der FH OOW aufgezeigt.
Inhaltsverzeichnis:
| 1. | Einführung | 4 |
| 1.1 | Problemstellung | 5 |
| 1.2 | Ziel und Gang der Arbeit | 6 |
| 2. | Verteilte Anwendungen | 8 |
| 2.1 | Das Client/Server Modell | 10 |
| 2.2 | Remote Procedure Call (RPC) | 11 |
| 2.3 | Middleware | 14 |
| 2.3.1 | Von Objekten zu Komponenten | 14 |
| 2.3.2 | Grundlagen für Middleware | 15 |
| 2.3.3 | Message-Oriented-Middleware (MOM) | 18 |
| 2.4 | Web Services | 20 |
| 2.4.1 | Dienstorientierte Architektur (SOA) | 23 |
| 2.4.2 | SOAP | 27 |
| 2.4.3 | Web Service Description Language (WSDL) | 29 |
| 2.4.4 | Universal Description, Discovery and Integration | 33 |
| 3. | Verteilte Anwendungen mit Java | 34 |
| 3.1 | Java Messaging Service (JMS) | 34 |
| 3.1.1 | Message-Driven-Beans | 34 |
| 3.1.2 | Java Naming and Directory Service (JNDI) | 36 |
| 3.1.3 | JMS-Clients | 37 |
| 3.2 | Web Services mit Java | 41 |
| 3.2.1 | Java API for XML Parsing (JAXP) | 41 |
| 3.2.2 | Java API for XML Binding (JAXB) | 42 |
| 3.2.3 | SOAP with Attachments API for Java (SAAJ) | 43 |
| 3.2.4 | Java API for XML Messaging (JAXM) | 44 |
| 3.2.5 | Java API for XML Remote Procedure Call (JAX-RPC) | 46 |
| 3.2.6 | Java API for XML Registry (JAXR) | 48 |
| 3.2.7 | Apache Axis | 49 |
| 4. | Anforderungsanalyse | 50 |
| 4.1 | Einführung | 50 |
| 4.2 | Was ist ein Use Case? | 51 |
| 4.3 | Das Planungs-System im Fachbereich WI | 55 |
| 4.4 | Der Weg zu einem vollständigen Klausurenplan | 56 |
| 5. | Exemplarische Implementierung | 70 |
| 5.1 | Eckpfeiler der Planung | 70 |
| 5.2 | Implementierung mit Hilfe von JMS | 72 |
| 5.2.1 | Installation von OpenJMS | 72 |
| 5.2.2 | Anwendungsbeispiel | 75 |
| 5.2.3 | Gesammelte Erfahrungen bei der Implementierung | 85 |
| 5.3 | Implementierung mit Hilfe von Web Services | 88 |
| 5.3.1 | Installation von Apache Axis | 88 |
| 5.3.2 | Anwendungsbeispiel | 95 |
| 5.3.3 | Gesammelte Erfahrungen bei der Implementierung | 97 |
| 5.4 | Bewertung der Implementierungen | 99 |
| 6. | Zusammenfassung und Ausblick | 104 |
| 7. | Appendix | 105 |
| 7.1 | Inhalt der Begleit-CD | 105 |
| 7.2 | Abkürzungsverzeichnis | 106 |
| 7.3 | Abbildungsverzeichnis | 107 |
| 7.4 | Quellenverzeichnis | 108 |
Jedes Semester schreiben Studenten Klausuren oder legen andere Prüfungsleistungen ab, indem sie zum Beispiel an Projekten teilnehmen. An der FH OOW liegt die Hauptklausurenzeit, in der üblicherweise alle Klausuren geschrieben werden, am Ende des jeweiligen Semesters. Je nach Fachbereich kann es sich um sehr viele Prüfungsfächer handeln, weswegen die Klausuren mit Hilfe eines dafür entwickelnden System geplant werden. Projekte finden meist im Laufe des Semesters, neben den regulären Vorlesungen, statt und müssen deswegen nicht bei der Erstellung eines Klausurenplans berücksichtigt werden. Da während einer Klausur nur bestimmte Hilfsmittel zugelassen sind, werden die Studenten neben dem Prüfer von einer weiteren Person beaufsichtigt. Diese Aufgabe übernehmen die Wissenschaftlichen Mitarbeiter der FH. Jeder Wissenschaftliche Mitarbeiter hat pro Semester ein gewisses Kontingent an Stunden, in denen er die Aufsicht für Klausuren übernehmen muss. Die Anzahl der zu leistenden Stunden ist unter anderem von der Anzahl der Wochenstunden in seinem Arbeitsvertrag abhängig. [...]
Verteilte Anwendungen mit Java 3.2.7. Apache Axis56 Apache Axis, ein Projekt der Apache Software Foundation57, ist eine OpenSource-Implementierung des Web Services Standards SOAP und bietet JAXRPC- und SAAJ-Konformität und WSDL-Unterstützung über CodeGeneratoren. Die Axis-Distribution enthält neben den Bibliotheken für die Erstellung von Clients einen Server in Form einer Web-Anwendung, Tools für die Darstellung (Monitoring) von SOAP-Nachrichten und WSDL-Werkzeuge für die Code- und WSDL-Generierung (Java2WSDL und WSDL2Java). Obwohl die Distribution auch einen Standalone-Server beinhaltet, wird der Einsatz in Verbindung mit einem Web Container wie dem Tomcat58 empfohlen, da der Standalone-Server ursprünglich nur für Testzwecke entworfen wurde. Axis bietet die Unterstützung für HTTP, FTP, JMS oder SMTP als Transportprotokoll und enthält Erweiterungen für Sicherheit wie HTTPSKommunikation mit JSSE59 oder Apache XML-Security60. Weiterhin bietet Axis die Möglichkeit Enterprise JavaBeans als Web Services zu nutzen. [...]
Verteilte Anwendungen mit Java 3.2.6. Java API for XML Registry (JAXR)54 JAXR stellt ein High-Level-API zur Verfügung, die den Entwickler in die Lage versetzt, auf verschiedene Registrierungsstellen wie UDDI oder das ebXMLRegistry/Repository zuzugreifen. JAXR ist ein abstraktes API, das von verschiedenen Providern implementiert werden kann. Für JAXR sind verschiedene Rollen definiert. Ein JAXR-Client ist eine Applikation, die JAXR verwendet, um auf einen Registry-Provider zuzugreifen, während ein JAXR-Provider eine Implementierung des JAXR-API zur Verfügung stellt, um die JAXR-Aufrufe in die eigentlichen registry-spezifischen SOAP-Aufrufe zu übersetzen. Der Registry-Provider ist die Implementierung einer Registry-Spezifikation, wie UDDI oder ebXML-Registry. Eine Implementierung von UDDI stellt z.B. das Open Source Projekt jUDDI55 von Apache dar. [...]
In den Warenkorb
74,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832428983
Arbeit zitieren:
Felski, Darius November 2004: Gegenüberstellung verschiedener Implementierungen einer verteilten Anwendung im Prüfungswesen auf Basis von SOAP und JMS, Hamburg: Diplomica Verlag
Schlagworte:
Apache Axis, Java Message Service, Web Service, Middleware, JAX-RPC




