Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ADF Business Components: Ein Praxisbericht

Ähnliche Präsentationen


Präsentation zum Thema: "ADF Business Components: Ein Praxisbericht"—  Präsentation transkript:

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

2 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

3 View Controller Model Business Services ADF Architekur 10.1.3
Farben und Linien ADF Architekur 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

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

5 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

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

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

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

9 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

10 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

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

12 Caching Mechanismen

13 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

14 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

15 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

16 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

17 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.

18 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) { ... }

19 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) { ... }

20 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

21 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 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

22 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 ~ Kulturpflanzenmuster)

23 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

24 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

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

26 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

27 Erfahrungen Warum ADF (2003)?

28 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

29 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

30 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

31 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

32 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

33 Vielen Dank für Ihre Aufmerksamkeit !
Farben und Linien Kontakt: Markus Oppermann IPK Gatersleben Torsten Winterberg OPITZ CONSULTING GmbH Vielen Dank für Ihre Aufmerksamkeit !

34 Informationsquellen zu ADF
Einige Informationsquellen zu Oracle ADF Oracle 10g JDeveloper Product Center Oracle ADF Data Binding Primer ADFBindingPrimer/index.html Dive into BC4J and ADF JSR 227: A Standard Data Binding & Data Access Facility for J2EE


Herunterladen ppt "ADF Business Components: Ein Praxisbericht"

Ähnliche Präsentationen


Google-Anzeigen