Oracle Business Components for Java Arnim von Helmolt / OPITZ CONSULTING Oracle Business Components for Java, Seite 1 Agenda • Was ist BC4J? • Architektur einer BC4J Applikation • Verteilung einer BC4J Applikation • Clients für BC4J Applikationen • Fazit, Fragen und Antworten Oracle Business Components for Java, Seite 2 Was ist BC4J? Oracle Business Components for Java (BC4J) ist ein technisches Framework basierend auf Java und XML. Es erlaubt • produktive Entwicklung von mehrschichtigen, Datenbankgetriebenen Java Applikationen auf Basis von Komponenten, • flexible Verteilungsmöglichkeiten für die Komponenten der mittleren Schicht, • leichte Anbindung von schmalen Java Swing-, Servlet- und JavaServer Page Clients. Oracle Business Components for Java, Seite 3 Technische Frameworks Technische Frameworks unterstützen die Anwendungsentwicklung. Sie umfassen: • Softwarebausteine mit Basisfunktionalitäten wie Connection Pooling, Caching, Locking, Master-Detail-Synchronisation BC4J: Java Klassenbibliotheken • Tool-Unterstützung bei der Softwareentwicklung BC4J: JDeveloper Wizards, ab JDeveloper 3.2 Integration ins Designer Repository, OPITZ CONSULTING Erweiterungen • Ein Vorgehensmodell für den Einsatz BC4J: OPITZ CONSULTING Oracle Business Components for Java, Seite 4 Abgrenzung Fachliche Frameworks: • Vordefinierte Geschäftskomponenten für bestimmte Einsatzbereiche • Zum Beispiel: Adreßverwaltung, Lagerverwaltung, Buchhaltung... BC4J ist kein fachliches Framework, entsprechende Komponenten können aber mit BC4J entwickelt werden. Oracle Business Components for Java, Seite 5 Architektur einer BC4J Anwendung Quelle: Oracle Oracle Business Components for Java, Seite 6 Entity Objects Entitiy Objects (EOs): • EOs entsprechen 1:1 Tabellen der Datenbank. Spalten der Tabellen werden dabei zu Attributen der EOs. • Über EOs wird u.a. Persistenz und Caching realisiert. Ferner kann hier zentral Geschäftslogik implementiert werden. • Ein EO besteht aus einer XML-Datei (Metadaten) und einer Java Datei (Implementierung von Geschäftslogik). • Beziehungen zwischen EOs werden durch Assoziationen abgebildet. Assoziationen beruhen z.B. auf Foreign Keys der zugehörigen Tabellen. Oracle Business Components for Java, Seite 7 View Objects View Objects (VOs): • VOs steuern den Zugriff auf die Daten der Applikation. Dazu kapseln sie SQL SELECT Anweisungen. • VOs beruhen auf EOs, beim Ausführen der Abfrage eines VO werden über den Cache die zugehörigen Entitys erzeugt. (Ausnahme: Read Only VOs) • Clients greifen nur über VOs auf EOs zu. VOs bieten dazu alle benötigten Funktionen zum Navigieren in Ergebismengen. • Auch Änderungen geschehen über die Attribute von VOs. Dies wird dann an die zugrundeliegende EOs mit ihrer Geschäftslogik delegiert. • Master-Detail-Beziehungen werden über View Links koordiniert. Oracle Business Components for Java, Seite 8 View Objects Quelle: Oracle Oracle Business Components for Java, Seite 9 Application Tier Caching Quelle: Oracle Oracle Business Components for Java, Seite 10 Application Modules Application Modules: • Zusammenfassung von VOs und View Links für die Unterstützung eines Anwendungsfalles • Können weitere Dienste in Form von Custom Methods anbieten. • Schnittstelle von BC4J Applikationen zum Client • Bilden Komponenten, die auf unterschiedliche Plattformen verteilt werden können • Definieren Transaktionskontext Oracle Business Components for Java, Seite 11 Zusammengesetzte Application Modules Quelle: Oracle Oracle Business Components for Java, Seite 12 Anwendungsverteilung Das BC4J Framework unterstützt eine flexible Verteilung auf unterschiedliche Plattformen ohne Änderungen der Anwendungskomponenten: • Deployment als Java CORBA Komponenten • Deployment als Enterprise JavaBeans • „Lokales“ Deployment Oracle JDeveloper 3.2 unterstützt das Deployment nach • Oracle9i Application Server • Visibroker • BEA WebLogic Oracle Business Components for Java, Seite 13 Verteilungsvarianten Client Präsentationsschicht Applikationsschicht Browser Web-Server App-Server HTML Dynamisch generiertes HTML Geschäftslogik HTTP Datenbank Servlets JSP JavaBeans IIOP BC4J (EJB oder CORBA) JDBC Browser mit JVM Downloaded Java Applets JavaBeans IIOP Oracle Business Components for Java, Seite 14 Daten Verteilungsvarianten II Client Präsentationsschicht Browser Web-Server Datenbank Dynamisch generiertes HTML HTML HTTP Servlets JSP JDBC JavaBeans BC4J Oracle Business Components for Java, Seite 15 Daten Oracle9i Application Server Client Oracle HTTP Server powered by Apache Oracle JVM Browser Web-Server App-Server HTML Dynamisch generiertes HTML Geschäftslogik HTTP Oracle Server Servlets JSP JavaBeans IIOP BC4J (EJB oder CORBA) JDBC Browser mit JVM Downloaded Java Applets JavaBeans IIOP Oracle Business Components for Java, Seite 16 Daten BC4J Clients Aufbauend auf BC4J Application Modules und VOs können leicht Java Clients entwickelt werden: • Thin Java UI Clients (Swing Clients) • Java Servlets und JavaServer Pages, siehe Abb. Oracle Business Components for Java, Seite 17 Fazit • BC4J unterstützt effizient die Entwicklung von Datenbankbasierten Applikationen. Die Anwendungsentwicklung kann sich auf die fachlichen Anforderungen konzentrieren. • BC4J Applikationen zeichnen sich durch saubere Schichtentrennung aus und lassen sich leicht auf unterschiedliche Plattformen verteilen. • Für BC4J Applikationsmodule lassen sich leicht unterschiedliche Java Clients (HTML, Swing) entwicklen. Oracle Business Components for Java, Seite 18 Quellen zu BC4J • Online-Dokumentation zum Oracle JDeveloper und zum Oracle9i Application Server • Oracle Technology Network (http://otn.oracle.com/products/jdev/) • JDeveloper Diskussionsforum im OTN (http://technet.oracle.com/support/bboard/discussions.html) Oracle Business Components for Java, Seite 19 Haben Sie noch Fragen? Oracle Business Components for Java, Seite 20