ORACLE Business Components for Java (BC4J) Marco Grawunder



Ähnliche Dokumente
Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Softwareentwicklung mit Enterprise JAVA Beans

Internetanbindung von Datenbanken

Gemeinsam mehr erreichen.

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Jürgen Schwab, debis Systemhaus

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Java 2, Enterprise Edition Einführung und Überblick

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Java Enterprise Architekturen Willkommen in der Realität

JPC Visualisierung in Java

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Digitale Lastenhefte - Austausch von Dokumenten

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

SAP NetWeaver Gateway. 2013

Zukunft der Oracle Applikationsentwicklung: BC4J & XML

Der lokale und verteilte Fall

Online Banking System

Komponentenbasierter Taschenrechner mit CORBA

Enterprise Java Beans

Oracle9i JDeveloper Elmar Nathe / OPITZ CONSULTING

Enterprise Java Beans Einführung

Datenmanagement in Android-Apps. 16. Mai 2013

Was ist Windows Azure? (Stand Juni 2012)

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057)

SE2-10-Entwurfsmuster-2 15

Architektur des agimatec-validation Frameworks

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Liste V Enterprise JavaBeans

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Enterprise Application Integration

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Hibernate Das Praxisbuch für Entwickler

Etablierung serviceorientierter Architekturen mit Web Services

Kurzübersicht Diplomarbeit

3. Stored Procedures und PL/SQL

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Übungen zur Softwaretechnik

Anforderungen an die HIS

WebSphere Application Server Installation

Installation der SAS Foundation Software auf Windows

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version.

BAT 04: Integration von Workflow- Management-Systemen in der Praxis. Referent Tillmann Schall

SAP SharePoint Integration. e1 Business Solutions GmbH

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

Entwicklungen bei der Linux Clustersoftware

Java WebApps und Services in der Oracle Cloud

Interoperabilität mit Office-Anwendungen (1)

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Modul 2: Grundlegende Managementkonzepte

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Anwenderleitfaden Citrix. Stand Februar 2008

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA. Systemprogrammierung WS

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security

INDIVIDUELLE SOFTWARELÖSUNGEN CUSTOMSOFT CS GMBH

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

EJB jar.xml und Name Service (JNDI)

Festpreisprojekte in Time und in Budget

Securing SOAP e-services

Web-Programmierung (WPR)

Konfiguration und Deployment einer hochverfügbaren ADF Anwendung

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Ein mobiler Electronic Program Guide für Android

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Notes2DB. Machen Sie Ihre Notes-Datenbanken relational! Vortragender: Mag. Ing. Johannes Fiala, Fiala Web Development GmbH

Office Objektmodell (1)

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Software Engineering Klassendiagramme Assoziationen

Oracle GridControl Tuning Pack. best Open Systems Day April Unterföhring. Marco Kühn best Systeme GmbH

Enterprise JavaBeans Überblick

JSP vs. PHP. Ein persönlicher Vergleich. EQUIcon Software GmbH Jena, Jörg Spilling Frankfurter Treffen Agenda

lldeckblatt Einsatzszenarien von SIMATIC Security-Produkten im PCS 7-Umfeld SIMATIC PCS 7 FAQ Mai 2013 Service & Support Answers for industry.

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

HISPRO ein Service-Angebot von HIS

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April Zielbestimmungen 2. 2 Produkteinsatz 2

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Oracle APEX Installer

EIDAMO Webshop-Lösung - White Paper

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Transkript:

ORACLE Business Components for Java (BC4J) Marco Grawunder

Gliederung 2 Probleme von J2EE/EJB J2EE-Pattern Lösungsansatz: BC4J Architektur einer BC4J-Anwendung Komponenten Entity Objects View Objects Application Modul Verteilung (Deployment) Fazit J2EE BC4J Komponenten Deployment Fazit

Probleme von J2EE/EJB 3 J2EE verlangt immer noch viel Handarbeit Wie erzeugt man gute J2EE-Anwendungen? Design Pattern von Sun Value Object Pattern Session Facade Pattern Fast-Lane Reader Pattern Page-by-Page Iterator Pattern J2EE BC4J Komponenten Deployment Fazit

Value Object Pattern I 4 Szenario mit Entity Beans: Client Object getcustomerinfo() getcity() getstate() getzipcode() Customer EntityBean create() CustomerInfo EntityBean Client Server Problem: Viele Remote Zugriffe teuer! J2EE BC4J Komponenten Deployment Fazit

Value Object Pattern II 5 (Teil eines) Objekt wird zusammengefasst, übertragen und lokal verwendet ( Local Access) Objekt hat nur Zugriffsmethoden (keine Geschäftslogik) Client Object getcustomerinfo() getcity() getstate() getzipcode() CustomerInfo ValueObject Customer EntityBean create() Client Server viele lokale Zugriffe: weniger Last auf Entity Bean & auf Netz aber: Gefahr unaktueller Daten ( Snapshot!) J2EE BC4J Komponenten Deployment Fazit

Session Facade I 6 bietet eine einheitliche, workflow orientierte Schnittstelle zu einer Menge von EJBs wird als Session Bean implementiert Client Object Session Bean1 Entity Bean1 Entity Bean2 dothis() dothat() domore() Client Server Ohne Session Facade muss der Client alle Methoden des Servers kennen enge Koppelung J2EE BC4J Komponenten Deployment Fazit

Session Facade II 7 Client Object do() Session Facade dothis() Session Bean1 Entity Bean1 Entity Bean2 dothat() domore() Client Server Mit Session Facade braucht der Client nicht alle Methoden des Servers kennen lose Koppelung Einfachere Unterstützung unterschiedlicher Clienttypen reduzierte Netzwerkkommunikation größere Flexibilität J2EE BC4J Komponenten Deployment Fazit

J2EE Design Pattern 8 Fast-Lane Reader Pattern Accelerate read-only data access by not using enterprise beans Page-by-Page Iterator Pattern: Efficiently access a large, remote list by retrieving its elements one sublist of value objects at a time. Katalog mit den Pattern: http://java.sun.com/blueprints/patterns/j2ee_patterns/index.html Frage: Wann setzt man welche Pattern ein? Wie setzt man die Pattern um? Hoher Aufwand Sinnvoll: Unterstützung, z.b. durch ein Framework J2EE BC4J Komponenten Deployment Fazit

BC4J Überblick 9 Oracle Business Components for Java (BC4J) ist ein technisches Framework basierend auf Java und XML Erlaubt Entwicklung mehrschichtiger, datenbankgetriebener Java Anwendungen auf der Basis von Komponenten (nicht nur J2EE!) flexible Verteilungsmöglichkeiten (Deployment) für die Komponenten relativ einfache Anbindung schmaler Java Swing-, Servlet- und Java Server Page Clients Unterstützung der Anwendungsentwicklung durch Softwarebausteine: Connection Pooling, Caching, Locking, Master- Detail-Synchronisation BC4J Java Klassenbibliotheken Tool-Unterstützung: Oracle JDeveloper 9i (mit vielen Wizards Demo) J2EE BC4J Komponenten Deployment Fazit

Architektur einer BC4J Anwendung 10 Client Side Presentation Server Side Presentation Geschäftslogik Enterprise Information Systems J2EE BC4J Komponenten Deployment Fazit

Komponenten einer BC4J Anwendung 11 Entity Objekte Assoziation J2EE BC4J Komponenten Deployment Fazit

Entity Objekte 12 Entity Objekte definieren eine objekt-relationale Abbildung der Tabellen der Datenbank (Spalten werden zu Attributen) Implementieren Geschäftslogiken und Validierungsregeln Bestehen aus einer XML-Datei (Metadaten) und einer Java-Datei (Implementierung der Geschäftslogik) Beziehungen zwischen Entity Objekten werden durch Assoziationen abgebildet (basieren auf Foreign-Key-Constraints in der DB) Regeln DB-Interaktionen Caching und Locking auf Ebene der Entity Objects Value-Object, KEIN Entity Bean! J2EE BC4J Komponenten Deployment Fazit

Entity Objects 13 J2EE BC4J Komponenten Deployment Fazit

Komponenten einer BC4J Anwendung 14 View Objekte J2EE BC4J Komponenten Deployment Fazit

View Objekte 15 View Objekte kapseln SQL-Zugriffe Beruhen auf Entity Objekten Clients greifen über die View Objekte auf die Entity Objekte zu Spezielle Read-Only View Objekte greifen direkt auf die DB zu Fast Lane Reader Bieten Funktionen zum Navigieren über Ergebnismengen Änderungen über View Objekte durch Delegation an Entity Objekte (Geschäftslogik) Master-Detail-Beziehungen über View-Links Query Bean J2EE BC4J Komponenten Deployment Fazit

View Objects 16 J2EE BC4J Komponenten Deployment Fazit

Komponenten einer BC4J Anwendung 17 Applikation J2EE BC4J Komponenten Deployment Fazit

Applikationsmodul 18 Zusammenfassung von View Objekten und View Links zur Unterstützung eines Anwendungsfalles (Session Bean Facade) Dient als Schnittstelle von BC4J-Applikationen zum Client Kann weitere Dienste in Form von Custom Methods anbieten Bildet Komponenten, die auf unterschiedliche Plattformen verteilt werden können (Deployment) Definiert Transaktionskontext Applikationen können sich auch wiederum auf andere Applikationen abstützen Zusammengesetzte Applikationen J2EE BC4J Komponenten Deployment Fazit

Applikationsmodul 19 J2EE BC4J Komponenten Deployment Fazit

Verteilung 20 Das BC4J Framework unterstützt flexible Verteilung auf unterschiedliche Plattformen ohne Änderung der Anwendungskomponenten Als Enterprise JavaBeans (Application Module wird zu Session Bean) Als Java CORBA Komponenten (Application Module wird zu CORBA Server Object) Lokal (Application Module wird JAR-Archiv) Oracle JDeveloper 9i unterstützt Deployment nach Oracle9i Application Server Visibroker (CORBA) BEA WebLogic J2EE BC4J Komponenten Deployment Fazit

Fazit 21 BC4J unterstützt Anwendungsentwicklung von datenbankbasierten Anwendungen Saubere Schichtentrennung (entsprechend der J2EE-Architektur) Verteilung auf unterschiedliche Plattformen ohne Codemodifikation möglich relativ einfache Erstellung unterschiedlicher Java Clients Gute Tool-Unterstützung (Oracle JDeveloper 9i) Recht hoher Einarbeitungsaufwand Weitere Informationen: http://otn.oracle.com/products/jdev/ J2EE BC4J Komponenten Deployment Fazit

Danke! 22 J2EE BC4J Komponenten Deployment Fazit