Das gewisse Etwas

Caché 5.2: Anwendungsentwicklung per Datenbank
Kommentare

Große Datenmengen, Verarbeitung möglichst in Echtzeit, häufig wechselnde Anforderungen an die Geschäftslogik – dies alles erfordert leistungsfähige Datenbankserver und Software zur schnellen Anwendungsentwicklung (RAD). InterSystems stellt mit seinem Produkt Caché dem Entwickler eine breite Palette von Sprachen und Werkzeugen zur Verfügung.

Nur ein kleines Stück abseits des Mainstreams finden sich oft die interessantesten Produkte. Die Caché-Datenbank von InterSystems ist schon seit einigen Jahren auch auf dem deutschen Markt vorhanden. Soeben ist die Version 5.2 erschienen, welche die zum Jahreswechsel veröffentlichte 5.1 um neue Features ergänzt. Die Software verfügt über eine Reihe von Besonderheiten.

Technologien

Kernstück ist eine Datenbank-Engine, in der die Informationen serialisiert in Form von multidimensionalen Arrays abgelegt werden. Die Speicherungsform gestattet einen effektiven Zugriff sowohl mit objektorientierten Verfahren als auch mit den klassischen SQL-Techniken. Abbildung 1 zeigt die grundlegende Struktur der Unified Data Architecture von Caché.

Abb. 1: Die Unified Data Architecture von Caché erlaubt relationale und Objektzugriffe

Durch diese – vom Hersteller als post-relational bezeichnete – Technik können nicht nur reine Datenlisten (Tabellen), sondern beliebige Objekte persistent auf dem Datenbankserver abgelegt werden. Objekte entsprechen vom Programmierer vorgegebenen oder werkseitig eingebauten Klassendefinitionen. Sie enthalten sowohl Anwendungsdaten in Form von Objekteigenschaften als auch Methoden, die das Objektverhalten modellieren.

Dies soll eine nahtlose Integration von Anwendungen in den Datenbankserver ermöglichen; eine gesonderte Middleware erübrigt sich.

Klassendefinitionen erstellt der Programmierer durch Point’n’Click in der mitgelieferten Entwicklungsumgebung Caché Studio oder auf traditionelle Weise durch DDL-Statements (SQL). Weitere Möglichkeiten sind die Verarbeitung von XML-Repräsentationen der Klassendefinitionen und die Nutzung von Code-Generatoren, die in Caché eingebaut sind.

In Tabelle 1 sind die Entsprechungen zwischen der objektorientierten und der relationalen Sicht auf die gespeicherten Daten zusammengestellt.

Tabelle 1: Objektorientierte und relationale Sicht
Objektorientiert Relational
Paket Schema
Klasse Tabelle
Objekt (Instanz) Tabellenzeile (Datensatz)
Eigenschaft Tabellenspalte (Feld)
Beziehung Fremdschlüssel
eingebettetes Objekt kombinierte Spalten
Methode Stored Procedure
Index Index

Zu den Kerntechnologien gehören außerdem die Caché Server Pages (CSP). Das sind serverseitig generierte HTML-Seiten, die durch die umfassende Einbeziehung von Methodencode die Erstellung kompletter Anwendungen ohne gesonderte Middleware gestatten. Programmtechnisch werden die Seiten als gewöhnlicher HTML-Text mit eingebetteten speziellen Tags für die CSP-Funktionalität erstellt. So lassen sich datenbankgestützte Webapplikationen schnell und unkompliziert entwickeln. Zentrales Datenaustauschformat ist XML. Nicht nur sämtliche Klassendefinitionen können als XML-Dateien ex- und importiert werden, Caché ist außerdem in der Lage, XML-Dokumente direkt als Objekte in der Datenbank abzulegen, zu verarbeiten und wieder auszugeben. So ist unter anderem die gesamte Dokumentation im DocBook-Format gespeichert. Ein eingebauter SAX-Parser dient der Analyse von XML-Strukturen. Andere Caché-Komponenten generieren DTDs und XML-Schemata aus gespeicherten Objekt-Informationen. Die Bereitstellung von Web Services (SOAP) ist somit eine Selbstverständlichkeit.

Für den Betrieb hochperformanter Produktionssysteme wurde das Enterprise Cache Protocol (ECP) entwickelt. Es ermöglicht kurze Antwortzeiten bei hoher Datensicherheit mit dem Einsatz von Caché-Servern als Daten- und Applikationsserver in Zwei- und Drei-Tier-Architekturen von verteilten Systemen und wird unter anderem in großen Kliniken mit mehreren Tausend Client-Arbeitsplätzen eingesetzt (siehe hierzu: Flammini, St.: Partners HealthCare Extends Application Reach with InterSystems Caché Post-Relational Database. DM Review, 12. Jg. 2002, Heft 6 (Juli), S. 112).

Implementierung

Caché unterstützt eine Reihe von Betriebssystem-Plattformen. Neben den Server-Versionen von Microsoft ab Windows 2000 (SP4) aufwärts sind dies OpenVMS, Solaris, AIX, HP-UX, Tru64 Unix, Red Hat Enterprise Linux und SuSE Linux Enterprise Server sowie seit der Version 5.1 auch Mac OS X. Die frühere Unterstützung der Desktop-Betriebssysteme von Microsoft, Red Hat und SuSE als Serverplattform wurde, wie auch die NT-Unterstützung, mit der 5.1 aufgegeben. Ebenso werden einige ältere Serversysteme wie Solaris 9 mit der neuen Version nicht mehr unterstützt.

Die Anforderungen an die Systemressourcen ergeben sich hauptsächlich aus der Größe der zu bewältigenden Aufgabe. Die Serversoftware selbst erfordert unter Windows, Unix und Linux etwa 500 MB und unter VMS 350 MB Festplattenplatz. Mit einem der üblichen Prozessoren und 512 MB RAM ist in einer Versuchsanordnung flottes Arbeiten mit vernachlässigbaren Antwortzeiten gegeben. Für Produktionssysteme sind nach oben so gut wie keine Grenzen gesetzt, zumal Caché auch Techniken wie Replikation und Clustering unterstützt. Die Installationsanleitung von InterSystems enthält detaillierte Kalkulationsrichtlinien für die benötigten Systemressourcen.

Die Installation unter SuSE Linux (SLES 9, SP 2) ist in wenigen Minuten vollzogen. Der Administrator setzt zwei Parameter für den Shared-Memory-Bereich auf einen höheren Wert, mountet das Installationsmedium und startet von dort das Installationsskript cinstall. Caché bringt für die Präsentation von CSP-Seiten einen eigenen Webserver mit. Soll stattdessen ein Apache genutzt werden, ist dieser vor Caché zu installieren. Das Installationsskript kopiert die Daten vom Installationsmedium auf die Festplatte, richtet eine Installationsvariante des Datenbankservers ein, setzt diesen in Gang und führt mit seiner Hilfe die restlichen Installationsschritte aus. Der Administrator hat lediglich die üblichen Fragen nach Installationsverzeichnis, Name der Installation etc. zu beantworten. Einzelheiten sind in der Dokumentation gci.html beschrieben, die direkt von der Installations-CD zu lesen ist, allerdings etwas versteckt im Verzeichnis dist/Objects/docs/gci/.

Für ein Entwicklungssystem empfiehlt sich eine benutzerdefinierte Installation. Sie bietet die Möglichkeit, zusätzlich zum Standardumfang den Quellcode für die Caché-Manager-Utilities sowie die Libraries und Header-Dateien der Datenbank-Engine zu installieren. Das Installationsskript modifiziert die Konfiguration eines vorhandenen Apache-Webservers, indem es einen Abschnitt an die Datei httpd.conf anhängt. Um die Konfiguration wirksam werden zu lassen, muss der Administrator den Webserver im Anschluss an die Caché-Installation neu starten. Eine Windows-Installation verläuft in ähnlicher Weise unkompliziert, nur das hier die Bedienung über ein GUI erfolgt.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -