1 / 17

Esprit Database Suite

Esprit Database Suite Eine leistungsfähige Java-Persistzenzschicht zur einfachen Programmierung von Datenbankapplikation. Inhalt. Einfache und leistungsfähige Datenbank-Persistenzschicht Objekt-relationale Abbildung mit DBObjects Automatische Erzeugung der DBObjects

umika
Download Presentation

Esprit Database Suite

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Esprit Database Suite • Eine leistungsfähige Java-Persistzenzschicht zur einfachen Programmierung von Datenbankapplikation.

  2. Inhalt Einfache und leistungsfähige Datenbank-Persistenzschicht • Objekt-relationale Abbildung mit DBObjects • Automatische Erzeugung der DBObjects • Lokaler oder entfernter Datenbank Zugriff • Vielfach-Verbindungen mit ConnectionPool • GUI Darstellung in Tabellen, Listen und Formblättern • Zusammenbau komplexer, persistenter Objekte • Allgemein verwendbare Datenbank Tools • Einsatzfelder für DBObjects • Wichtigste Vorteile der DBObjects • Vergleich mit anderen Persistenz-Lösungen

  3. DBObjects • DBObjects sind Java Objekte die Datensätze modellieren • DBObject Subklassen werden automatisch erzeugt für jede Tabelle:Tabelle: resistor Klasse:DBO_resistor.java • DBObjects implementieren die Objekt-relationale Abbildung • Flexibel bei Datenbank-Änderungen (lediglich Neuerzeugung)

  4. Erzeugung der DBObjects DBObjects werden automatisch erzeugt mit dem DBOCompiler DBOCompiler liest die Tabellen Metadaten und erzeugt die DBObject Java Quelldateien. Für alle Tabellen der Datenbank werden Java Quelldateien erzeugt. • Läuft entweder interaktiv oder im Batchmode

  5. Datenbank Zugriff • DBObjects ‘wissen‘ selbst wie sie mit der Datenbank kommunizieren müssen • Kein SQL erforderlich => Fehlersicher and RDBMS unabhängig. • Hoch performante Datenbank Zugriffe (gecachte Prepared Statements) • Einfachstes Lesen von und Speichern in der Datenbank. INSERT DBO_resistor SELECT DBO_resistor Datenbank DBO_resistor UPDATE DBO_resistor DBO_resistor DBO_resistor DELETE

  6. Lokaler/entfernter Zugriff • Unterstützung für lokalen und entfernten Datenbank Zugriff • DBObjects können leicht übers Netz transportiert werden. • Clients können lokale oder entfernte Datenbankaktionen durchführen Entfernter Zugriff Client 1 MiddlewareServer DBO_resistor Datenbank Client 2 DBO_poti Lokaler Zugriff

  7. Connection Pool • Connection-Pool verwaltet vielfache Datenbank-Verbindungen • Ermöglicht simultane Transaktionen (soviele, wie Verbindungen vorhanden). • Dynamisches Pooling: Anzahl der Verbindungen steigt und fällt nach Bedarf (im erlaubten Bereich). DBO_resistor ConnectionPool Datenbank DBO_diode DBO_poti

  8. Datensatz Formulare • Erzeugt automatisch Formulare zum Editieren der Datensätze • DBObjects ‘kennen‘ ihre Datenbank Meta-Information • Insert/Edit-Formulare werden dynamisch aus Metadaten erzeugt • Keine Programmierung erforderlich für unten gezeigte Beispiele • Formulare sind leicht an Kundenbedürfnisse anpassbar Erzeugen eines neuen Datensatzes Ändern eines existierenden Datensatzes

  9. Tabellen-Sicht • Tabellen-Sicht wird automatisch erzeugt • DBObjects ‘wissen‘ wie sie sich in einem GUI darstellen müssen • Tabellen-Sicht wird dynamisch aus Metadaten erzeugt • Keine Programmierung erforderlich für das unten gezeigte Beispiel • Darstellung ist leicht an Kundenbedürfnisse anpassbar

  10. Listen-Sicht • Listen-Sicht wird automatisch erzeugt • Listen-Sicht wird dynamisch aus Metadaten erzeugt • Keine Programmierung erforderlich für das unten gezeigte Beispiel • Darstellung ist leicht an Kundenbedürfnisse anpassbar

  11. Tabellen/Listen-Editor • Tabellen and Listen unterstützen insert/update/delete von Datensätzen Wählen Sie den Typ des Datensatzes Formblatt für den gewünschten Datensatz-Typ zur Eingabe neuer Datensätze Formblatt zum Editieren des selektierten Datensatzes

  12. Daten Eingabefelder • Eingabefelder für alle üblichen Datentypen Datum/Zeit Eingabe Formblatt mit einigen beispielhaften Eingabefeldern Datei Auswahl

  13. Persistente Objekte DBObjects zum Aufbau komplexer, persistenter Objekte • DBObjects sind Bausteine zum Zusammebau größerer Objekte • Einheitlicher Datenbankzugriff => Konsistenter Java Code • Kein Aufwand für GUI Darstellung persistenter Objekte • Unterstützung mehrerer Zusammenbau-Typen (1:N, Vererbung) Poti (extends ComposedRecord) Route (extends ComposedRecord) DBO_part DBO_route DBO_resistor DBO_poti DBO_poti DBO_poti DBO_vertex DBO_poti Vererbungs-Typ Listen-Typ (1:N)

  14. Datenbank Tools • Allgemein verwendbare Datenbank Tools Funktionieren genau gleich für alle unterstützten Datenbanksysteme! • DBExecuteFührt SQL Kommando(s) in Datenbank aus • DBSelectMacht SQL Datenbank Abfrage(n), Ausgabe in Datei oder Console • UnlExportSchreibt Tabellendaten in ASCII Datei (UNL Format) • UnlImportLiest Datensätze aus UNL Dateien und füllt Datenbanktabelle

  15. Einsatzfelder • Wo kann man DBObjects einsetzen? • Server Applikationen Für vielfach parallelläufigen Datenbankzugriff (Multi-Threaded services) • Client Applikationen Direkte Darstellung von Datensätzen in GUI Tabellen und Listen Einfache Datenübertragung von/zu Server (Serialisierung) Lokaler oder entfernter Zugriff auf Datenbank • Web Applikationen Als Datenbank Access Objects (DAOs) Als DAO-Beans im Zusammenspiel mit Struts • J2EE Applikationen Als EJB's (EntityBeans) mit Bean managed Persistence

  16. Vorteile Wichtigste Vorteile • Kein Aufwand für objekt-relationale Abbildung • Einheitlicher, konsistenter Java Code, leicht zu warten • Sehr flexibel und fehlersicher bei Datenbank-Änderungen • Kein Aufwand für GUI Darstellung persistenter Objekte • Beschleunigt erheblich die Enwicklung von Datenbankanwendungen • Keine Abhängigkeit von Datenbank- und Betriebs-System • Speicher-effizient und hochperformant • Wesentlich geringere Entwicklungszeiten und -Kosten • Einfache Wartung und hohe Fehlersicherheit • Geeignete Technologie zur Ablösung alter 4GL Anwendungen!

  17. Vergleich mit anderen • Was unterscheidet DBObjects von anderen Persistenz-Lösungen? • DBObjects werden direkt aus der Datenbank erzeugt. Keine (redundante) vorbereitende Definition erforderlich! • Pure Java Objekte – Kein post-Compiling der Klassen erforderlich (wie z.B. bei JDO Implementierungen) • Keine komplizierten Deployment-Deskriptoren etc…(wie bei JDO oder container managed EntityBeans) • Keine Abhängigkeit von Datenbank, Betriebssystem, Applikations- oder Webserver • Komplexe, persistente Objekte können aus DBObject-Bausteinen zusammengesetzt werden => Einfacher und einheitlicher Code. • Die Programmierung mit DBObjects ist besonders einfach • DBObjectssind per se direkt im GUI darstellbar

More Related