11.09.2013 Aufrufe

LIBeLIS - Java Forum Stuttgart

LIBeLIS - Java Forum Stuttgart

LIBeLIS - Java Forum Stuttgart

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Alexander v. Zitzewitz<br />

alexander.zitzewitz@libelis.com<br />

info@libelis.com<br />

www.libelis.com<br />

JDO<br />

<strong>LIBeLIS</strong><br />

LiDO verleiht Flügel<br />

Enterprise Information Access<br />

Skalierbare EIA Lösungen<br />

1


Visitenkarte <strong>LIBeLIS</strong><br />

Enterprise Information Access Software Anbieter<br />

Gründung im Jahr 2000<br />

Gründer sind Experten in DBMS und J2EE Technologie<br />

Weltweite Aktivitäten<br />

Niederlassungen in GB, Deutschland und Frankreich<br />

Distributoren in USA & Kanada<br />

Erste Kunden in Asien<br />

Finanzierung<br />

Erste Finanzierungsrunde im November 2002<br />

Zweite Runde: Juni 2004 – 4 Mio Euro<br />

Dun & Bradstreet: “Low risk”<br />

Bekenntnis zu <strong>Java</strong> Standards<br />

Mitglied des <strong>Java</strong> Community Process (JCP)<br />

Aktives Mitglied der JDO Expert Group<br />

JDOCentral Sponsor<br />

2


Der JDO Standard<br />

<strong>Java</strong> Data Objects<br />

3


Der <strong>Java</strong> Standard für Datenzugriff<br />

OffizieleFreigabeimMärz2002<br />

Beitragende<br />

Sun, IBM, BEA, Oracle, SAP ... & <strong>LIBeLIS</strong><br />

Kein Ersatz, sondern Ergänzung für JDBC und EJB<br />

Ziele<br />

Transparente Persistenz<br />

JDO<br />

<strong>Java</strong> Code ist frei von technischen Details der Persistenzschicht<br />

Universeller Datenzugriff<br />

RDBMS, ODBMS, Binärdateien, XML, text, Legacy, JCA<br />

Unabhängigkeit bei der Auslieferung<br />

<strong>Java</strong> Ebene: Client-server J2SE bis hin zu verteilten J2EE Anwendungen<br />

4


JDO<br />

Signifikante Verringerung von Projektrisiko und Kosten<br />

~30% weniger Code<br />

Erheblich geringere Komplexität -> weniger Risiko und Kosten<br />

Risikominimierung<br />

87% aller gescheiterten <strong>Java</strong> Projekte scheitern an der Persistenzschicht<br />

Keine Barriere zwischen Datenbanken und Objekten mehr<br />

Modellieren Sie in <strong>Java</strong><br />

Verbesserte Herstellerunabhängigkeit<br />

Über 20 JDO Implementierungen, Tendenz steigend…<br />

Datenbank Unabhängigkeit<br />

Austausch der Datenbank ist völlig unproblematisch<br />

Benutzen Sie RDBMS, ODBMS, XML, JCA, Dateien, …<br />

Jede Menge Bücher (know-how wiederverwendbar)<br />

5


Flexible Nutzung von JDO Modellen<br />

JDO<br />

Nutzung in EJB AppServers<br />

Integration über JCA oder JNDI<br />

Verbindungen und Transaktionen laufen über den App Server<br />

EJB Anwendungen mit Session Bean Facade Pattern können mit<br />

minimalem Aufwand nach JDO portiert werden<br />

JDO in einer Servlet Engine<br />

Oft wird der teure AppServer gar nicht mehr benötigt<br />

Client-Server<br />

Client Server mit JDO<br />

Cache verbessert Geschwindigkeit<br />

Selbes Modell kann auch für Servlet Engine oder App Server benutzt<br />

werden.<br />

6


Selbst geschriebene Frameworks<br />

Alternativen?<br />

Nicht mehr besonders clever… clever<br />

Erheblicher Entwicklungsaufwand<br />

Erhebliche Wartungskosten<br />

Nimmt den Fokus von der eigentlichen Anwendung weg<br />

Proprietäre Lösungen<br />

Warum wollen Sie sich das antun, wenn es einen Standard<br />

gibt? gibt<br />

Oracle TopLink<br />

TopLink hat häufig den Besitzer gewechselt<br />

Oracle ist inzwischen aktives Mitglied der JDO Expert Group<br />

Konsequenz ? !<br />

Andere (Cocobase Cocobase etc…) etc…)<br />

Kein relevanter Marktanteil<br />

7


Zitat<br />

Access to Enterprise Information from<br />

<strong>Java</strong> applications is the biggest<br />

challenge of CIOs today. today<br />

Douglas Clarke, TopLink Product Manager, Oracle, Sept. 2003<br />

Einverstanden. Einverstanden.<br />

Aber heutige Anwender<br />

bestehen auf standardisierten<br />

Lösungen.<br />

Lösungen<br />

Eric Samson, <strong>LIBeLIS</strong><br />

8


Open Source Frameworks<br />

Alternativen?<br />

Etwas smarter als selber schreiben…<br />

schreiben<br />

Tool des Jahres Wettbewerb: Castor, Apache OJB, Hibernate, Torque,<br />

was kommt als nächstes??<br />

Proprietär & Guru abhängig (was ist, wenn Gavin King keine Lust mehr<br />

hat?)<br />

Professional Open Source: wird Open Source nun kommerziell?<br />

Skalierbarkeit, Support, Beständigkeit von API’s ??<br />

Entity Beans (EJB 2.0, vergessen wir mal EJB 1.1)<br />

Container Managed Persistence (CMP)<br />

JDO skaliert erheblich besser (3x – 10x) und ist einfacher anzuwenden<br />

CMP unterstützt lediglich RDBMS, kein XML etc...<br />

CMP legt Ihnen erheblich Einschränkungen bei der Modellierung auf<br />

In 3 Jahren wird diesem Standard niemand mehr nachweinen<br />

Bean Managed Persistence (CMP)<br />

Wenn Sie nach „Lines of Code“ bezahlt werden möchten ☺<br />

9


Aktuelle Marktsituation<br />

JDBC<br />

Direkt<br />

•Impedance Mismatch<br />

•OO Vorteile verpuffen<br />

•Ganz schön teuer<br />

selbst<br />

gemacht<br />

Produkte<br />

•Kostenalbtraum<br />

•technisch: hohe<br />

Komplexität, hohes<br />

Risiko<br />

•JDO vs proprietär<br />

•Open Source vs kommerziell<br />

•Wird bis Ende 2005 auf min.<br />

40% anwachsen (Quelle: Sun)<br />

The lack of a robust « information access » product<br />

is the main reason for 87% of failed <strong>Java</strong> projects. projects<br />

The Data Access layer is largely UNDER-ESTIMATED UNDER ESTIMATED !<br />

Douglas Clarke, Oracle, Sept. 2003<br />

10


Wachstum für EIA Lösungen<br />

1985 1990 1995 2000 2005<br />

Mainframe<br />

databases<br />

Relational<br />

databases<br />

Domain<br />

objects<br />

Object<br />

databases<br />

Rasant<br />

wachsender<br />

Bedarf für<br />

«business object<br />

mapping »<br />

11


Business<br />

Model<br />

Unsere Vision<br />

Die Anwendung baut auf<br />

einem Geschäftsmodell<br />

auf. Dieses ist unabhängig<br />

von einer bestimmten<br />

Datenquelle.<br />

LiDO: Standardized<br />

Enterprise Information<br />

Access Layer<br />

Heterogene<br />

Datenquellen (RDBMS,<br />

Host, XML, JCA, …<br />

JDO, AOP, MDA, SDA are enabling technologies making<br />

J2EE effective, with the business at the heart of the IS<br />

12


JDO Programmierung<br />

LiDO aus der Sicht des<br />

Entwicklers<br />

13


JDO Objektmodell<br />

public class Employee extends Person {<br />

public String name;<br />

private java.util.Date birthday;<br />

private int salary;<br />

public Company company;<br />

public IActivity activity;<br />

Vector awards;<br />

public void bonus(int more) {<br />

salary += more;<br />

}<br />

}<br />

Kein javax.jdo<br />

import<br />

Vererbung<br />

Das ist eine persistente Klasse !<br />

Wenn Sie es in <strong>Java</strong> schreiben können, erledigt JDO den Rest für Sie.<br />

Interfaces<br />

Collections<br />

Keine Accesors<br />

etc.<br />

14


source<br />

code<br />

javac<br />

compiler<br />

JDO: wie geht das? das<br />

byte<br />

code<br />

JDO<br />

enhancer<br />

Mapping<br />

(xml file)<br />

Enhancement wird durch JDO spec.<br />

vollständig beschrieben:<br />

Enhanced Byte-Code ist zwischen JDO<br />

Implementierungen portierbar<br />

Enhanced Byte-Code ist unabhängig von der<br />

Datenquelle<br />

Erlaubt Debugging und Profiling (JPDA)<br />

Erlaubt völlig transparente Persistenz<br />

byte<br />

code<br />

java<br />

JVM<br />

LiDO<br />

15


<strong>Java</strong> VM<br />

Programmierung mit LiDO LiDO<br />

Applikationsobjekte<br />

Einige JDO Calls<br />

•Verbindung (*)<br />

•Abfragen<br />

•Transaktionen (*)<br />

LiDO<br />

<br />

Geschäftsobjekte<br />

Völlig transparent (keine JDO Calls):<br />

•Navigation zwischen Objekten<br />

•Datenmanipulation in <strong>Java</strong><br />

•Automatisches Mapping<br />

•Client Cache, Objektidentität<br />

( * ) : in einem J2EE Kontext werden Verbindungen und<br />

Transaktionen vom AppServer verwaltet !<br />

<br />

rdbms<br />

odbms<br />

16


JDO Enterprise<br />

Architektur<br />

LiDO LiDO<br />

aus der Sicht des<br />

Architekten<br />

Enterprise Information Access<br />

17


Benutzer<br />

Informations<br />

Systeme<br />

-Partner<br />

-Lieferanten<br />

-Kunden<br />

LiDO JDO Architekturen<br />

AppServer<br />

EJB<br />

Tomc@<br />

Web<br />

services<br />

<strong>Java</strong> Object<br />

Domain Model<br />

LiDO LiDO<br />

Cache<br />

<strong>Java</strong> VM / J2EE<br />

LiDO Storage Manager<br />

JDBC<br />

API<br />

JDBC<br />

API<br />

ODBMS API<br />

RDBMS<br />

XML<br />

MainFrame<br />

Other<br />

data sources…<br />

ODBMS<br />

18


C/S<br />

JSP<br />

Freiheit bei der Architektur<br />

Skaliert schlecht<br />

Entity<br />

Keine OO Modellierung<br />

Hohe Laufzeitkosten<br />

Session<br />

Entity Bean CMP2<br />

RDBMS und sonst nichts<br />

Hohe Entwicklungskosten<br />

JSP<br />

<strong>Java</strong><br />

Effiziente Persistenz<br />

(leichtgewichtig)<br />

Universell, jede Datenquelle<br />

<strong>Java</strong> total<br />

Session<br />

JDO-LiDO<br />

Infrastruktur unabhängig<br />

Reine <strong>Java</strong> Klassen<br />

Entity<br />

Any<br />

Data<br />

Source<br />

JDO word mehr<br />

und mehr als<br />

hervorragende<br />

Ergänzung für<br />

J2EE<br />

betrachtet.<br />

19


LiDO Live !<br />

JDO Demo<br />

Es läuft nicht nur auf Powerpoint ☺<br />

20


Mehr als nur JDO<br />

Alle JDO Vorteile + LiDO Vorteile<br />

Ein API für alle Datenquellen<br />

Mehrwertdienste: z.B. Historisierung etc.<br />

3 Jahre auf dem Markt<br />

LiDO bietet<br />

Exzellente Performance und Skalierbarkeit<br />

Erhebliche Einsparungen bei den Betriebskosten<br />

Viele erfolgreiche Installationen<br />

ROI < 180 Tage<br />

Sparen Sie mindestens 30% Entwicklungsaufwand<br />

Mindestens 4 mal mehr Benutzer pro Server<br />

Schnelle Amortisation der Investition<br />

21


LiDO Kunden<br />

Fiducia IT AG München, <strong>Stuttgart</strong><br />

6 Monate Evaluierung mehrerer JDO Tools<br />

Entscheidung für LiDO wegen Performance und<br />

Stabilität<br />

<strong>Java</strong> Banking Framework Entwicklung auf Basis von<br />

LiDO (>40 Entwickler)<br />

Allgemeine Deutsche Direktbank (DiBa)<br />

Intranetanwendung für Hypothekendarlehen<br />

BNP Cardif Paris<br />

60 Entwickler<br />

ROI laut Aussage des Kunden in 90 Tagen<br />

Jährliche Einsparung bei Wartung von 1.000 Manntagen<br />

22


Siemens AG (XML)<br />

XtraMind Technologies GmbH<br />

FinanzIT GmbH<br />

Deltalloyd Versicherungsgruppe<br />

France Telecom<br />

Ericsson (Schweden)<br />

Generali (CH)<br />

Universität Magdeburg<br />

Sanofi Synthelabo<br />

Orange<br />

Sony<br />

HSK (Hong Kong)<br />

Axa<br />

Raytheon (USA)<br />

Rothschild Bank (CH)<br />

…<br />

<strong>LIBeLIS</strong> Kunden<br />

23


<strong>LIBeLIS</strong> Partner<br />

BEA Systems (BEA Star Partner)<br />

IBM (Reseller Agreement)<br />

ILOG (“Jrules”)<br />

Sun Microsystems<br />

100world AG Nürnberg<br />

cept it Informationstechnologie GmbH<br />

Böblingen<br />

Danet GmbH Weiterstadt<br />

Saxonia Systems AG<br />

Dresden, München, Hamburg, Frankfurt<br />

Syngenio AG (<strong>Stuttgart</strong>, Bonn, München)<br />

24


Starter Package<br />

Neugierig geworden?<br />

Nutzen Sie unser Starter Package<br />

(bis 30.6.04)<br />

3 Entwicklerlizenzen LiDO Enterprise<br />

1 Tag Coaching vor Ort<br />

1 Testserver Runtime LiDO Enterprise<br />

1 Serverruntime 1 CPU (LiDO Enterprise)<br />

1 Jahr Support (incl. Updates)<br />

Aktionspreis 12.000 € (anstelle von 23.500 €)<br />

25

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!