Lade Inhalt...

Betrachtung der Schnittstellen zwischen Geschäftslogikschicht und Datenhaltungsschicht einer Drei-Schichten-Architektur mit Hilfe von Entwurfsmustern

Hausarbeit 2011 21 Seiten

Informatik - Software

Leseprobe

Inhaltsverzeichnis

Abkürzungsverzeichnis

Abbildungsverzeichnis

1 Einleitung

2 Grundlagen
2.1 Schichtenarchitektur
2.2 Drei-Schichten-Architektur
2.2.1 Präsentationsschicht
2.2.2 Geschäftslogikschicht
2.2.3 Datenhaltungsschicht
2.3 Entwurfsmuster

3 Datenaustausch zwischen Geschäftslogikschicht und Datenhaltungsschicht
3.1 Entwurfsmöglichkeiten für die Geschäftslogikschicht
3.1.1 Transaction Script
3.1.2 Domain Model
3.1.3 Table Module
3.2 Entwurfsmöglichkeiten für die Datenhaltungsschicht
3.2.1 Identity Map
3.2.2 Lazy Load

4 Fazit

Literaturverzeichnis

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

Abbildungsverzeichnis

Abbildung 1: Beispiel für Transaction Script

Abbildung 2: Beispiel für Domain Model

Abbildung 3: Datenzugriff mit Identity Map

Abbildung 4: Datenzugriff mit Lazy Load

1 Einleitung

In der vorliegenden Hausarbeit findet eine Betrachtung der Schnittstellen zwischen Geschäftslogikschicht und Datenhaltungsschicht einer Drei-Schichten-Architektur statt. Ein besonderes Augenmerk liegt dabei auf der Betrachtung der verschiedenen Einsatzmöglichkeiten von Entwurfsmustern. Dabei wird aufgezeigt, welche Implementierungsmöglichkeiten und Funktionsweisen für Entwurfsmuster, in den beiden Schichten Geschäftslogikschicht und Datenhaltungsschicht, existieren. Das Ziel dieser Arbeit ist es jedoch nicht zu zeigen, welches das beste Entwurfsmuster generell ist. Da es immer situationsabhängig ist, welches Entwurfsmuster sich am ehesten eignet.

In der aktuellen wirtschaftlichen Lage ist es von enormer Bedeutung, dass ein Unternehmen, welches Software entwickelt, mit den entsprechenden Tools und Werkzeugen ausgestattet ist, um mit der Konkurrenz mitzuhalten. Dies beginnt schon bei dem Entwurf einer Anwendung. Denn in der heutigen Zeit genügt es nicht nur die Produktanforderungen umzusetzen. Die wichtigsten Punkte in der Software-Entwicklung, aber auch in anderen Projekten, sind die Komponenten Zeit, Kosten und Qualität. Nur wenn diese drei Komponenten miteinander harmonieren, ist es möglich, als Unternehmen konkurrenzfähig zu bleiben. Um dieses Ziel zu erreichen, ist es von enormer Bedeutung, dass Punkte wie Änderbarkeit bzw. Wartbarkeit, Wiederverwendbarkeit und Performanz ganz oben auf der Agenda stehen. An dieser Stelle kommen die bereits genannten Tools, wie zum Beispiel Entwurfsmuster, zum Einsatz.

Um eine Antwort auf diese Kernfrage der Hausarbeit zu erhalten, welche Einsatzmöglichkeiten von Entwurfsmustern im Bereich der Geschäftslogikschicht und der Datenhaltungsschicht existieren und wie diese funktionieren, werden zunächst die Grundlagen erklärt. Dazu zählen Begriffe wie Schichtenarchitektur, Drei-Schichten-Architektur und Entwurfsmuster. Im Anschluss wird detailliert auf die unterschiedlichen Entwurfsmuster der Geschäftslogikschicht und der Datenhaltungsschicht eingegangen. In diesen Kapiteln werden die verschiedenen Einsatzmöglichkeiten und die Funktionsweisen aufgezeigt. Das Fazit bildet den Abschluss dieser Arbeit, in dem die Ergebnisse dieser Arbeit kritisch betrachtet werden.

2 Grundlagen

In dem folgenden Kapitel werden zunächst grundlegende Punkte behandelt, die im Laufe dieser Arbeit eine wichtige Rolle spielen. Neben der Schichtenarchitektur im Allgemeinen werden die Begriffe Drei-Schichten-Architektur und Entwurfsmuster erklärt, die zum allgemeinen Verständnis der Arbeit dienen sollen.

2.1 Schichtenarchitektur

Das Schichtenmodell gehört zu den beliebtesten und den am meist verbreitetesten Architekturstilen in der Software-Entwicklung. Das Ziel dieses Architekturprinzips ist es, die Komplexität eines Software-Systems möglichst zu reduzieren und damit beherrschbar zu machen. Dazu wird eine Software-Anwendung, bereits bei der Planung, in unterschiedliche Schichten unterteilt. Jede Schicht, die auch als Layer oder Tier bezeichnet wird, übernimmt dabei eine klar definierte Rolle. So bietet jede Schicht beispielsweise den darüberlegenden Schichten eine Menge von Diensten an und verwendet dabei wiederum Dienste der darunterliegenden Schicht. Aufgrund der großen Beliebtheit dieses Modells existiert bereits eine Vielzahl von Entwicklungsframeworks (u. a. Java-Enterprise, Microsoft.NET) die auf Schichtenmodellen basieren. Mit dem Einsatz eines Schichtenmodells und dem Bilden von Schichten sind jedoch auch Regeln verbunden, die eingehalten werden müssen.[1],[2] Bei dem Einsatz einer Schichtenarchitektur sind folgende Punkte zu beachten:[3]

- Eine Schicht verbirgt sowohl darunterliegende Schichten als auch die interne Komplexität. Untere Schichten konzentrieren sich meistens auf die Technik, während obere Schichten eher den Fokus auf die Benutzerschnittstelle legen.
- Top-down-Kommunikation, d. h., Komponenten der höheren Schicht verwenden Dienste der unteren Schicht und nicht umgekehrt.
- Komponenten innerhalb einer Schicht sind von ähnlichem Abstraktionsgrad (z. B. Komponenten in der Daten-Schicht konzentrieren sich um Persistenz)
- Das Design einer Schicht soll eine lose Koppelung zu anderen Schichten ermöglichen.
- Die Kommunikation zwischen den Schichten erfolgt über klar definierte Schnittstellen und Protokolle.

Der Grund für den häufigen und beliebten Einsatz dieses Architekturmodells liegt in der Einfachheit und der klaren Verständlichkeit des Ansatzes. Aufgrund der Unterteilung in die verschiedenen Schichten lassen sich eigenständige Programmkomponenten entwickeln, ohne notwendigerweise die Gesamtarchitektur zu kennen. Ebenso lassen sich diese einzelnen Komponenten austauschen, ohne das gesamte Projekt zu gefährden oder zu beeinflussen. Somit ist eine strukturelle als auch organisatorische Trennung der einzelnen Bereiche möglich.[4]

2.2 Drei-Schichten-Architektur

Die Drei-Schichten-Architektur, auch 3-Tier genannt, ist eine Möglichkeit das Schichtenmodell anzuwenden. Diese Form der Schichtenmodellierung hat sich in den letzten Jahren immer mehr durchgesetzt und ist zu einem Standardmodell für heutige Software-Systeme geworden. Man findet diese vor allen in Bereichen, in denen interaktive Informationssysteme eingesetzt werden.[5] Die Drei-Schichten-Architektur wird dabei in folgende Schichten unterteilt:[6]

- Präsentationsschicht
- Geschäftslogikschicht
- Datenhaltungsschicht

In den folgenden Abschnitten werden die verschiedenen Schichten und deren Funktion innerhalb einer Drei-Schichten-Architektur detailliert erläutert.

2.2.1 Präsentationsschicht

Auf der obersten Ebene der Drei-Schichten-Architektur befindet sich die Präsentationsschicht. Diese Schicht wird im allgemeinen Sprachgebrauch auch als GUI-Schicht (GUI: graphical user interface) oder Benutzungsoberfläche bezeichnet. Sie ist das Bindeglied zwischen Benutzer und Anwendung und für die Interaktion zwischen diesen beiden zuständig. Zu den Hauptaufgaben dieser Schicht gehört zum einen die Präsentation von Daten in Fenstern oder Berichten und zum anderen die Dialogführung.[7],[8] Die einzelnen Komponenten zur Dialogführung wie zum Beispiel Buttons oder Eingabefelder beinhalten auch eine gewisse Logik für die Verarbeitung von Ergebnissen. So soll die Anwendung bei dem Betätigen eines Buttons oder einer Tastenkombination reagieren und eine bestimmte Aktion ausführen. Diese Logik sollte sich jedoch ausschließlich auf GUI-Komponenten beziehen und nicht darauf die Geschäftslogik zu implementierten.[9]

2.2.2 Geschäftslogikschicht

Die Geschäftslogikschicht oder auch Fachkonzeptschicht befindet sich auf der mittleren Ebene der Drei-Schichten-Architektur und modelliert den funktionalen Kern der Anwendung.[10] Auf dieser Ebene erfolgt die tatsächliche Abbildung der Kernfunktionalität des Systems in Form von Logik- und Serviceobjekten. Typische Funktionen dieser Schicht sind die Verarbeitung und die Aufbereitung von Daten für die Präsentationsschicht. In der Praxis kommt es häufig vor, dass bei komplexen Systemen die Geschäftslogikschicht zusätzlich noch in zwei weitere Schichten, eine Datenzugriffsschicht (Data Access Layer) und eine Serviceschicht, unterteilt wird. Die Datenzugriffsschicht wird dazu verwendet eine Menge von Datenzugriffsobjekten, sogenannte Data Access Objects (DAOs), der darunterliegenden Datenschicht abzubilden. Die Serviceschicht hat dadurch die Möglichkeit durch Servicekomponenten auf diese DAOs zuzugreifen, um Daten aus der darunterliegenden Schicht zu laden und zu speichern.[11]

2.2.3 Datenhaltungsschicht

Auf der untersten Ebene der Drei-Schichten-Architektur befindet sich die Datenhaltungsschicht. Mit Hilfe dieser Schicht wird die Datenspeicherung eines Systems realisiert. Die Datenhaltungsschicht stellt eine Menge an Datenquellen zur Verfügung, auf die aus der darüber liegenden Schicht zugegriffen werden kann. Typische Objekte in dieser Schicht sind objektorientierte oder relationale Datenbanken, in denen die Daten der Anwendung persistiert werden.[12],[13]

[...]


[1] Vgl. Rau (2007), S.181

[2] Vgl. Starke/Hruschka (2011), S.44

[3] Schatten et al. (2010), S. 211

[4] Vgl. Schatten et al. (2010), S. 212

[5] Vgl. Starke/Hruschka (2011), S.44

[6] Vgl. Balzert (1999), S.372

[7] Vgl. Rau (2007), S.181

[8] Vgl. Balzert (1999), S.372

[9] Vgl. Schatten et al. (2010), S. 214

[10] Vgl. Balzert (1999), S.372

[11] Vgl. Schatten et al. (2010), S. 214

[12] Vgl. Rau (2007), S.182

[13] Vgl. Schatten et al. (2010), S. 214

Details

Seiten
21
Jahr
2011
ISBN (eBook)
9783656139751
ISBN (Buch)
9783656139607
Dateigröße
718 KB
Sprache
Deutsch
Katalognummer
v189637
Institution / Hochschule
FOM Essen, Hochschule für Oekonomie & Management gemeinnützige GmbH, Hochschulleitung Essen früher Fachhochschule
Note
2,0
Schlagworte
schnittstellen geschäftslogikschicht datenhaltungsschicht drei-schichten-architektur hilfe entwurfsmustern Schichtenarchitektur pattern lazy load Entwurfsmuster Transaction Script Domain Model Table Module Identity Map Geschäftslogik Datenaustausch Datenhaltung Präsentationsschicht Zeit Kosten Qualität Tools Programmierung Objektorientiert Java JEE J2EE Enterprise Session Änderbarkeit Wartbarkeit Wiederverwendbarkeit Performanz Funktionsweise Software-System Software-Anwendung Schicht Tier Entwicklungsframeworks Framework Komplexität

Autor

Teilen

Zurück

Titel: Betrachtung der Schnittstellen zwischen Geschäftslogikschicht und Datenhaltungsschicht einer Drei-Schichten-Architektur mit Hilfe von Entwurfsmustern