
Bücher zum Thema:

|
|
http://www.glossar.de/glossar/z_mts.htm
Abkürzung für "Microsoft Transaction Server" Technologie für
verteilte Anwendungen mit entsprechendem Performancegewinn.
Durch den immer stärkeren Einsatz eines Extranets oder des Internets für
geschäftskritische Anwendungen sind die Anforderungen an Programme immens gestiegen.
Anwendungen müssen
- rund um die Uhr verfügbar sein (24 Stunden, sieben Tage die Woche),
- auch Tausende von Benutzern zuverlässig verarbeiten
- und natürlich dürfen die Antwortzeiten trotz allem nicht zu lang werden.
Um viele dieser Probleme zu lösen, hat Microsoft 1996 den Microsoft Transaction Server
(MTS) vorgestellt - ursprünglicher Codename "Viper".
Das Elementarste, das der MTS voraussetzt, ist eine "Drei-Schichten-Architektur
(three-tiered-architecture). Dies bedeutet, daß eine Anwendung nicht mehr einfach nur
eine ausführbare EXE-Datei ist, die alles in sich vereint, sondern aus mindestens drei
Teilen besteht. (Sind es mehr, spricht man von einer n-Tiered Architektur.) Die einzelnen
Schichten teilen sich die Arbeit und diese Trennung ermöglicht es sogar, bei Bedarf jeden
Teil der Anwendung auf einem eigenen Computer auszuführen, so dass das Programm von drei
Computern bearbeitet wird (anstatt von einem). Neben dem möglichen
Geschwindigkeitszuwachs erlaubt die Drei-Schichten-Architektur ein Mitswachsen der
Anwendung: Am Anfang eines Projekts werden z.B. noch alle Schichten auf einem einzigen
Computer ausgeführt. Läuft das Projekt gut und steigt die Benutzerzahl an, werden die
Schichten auf verschiedene Computer verteilt. Nicht zu vergessen ist auch der Vorteil der
Wiederverwendbarkeit: Liegt ein Programm erst einmal in einer verteilten Struktur vor,
können andere Programme sehr leicht auf Komponenten zugreifen. Die wichtigesten Schichten
sind:
- Eine Präsentationsschicht (Frontend oder Client) mit den
Benutzerdiensten. Unter Windows sind das beispielsweise die Fenster, in denen der Benutzer
Daten eingibt.
- Eine Applikationsschicht (Business Objects Tier, Businesslogik oder
Middletier) mit den Geschäftsdiensten; hier kaufen die eigentlichen Programme. Die
Applikationsschicht stellt die Logik des Programms dar, z.B. kann sie überwachen, dass
keine Stückzahl an das System weitergereicht wird, die kleiner "0" ist. Der MTS
wurde speziell zur Verwaltung von Applikationsschicht-COM-Komponenten
entwickelt. Wenn also von Businesslogik, Middletier oder Applikationsschicht die Rede ist,
dann sind damit immer unter MTS laufende COM-Komponenten gemeint.
- Eine Datenzugriffsschicht (Data Access oder Backend), die für das
Bereitstellen und Abspeichern der Daten zuständig ist. Hierfür wird i.A. eine Datenbank
wie der SQL Server oder Oracle eingesetzt werden.
Übrigens: mehrschichtige-Software-Architektur ist keine neue Erfindung: Auch in einem
altehrwürdigen zweischichtigen Client-Server-System
greift z.B. eine Terminal-Software auf eine SQL-Datenbank
zu, die im Netzwerk liegt..
Besonders im Rahmen des MTS wird gerne diskutiert, in welcher der Schichten sich das
eigentliche Programm befindet. Als Beispiel sei die Überprüfung angeführt, ob eine
eingegebene Stückzahl gradzahlig und größer als Null ist: Die Überprüfung kann
- direkt im Client abgefangen werden (Beispiel aus der Web-Technik: per Java-Skript auf der Browser-Seite),
- die Applikationsschicht könnte es verhindern (durch ein auf dem Web-Server laufendes CGI- oder PHP-Skript)
- oder aber die Datenbank lässt es nicht zu.
Genauso gut ist es aber möglich, dass weder die Datenbank noch der Client sich um
dieses Detail kümmern, lediglich die Applikationsschicht kümmert sich um dieses Detail.
Das jeweilige Vorgehen hängt letztendlich von den Personen ab, die ein solches Programm
entwickeln: Ist beispielsweise einen versierter Datenbankadministrator (DBA) verfügbar,
der auch schon bisher sehr komplexe Datenbanken entwickelt hat, so sollte doch ein großer
Teil der Logik in die Datenbank verlagert werden! Die Applikationsschicht ist in einem
solchen Fall lediglich dafür zuständig, die Daten der Clients in SQL
zu übersetzen und an die Datenbank weiterzureichen.
Obwohl die Drei-Schichten-Architektur etliche Vorteile aufweist, sind auch einige
Probleme zu berücksichtigen. Das wohl größte besteht in der Geschwindigkeit der
Kommunikation der Schichten untereinander. Solange alle drei Schichten auf einem einzigen
Computer laufen, treten Geschwindigkeitsprobleme so gut wie überhaupt nicht auf. Sobald
sich jedoch die Schichten auf verschiedenen Computern befinden (und somit die gesamte
Kommunikation über das Netzwerk abläuft), verhält sich die Lage ganz anders.
|