Ausführliche Informationen finden Sie im Handbuch.
Remote SQL (RSQL), aufgebaut auf modernster Client/Server Technologie, erlaubt Ihnen den Zugriff auf HP NonStop-SQL Datenbanken direkt aus einem Windows-, OS/2- oder Unix-Programm heraus. Dabei wird aus Gründen der einfachen Administration auf den Einsatz von ODBC bewußt verzichtet.
Zusammengefaßt bietet RSQL unter anderem folgende Vorteile:
Geringer Bedarf an zusätzlich zu erwerbenden Software-Komponenten durch Einsatz verfügbarer Standardschnittstellen
Reduzierter Bedarf an CPU-Resourcen durch optimierte Programmiertechniken
Höhere Übertragungsgeschwindigkeit durch Einsatz hochleistungsfähiger Methoden wie z.B. Data Burst Fetch
Hohe Zuverlässigkeit durch Verwendung erprobter Kommunikations- und Sicherheitsschichten aus Remote-Enscribe (REnscribe).
Alle Funktionen von R-Enscribe sind direkt ohne Einschränkungen verfügbar. Dadurch ist auch eine gemeinsame Transaktionskontrolle (TM/MP) für SQL- und Enscribe-Zugriffe möglich.
Strukturierte, objekt-orientierte C++ Programmierschnittstelle (OO-API).
Eine Java-API ist mit den gleichen Funktionen verfügbar.
Der Zweck des Produktes Remote-SQL (RSQL) ist es, dem Programmierer von Anwendungen auf einem PC (Windows und andere) zu gestatten, über eine Netzwerkverbindung auf Daten einer HP NonStop-SQL-Datenbank zuzugreifen.
RSQL wurde in Client/Server Architektur realisiert. Dabei stellt das HP-System die Server-Maschine dar und der PC oder das Unix-System den Client. Folglich enthält RSQL zwei wesentliche Komponenten:
einen Serverprozess für die HP-Seite
eine Funktions- bzw. Klassenbibliothek für die PC-Seite, mit deren Hilfe der Anwendungsprogrammierer in die Lage versetzt wird, seiner Anforderung gemäße Client-Programme zu schreiben.
Die Kommunikation zwischen diesen beiden Komponenten erfolgt mittels TCP/IP. Genaue Kenntnisse dieses Protokollstacks werden vom Programmierer jedoch nicht verlangt, da sämtliche Netzwerkzugriffe durch C++ Klassenbibliotheken verborgen werden. Im Gegenteil: der Anwendungsprogrammierer kann sich während der Entwicklung weitestgehend auf die eigentlichen SQL- und Datenbankproblematiken konzentrieren, ohne sich um Details der Transportschichten kümmern zu müssen.
Die folgende Graphik verdeutlicht am Beispiel eines Windows-Clients das Zusammenspiel der einzelnen Komponenten:
Der Server-Prozess auf dem HP-System wird über den LISTNER-Prozess des NonStop-TCP/IP gestartet, sobald ein Client-Programm auf dem Client-System (es können auch mehrere dieser Client-Systeme parallel eingesetzt werden) eine Verbindung eröffnet.
Durch Aufruf der zugehörigen Klassenfunktionen kann das Anwendungsprogramm nun auf die SQL-Daten zugreifen, wobei die Klassenbibliothek die Aufträge über das TCP/IP-Netzwerk an den Serverprozess sendet. Dieser interpretiert die Aufträge und führt die entsprechenden SQL-Operationen aus.
Anschließend überträgt er die Antwortdaten an den PC. Diese werden nun dort in systemgerechte Datenformate konvertiert und dem aufrufenden Anwendungsprogramm bereitgestellt.
RSQL verwendet zur Ausführung von Datenbankoperationen dynamische SQL-Anweisungen. Um solche SQL-Anweisungen in ein Anwendungsprogramm aufzunehmen, stellt RSQL eine Bibliothek von Funktionen bzw. C++-Klassen zur Verfügung.
Auch wenn die Verwendung dynamischer SQL-Anweisungen zunächst nach hohem Aufwand klingt: mit RSQL wird die Anwendung beinahe zum Kinderspiel und unterscheidet sich kaum von der üblichen Programmierung von SQL-Abfragen.
Die gesamte Netzwerkanbindung und die Realisierung des Client/Server-Systems (mit Ausnahme der Netzwerkadresse des HP-NonStop-Systems) werden in den Klassenbibliotheken verborgen, die folgende Aufgaben erfüllen:
eine Verbindung zum HP-NonStop-System herstellen
SQL-Statements übersetzen
Informationen über Datenformate erhalten
übersetzte SQL-Statements ausführen
Daten aus der Datenbank auslesen
Die folgenden Datentypen werden unterstützt: CHAR(n), VARCHAR(n), SMALLINT, INTEGER, LARGEINT, NUMERIC(m,n), unsigned NUMERIC(m,n), REAL, DOUBLE, DECIMAL(n,m), DATETIME, INTERVAL, Nullindikator
Noch ein Wort für C++-Neulinge: die RSQL Klassenbibliotheken fordern keine tiefgehenden Kenntnisse der Programmiersprache C++. Wenn Sie bereits erfahren sind im Umgang mit C, so wird Ihnen die Verwendung von RSQL kaum Schwierigkeiten bereiten. Auf der anderen Seite nimmt Ihnen C++ aber eine Menge Arbeit ab und sorgt unter anderem dafür, daß Ihre Programme zuverlässiger ablaufen. Kenntnisse in NonStop SQL sollten jedoch vorhanden sein.