© 2001 poet software gmbh. all rights reserved. [email protected] vom uml modell ohne umwege zur...
TRANSCRIPT
© 2001 Poet Software GmbH. All rights reserved.
Vom UML Modell ohne Umwege zur Datenbank
Wie lassen sich Produktivität und Performance weiter steigern ?
Neil A. Armstrong
“Buzz” Aldrin ?
der erst Mensch auf dem Mond
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Todd A. GibletteSr. V.P. of First Horizon
•"Poet FastObjects™ is bringing our most technologically-advanced reports and utilities to marketmarket two months faster 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™“
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Ü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 ?
© 2001 Poet Software GmbH. All rights reserved.
FastObjects Rational Rose UML Binding
Applikationsdefinition in UML
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Rational Rose Template für FastObjects
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 Poet Software GmbH. All rights reserved.
Beispiele für Internetanwendungen
Shops, Portale und 3D Anwendungen
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
1. Schritt: Der HTML Prototype
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
2. Schritt: Definition der DB-Klassen
Class XY
{
String Name;
...
}
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
3. Schritt: Implementierung der JSPs/EJBs
Klassen
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
http://community.fastobjects.com/webshop
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
http://community.fastobjects.com
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
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
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 Poet Software GmbH. All rights reserved.
Wer ist Poet Software ?
Technologieführer im OODBMS Markt
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
POET Software
•Seit 1989 Datenbankentwicklung in Hamburg
•Börsennotiert seit 1999•ca. 180 Mitarbeiter•Kernkompetenz:
•Persistenzmechanismen für hohe Anforderungen
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
POET Kunden und Märkte (Auswahl)
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
•FastOjects™ e7•Objekt-Persistenz für eingebettete Anwendungen
•C++ und Java
•FastOjects™ t7•Objekt-Server für Multi-User Anwendungen
•C++ und Java
•FastOjects™ j2•Objekt-Persistenz für Echtzeit-Anwendungen und Kleingeräte
•100% Java
•FastOjects™ e7•Object-Persistenz für eingebettete Anwendungen
•C++ und Java
•FastOjects™ t7•Object-Server für Multi-User Anwendungen
•C++ und Java
•FastOjects™ e7•Object-Persistenz für eingebettete Anwendungen
•C++ und Java
Produkte
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
FastObjects ™ Architektur
Java C++ ODBC XML
e7
FastObjects Object Manager
j2
t7
TCP/IPSQL
Factory
ORACLE
SQL-S.
DB2t7
Replication
© 2001 Poet Software GmbH. All rights reserved.
Grundlagen FastObjects™
Der kleine Unterschied
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Realität Datenmodell RelationaleDatenbank
Was macht FastObjects™ anders als ein RDBMS ?
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
FastObjects™ kann mit Tabellen arbeiten ...
ODBC Interface
Indizierung
Primärschlüssel
Datenmodell FastObjects™
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
... deren Zeilen unabhängig sind ...
Datenmodell FastObjects™
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
... die sich deshalb anpasen können ...
Versionierungim laufenden Betrieb
Abgeleitete Klassen
Eingebettete Listen
Datenmodell FastObjects™
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
... und direkt referenziert werden.
Direkte Referenzen(Über DB-Grenzen hinweg)
Beliebige Strukturenohne Umformungen
Datenmodell FastObjects™
© 2001 Poet Software GmbH. All rights reserved.
Hohe Performance durch FastObjects™
Ohne Umwege schneller im Ziel
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Ist Ihre Anwendung zu schnell ?
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Query-Funktionen
•Suchen und Index-Pflege auf dem Server•Automatische Query-Optimierung•Überlegene Index-Funktionen
•Zusammengesetzte Indizes
•Mehrfach-Indizes
•Kaskadierende Indizies
Person
Address
City
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Relationen verbindendurch Suchoperationen
Datenstruktur
Mapping
Mapping/JoinsRelationaleDatenbank
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
FastObjects™ verbindet direkt
Datenstruktur FastObjects™
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
FastObjects™ vs. ORACLE
12
34
0
5000
10000
15000
20000
msec
Distance
FastObjects
ORACLE
12
34
0
5000
10000
15000
20000
msec
Distance
FastObjects
ORACLE
Navigation in ObjektnetzwerkenNavigation in Objektnetzwerken
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Dr. KremerBankgesellschaft 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."
© 2001 Poet Software GmbH. All rights reserved.
Absolute Zuverlässigkeit
Unter allen Randbedingungen
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
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 system reliability and less downtime for maintenancedowntime for maintenance. FastObjects was chosen because its software has a proven track record for reliability in applications that require 100 percent 100 percent uptimeuptime. In addition, the feature set will provide future INTUITY AUDIX system releases with leading edge data management technology.”
Bruce Galler,Technical Manager
Lucent TechnologiesMessaging Solutions Group
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Zuverlässigkeit
•Kein "single Point of Failure“•Ständige Selbstprüfungen•Online und incremental Backup•Server- und Client-Redundanz
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Zuverlässigkeit
•Kein "single Point of Failure“•Ständige Selbstprüfungen•Online und incremental Backup•Server- und Client-Redundanz
Server & ClientFailover
© 2001 Poet Software GmbH. All rights reserved.
Erfolg durch Partnerschaft
Unterstützung bis zum Projekterfolg
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
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.
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
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".
© 2001 Poet Software GmbH. All rights reserved.
Klassen-Versionierung
Nach der ersten Installation ...
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
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
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Versionierung "on the fly" : Ein "muß" im Internetzeitalter
•Neue Applikationsversionen können ohne vorhergehende vollständige Datenbank-Konvertierung auf bestehende Datenbestände zugreifen
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Versionierung "on the fly" : Ein "muß" im Internetzeitalter
•Neue Applikationsversionen können ohne vorhergehende vollständige Datenbank-Konvertierung auf bestehende Datenbestände zugreifen
© 2001 Poet Software GmbH. All rights reserved.
Geringer Speicherbedarf
Die Datenbank ist nicht das Einzige !
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
FastObjects j2
•100% Java•450 KB Jar File•Modernste Architektur •Hohe Performance•Maximale Verfügbarkeit•Optimiert für Echtzeit-Systeme
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
“We evaluated all of the potential database vendors and selected Poet´s FastObject Technology because they have the most most experience in experience in small footprint object storage in small footprint object storage in embedded environmentsembedded environments. Ericsson is very excited about working with FastObjects”
David Jordan, Director of Database Technologies-New Concepts, Ericsson
Ericsson
© 2001 Poet Software GmbH. All rights reserved.
POET ODMG Java API
Efficient Application Development
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Dafür haben wir keine Zeit !
Connection con=DriverManager.getConnection
(url, "Admin", "duke1");
Statement stmt = con.createStatement();createString = "create table SUPPLIERS (SUP_ID int, SUP_NAME varchar(40), STREET varchar(40), CITY varchar(20), STATE char(2), ZIP char(5))";
stmt.executeUpdate(createString);stmt.close();con.close();
Connection con=DriverManager.getConnection
(url, "Admin", "duke1");
Statement stmt = con.createStatement();createString = "create table SUPPLIERS (SUP_ID int, SUP_NAME varchar(40), STREET varchar(40), CITY varchar(20), STATE char(2), ZIP char(5))";
stmt.executeUpdate(createString);stmt.close();con.close();
Connection con = DriverManager.getConnection (url, "Admin", "duke1");
stmt = con.createStatement();
stmt.executeUpdate("insert into SUPPLIERS values(49, 'Superior Coffee', '1 Party Place', Mendocino', 'CA', '95460')");
stmt.close();con.close();
Connection con = DriverManager.getConnection (url, "Admin", "duke1");
stmt = con.createStatement();
stmt.executeUpdate("insert into SUPPLIERS values(49, 'Superior Coffee', '1 Party Place', Mendocino', 'CA', '95460')");
stmt.close();con.close();
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Erzeugen einer Datenbank
public class Person{ String FirstName; String LastName;
public void setLastName(...) {...}
public String getLastName() {...}
... }
public class Person{ String FirstName; String LastName;
public void setLastName(...) {...}
public String getLastName() {...}
... }
[classes\Person]persistent = truehasExtent = true
[classes\Person]persistent = truehasExtent = true
Person.javaPerson.java
ptjavac -xc *.javaptjavac -xc *.java
createDatabase.batcreateDatabase.bat
ptjavac.optptjavac.opt
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Transaction myTransaction = new Transaction(myBase);myTransaction.begin();
myTransaction.commit();
Transaction myTransaction = new Transaction(myBase);myTransaction.begin();
myTransaction.commit();
Speichern neuer ObjekteDemo.java
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
Transaction myTransaction = new Transaction(myBase);myTransaction.begin();
Person myPerson=new Person("Anton");myBase.makePersistent(myPerson);
myTransaction.commit();
Transaction myTransaction = new Transaction(myBase);myTransaction.begin();
Person myPerson=new Person("Anton");myBase.makePersistent(myPerson);
myTransaction.commit();
Speichern neuer ObjekteDemo.java
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
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();
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();
Speichern neuer ObjekteDemo.java
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
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()); }
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()); }
Suchen und laden von ObjektenDemo.java
© 2001 Poet Software GmbH. All rights reserved.
XML Import / Export
Einfacher Datenaustausch via ASCII
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
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
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
FastObjects XML Wizard
<XML-Schema
Definition>
<XML-Data><XML-Data>
Internet
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
© 2001 Poet Software GmbH. All rights reserved.
Wie geht es weiter ?
Wie Sie FastObjects kennenlernen und nutzen
© 2001 FastObjects™. All rights reserved. 04/11/23 06:10 AM
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
© 2001 Poet Software GmbH. All rights reserved.
www.poet.de
www.fastobjects.de
community.fastobjects.com