Datenbankgestützte Lösungen

 

Datenbankgestützte Lösungen lassen sich mit verschiedenen Technologien auf unterschiedlichen Plattformen realisieren. Die Wahl der richtigen Datenbank hängt von verschiedenen Faktoren ab wie z. B. Verfügbarkeit, Leistung, Budget und anderen. Wir erstellen Lösungen mit kleineren, preislich günstigeren Datenbanken wie Interbase oder MS Access bis hin zu leistungsstarken, kommerziellen Datenbanken wie Oracle und MS SQLServer.

In der Entwicklung von Client-Server-Anwendungen liegt unsere Stärke und unsere grösste Erfahrung. Unser ständiges Bestreben nach optimaler Lastverteilung zwischen Client und Server sowie der Minimierung der Netzbelastung durch den Datenverkehr haben uns veranlasst, uns frühzeitig mit den neuesten Entwicklungen in diesem Bereich zu befassen - der Multi-Tier-Architektur.

Technische Beschreibung:

Client/Server

Bei der Entwicklung von Client/Server-Anwendungen verfolgen wir nachstehende Ziele:
  • Redundanzfreie Datenhaltung, Normalisierung zur 3. Normalform
  • Sicherstellung der Datenkonsistenz durch Relationen und programmiertechnische Massnahmen (Transaktionskontrolle)
  • Nutzung der Möglichkeiten des Datenbankservers für optimale Performance (optimiertes SQL, Views, Stored Procedures, Triggers)
  • Minimierung des Datenverkehrs zur Reduktion der Netzbelastung
  • Optimierung der Lastverteilung zwischen Client und Server
  • Realisierung datenschutztechnischer Massnahmen auf Ebene des Datenbankservers

Multi-Tier

Bei zweischichtigen Datenbankanwendungen (Client/Server) stellt eine Client-Anwendung die Benutzeroberfläche für den Datenzugriff zur Verfügung und interagiert direkt mit einem Datenbankserver. Das mehrschichtige Datenbankmodell (Multi-Tier) teilt eine Datenbankanwendung in mehrere logische Komponenten auf. Die Client-Anwendung ist nur für die Anzeige der Daten und die Verarbeitung der Benutzereingaben erforderlich. Sie besitzt und benötigt im Idealfall keinerlei Informationen zur Datenspeicherung und -verwaltung. Der Anwendungsserver (mittlere Schicht) koordiniert und verarbeitet Anforderungen und Aktualisierungen von mehreren Clients. Er ist für die Definition von Datenmengen und die Interaktion mit dem Remote-Datenbank-Server verantwortlich. Zur Herstellung der Verbindung zwischen Client-Anwendung und dem Anwendungsserver kann eine Vielzahl von Protokollen (TCP/IP, DCOM, HTTP...) verwendet werden. Die Client-Anwendung, der Anwendungs-Server und der Datenbankserver können sich auf getrennten Computern befinden (Lastverteilung). Nachstehend werden einige der Vorteile des mehrschichtigen Modells zusammengefasst:
  • Kapselung der Anwendungslogik (Business Rules) in der Mittelschicht.
  • Thin-Client-Anwendungen. Client-Anwendungen können extrem klein gehalten werden, indem der Grossteil der Verarbeitung an die Mittelschicht delegiert wird. Daraus ergibt sich der weitere Vorteil einer vereinfachten Weitergabe von Anwendungen, da keine Installation, Konfiguration und Wartung der Software zur Herstellung der Datenbankkonnektivität erforderlich ist.
  • Intranet/Internet Die Clientanwendung kann durch ein anderes Benutzerinterface, z. B. durch ein Webmodul, unter Beibehaltung der Programmlogik der mittleren Schicht, ersetzt werden.
  • Optimierte Unterstützung verschiedener Datenbankserver. Durch Erstellen mehrer optimal an verschiedene Datenbankserver angepassten mittlerer Schichten wird die Portierbarkeit der Anwendung, ohne Verzicht auf Nutzung der serverspezifischen Eigenschaften, gewährleistet.
  • Linux. Die mittlere Schicht kann auf einem Linux-Server installiert und ausgeführt werden.
  • Reduktion Netzbelastung. Der Datenverkehr zwischen der Client- und der Mittel-Schicht ist viel kleiner als zwischen der Clientanwendung und dem Datenbankserver einer 2-Schicht-Anwendung. Eine weitere Reduktion der Netzbelastung wird durch ein verzögertes Speichern der bearbeiteten Daten erreicht.
  • Verteilte Datenverarbeitung. Die Verteilung verschiedener Anwendungsoperationen auf mehrere Rechner kann die Leistung durch die bessere Lastverteilung erhöhen. Gleichzeitig können redundante Systeme aktiviert werden, wenn beispielsweise ein Server heruntergefahren werden muss (Ausfallsicherheit).
  • Aktenkoffermodell. Ein einschichtiges Modell kann zusammen mit einem mehrschichtigen Modell zum sogenannten "Aktenkoffer-Modell" kombiniert werden. In diesem Modell startet der Benutzer eine Client-Anwendung auf einem Computer und stellt über ein Netzwerk eine Verbindung zu einem Anwendungsserver auf einem Remote-Computer her. Der Client-Computer fordert Daten vom Anwendungsserver an und sendet Aktualisierungen zurück. Die Aktualisierungen werden durch den Anwendungsserver in eine Datenbank geschrieben, auf die vermutlich auch andere Clients einer Organisation zugreifen.
    Ein Beispiel für dieses Modell ist eine Firmendatenbank mit wichtigen Kontaktdaten, die von Vertretern unterwegs verwendet und aktualisiert werden können. Die Vertreter laden sich einige oder alle Datenbankinformationen herunter, bearbeiten diese während ihrer Reisen auf ihren Laptop-Computern und aktualisieren die Daten an bestehenden oder neuen Kundenstandorten. Nach ihrer Rückkehr werden die Änderungen in der Firmendatenbank gespeichert und können von allen Mitarbeitern verwendet werden. Die Fähigkeit der Offline-Datenbearbeitung und der späteren Online-Aktualisierung wird als Aktenkoffer-Modell bezeichnet.
 
Logo dataShare
  • dataShare GmbH
  • Kirchlistrasse 4
  • CH-9010 St.Gallen
  • Tel.: +41 71 246 30 65
  • e-mail: info@datashare.ch