|
© EDV Team Süd GmbH |
||
|
Datenbanklösung auf Basis Microsoft-SQL Server „Die Erfahrung unseres Entwicklerteams garantiert den Erfolg Ihres Projektes"
|
||
Projekt
Wir haben verschiedenste Projekte im Windows2000 Server- Umfeld auf Basis Microsoft SQL-Server entwickelt, als Beispiel ist die Architektur unseres Produktes etspuka dargestellt, dabei speziell der Zugriff von Benutzerarbeitsplatz mit Browser auf die MS-SQLServer2000 Datenbank.
Komponentenübersicht
Das Gesamtsystem gliedert sich wie folgt:
Clientkomponenten
Benutzerarbeitsplatz mit Browser
Handelsüblicher PC mit Windows und einem Browser Microsoft-InternetExplorer oder Netscape. Sichere Datenübertragung durch 128-bit–SSL-Verschlüsselung im Browser.
Serverkomponenten
Webserver
Microsoft Internet Information Server (IIS)
Der Internet Information Server liefert den Einstiegspunkt für jeden aus dem Internet oder Intranet kommenden Client, der durch Aufruf einer entsprechenden URL in einem Internet Browser bestimmte Transaktionen ausüben möchte.
Der Internet Information Server erhält von einem Client den entsprechenden Request-Stream (z.B. Anmeldung) via HTTPS (Zertifikats-gesicherte 128-bit-SSL-Verschlüsselung), Nachdem die entsprechenden ASP-Komponente diesen Request-Stream als korrekt validiert hat, konvertiert er diesen Stream über einen XML-Handler in eine entsprechende XML-Datei und leitet diese an den Transaction-Server weiter, auf dem sie in eine gültige Hosttransaktion umgewandelt und an die Host zur weiteren Verarbeitung geschickt wird. Der Hauptgrund für die Verwendung des XML-Formates zwischen ASP-Web- und TransactionServer liegt darin, dass dieses zukunftsweisende Format insbesondere bei der Host-Response besonders leicht durch ASP-Seiten verarbeitet werden kann.
Weitere Vorteile der ASP-Technologie :
- Geschützter Aufruf der Anwendungsseiten: Ein Benutzer kann nur die Anwendungsseiten ausführen, nachdem er sich ordentlich beim System authentifiziert hat. (Dies wird durch eine Sessionvariable angezeigt, die nur gesetzt ist, wenn die Framestruktur existiert! Im Falle eines nicht ordentlichen Aufrufs wird zur Defaultseite umgelenkt, die dann für das ordentliche Laden der Framestruktur sorgt).
|
|
- Wechseln zu einer anderen Seite außerhalb der Anwendung: nachdem sich der User am System angemeldet hat, wird die aktuelle Session beendet. Somit muss sich der Benutzer erneut beim System anmelden, wenn er die Anwendungsseiten ausführen möchte. - Automatisches Abmelden: Falls der Benutzer eine bestimmte festgesetzte Zeit keine Aktionen ausführt, wird automatisch seine Session beendet und somit vom System abgemeldet! - Mehrmaliges Starten der Anwendung: Für die Sicherheit der Anwendung sollte auf jedem PC nur eine Instanz der Anwendung laufen. Wenn ein Benutzer die Anwendung das zweite Mal startet, navigiert die Anwendung zu der Fehlerseite, die kurz die Gründe für dieses Verhalten nennt.
Server
Eine unter dem IIS laufende ISAPI-DLL nimmt den XML-Request vom Webserver via HTTP entgegen und übergibt diesen einem unter dem Microsoft-Transaction-Server (MTX) laufenden COM-Objekt „BusinessRules“. (Alternativ ist auch die direkte DCOM-Verwendung dieses COM-Objektes innerhalb der entsprechenden ASP-Seite auf dem Webserver möglich. Dies bedingt allerdings eine Freigabe des entsprechenden DCOM-Ports in der Firewall II)
In diesem COM-Objekt erfolgt nach dem Parsen/Valideren der XML-Datei die Verarbeitung serverseitig, die Datenbankzugriffe inklusive Fehlerhandling, danach erfolgt die XML-Formatierung und die Daten werden an die rufende ASP-Seite zurückgeliefert.
DBMS (Datenhaltung)
Als Datenbank Mangement System kam der Microsoft SQL Server 2000 zum Einsatz. Da die einzelnen Komponenten aufeinander abgestimmt sind (WWW-, Transaction- und SQL-Server), ermöglicht dieses relationale Datenbanksystem eine schnelle und kostengünstige Entwicklung. Bei der Datenmodellierung wurde Wert darauf gelegt, dass keine redundanten Daten gespeichert werden. Hierdurch und durch den sinnvollen Einsatz von Indizes ist eine deutliche Leistungssteigerung zu erzielen und selbst mit grossen Datenmengen kann performant mit dem System gearbeitet werden. Bei grösseren Abfragen wurde mit Stored Procedures gearbeitet um eine noch bessere Skallierung des Gesamtsystems zu erreichen. Der Datenbankzugriff erfolgt ausschließlich über ADO (Active Data Objects), eine objektorientierte, zukunftsweisende Methode um schnell und sicher mit dem SQL-Server zu kommunizieren. Die Möglichkeit, mehrere Instanzen vom SQL-Server auf einem physischen Server zu fahren ist ein wichtiges Feature, um unser etspuka Hosting Angebot zu betreiben. Hierfür kann für jeden Kunden ein eigener SQL-Server Prozess (Instanz) eingerichtet werden, der unter einem separaten Benutzeraccount läuft. Dieses vorgehen erfüllt auch die sensibelsten Datenschutzbestimmungen, da der Datenbestand komplett von der restlichen Umgebung abgeschottet ist.
|