www.wikidata.de-de.nina.az
Oracle Application Development Framework kurz Oracle ADF ist ein kommerzielles Jakarta EE Framework das sich zum Ziel gesetzt hat auf einfache visuelle deklarative und effiziente Art und Weise Java Enterprise Anwendungen zu entwickeln ADF bietet mit einem Spektrum an Komponenten und einem Zusammenschluss an Frameworks wie z B TopLink JSF und Struts einen ganzheitlichen Ansatz auf Basis des Model View Controller Prinzips MVC Durch den Einsatz von bewahrten Designmustern metadatengesteuerten Komponenten und visuellen Tools wird Rapid Application Development unterstutzt Oracle ADFBasisdatenEntwickler OracleAktuelle Version 12 2 1 3 31 August 2017 Betriebssystem plattformunabhangigProgrammiersprache JavaKategorie Jakarta EE FrameworkLizenz Oracle LizenzOracle ADF Inhaltsverzeichnis 1 Eigenschaften 2 Komponenten 2 1 ADF Faces 2 2 ADF Taskflow 2 3 ADF Model und Data Binding 2 4 ADF Business Components 2 5 ADF Metadata Services 2 6 ADF Mobile 2 6 1 ADF Mobile Browser 2 6 2 ADF Mobile Client 2 6 3 ADF Mobile Database 3 Geschichte 4 Lizenzierung 5 Literatur 6 Weblinks 7 EinzelnachweiseEigenschaften BearbeitenDie Grundlage dieses Frameworks basiert auf einer strikten Trennung zwischen Daten Model die durch die Geschaftslogik gekapselt werden und grafischer Darstellungsschicht View sowie der zur Darstellungsschicht gehorenden Steuerungseinheit Controller Ein wichtiger zentraler Bestandteil stellt das Binding JSR 227 dar In der nachfolgenden Abbildung ist die Architektur im Uberblick dargestellt nbsp Zu erkennen sind 4 Schichten Layers die kurz von unten nach oben erlautert werden Business Services Layer beinhaltet die Zugriffsschicht auf die Daten aus verschiedenen Quellen und die eigentliche Geschaftslogik Data Services Model Layer stellt eine Abstraktionsschicht auf den Business Services Layer dar um den daruberliegenden Schichten View Controller in konsistenter Weise mit den verschiedenen Business Services die Arbeit zu ermoglichen Controller Layer ist die Steuerungseinheit fur die Navigation innerhalb der Webanwendung View Layer beschreibt die Nutzeroberflache der Anwendung Webclient Fat Client oder Mobile Client Das Binding zwischen Data Services von View bzw Controller Layer erfolgt im Model Layer Grundsatzlich besteht es aus zwei Komponenten Data Controls Data Bindingsdie durch Metadaten beschrieben werden Data Controls abstrahieren die Implementierungsdetails des Business Services Wohingegen die Data Bindings die Methoden des Data Controls sowie Attribute in den UI Komponenten exponieren um eine saubere Trennung zwischen View und Controller sicherzustellen Die Metadaten Architektur schafft fur den Entwickler eine einheitliche Vorgehensweise jeglichen Business Services mit der View und Controller Layer zu verbinden Der JSR 227 A Standard Data Binding amp Data Access Facility for J2EE hat sich die Standardisierung des Data Binding zum Ziel gesetzt Komponenten BearbeitenADF Faces Bearbeiten Das ADF Faces Framework bietet dem Entwickler die Moglichkeit visuell und deklarativ moderne webbasierte dynamische und interaktive Benutzeroberflachen UIs zu realisieren Dabei konnen die UI Komponenten zur Laufzeit durch client und serverseitige Technologien AJAX bzw Server Push Technologien im Browser aktualisiert werden ohne die Webseite komplett neu zu laden Die ADF Faces Komponentenbibliothek erweitert die Apache MyFaces Trinidad Komponenten um verschiedene Rich Client UI und Datenvisualisierungskomponenten z B Maps Gantt Hierarchy Viewer Das ADF Faces Framework unterstutzt Partial Page Rendering PPR Data Streaming ADF Data Binding Support Dialog Popup und Menu Funktionalitaten Drag amp Drop Features vollstandige JavaScript API Templating Skinning via CSS Mehrsprachigkeit Expression Language Support verschiedene Jakarta EE ContainerDie Daten werden in den UI Komponenten clientseitig als DOM und serverseitig als In Memory Tree gehalten Der Renderer ermoglicht die Darstellung der UI Komponenten fur verschiedene Endgerate mobile devices browser ADF Taskflow Bearbeiten In der obigen Abbildung stellt ADF Taskflow die Controller Komponente dar und erweitert den JSF Controller um wiederverwendbare Steuerungsablaufkomponenten task flow components Anstatt in einer Webanwendung einen einzelnen grossen Seitenablauf Page Flow zu reprasentieren helfen die Task Flows die komplette Webseitensteuerung in kleinere Einheiten zu unterteilen Zudem wird nicht nur der Seitenaufruf ablauf gesteuert sondern weitere verschiedene Codeblocke konnen in einem Ablauf ausgefuhrt werden Die Task Flows werden in 2 Kategorien unterteilt unbounded task flow bounded task flow Ein Unbounded Task Flow dient als Einstiegspunkt zu einer Webanwendung und wird als Top Level Flow bzw ausserer Task Flow betrachtet Die Grenzen sind im Gegensatz zum Bounded Task Flow nicht wohldefiniert Bounded Task Flows sind gepragt durch ihre wohldefinierten Grenzen mit einem einzigen Einstiegspunkt single point of entry eigenem Speicherbereich Page Flow Scope und dem deklarativen Transaktionsmanagement Folglich stellen sie eigenstandige Ablaufe dar die auf verschiedenen Seiten oder Regionen auf einer Seite ADF Regions wiederverwendet werden konnen Sicherheits Kontroll Steuerungs Transaktionsmanagement und Exception Mechanismen runden den ADF Controller ab ADF Model und Data Binding Bearbeiten Das ADF Model ist der Kern von Oracle ADF Es stellt eine Abstraktionsschicht zwischen der Business Service Schicht und dem User Interface dar und wurde erstmals mit dem Oracle JDeveloper 9 0 5 eingefuhrt Davor war jeder Entwickler fur die Verbindung zwischen der Oberflache zum Beispiel Swing JSP oder JSF und dem Business Service verantwortlich data binding So mussten beispielsweise JSP Tags verwendet werden um ein Textfeld in der Oberflache mit einem Attribut des Business Service zu verbinden Mit dem ADF Model wird eine zusatzliche Abstraktionsschicht eingefuhrt der Entwickler verbindet nun die Oberflache mit dem Model und das Model mit dem Business Service Dieses Konzept wurde in der Spezifikation JSR 227 beschrieben und zur Standardisierung eingereicht Das ADF Model stellt damit eine einheitliche Programmierschnittstelle fur die unterschiedlichsten Business Services Webservice Enterprise JavaBeans Java JDBC etc zur Verfugung Neben einer hoheren Komplexitat bietet diese Architektur einige Vorteile Der Oberflachen Entwickler kann sich auf die Entwicklung der Benutzeroberflache konzentrieren ohne den darunterliegenden Business Service zu kennen Ein Business Service kann ausgetauscht werden ohne dass die Oberflache der Applikation davon betroffen ist Es sind lediglich Anpassungen im ADF Model notwendig Alle Applikationen verwenden die gleiche Programmierschnittstelle API und das gleiche Metadaten Format zur Beschreibung des Data Binding In der Entwicklung mit ADF sieht dies konkret so aus dass der Entwickler des Business Service sogenannte Data Controls zur Verfugung stellt Die Data Controls umfassen alle jene Daten und Methoden des Business Service die der Oberflache zur Verfugung gestellt werden sollen Der Oberflachen Entwickler verbindet diese Data Controls mit Komponenten in der Oberflache und erzeugt damit das sogenannte Data Binding Zur Definition des Data Binding wird die Syntax der JSTL Expression Language EL benutzt Oracle ADF enthalt fur die verbreitetsten Business Service Technologien vordefinierte Implementierungen der Data Controls ADF Business Components Bearbeiten ADF Business Components ADF BC stellen die Daten Persistenzschicht auf relationale DB mit den zugehorigen Transaktions und Locking Mechanismen dar und tauchen in der obigen Architekturabbildung als Business Services auf Zusatzlich bieten ADF Business Components einen einzigartigen Aspekt des Software Engineerings den Event Driven Model Ansatz an ADF BC Objekte beinhalten Ankerpunkte hook points zur Injektion selbstgeschriebenen Java Codes fur die Erweiterung spezifischer Operationen Ahnlich wie bei den Events in Oracle Forms stellt ADF BC Methoden bereit die uberschrieben werden und das Verhalten im Einzelnen andern konnen z B pre und post commit DML Ausfuhrung neuen Datensatz anlegen u a Zu den wesentlichen Komponenten von ADF BC zahlen Entity Objects View Objects Associations und Viewlinks Application Modules AMs Business Component TesterEin Entity Object EO reprasentiert in einfacher Art und Weise eine Tabelle in einer relationalen Datenbank Es definiert den Datentyp der Tabellenattribute Validierungsregeln bezuglich des Datentyps Primarschlussel und zusatzlich Hilfskonstrukte Businesslogik um Daten in die Zieltabelle zu schreiben Folglich dient das EO als direkte Datenzugriffs Validierungsmaschine Unterstutzung der CRUD Operationen auf die Datenbanktabellen Das View Object VO lasst sich als Datenquelle oder als spezifische Datensicht auffassen das mit ein oder mehreren Entity Objects interagiert VOs konnen auf EOs basieren die vergleichbar mit SQL Anfragen sind und fur Datenextraktion bzw programmatisch Datenzusammenfassung oder statische Listen von Daten verwendet werden In meisten Fallen werden VOs basierend auf EOs verwendet Das View Object fragt nach Daten und stellt diese als Datenquelle zur Verfugung Wahrend einige Validierungsmoglichkeiten auch fur View Objects zur Verfugung stehen wird in der Praxis empfohlen spezielle Logik in den Entity Objects abzulegen weil diese Logik innerhalb einer Entity fur alle View Objects gecacht wird Mehrere View Objects teilen sich den gleichen Speicher Cache Zur Laufzeit werden bei Ausfuhrung einer Query auf ein View Object bezogenen Daten in die verantwortlichen Entity Object Records aufteilen und in den Entity Cache abgelegen Diese Vorgehensweise unterstutzt verschiedene View Objects Zugriff auf das gleiche Datenset zu gewahrleisten unter der Pramisse die Speicherbelegung und die unterschiedlichen Validierungsregeln fur alle Entity Objects zu reduzieren Das ist ahnlich der Normalisierung auf DB Ebene Association und Viewlink definieren die Verknupfungen zwischen EOs und VOs Associations im Detail stellen Beziehungen zwischen EOs dar Sie werden als PrimaryKey ForeignKey Beziehungen zwischen Tabellen betrachtet Viewlinks verweisen auf die Beziehungen zwischen den View Objects und definieren Join Bedingungen Ein Viewlink kann auf Assoziation oder auf Attributen basieren Basierende Viewlinks auf Assoziationen haben den gleichen Vorteil des Entity Cache Das Application Modul fasst die VOs zusammen und dient als Data Control Es erstellt und verwaltet Datenbanktransaktionen Fur die ADF Model Schicht stellt es die Daten und Methoden die der Client benotigt zur Verfugung Aus Endanwendersicht werden die Interaktionsmoglichkeiten und transaktionalen Fahigkeiten durch das Application Module geliefert Der Business Component Tester ist das gebrauchlichste Testwerkzeug um die Business Components auszufuhren und das implementierte Datenmodell zu uberprufen Es dient als erste Verteidigungslinie zur Prufung der Datenbereitstellung und des Datenmodells so wie es benotigt wird ohne eine eigene Oberflache user interface zu erstellen ADF Metadata Services Bearbeiten Ein wichtiger Bestandteil fur die deklarative Entwicklung von Enterprise Anwendungen mit ADF ist Metadata Services MDS Mit MDS werden Anwendungen mandantenfahig und fur einzelne Identitaten roles site user user dynamisch anpassbar Die gespeicherten Metadaten fur jede einzelne Identitat werden in einem Repository datei und RDBMS basierend gehalten Die Anpassungsfahigkeit ist bis auf ADF Komponentenebene herunter definierbar In der Entwicklung wird ein Basis Set an Metadaten base document im Repository als Dokument XML Reprasentation geschaffen Zusatzliche Anpassungen die auf verschiedene Seitensichten und Nutzersichten beruhen werden als jeweilige einzelne Layer betrachtet und die Differenz jeweils zum Base Document bzw dem daruberliegenden Layer als weiteres Dokument im Repository gespeichert Jedes einzelne Dokument im Repository ist versionierbar ADF Mobile Bearbeiten ADF Mobile basiert auf dem Application Development Framework und erweitert dieses um eine mobile Komponente Es ermoglicht mobile Applikationen weitestgehend plattformunabhangig zu entwickeln um diese im weiteren Verlauf ohne bedeutenden Mehraufwand auf unterschiedlichen Gerateplattformen ablaufen zu lassen Um dieses Ziel zu erreichen werden zwei Ansatze verfolgt So bietet das Framework an Anwendungen zum einen fur den Ablauf in einem mobilen Browser zu entwerfen zum anderen als lokal installierten Client inkl lokalem MVC Stack und Datenbank zu implementieren Beide Varianten sollen nun beschrieben werden ADF Mobile Browser Bearbeiten Applikationen die spater auf mobilen Browsern angezeigt werden sollen werden im JDeveloper ahnlich entwickelt wie man es von Webanwendungen fur normale Webbrowser gewohnt ist Die Verwandtschaft zu herkommlichen Webanwendungen ermoglicht Webprogrammierern einen relativ zeitnahen Einstieg in die Technologie Einen Unterschied stellt allerdings die Anzeigeschicht dar Wo gangige Webapplikationen mit Java Server Pages JSP bzw Java Server Faces JSF erweitert um ADF Faces umgesetzt werden wird bei der Entwicklung fur den mobilen Browser eine eigene Technologie verwendet Hier kommt die Apache MyFaces Trinidad Bibliothek zum Einsatz Dies ist technisch notwendig um die gewunschte Plattformunabhangigkeit zu erreichen den Inhalt auf vielen heterogenen Handy Browsern korrekt darstellen zu konnen Mit der Entwicklungsumgebung konnen Oberflachen komplett deklarativ erstellt werden die Seitenerstellung erfolgt im visuellen Baukastenprinzip Eine Starke die herausgestellt werden muss ist die zur Laufzeit erfolgende Browserweiche Die zur Laufzeit erfolgende Unterscheidung des anfragenden Browsers hat den Vorteil plattformspezifisches Layout auszuliefern Handelt es sich hierbei um den Safaribrowser eines iPhones kann die entsprechende Browserpage im Design einer nativen iPhone App gestaltet werden Hierzu ist es notwendig fur jede der unterstutzten Plattformen eine eigene CSS Datei anzulegen Einen guten Einblick hierzu gibt der Skinning Guide von Oracle Der mobile Browser eignet sich gut dafur bestehenden Webanwendungen eine mobile Komponente zuzufugen Gangige Situation ist daher eine bereits vorhandene Applikation Das ADF Framework bietet die Moglichkeit diese zu exportieren und als Jar Datei in das mobile Entwicklungsprojekt einzubinden Dies hat den Vorteil dass Datenbankverbindungen und objekte Views Businesslogik etc nicht neu erstellt werden sondern nur erneut zusammengefugt werden mussen Einzig wie bereits beschrieben gilt es die Oberflachen mit Trinidad Komponenten neu zu gestalten Diese Tatsache wirft zunachst die Frage auf warum dies notwendig ist ware es doch eleganter die komplette Webanwendung zu ubernehmen Dagegen spricht der Punkt dass die von ADF verwendete ADF Faces Technologie nicht von mobilen Browsern gerendert werden kann Daruber hinaus ist es ohnehin nicht unbedingt sinnvoll Oberflachen entworfen fur den grossen Webbrowser ohne Anpassung zu ubernehmen Das sparliche Platzangebot eines Handydisplays erfordert neue angepasste Oberflachen nbsp Der Punkt dass die von ADF verwendete ADF Faces Technologie nicht von mobilen Browsern gerendert werden kann ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst ADF Mobile Client Bearbeiten Oracle ADF Mobile stellt neben der Browserlosung auch eine Client Variante zur Verfugung Es ist eines der wenigen Frameworks die beide Ansatze verfolgen Im Gegensatz zum Browser der die Gesamtheit des Inhaltes uber das Netz von einem Applikations Server empfangt ist der Client mitsamt der notwendigen Businesslogik direkt auf dem mobilen Gerat vorhanden ein MVC Paradigma lauft also direkt auf dem Handy Grundlage ist eine Java Runtime Stellt ein Zielgerat diese bereit oder ist es moglich eine Runtime zu installieren so ist das Gerat eine potenzielle Zielplattform fur ADF Mobile Client Das Credo Write once deploy everywhere ist somit erfullt Bei der Komponentenanzeige zur Laufzeit wie Buttons etc ist ein signifikanter Unterschied zu beachten Wahrend man Look And Feel im Browser mittels CSS Datei vorgibt also zur Design Zeit festlegen muss wird das Design einer Clientapplikation im JDeveloper lediglich auf einer Metaebene festgehalten Zur Laufzeit wenn dem Gerat beispielsweise mitgeteilt wird dass an einer gewissen Stelle ein Button gezeichnet werden soll so ist dies ebenfalls eine Metainformation Der Button selber wird daraufhin jedoch nativ aus der eigenen Geratebibliothek angezogen Somit wird das exakt gleiche Oberflachen Design wie bei einer nativen App erzielt ADF Mobile Database Bearbeiten Benotigt die mobile Clientapplikation eine lokale Datenbank so wird auch diese einmalig auf dem Gerat installiert via Developer Primarer Vorteil einer lokalen Datenbank ist die Tatsache auch in Situationen in denen kein Netz zur Verfugung steht Daten auszulesen zu andern oder einzupflegen Hieraus ergibt sich die Herausforderung zu einem spateren Zeitpunkt dafur zu sorgen die Datenbasis wieder auf einen synchronen Stand zu bringen Hierfur sieht Oracle den Mobile Server vor Diese Software ist Vermittler zwischen lokaler Datenbank und zentralem Datenbankserver und erreicht konsistente Datenhaltung durch den sogenannten MGP Message Generator and Processor Wird dieser Prozess angestossen ladt der Client die geanderten Informationen in eine In Queue des Mobile Servers Hierauf erfolgt der MGP sozusagen das Merging der Daten Hierfur konnen uber die Administrations Oberflache des Mobile Servers eine Vielzahl an Einstellungen vorgenommen werden Server wins Client wins etc Fehlerhafte Vorgange werden in einer Error Queue gespeichert neuere Daten die auf dem Gerat aktualisiert werden mussen werden uber eine Out Queue an das Gerat ubermittelt Geschichte BearbeitenEinige Komponenten von ADF wurden von Oracle bereits 1999 veroffentlicht wie z B ADF Business Components damals als JBO Java Business Objects und spater als BC4J Business Components for Java bekannt Das aktuelle generische Model Binding Layer in der ADF Architektur wurde mit dem JDeveloper 9 0 5 miteingefuhrt Im Juni 2006 spendete Oracle einen grossen Teil der ADF Faces Komponentenbibliothek Oracles JSF Implementierung mit uber 100 Komponenten dem Open Source Projekt Apache Trinidad Lizenzierung BearbeitenDetails zur Lizenzierung sind auf dem Oracle Technology Network OTN beschrieben 1 Literatur BearbeitenFrank Nimphius und Lynn Munsinger Oracle Fusion Developer Guide ISBN 0071622543 Duncan Mills Peter Koletzke Avrom Roy Faderman Oracle JDeveloper 11g Handbook A Guide to Oracle Fusion Web Development ISBN 0071602380 Ronald Grant Quick Start Guide to Oracle Fusion Development ISBN 0071744282 Sten E Vesterli Oracle ADF Enterprise Application Development Made Simple ISBN 1849681880 Nick Haralabidis Oracle JDeveloper 11g R2 Cookbook ISBN 1849684766 Weblinks Bearbeitenoffizielle Website JSR 227 ADF JDeveloper BlogEinzelnachweise Bearbeiten Oracle JDeveloper and Oracle Application Development Framework Pricing In www oracle com Juni 2008 archiviert vom Original am 1 Mai 2013 abgerufen am 16 September 2019 englisch Normdaten Sachbegriff GND 7547679 4 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Oracle ADF amp oldid 233223895