Vom UML Modell ohne Umwege zur Datenbank Wie lassen sich Produktivität und Performance weiter steigern ? [email protected] [email protected] © 2001 Poet Software GmbH. All rights reserved. Neil A. Armstrong der erst Mensch auf dem Mond “Buzz” Aldrin ? Todd A. Giblette Sr. V.P. of First Horizon • "Poet FastObjects™ is bringing our most technologicallyadvanced reports and utilities to market two months faster than scheduled on the first stage of the MBO project," said Giblette. "The time we’re saving with Poet FastObjects™ is extremely important to us." • "In addition to the development savings, we also save over $75,000 per year on reduced database administration, thanks to Poet FastObjects™“ 5/16/2016 2:59:21 PM © 2001 FastObjects™. All rights reserved. Übersicht • • • • • Wie kommen Sie direkt vom UML-Modell zur Datenbank ? Beispiel: Wie entwerfen Sie einen WebShop ? Wer ist POET Software ? Was machen FastObjects anders ? Welchen Nutzen bieten FastObjects ? • Performance • Zuverlässigkeit • Partnerschaft • Versionierung • Java API • XML Import / Export • Wie geht es weiter ? 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. FastObjects Rational Rose UML Binding Applikationsdefinition in UML © 2001 Poet Software GmbH. All rights reserved. Rational Rose Template für FastObjects 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. Beispiele für Internetanwendungen Shops, Portale und 3D Anwendungen © 2001 Poet Software GmbH. All rights reserved. 1. Schritt: Der HTML Prototype 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. 2. Schritt: Definition der DB-Klassen Class XY { String Name; ... } 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. 3. Schritt: Implementierung der JSPs/EJBs Klassen 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. http://community.fastobjects.com/webshop 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:22 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:23 PM © 2001 FastObjects™. All rights reserved. http://community.fastobjects.com 5/16/2016 2:59:23 PM © 2001 FastObjects™. All rights reserved. Praxisbeispiel: Die Poet eSupplierSolutions • Anwenderoberfläche vollständig über Browser realisiert • HTML Ausgaben • HTML Forms • wenige Applets • Programmlogik in Servlets realisiert • Übernahme von Daten aus vielen Formaten • Verwalten von Kunden / Produkten / Katalogen • Ausgabe der Daten in vielfältigen Varianten • Plattformunabhängig durch 100% Java & HTML 5/16/2016 2:59:23 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:23 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:23 PM © 2001 FastObjects™. All rights reserved. Wer ist Poet Software ? Technologieführer im OODBMS Markt © 2001 Poet Software GmbH. All rights reserved. POET Software • • • • Seit 1989 Datenbankentwicklung in Hamburg Börsennotiert seit 1999 ca. 180 Mitarbeiter Kernkompetenz: • Persistenzmechanismen für hohe Anforderungen 5/16/2016 2:59:23 PM © 2001 FastObjects™. All rights reserved. POET Kunden und Märkte (Auswahl) 5/16/2016 2:59:23 PM © 2001 FastObjects™. All rights reserved. Produkte • FastOjects™ e7 • Object-Persistenz Objekt-Persistenz für eingebettete Anwendungen • C++ und Java • FastOjects™ t7 • Object-Server Objekt-Server für Multi-User Anwendungen • C++ und Java • FastOjects™ j2 • Objekt-Persistenz für Echtzeit-Anwendungen und Kleingeräte • 100% Java 5/16/2016 2:59:23 PM © 2001 FastObjects™. All rights reserved. FastObjects ™ Architektur Java C++ ODBC XML FastObjects Object Manager e7 j2 TCP/IP SQL Factory t7 DB2 t7 Replication SQL-S. ORACLE 5/16/2016 2:59:24 PM © 2001 FastObjects™. All rights reserved. Grundlagen FastObjects™ Der kleine Unterschied © 2001 Poet Software GmbH. All rights reserved. Was macht FastObjects™ anders als ein RDBMS ? Realität Datenmodell 5/16/2016 2:59:24 PM © 2001 FastObjects™. All rights reserved. Relationale Datenbank FastObjects™ kann mit Tabellen arbeiten ... ODBC Interface Indizierung Primärschlüssel Datenmodell FastObjects™ 5/16/2016 2:59:24 PM © 2001 FastObjects™. All rights reserved. ... deren Zeilen unabhängig sind ... Datenmodell FastObjects™ 5/16/2016 2:59:24 PM © 2001 FastObjects™. All rights reserved. ... die sich deshalb anpasen können ... Versionierung im laufenden Betrieb Abgeleitete Klassen Eingebettete Listen Datenmodell FastObjects™ 5/16/2016 2:59:24 PM © 2001 FastObjects™. All rights reserved. ... und direkt referenziert werden. Direkte Referenzen (Über DB-Grenzen hinweg) Beliebige Strukturen ohne Umformungen Datenmodell FastObjects™ 5/16/2016 2:59:24 PM © 2001 FastObjects™. All rights reserved. Hohe Performance durch FastObjects™ Ohne Umwege schneller im Ziel © 2001 Poet Software GmbH. All rights reserved. Ist Ihre Anwendung zu schnell ? 5/16/2016 2:59:24 PM © 2001 FastObjects™. All rights reserved. Query-Funktionen • Suchen und Index-Pflege auf dem Server • Automatische Query-Optimierung • Überlegene Index-Funktionen • Zusammengesetzte Indizes • Mehrfach-Indizes • Kaskadierende Indizies Person Address City 5/16/2016 2:59:24 PM © 2001 FastObjects™. All rights reserved. Relationen verbinden durch Suchoperationen Mapping Datenstruktur 5/16/2016 2:59:24 PM Mapping/Joins © 2001 FastObjects™. All rights reserved. Relationale Datenbank FastObjects™ verbindet direkt FastObjects™ Datenstruktur 5/16/2016 2:59:24 PM © 2001 FastObjects™. All rights reserved. FastObjects™ vs. ORACLE 20000 msec 15000 10000 5000 1 R C A 4 LE ts ec bj 5/16/2016 2:59:25 PM 3 O st Fa Navigation in Objektnetzwerken 0 O Distance 2 © 2001 FastObjects™. All rights reserved. FastObjects ORACLE Dr. Kremer Bankgesellschaft Berlin/Eigenhandel • Gefordert: Ein hochperformantes Produkt für komplexe Risiko-Berechnungen • "Das Team der Bankgesellschaft Berlin konnte hier insbesondere von Poets guter Performance beim Zugriff auf komplexe Daten profitieren.“ • " Poet bietet nicht nur eine erstklassige Technologie, sondern auch hervorragenden Support durch qualifizierte, engagierte Mitarbeiter – von den technischen Beratern über den Vertrieb bis hin zur Telefon-Hotline." 5/16/2016 2:59:26 PM © 2001 FastObjects™. All rights reserved. Absolute Zuverlässigkeit Unter allen Randbedingungen © 2001 Poet Software GmbH. All rights reserved. Lucent Technologies “The latest version of the INTUITY AUDIX system embeds Poet's FastObjects database as a data repository for increased system reliability and less downtime for maintenance. FastObjects was chosen because its software has a proven track record for reliability in applications that require 100 percent uptime. In addition, the feature set will provide future INTUITY AUDIX system releases with leading edge data management technology.” Bruce Galler, Technical Manager Lucent Technologies Messaging Solutions Group 5/16/2016 2:59:26 PM © 2001 FastObjects™. All rights reserved. Zuverlässigkeit • • • • Kein "single Point of Failure“ Ständige Selbstprüfungen Online und incremental Backup Server- und Client-Redundanz 5/16/2016 2:59:26 PM © 2001 FastObjects™. All rights reserved. Zuverlässigkeit • • • • Kein "single Point of Failure“ Ständige Selbstprüfungen Online und incremental Backup Server- und Client-Redundanz Server & Client Failover 5/16/2016 2:59:26 PM © 2001 FastObjects™. All rights reserved. Erfolg durch Partnerschaft Unterstützung bis zum Projekterfolg © 2001 Poet Software GmbH. All rights reserved. Werner Zuegel: • "Mit der POET SQL Object Factory konnten wir unser Aussendienstsystem auf POET-Basis ohne Änderung der Applikation an eine relationale Datenbank anbinden. Unter einer einheitlichen Programmierschnittstelle unterstützt unser Produkt jetzt sowohl POET als auch DB2" • Die neuartige Gateway-Technologie, die im Rahmen einer engen Kooperation zwischen USU, BSH und der POET Software GmbH entwickelt wurde, ermöglicht nun die bruchlose Integration von objektorientierten und relationalen Systemen unter einem einheitlichen Interface. 5/16/2016 2:59:26 PM © 2001 FastObjects™. All rights reserved. Bruce Craven • „F.A. Davis brauchte einen Datenbankhersteller, der die spezifischen Probleme des Projekt nachvollziehen und die Möglichkeit zu Unterstützung und Kooperation in allen Projektphasen bieten konnte.“ • "Was mir die Entscheidung für POET sehr leicht gemacht hat, war ihre Bereitschaft, mit uns in diesem Projekt zusammenzuarbeiten". 5/16/2016 2:59:27 PM © 2001 FastObjects™. All rights reserved. Klassen-Versionierung Nach der ersten Installation ... © 2001 Poet Software GmbH. All rights reserved. Cendant, London • „We are the homes you buy, the hotels and resorts you visit, the cars you rent and the services that you rely on...both on-line and off-line. „ • Callcenter Software • Große Datenbanken • Keine Zeit für Konvertierungsläufe nach Versionswechseln • Wechsel auf FastObjects™ kurz vor der Auslieferung 5/16/2016 2:59:27 PM © 2001 FastObjects™. All rights reserved. Versionierung "on the fly" : Ein "muß" im Internetzeitalter • Neue Applikationsversionen können ohne vorhergehende vollständige Datenbank-Konvertierung auf bestehende Datenbestände zugreifen 5/16/2016 2:59:27 PM © 2001 FastObjects™. All rights reserved. Versionierung "on the fly" : Ein "muß" im Internetzeitalter • Neue Applikationsversionen können ohne vorhergehende vollständige Datenbank-Konvertierung auf bestehende Datenbestände zugreifen 5/16/2016 2:59:27 PM © 2001 FastObjects™. All rights reserved. Geringer Speicherbedarf Die Datenbank ist nicht das Einzige ! © 2001 Poet Software GmbH. All rights reserved. FastObjects j2 • • • • • • 100% Java 450 KB Jar File Modernste Architektur Hohe Performance Maximale Verfügbarkeit Optimiert für Echtzeit-Systeme 5/16/2016 2:59:27 PM © 2001 FastObjects™. All rights reserved. Ericsson “We evaluated all of the potential database vendors and selected Poet´s FastObject Technology because they have the most experience in small footprint object storage in embedded environments. Ericsson is very excited about working with FastObjects” David Jordan, Director of Database Technologies-New Concepts, Ericsson 5/16/2016 2:59:27 PM © 2001 FastObjects™. All rights reserved. POET ODMG Java API Efficient Application Development © 2001 Poet Software GmbH. All rights reserved. Dafür haben wir keine Zeit ! Connection con=DriverManager.getConnection (url, "Admin", "duke1"); Connection con = DriverManager.getConnection (url, "Admin", "duke1"); Statement stmt = con.createStatement(); stmt = con.createStatement(); stmt.executeUpdate("insert into SUPPLIERS values(49, 'Superior Coffee', '1 Party Place', Mendocino', 'CA', '95460')"); createString = "create table SUPPLIERS (SUP_ID int, SUP_NAME varchar(40), STREET varchar(40), CITY varchar(20), STATE char(2), ZIP char(5))"; stmt.close(); con.close(); stmt.executeUpdate(createString); stmt.close(); con.close(); 5/16/2016 2:59:27 PM © 2001 FastObjects™. All rights reserved. Erzeugen einer Datenbank Person.java createDatabase.bat public class Person { String FirstName; String LastName; public void setLastName(...) {...} public String getLastName() {...} ... } 5/16/2016 2:59:28 PM ptjavac -xc *.java ptjavac.opt [classes\Person] persistent = true hasExtent = true © 2001 FastObjects™. All rights reserved. Speichern neuer Objekte Demo.java Transaction myTransaction = new Transaction(myBase); myTransaction.begin(); myTransaction.commit(); 5/16/2016 2:59:28 PM © 2001 FastObjects™. All rights reserved. Speichern neuer Objekte Demo.java Transaction myTransaction = new Transaction(myBase); myTransaction.begin(); Person myPerson=new Person("Anton"); myBase.makePersistent(myPerson); myTransaction.commit(); 5/16/2016 2:59:29 PM © 2001 FastObjects™. All rights reserved. Speichern neuer Objekte Demo.java Transaction myTransaction = new Transaction(myBase); myTransaction.begin(); Person myPerson=new Person("Anton"); myBase.makePersistent(myPerson); myPerson.add(new Address("Berlin")); myPerson.add(new Address("Hagen")); myTransaction.commit(); 5/16/2016 2:59:29 PM © 2001 FastObjects™. All rights reserved. Suchen und laden von Objekten Demo.java String quest = "SELECT * FROM x IN PersonExtent "+ "WHERE x.Name LIKE \"A*\""; OQLQuery query = new OQLQuery(quest); BagOfObject bag = (BagOfObject)query.execute(); Iterator i = bag.iterator(); while (i.hasNext()) { System.out.println(i.next()); } 5/16/2016 2:59:29 PM © 2001 FastObjects™. All rights reserved. XML Import / Export Einfacher Datenaustausch via ASCII © 2001 Poet Software GmbH. All rights reserved. XML: Daten via ASCII austauschen • Jede FastObjects™ Datenbank kann teilweise oder vollständig als XML exportiert und importiert werden • Austausch über „well formed“ XML • Keine DTD oder Schema Definition notwendig • Beliebige Datenstrukturen • Jede FastObjects™ Datenbank kann mit Schemadefinitionen auf XML-Sub-Standards spezialisiert werden • Umsetzung von Schema-Definitionen in Java Klassen • Suchen und Anwendungen auf XML-Daten im Binär-Format • Ausgabe in beliebige XML Formate 5/16/2016 2:59:30 PM © 2001 FastObjects™. All rights reserved. FastObjects XML Wizard <XMLSchema Definition> Internet <XML-Data> <XML-Data> 5/16/2016 2:59:30 PM © 2001 FastObjects™. All rights reserved. 5/16/2016 2:59:30 PM © 2001 FastObjects™. All rights reserved. Wie geht es weiter ? Wie Sie FastObjects kennenlernen und nutzen © 2001 Poet Software GmbH. All rights reserved. Wie starten Sie mit FastObjects ? • Diskutieren Sie Ihr Projekt mit uns • Testen Sie die Trial CD • Fragen Sie nach einem Discovery Day • Ordern Sie ein Quickstart Package • Software Development Kit • 4 Tage Training & Consulting vor Ort • 3 Monate Hotline Support und PDN 5/16/2016 2:59:30 PM © 2001 FastObjects™. All rights reserved. www.poet.de www.fastobjects.de community.fastobjects.com [email protected] [email protected] © 2001 Poet Software GmbH. All rights reserved.