Main | June 2008 »

May 2008 Archives

May 20, 2008

Hello World...

...oder besser Hello innoQ. Hier wird es in nächster Zeit eine Berichterstattung zu meiner Diplomarbeit geben. Schon mal vorab, das Thema lautet Massendatenverarbeitung mit Java EE. Alles weitere folgt in den nächsten Tagen...also packen wir es an!!!

Exposé

In meiner Diplomarbeit soll es um die Fragestellung gehen inwiefern sich mit der Java Enterprise Edition (Java EE) Massendatenverarbeitung bzw. Batch-Läufe umsetzen lassen? Das Thema lautet

Massendatenverarbeitung mit Java EE

Massendatenverarbeitung oder Batch-Verarbeitung, also die sequentielle, nicht interaktive Bearbeitung von Aufgaben stammt aus der Anfangszeit der Datenverarbeitung als eine interaktive Verarbeitung von Daten noch nicht möglich war. Bis heute hat sich diese Begrifflichkeit gehalten, aber die Verarbeitungsweise grundlegend geändert. Angefangen von Lochkarten über Magnetbänder und prozedural Programmierte (Cobol PL/I) Batch-Systeme bis zur heutigen objektorientierten Technologie hat die Massendatenverarbeitung viele Technologien durchlebt und wird auch weiterhin in kommenden Technologien Berücksichtigung finden.

Die bevorstehende Arbeit soll die Möglichkeiten der Erstellung von Batch-Systemen mit der objektorientierten Java Technologie darstellen. Neben der theoretischen Erläuterung, welche auch ältere Diplomarbeiten mit der gleichen Thematik einbeziehen wird, soll auch praktisch anhand eines Beispiels gezeigt werden wie eine konkrete Java-Implementierung eines Batch-Systems aussehen kann. Dabei soll eine Vielzahl von Möglichkeiten, die Java EE bietet, erläutert werden. Neben dem Einbezug der unterschiedlichen Bean Arten (Session Beans, Message Driven Beans, Entity Beans) soll auch die Verwendung von Timer Beans, Interceptoren, Entity Listenern, EJB QL und Threads betrachtet werden. Ein besonderes Augenmerk soll auf die Möglichkeiten der Parallelverarbeitung gerichtet werden. Denn neben den zu erfüllenden ACID-Eigenschaften soll die Massendatenverarbeitung vor allem eine dem Zweck angemessene Performance in Bezug auf die Verarbeitungsgeschwindigkeit haben. Hier können u.a. mit der Parallelverarbeitung im Zusammenhang mit den zur Verfügung stehenden Ressourcen gute Ergebnisse erzielt werden.

Im auszuarbeitenden Beispiel soll es um die periodenweise Verarbeitung von Gehaltsdaten gehen. Mitarbeiter eines Unternehmens erhalten monatlich Ihr Gehalt, welches sich aus verschiedenen Positionen zusammensetzt. Die Abrechnung jedes Mitarbeiters soll aus den vorliegenden einzupflegenden Daten in einem Massendatenverarbeitungsprozess generiert werden. Darüber hinaus sind die Werte zu ermitteln, die ein Unternehmen für seine Angestellten an die zuständigen Behörden abzuführen hat.

Bei der Arbeit mit Java EE stellt sich immer die Frage in welchem Applikationsserver die Enterprise Anwendung laufen soll. In der bevorstehenden Arbeit wird der von SUN Microsystems entwickelte Applikationsserver verwendet, der auch unter dem Namen GlassFish bekannt ist. Als Entwicklungsumgebung wird die NetBeans IDE in der Version 6.0 verwendet werden. Als Datenbank wird eine MySQL-Datenbank in der Version 5.0.51a eingesetzt. Ein Umstieg auf eine andere Open Source oder proprietäre Datenbank sollte mit Hilfe der Java Persistence API allerdings bis auf kleinere Ausnahmen wie Primärschlüsselgenerierung problemlos möglich sein.

Provisorische Gliederung


Der ein oder andere Punkt wird der Gliederung sicherlich noch ergänzt werden:


1. Einleitung
1.1. Motivation

u.a. Bezug zu meiner Projektarbeit, Anforderungen an Unternehmen, neue Technologien

1.2. Beschreibung der Thematik
Historie der Massendatenverarbeitung und Java EE

1.3. Zielsetzung
Effiziente Massendatenverarbeitung am Beispiel, Erläuterungen zu Java EE

1.4. Vorgehensweise
Siehe nächste Kapitel

2. Anforderungen an die Massendatenverarbeitung
Aufstellen von Thesen, was zu beachten ist

2.1. Funktionale Anforderungen
Unternehmensprozesse unterstützen und lösen

2.2. Nichtfunktionale Anforderungen
Technische Aspekte

3. Umsetzung der Massendatenverarbeitung
3.1. Fallstudie: Gehaltsabrechnungssystem
Pflichtenheft zur Fallstudie

3.2. Interceptoren zur Leistungsmessung
Möglichkeiten zur Messbarkeit der Leistung

3.3. Datenbankschicht über Entity Beans
Erläuterungen zu Entity Beans am konkreten Beispiel

3.4. Geschäftslogik über Session Beans
Erläuterungen der anderen Beanarten am konkreten Beispiel

3.5. Möglichkeiten der Batch-Initialisierung
u.a. TimerService

3.6. Parallelverarbeitung mit Message Driven Beans
Erklärung zu Kommunikation und Verbesserung der Verarbeitungsgeschwindigkeit

3.7. Parallelverarbeitung mit Threads
Erläuterung eines anderen Weges zur Verbesserung der Verarbeitungsgeschwindigkeit 

4. Fazit und Ausblick

May 28, 2008

Datenbankschema

Hier eine Grafik von meinem Datenbankschema. Die meisten Relationen sind 1:1 Beziehungen. Die 1:m Beziehungen sind alle unidirektional. Eventuell kommt noch die ein oder andere Klasse bzw. Attribut hinzu.

Kurze Beschreibung:
Zu einem Mitarbeiter gehören verschiedene Angaben wie Name, Geburtsdatum, Steuerklasse etc.. Jeden Monat erhält ein Mitarbeiter einträge auf seinem Überstundenkonto und in seiner Zulagenliste. Aus all diesen Angaben wird dann für jeden Mitarbeiter eine monatliche Entgeltabrechnung erstellt, die das Bruttoeinkommen, die Abzüge und den Überweisungsbetrag enthält.

Datenbankschema.png

About May 2008

This page contains all entries posted to Massendatenverarbeitung mit Java EE in May 2008. They are listed from oldest to newest.

June 2008 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.31