Client / Server Architektur Datenbanken Client / Server Architektur
Diese Schulung dient dem allgemeinen Verständnis zur Entwicklung von Anwendungen basierend auf der Client / Server Architektur
Themenübersicht Begriffsdefinition Client/Server Anwendungsarchitekturen Technische Aspekte für C/S Anwendungen Client-Server Datenbanken SQL Standard SQL Erweiterungen Server Administration Client-Server mit VFP
Begriffsdefinition C/S Verteilung von Aufgaben auf mehrere Anwendungen Zusammenarbeit von Anwendungen auf einem oder mehreren Computern Klassische Definition Server stellt CPU und Speicher Client übernimmt Auswertung und Präsentation
Ziele von Client-Server Reduzierung von Kosten Interoperabilität (LAN, WAN) Portabilität (diverse Systeme) Skalierbarkeit Kürzere Entwicklungszeiten Integration von Anwendungen
Anwendungsarchitekturen Client-Server Architekturen 3-Ebenen Architektur (3-Tier) 5-Ebenen Architektur (Samba) Mehrebenenarchitektur
Client-Server Architekturen Präsentation Bildschirmanzeige Anwendungsfunktionen Geschäftsregeln Vorgangssteuerung Datenmanagement Datenzugriff Datenspeicherung
Client Server Architekturen Distributed Presentation Remote Presentation Distributed Function Remote Data Mgmt. Distributed Data Mgmt. Presentation Presentation Application Function Presentation Application Function Presentation Data Management Application Function Presentation Netzwerk Data Management Application Function Presentation Data Management Application Function Data Management Application Function Data Management Data Management
Drei Ebenen Architektur Kommuniziert mit dem Anwender und nimmt Dienste der Businessebene in Anspruch Präsentation Führt die Geschäftsregeln aus, verwaltet Prozeßinformationen und managt Transaktionen Businessebene Datenbankmanagementsystem der die Daten bereitstellt, z. Bsp. aus dem Internet abholt Datenmanagement
Dienste und Datenlogik 5 Ebenen-Modell Präsentation HTML, Terminals, Windows geräteabhängige Darstellung Dialogsteuerung Geräteunabhängige Steuerung und Koordinierung Benutzerdialog Anwendungsspezifische Steuerungs- und Verwaltungsfunktionen, Teile der Business Logik Anwendungslogik Dienste und Datenlogik Datenselektion und -manipulation E-Mail, Drucken, Mailing Datenzugriff Verbindung zum DBMS
C/S Kommunikation Klassische C/S-Kommunikation C/S Komponenten Client Server Verteilte Prozesse DCOM DNA CORBA
Klassisches C/S Prinzip Server Operating System Back-End “Server” Component Client Operating System Front End „Client“ Component
C/S Kommunikation Client / Middle Tier Server TDS Application SQL Server ADO OLE/DB ODBC DBLib Open Data Services NetLib Netlib TDS
Windows DNA Datenbank Server Mail/Groupware Server Middle-tier Server Mainframe Systeme Middle-tier Server Business Rules Transaction Logic Components Web Services Connection and Integration Services, etc... Open protocols (HTTP, LDAP, etc.) Common Infrastructure Services Security, Directory, Delivery Services Systems Management, H/W independence, etc. Thin Client PC Client Mobile Client
Client-Server Datenbanken Datenbanken allgemein Merkmale eines Server DBMS SQL Standard Administration Client-Server mit VFP Unterschiede SQL92 / VFP
Datenbanken allgemein Hierarchische Datenbank IMS Relationale Datenbank enthalten normalerweise SQL DB2, Oracle, Informix, SQL Server Objektorientierte Datenbank GemStone, ObjectStore
Merkmale eines Server DBMS Multi-User fähig Security Backup and Recover Transaktionen Integritätschecks, Logs Management Console Tuning-Optionen
SQL Standard SQL 89 vs. 92, SQL 3 Data Definition Data Manipulation Cursor Operations Views Security and Integrity Recovery and Concurrency Schemas and Catalogs Sessions and Connections
SQL Standards SQL 89 SQL 92 Basis für viele Implementationen Keine Domains rudimentäre DDL SQL 92 Erweiterte DDL Erweiterte Datentypen Dynamic SQL
Data Definition Statements Objekte Constraints create, alter, drop Domains Tabellen Views Schemas (Create, Drop) Constraints
Data Manipulation Statements Objekte SELECT INSERT UPDATE DELETE Tabelle View
Views Sichten auf Tabellen Updatable create view <name> as ... keine Aggregationen Single Table CHECK Option Vererbung
Sicherheit und Integrität Referentielle Integrität deklarativ Validierungen (Constraints) Privilegien und Zugriffsregeln Transaktionen
SQL Erweiterungen Herstellerabhängig Dynamic SQL Datentypen SQL Statements, Verhalten Funktionen, (System)Variablen Stored Procedures Referentielle Integrität, Trigger Views (updateverhalten) Zugriffsregelungen
Administration Datenbankmedien Sicherungsmedien Datenbanken Benutzerverwaltung Lockingmechanismen Tuning
Client-Server mit VFP Zugriff auf C/S Datenbanken Remote Views Sql-Pass-Through Unterschiede Datenbankdesign
Zugriff auf C/S Datenbank ODBC Views, SPT ADO ODBC, objektorientierter Ansatz System DLLs umständlich, Versionsabhängig SQL-OLE Nur für Administration
ODBC-Architektur Database Application ODBC API Driver manager ODBC SPI ODBC driver Network interface Network Database
Remote Views Definition in Datenbank statisch, Konfiguration im DBC Parametrisierbar, Makro möglich Updatefähig, Feldeigenschaften keine DDL Befehle Einfache Benutzung „normale“ Tabellenbefehle synchron, asynchron Shared Connections
SQL-Pass-Through Programmatische Ausführung von SQL Befehlen flexibel DDL und DML verfügbar Ausführen von Stored Procedures Cursor nicht updatefähig hoher Programmieraufwand Kontrolle über die C/S Verbindung
Unterschiede Datentypen Funktionen Speicherplatzbedarf Sperren SQL Befehle Optimierungen
Datenbankdesign Verteilte Datenhaltung Lookup-Tabellen Datentabellen als View Suchen per SPT Default-Connection Shared Connections Defaults auf View-Ebene Regeln auf BO-Ebene
Vielen Dank! Das waren die Themen: Anwendungsarchitekturen Client-Server Architekturen C/S Kommunikatiuon Client-Server Datenbanken Merkmale eines Server DBMS SQL Standard Client-Server mit VFP Unterschiede SQL92/VFP Datenbankdesign in VFP
Wenn Fragen bestehen: Wizards & Builders Frankfurter Str. 21b Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175