ADF Business Components: Ein Praxisbericht

Slides:



Advertisements
Ähnliche Präsentationen
Objektrelationales Mapping mit JPA
Advertisements

Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
RMI RMI Systemarchitektur Servlet Cont. Präsentation Logik Datenbank Servlet Cont. Servlet Cont. EJB-Container Oracle RMI JDBC.
Web-Entwicklung mit ASP.NET 2.0 und Visual Studio 2005 Uwe Baumann Marketing Manager Developer Tools Microsoft Deutschland GmbH Oliver Scheer Developer.
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
Ruby on Rails im Überblick
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Java 2 Enterprise Edition (J2EE)
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
FQTQ ShowCase Prototyp einer Applikation zur Beratungsunterstützung.
Herzlich Willkommen… welcome… soyez la bienvenue….
Wir bauen uns eine Webapplikation!
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
Robotron – Titel der Präsentation Martin Kunze,
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
SharePoint 2010 for Information Architects
EJB-Applikationsserver
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Institut für Wirtschaftsinformatik und Anwendungssysteme
Architekturen und Techniken für computergestützte Engineering Workbenches.
Architecture Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Referent: Stephan Metzler
Ein JEE 5 Webframework Jörg Wüthrich Infopoint, 4. Februar 2009
Datenanbindung in Webapplikationen
Vassil Dimov.  Was ist Blue Age  Eigenschaften  Möglichkeiten  Hello World (Beispiel)  Entity Creation(Beispiel)  Benefit.
Windows Interface Guidelines for Software Design1 The Windows Interface Guidelines for Software Design.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
SiPass standalone.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
EJB Architektur für große Web - Applikationen Gerald Weber
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
Berliner Elektronenspeicherring-Gesellschaft für Synchrotronstrahlung m.b.H., Albert-Einstein-Straße 15, Berlin frontend control at BESSY R. Fleischhauer.
1 Persistence Strategies for WebServices Senior Consultant Java Forum Stuttgart, 27. Juni 2002.
Application Infrastructure Technologies Extending OnPremise EAI to the Cloud Wilfried Mausz BSc. dataformers GmbH Lothar Mausz dataformers.
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
DOAG Regionaltreffen Trier/Saarland Verwendung von TopLink in J2EE Applikationen 09. September 2003 Marcus Keuper, Pfeil GmbH
AMS confidential & proprietary International Business and Technology Consultants 1 Sicherheitskonzepte in Oracle Von der Entwicklung in die Produktion.
Cubido business solutions gmbh Haidfeldstrasse 33 A-4060 Leonding di(fh) Wolfgang Straßer ° Rundumblick.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
SOFTWARE POWERS THE INTERNET SM. Oracle9i Application Server Mathias Kaldenhoff Geschäftsstelle HH Leiter Systemberatung Oracle Deutschland GmbH
Jürgen Vester Manager Sales Consulting Stuttgart Webreporting für SAP R/* mit Oracle Application Express (ehem. HTML DB)
Technische Universität München Alexander Neidhardt Forschungseinrichtung Satellitengeodäsie 1 Concepts for remote control of VLBI-telescopes: on the way.
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
1 TopLink - flexible Persistenz im Oracle Application Server.
Vorbereitung einer Anforderungsanalyse für ein GUI im Kreditkarten- Processing-Umfeld Yanik Dreiling MatrNr
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
Verteilte Anwendungen: J2EE
Robotron – Titel der Präsentation Olaf Nowatzki Dresden,
Scamander S O L U T I O N S Befreien Sie Ihre Oracle Applications Daten! Christian Rokitta - Berater Scamander Solutions BV
Erweiterte Azure Dienste
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
Investitionen sichern - wachse mit Forms in die neue Welt
Wesentliche Bestandteile:
Gewachsene Architektur Das kann nicht funktionieren!
Du kommst hier nicht rein!
Von Oracle Reports zum BI Publisher
SOFTWARE- UND WEB-LÖSUNGEN
 Präsentation transkript:

ADF Business Components: Ein Praxisbericht Farben und Linien ADF Business Components: Ein Praxisbericht Markus Oppermann, IPK Gatersleben Torsten Winterberg, OPITZ CONSULTING GmbH

Kurzvorstellung Oracle ADF Farben und Linien Agenda Kurzvorstellung Oracle ADF ADF Business Components als Persistence-Layer ADF BC Konzepte Einordnung ADF BC, Toplink, Hibernate, ... Demo Praxisbericht GBIS/M der IPK Gattersleben Vorstellung IPK Vorstellung GBIS Projekt Erfahrungen mit Oracle ADF BC im Praxiseinsatz

View Controller Model Business Services ADF Architekur 10.1.3 Farben und Linien ADF Architekur 10.1.3 Rich Client Web / Wireless View ADF UIX ADF Controller ADF Bindings ADF Data Control ADF Business Components Service Object ADF Business Components Query Object ADF Business Components Entity Object Swing / JClient ADF Metadata Services Swing / JClient JSP ADF UIX JSF Controller Struts ADF Controller ADF Bindings Model ADF Data Control Business Services Java Classes EJB Session Beans ADF Business Components Service Object Web Services ADF Metadata Services ADF Business Components Query Object JDBC TopLink Queries EJB Finders Data Access ADF Business Components Entity Object Persistent Business Objects Java Classes EJB Entity Beans TopLink Mapping

Der Persistence Layer in der Unternehmensarchitektur Business Services Sehr kurz die Positionierung des Vortrages im Tagesprogramm erwähnen

Mapping-Metadata (XML) Projektstrategie Java Bean* Middle-out Bottom-Up Top-Down Meet in the middle 1 2 1 2 3 4 3 Mapping-Metadata (XML) 4 Tabellen / Schema Hibernate: erst Mapping, dann hbm2java und hbm2ddl Toplink: 1 geht auch: in Workbench Java-Klassen definieren, Tabellen definieren und dann generieren OracleTopLink 1 2 3 4 Hibernate / Hibernate-Tools/Middlegen 1 2 3 4 Oracle ADF BC 2 3

1) Tabellen im Datenbank-Schema Farben und Linien DEPT 1) Tabellen im Datenbank-Schema EMP

DEPT Department EMP 2) Entity Objects kapseln Geschäftsregeln, Logik und Defaultverhalten pro Tabelle Employee

3) View Objects kapseln SQL-Statements DEPT Department EMP ForeignDepts Employee 3) View Objects kapseln SQL-Statements RetiringEmps

4) Application Modules definieren das Datenmodell für einen Usecase DEPT Department EMP 4) Application Modules definieren das Datenmodell für einen Usecase ForeignDepts Employee ForeignPensionsApp RetiringEmps Master Detail

5) UIs verwenden das Application Module als Backend Business Service DEPT Department 5) UIs verwenden das Application Module als Backend Business Service EMP ForeignDepts Employee ForeignPensionsApp RetiringEmps Master Detail

6) Komponenten sind wiederverwendbar DEPT Department EMP 6) Komponenten sind wiederverwendbar ForeignDepts Employee ForeignPensionsApp OverbudgetDepts RetiringEmps Master SpendingReviewApp Managers Detail Master Detail

Caching Mechanismen

BC4J Verteilungsszenarien ohne(!) EJBs Präsentations- schicht Applikations- schicht Datenbank OHS OC4J Web Container EJB Container Oracle10g Java VM JDBC Java Application HTTP Browser HTML Web-Server Dynamisch generiertes HTML Servlets JSPs JavaBeans Web Listener JDBC BC4J JavaBeans Daten Client BC4J

BC4J Verteilungsszenarien mit EJBs Präsentations- schicht Applikations- schicht Datenbank OHS OC4J Web Container EJB Container Oracle10g App-Server Geschäfts-logik BC4J (EJBs) Client Java VM Java Application JavaBeans ORMI HTTP Browser HTML ORMI Web-Server Dynamisch generiertes HTML Servlets JSPs JavaBeans Web Listener Daten JDBC

Synchronize pending data changes across multiple views of data Features Declaratively design master/detail UI data model, including only data needed by client for optimum performance Synchronize pending data changes across multiple views of data Implement end-user query-by-example data filtering without code Declaratively enforce required fields, primary key uniqueness, data precision/scale, and foreign key references Simplify application security with automatic JAAS integration and audit maintenance Consistently apply prompts, tooltips, format masks, and error messages in any application

Enforce best-practice interface-based programming style Features "Write once, deploy any": use the same business service as lightweight class, EJB session bean, or web service Enforce best-practice interface-based programming style Reduce network traffic for remote clients through efficient batch operations Easily capture and enforce both simple and complex business rules, programmatically or declaratively Handle images, video, sound, and documents with no code Simplify multi-step web-based business transactions with automatic web-tier state management

Ausblick NOTE: While currently the ADF business components use their own high-performance layer to manage saving business objects changes to the database, in the future we plan to evolve the framework to take advantage of the O/R mapping services provided by Oracle TopLink. This will provide ADF Business Components developers with addtional mapping flexibility in future releases.

CreateCustomer mit Hibernate public void testCreateCustomer() throws Exception { Session session = HibernateUtil.getSession(); Transaction tx = session.beginTransaction(); try { Customer c = new Customer(); c.setFirstname("Felix Raoul"); c.setLastname("Hammerstein"); c.setCommentary("Junger Kunde"); session.save(c); tx.commit(); } catch (HibernateException e) { ... }

CreateCustomer mit BC4J public void testCreateCustomer() throws Exception { ApplicationModule am = AmManager.getRootAm(); try { ViewObject vo = am.findViewObject(„CustomerVo“); CustomerRow c = (CustomerRow) vo.createRow(); c.setFirstname("Felix Raoul"); c.setLastname("Hammerstein"); c.setCommentary("Junger Kunde"); vo.insertRow(c); am.commit() } catch (JboException e) { ... }

Demo -Demo: Erstellen von Simple Beispiel --EOs+VOs+AM --Tester zeigen Farben und Linien Demo -Demo: Erstellen von Simple Beispiel --EOs+VOs+AM --Tester zeigen --Code zeigen, impl. --Validierung zeigen --Batchclient

Fazit ADF Business Components (BC4J) Nachteile: Sehr „invasiver“ Ansatz (keine reinen POJOs im Objektmodell) Starke Kopplung an JDeveloper Viele Dinge passieren verdeckt im Framework Vorteile Sehr gut für CRUD-Applikationen geeignet („database babysitting apps“; Bruce Tate) Sub-Framework von ADF JSR 227 zur Standardisierung eingereicht (Status: in Progress) siehe www.jcp.org, Go To JSR: 227 Daher zusätzliche Features „nach oben“ Richtung Binding Optimale JDeveloper Integration 4GL-artige Entwicklung, sehr hohe Produktivität geringe Lernkurve für Standardanwendungsfälle

Institut für Pflanzengenetik und Kulturpflanzenforschung IPK Wurzeln im 1943 gegründeten Instituts für Kulturpflanzenforschung der Kaiser- Wilhelm- Gesellschaft, jetzt ein Leibniz-Institut Forschungsschwerpunkte: Diversitätsforschung, Dynamik pflanzlicher Genome, Integrative Biologie pflanzlicher Leistungen beherbergt eine der weltweit größten Genbanken (derzeit ~148.000 Kulturpflanzenmuster)

Die Genbank und die AG Genbankdokumentation IPK Farben und Linien Die Genbank und die AG Genbankdokumentation IPK Genbank Aufgaben: Sammlung, Erhaltung, Vermehrung, Dokumentation und Bereitstellung von pflanzengenetischen Ressourcen Wissenschaftliche Bearbeitung des Materials: molekulare Charakterisierung, Genomanalyse, taxonomische Fragestellungen AG Genbankdokumentation: Neuentwicklung des Genbank-Informationssystems (GBIS) Betreuung und Entwicklung der wissenschaftlichen Datenbanken der Genbank Informationsdarstellung in der Biodiversitätsforschung

Ablösung der karteikartenbasierten Dokumentation Farben und Linien Das GBIS-Projekt Zielsetzung Teilaspekt des 4-jähriges BMBF gefördertes Projekt zur Etablierung einer gesamtdeutschen Genbank (Feb 2002 – Jan 2006) Integration der an vier Standorten vorhandenen Datenbestände in eine (zentrale) Datenbank Ablösung der karteikartenbasierten Dokumentation Vollständiger Ersatz der bisherigen DV-Lösungen mit „Mehrwert“ Grundlage / Umfang Plattform: Oracle/Linux umfasst Datenbankdesign, Applikationsentwicklung und -implementierung

Umfang und Art des Datenbestandes Farben und Linien Umfang und Art des Datenbestandes ~ 149.000 Akzessionen aus ca. 100 Pflanzenfamilien mit mehr als 700 Gattungen und über 2.500 Arten drei bis vier Partien (Jahrgänge) pro Akzession 700 bis 1.200 Materialabgaben pro Jahr mit insgesamt 12.000 bis 15.000 Mustern im Versand 8.000 bis 10.000 Anbauten pro Jahr diverse Daten zu Beobachtungen, Taxonomie, Institutionen

GBIS / Management – Genbank interne Managementsoftware GBIS / Bonitur – Software zur Erfassung von Beobachtungsdaten mit mobilen Endgeräten GBIS / Internet – externer Informations- und Bestellzugang internes GBIS externes GBIS GBIS/M GBIS/I GBIS/B

Erfahrungen Warum ADF (2003)?

GBIS in Kontext der ADF Architekur Farben und Linien GBIS in Kontext der ADF Architekur GBIS/M (Rich Client) GBIS/I (Web) View Swing / JClient JSF Controller ADF Controller ADF Bindings Model ADF Data Control Business Services ADF Business Components Service Object ADF Metadata Services ADF Business Components Query Object Data Access ADF Business Components Entity Object Persistent Business Objects

Projektstrategie bei GBIS JClient über ADF Bindings Top-Down Bottom-Up Meet in the middle 1 2 1 2 3 3 ADF View Objects ADF BC Entity Objects Hibernate: erst Mapping, dann hbm2java und hbm2ddl Toplink: 1 geht auch: in Workbench Java-Klassen definieren, Tabellen definieren und dann generieren Tabellen / Schema

Erfahrungen: Erster Modellierungsansatz GBIS Farben und Linien Erfahrungen: Erster Modellierungsansatz GBIS ATTRIBUTE hochnormalisiertes DB-Schema Metamodell zur Abbildung der Strukturen Viewschicht realisiert Abbildung auf BC-Entities Bottom-Up-Strategie OBJECT Dept_View TYPE Department Hohe Kosten bei Modelländerungen Emp_View Employee

Erfahrungen: korrigierter Modellierungsansatz Re-Design des DB-Schema 1:1 Abbildung der BC-Entities auf DB-Tabellen Top-Down-Entwurf + Bottom-Up-Umsetzung DEPT Department EMP ForeignDepts Employee RetiringEmps

Fazit Vorteile BC4J bietet ausgereiftes, performantes Pesistenzframework ADF als nutzbare Technologie insbesondere bei „Standart-Applikationen“ Integration in JDeveloper gute Wizard-Unterstützung bei der Generierung von Objekten "Write once, deploy any": BC-Entities sowohl für GBIS/M als auch für GBIS/I nutzbar Nachteile Einarbeitungsaufwand für Lösungen „abseits der Wizards“ sehr hoch Pflege und Anpassung der Objekte nicht 4GL-artig unterstützt Versionsmanagement nicht konsistent über gesamtes Projekt nutzbar Agile Softwareentwicklung über alle Schichten schwierig

Vielen Dank für Ihre Aufmerksamkeit ! Farben und Linien Kontakt: Markus Oppermann IPK Gatersleben markus.oppermann@ipk-gatersleben.de +49 39482 5 0 Torsten Winterberg OPITZ CONSULTING GmbH torsten.winterberg@opitz-consulting.de +49 2261 6001 0 Vielen Dank für Ihre Aufmerksamkeit !

Informationsquellen zu ADF Einige Informationsquellen zu Oracle ADF Oracle 10g JDeveloper Product Center http://otn.oracle.com/products/jdev/index.html Oracle ADF Data Binding Primer http://otn.oracle.com/products/jdev/collateral/papers/10g/ ADFBindingPrimer/index.html Dive into BC4J and ADF http://radio.weblogs.com/0118231/ JSR 227: A Standard Data Binding & Data Access Facility for J2EE http://www.jcp.org/en/jsr/detail?id=227