e-business to the power of Versant E-Business Plattform Versant enJin Java Forum 2000 Stuttgart, 28.06.2000 Gerhard Klein, Manager Professional Services CE [email protected] http://www.versant.de 1 e-Business Plattform K Komponenten: l Anwendungen m l e-Commerce Funktionalität: m l Personalisierung, Auktion, Billing, Portal Integrationsfunktionalität m l CRM, Supply Chain Management andere e-Commerce Anwendungen XML, Datenintegration, Anwendungsintegration Applikationsserver m Komponenten, Persistenz, Messaging, Security, Load Balancing K Nächste Generation l Integration und Intelligenz 28.06.2000, 2 Versant enJin e-business to the power of Versant Anforderungen K Skalierbarkeit und Performanz l Hierbei sind häufig die existierende Systeme der Engpaß K Integration im Mittel-Tier K Komplexes Modell und viele navigierende Zugriffe K Time-to-Market Zeiträume werden immer kürzer l Produktivität der Entwicklungswerkzeuge und Flexibilität K Zukunftsweisende Architektur l Standards: J2EE, EJB, JDO, XML “Many “Manypeople peopleare areunder underthe themisconception misconception that thatscalability scalabilityisisaafunction functionofofhardware.” hardware.” - -Anne AnneThomas ThomasManes, Manes,Patricia PatriciaSeybold SeyboldGroup Group Source: Patricia Seybold Group, 12/99 28.06.2000, 3 Versant enJin e-business to the power of Versant Beispiel: France Telecom Directory V XML Clients XML Web Server RDB E A I XML EJB Server V XML EJB Server V RDB V XML Dictionary V Jean-Paul Jean-PaulMaury, Maury,CIO, CIO,France FranceTelecom Telecom “Our rigorous testing proved to us that standardizing “Our rigorous testing proved to us that standardizingon onVersant VersantODBMS, ODBMS,as as one of our key architectural components, will allow us to continue to lead the one of our key architectural components, will allow us to continue to lead the industry industryin incustomer customerservice.” service.” 28.06.2000, 4 Versant enJin e-business to the power of Versant Daten im Middle Tier K Bei den Daten kann man unterscheiden zwischen l l Business Daten: z.B. Business Transaktionen Intermediate Daten: alle anderen Daten, die auch im Middle Tier gehalten werden m m m m Business Intelligence Daten: z.B. für personalisiertes Marketing Meta Daten: beschreiben z.B., wie mit Back End System und Legacy Datenbanken interagiert werden soll. Workflow Daten: Business Regeln und aktueller Bearbeitungszustand Session Daten: für aktuelle Einstellungen und Aktivitäten K Wie werden sie verwaltet? l l Als persistente Objekt im Middle Tier Business Daten werden weitergereicht 28.06.2000, 5 Versant enJin e-business to the power of Versant Synchronisation mit anderen Datenquellen KWann wird aus Versant geschrieben? l l l An Transaktionsgrenzen („write-thru“, JTA) Am Tagesende („intra day“) Workflow Ereignis m m l Neue Order wurde plaziert Einkauf wurde abgeschlossen Niemals (Metadaten, Neue Daten) KWann wird Versant aktualisiert? l l l l Niemals, da „write thru“ synchron ist Nach jedem Schreiben Periodisches Pollen („Änderungstabelle vom Host“) Workflow Ereignis (Neues Produkt wurde zum Katalog im Legacy System hinzugefügt) 28.06.2000, 6 Versant enJin e-business to the power of Versant Versant enJin K „Provide innovative Software solutions to enable the development of e-Business Applications“ l l l Verteilte Umgebungen, die Softwarelösung für Internet Skalierbarkeit benötigen Performanz, Skalierbarkeit und Verfügbarkeit Einfache Entwicklung, Time-to-market K Versant enJin Produkt Suite l l l l l OODBMS Versant: implementiert den kommenden Java Data Objects (JDO) Standard Nahtlose Integration mit den führenden EJB App. Servern enJin eXPress: Lightweight Objekt-Relationales Mapping Synchrone und asynchrone Replikation XML Toolkit 28.06.2000, 7 Versant enJin e-business to the power of Versant Versant enJin Objekt Management für e-Business Anwendungen Versant Komponenten ◆ Versant Enterprise Container • Integration mit Application Servern von BEA WebLogic und IBM WebSphere • “Portabiltätsgarantie” über Container Managed Persistence others BEA IBM ◆ Versant Express • Leightwieght OROR-Mapping Toolkit ◆ Asynchrone Replikation EJ B L XM • Abgleich mit Legacysystemen ◆ Versant Java Developer Suite • Hochperformante Persistenzlösung für Java Anwendungen • Reduziert die Entwicklungszeit um 40% • Implementiert JDO • Fehlertoleranter Server als Option ◆ XML Toolkit • XML Import und Export • Transformation von Java Objekten 28.06.2000, 8 Versant enJin e-business to the power of Versant Vorteile einer OODBMS im Middle Tier K “Time to Market” reduzieren l l l Klares, natürliches Design Nur ein Modell für Anwendung und Datenbank Keine spezielle Zugriffsschicht (mapping code) K Bis zu 40% weniger Code zu erstellen / zu warten K Exzellente Performanz der Anwendung l l Navigation ist schneller, intuitiver als Joins unterstützt transparente Verteilung K Senkt den Aufwand für Wartung und Administration K On-line schema Evolution l Einfachere Handhabung durch weniger Altlasten 28.06.2000, 9 Versant enJin e-business to the power of Versant Java Data Objects (JDO) K Ziel: l l Definiert einen Kontrakt zwischen Programmierer und JDO Anbieter Standard API für transparenten Datenbankzugriff Nahtlose Integration von der Programmiersprache Java mit Datenbank Fokus liegt auf m m Integration mit DBMS und Applikationsservern direkter programmatische Zugriff auf Unternehmensdaten K JDO und JDBC l Mit JDBC muß der Programmierer m m l explizit die Attributwerte verwalten und auf Tabellen mappen die Spezifika unterschiedlicher Datenbanksysteme kennen JDO ersetzt nicht JDBC m m m Ergänzende Technologien Standardisierter Zugriff auf Objektdatenbanken und Objektrelationale Mappings JDO Programmier kann sich auf Businesslogik konzentrieren 28.06.2000, 10 Versant enJin e-business to the power of Versant Basis JDO Architektur Einheitliche Sicht auf Daten Anwendungsprogramm Applikations Server Anwendungsprogramm EJB Container “Plug & Play” JDO Implementierung Ziele * Transparentes Interface ohne neue Datenzugriffssprache * Skalierbare und transaktionelle Implementierung * “Small Footprint” für Applikationsserver * Verwendet die Connector Architektur zur Integration mit J2EE Compliant App. Servern * Kontrakte und Verantwortlichkeiten wurden definiert 2 Tier 28.06.2000, 11 Versant enJin e-business to the power of Versant JDO 2-Tier Überblick JDO Implementation Versant Applikation P T Vendor2 Daten Mapping Relationales Mapping Suche und Speicherung Beziehungen, Collections werden als Java Konstrukte betrachtet Vendor3 Java VM 28.06.2000, 12 Versant enJin e-business to the power of Versant JDO mit Applikationsserver Tx Mgr Tx Contract Resource Adapter Applikations Komponente Data Store JDO API Verwendet von JDO Implementierung - Server-side: EJB, Servlet, JSP - Embedded: Small-Footprint Device Container - Teil des Appliktionsservers - Deployment und Runtime Unterstützung - Interface zu den App. Server Services Connx Contract System Level Kontrakt zwischen App. Server und EIS Connector “EIS” App. Server 28.06.2000, 13 Versant enJin e-business to the power of Versant Entwicklungsschritte K Entwicklung mit JDO : l Entwicklung eines Objektmodells. Entscheiden welche Klassen persistent gemacht werden sollen m l Implementierung der Java Klassen m m m l Dies kann mit Tools wie z.B. Together, Rose, ArcStyler erfolgen Für die persistenten Java Klassen wird die gleiche Semantik wie für die transienten verwendet Die Vererbungshierachie und Attributtypen werden entsprechend in der Datenbank abgebildet Collection Klassen können verwendet werden Implementierung der Transaktionen in den Anwendungsprogramm 28.06.2000, 14 Versant enJin e-business to the power of Versant Byte-Code Enhancement Konfigurations Datei ByteCode Enhancer (in Java implementiert) Output Dir (.class files) Input Dir (.class files) java com.versant.Enhance -config config_file -in in_dir -out out_dir 28.06.2000, 15 Versant enJin Unterstützt In-Place Enhancement e-business to the power of Versant JDO: Beispiel public class Person{ private String name; public Person (String n) { name = n;} public void setName(String n) { name = n;} } public class PersonMain{ public static void main (String args[]) { PersistenceManagerFactory factory = new VersantPersistenceManagerFactory (); PersistenceManager pm = factory.getPersistenceManager (args[0]); Transaction tx = pm.currentTransaction (); Person newPerson; tx.begin (); for (int i = 0; i < args.length; ++i) { newPerson = new Person(args[i]); pm.makePersistent (newPerson); } tx.commit(); tx.begin(); // now change the last person newPerson.setName(„Mr. X“); tx.commit(); pm.close (); } } 28.06.2000, 16 Versant enJin e-business to the power of Versant Versant enJin Express K Objekt-relationales Mapping für e-Business Apps l l Nahtloses OR-Mapping für Java Objekte, EJB Verwaltet komplexe Beziehungen zwischen Objekten m l Nutzt Datenbank Features m l l l l 1-1, 1-M Assoziationen, vererbung, Pfad Queries und Pre-Post Hooks Stored Procedures, Views, BLOBs Dynamisches Mapping anhand von Meta-Data (XML Beschreibung) Lightweight – Internet Ready (Pure-Java < 300k) Performanz Integration mit führenden Applikationsservern (BEA, ...) 28.06.2000, 17 Versant enJin e-business to the power of Versant Dynamische Übersetzung von XML Content von/in Objekt Repräsentationen; Vereinfacht die Entwicklung Client XML Client Application Server Shared Cache für Metadaten, komplexe Daten und “Work-in-Progress” Transaktionen Customer Bean Versant enJin Application Server Order Bean Customer Bean Intermediate-data meta-data App Server Integration Order Bean Versant JDO Versant transactions transactions Automatisches OR Mapping und Propagation von Transaktionen Replication Verteilt und koordiniert Middle-Tier Daten Data Exchange Line-of-Business Systems 28.06.2000, 18 Versant enJin Versant ODBMS Versant Asynchronous Replication enJin Express e-business to the power of Versant Zusammenfassung XML EJB e - business to the power of Versant 28.06.2000, 19 Versant enJin e-business to the power of Versant 28.06.2000, 20 Versant enJin e-business to the power of Versant