SlideShare uma empresa Scribd logo
1 de 58
ORACLE ADF
Présentation Technique du Framework ADF
Hassan BOUMARSEL
Architecte Oracle Middleware
hboumarsel@anasys.fr
Février 2014
ANASYS
Oracle ADF | 02/2014© ANASYS
SOMMAIRE
Oracle ADF | 02/2014
• ORACLE ADF : VUE D’ENSEMBLE
• ORACLE ADF : ARCHITECTURE
• COMPOSANTS ADF
• STRUCTURE DES PROJETS ADF
• DÉMONSTRATION
• RETOUR D’EXPÉRIENCE
• PRINCIPALES FORCES ET FAIBLESSES
© ANASYS
Oracle ADF :
Vue d'ensemble
Oracle ADF | 02/2014© ANASYS
Oracle ADF : Vue d'ensemble (1/5)
Oracle Application Development Framework (Oracle ADF).
Une solution complète de développement des applications
multicanales.
Un Framework de développement stratégique pour Oracle,
produit et supporté depuis 1999.
Inclus dans la licence Weblogic Server à partir de la 11g.
 Une version Essentials disponible en Open-Source.
S'intègre avec la SOA Suite, WebCenter, OBIEE, EBS et autres
produits Oracle:
 Le Framework de développement de la suite Oracle Fusion Applications.
 Le Framework de développement de l'UI de la SOA Suite.
 Le Framework de développement des applications WebCenter.
Oracle ADF | 02/2014© ANASYS
Oracle ADF : Vue d'ensemble (2/5)
Définit un seul modèle d'architecture, mais permet des choix
techniques multiples.
Abstraction de la complexité Java EE :
 Se concentrer sur les fonctionnalités, et non pas sur l'implémentation technique.
Forrester : The Oracle 11g development environment may
finally be the “Visual Basic for Java”
Met en œuvre les meilleures pratiques et Design Patterns
JavaEE.
Intégré dans les environnements de développement :
 Oracle JDeveloper (Depuis la version 9).
 Eclipse OEPE : Oracle Enterprise Pack for Eclipse (A partir de la version 12c).
Oracle ADF | 02/2014© ANASYS
Oracle ADF : Vue d'ensemble (3/5)
S'appuyant sur les métadonnées, le Framework simplifie la création des
services métiers (Business Services), et l’intégration des services externes.
Une approche de développement visuelle et déclarative.
Oracle ADF | 02/2014© ANASYS
Oracle ADF : Vue d'ensemble (4/5)
Couverture du cycle de vie complet de l’application
Oracle ADF | 02/2014© ANASYS
Oracle ADF : Vue d'ensemble (5/5)
Une solution complète avec un large choix de composants qui
couvrent toutes les couches de l’application:
 Persistance des données,
 Mapping objet / relationnel,
 Invocation des services web,
 Intégration des systèmes JMS,
 Définition et implémentation des EJB,
 Contrôleurs réutilisables,
 Mapping des données avec l'interface utilisateur,
 Composants d'interface client riches,
 Gestion des profils et des personnalisations de l‘UI (Basée sur MDS),
 Implémentation des services web.
 Gestion des transactions,
 Gestion de la sécurité,
 Gestion des Logs
 Support de l'AOP et de l'introspection JMX,
Oracle ADF | 02/2014© ANASYS
Oracle ADF :
Architecture
© ANASYS Oracle ADF | 02/2014
Oracle ADF : Architecture (1/5)
Oracle ADF est basé sur le modèle MVC : Model-View-
Controller.
Un architecture MVC standard est composée de 3 couches :
 Model : Le Modèle exécute la logique métier de l’application, implémente les
interactions avec la base de données et les accès aux ressources externes.
 View : La Vue retourne une présentation des données venant du model et reçoit les
interactions de l’utilisateur avec l’IHM.
 Controller : Le Contrôleur gère le flux des requêtes utilisateurs. Il est responsable de
retourner une réponse en s’appuyant sur les couches Modèle et Vue.
Oracle ADF | 02/2014© ANASYS
Oracle ADF : Architecture (2/5)
Architecture standard du modèle MVC :
Oracle ADF | 02/2014
Business Services
Rich Clients Web and Mobile
Model
Controller
Business
Services
Model
(JSR-227)
Controller
View
© ANASYS
Oracle ADF : Architecture (3/5)
Oracle ADF : Architecture Logicielle
Oracle ADF | 02/2014© ANASYS
Oracle ADF : Architecture (5/5)
Comparaison entre la stack Java EE et la stack ADF
Oracle ADF | 02/2014© ANASYS
Oracle ADF : Architecture
Oracle Fusion Middleware : Vue d’ensemble
© ANASYS Oracle ADF | 02/2014
Oracle ADF : Architecture (4/5)
Architecture Oracle Fusion
Oracle ADF | 02/2014© ANASYS
Oracle ADF : Architecture
Architecture type HD Weblogic et ADF :
© ANASYS Oracle ADF | 02/2014
Composants ADF
© ANASYS Oracle ADF | 02/2014
Composants ADF
Liste des composants clés d’Oracle ADF
ADF Faces Rich Client : Composants UI avec support d’Ajax
ADF TaskFlow : Une logique de présentation et de navigation réutilisable, allant d'une page
web simple à un parcours de navigation complet.
ADF Model/Binding : Couche de mapping entre les services métiers et l'interface
utilisateur.
ADF Business Components : Composants métiers réutilisables pour l'implémentation de
la logique métier et l'accès aux services externes (Base de données, Service Web, Connecteurs
spécifiques).
ADF Security : Couche de sécurité transverse pour gérer les authentifications (Avec support
du SSO) et les autorisations aux composants de l’application ADF et aux services externes.
Oracle ADF | 02/2014© ANASYS
Composants ADF : La couche Business Services (1/8)
Permet d'accéder aux données provenant de différentes
sources.
Fournit plusieurs services comme la persistance des données, le
Mapping Objet/Relationnel, l’invocation des services web, la
gestion des transactions, l'exécution de la logique métier…
Plusieurs technologies peuvent être utilisées pour implémenter
la couche Business Services dans ADF :
 ADF Business Components (ADF BC)
 EJB
 POJOs
 Objets JPA
 L’utilisation des Business Components est recommandée.
Oracle ADF | 02/2014© ANASYS
Composants ADF : La couche Business Services (2/8)
Basés sur les standards Java, XML et Groovy.
Une approche de développement RAD déclarative et visuelle.
Outils 4GL : Utilisation des assistants et des éditeurs visuels.
Configurer les accès aux sources externes et implémenter la logique métier
sans écrire du code.
La logique métier est implémentée via des Validations et des Business Rules.
Le code Java est optionnel : Besoin d’implémenter une logique métier
spécifique.
Oracle ADF | 02/2014
ADF Business Components
© ANASYS
Composants ADF : La couche Business Services (3/8)
La définition des composants ADF BC est stockée dans des fichiers XML de
définition des données, appelés Métadonnées.
Lors de l'exécution de l'application, le Framework ADF analyse les
Métadonnées et construit en temps réel les composants applicatifs (Eager ou
Lazy loading).
Les ADF BC Implémentent les meilleurs pratiques d'accès aux ressources
externes :
 Design Patterns : Singleton, Abstract Factory, Business Delegate, Adapter...
 Mise en cache, Range fetching, Timeouts…
 Contrôle des transactions distribuées.
 Gestion des accès concurrents.
 Pour optimiser les composants ADF BC, il faut connaitre les paramètres clés des
Métadonnées, et le cycle de vie des objets en Runtime.
 ADF ne contrôle pas le code Java Custom, il est du devoir des développeurs d’écrire un code
Java propre.
Oracle ADF | 02/2014
ADF Business Components
© ANASYS
Composants ADF : La couche Business Services (4/8)
Il existe plusieurs types de composants ADF BC :
Oracle ADF | 02/2014
ADF Business Components
© ANASYS
Composants ADF : La couche Business Services (5/8)
Exemple : Créer un Data Model à partir de la définition de la base de
données (Etape 1/3)
Oracle ADF | 02/2014
Schéma
Nom du VO
Sélection des tables
ADF Business Components
© ANASYS
Composants ADF : La couche Business Services (6/8)
Exemple : Créer un Data Model à partir de la définition de la base de
données (Etape 2/3)
Oracle ADF | 02/2014
Edition visuelle
du modèle
Entités, Associations,
et VO représentant le
modèle de données
ADF Business Components
© ANASYS
Composants ADF : La couche Business Services (7/8)
Exemple : Créer un Data Model à partir de la définition de la base de
données (Etape 3/3)
 Quelle est la charge de développement nécessaire pour obtenir le même résultat ?
Oracle ADF | 02/2014
Outil de test
intégré
ADF Business Components
© ANASYS
Composants ADF : La couche Business Services (8/8)
Exemple : Cinématique des appels lors de l’invocation de la base de données
Oracle ADF | 02/2014
ADF Business Components
© ANASYS
Composants ADF : La couche Model/Binding (1/6)
La couche Modèle relie les objets métiers implémentés par les
Business Services aux interfaces utilisateur.
Une implémentation du standard JSR-227 : « A Standard Data
Binding & Data Access Facility for J2EE ».
Abstraction des détails d'implémentation.
Basée sur les métadonnées XML : Implémentation déclarative
et visuelle (Drag & Drop).
Couplage faible entre les services et la couche de présentation
Oracle ADF | 02/2014© ANASYS
Composants ADF : La couche Model/Binding (2/6)
La couche Model/Binding est composée de :
Data Controls
Data Bindings
Les Data Controls représentent l'interface
publique des Business Services.
Support de plusieurs types de BS :
ADF BC, Classes Java, EJB, WS, URL, Adapters…
Les Data Bindings mettent les méthodes
et attributs des Data Controls à la disposition de la couche de
présentation.
Les Data Binding sont des composants pivots qui séparent la
Vue du Modèle.
Oracle ADF | 02/2014© ANASYS
Composants ADF : La couche Model/Binding (3/6)
Exemple : Création d’un Data Control à partir d’un Business Service
Oracle ADF | 02/2014
New Gallery
Depuis un
Business Service
existant
© ANASYS
Composants ADF : La couche Model/Binding (4/6)
Exemple : Mise en œuvre de la couche Model/Binding pour exposer les
champs d'une table dans un formulaire (Etape 1/3)
Oracle ADF | 02/2014
ADF BC
Data Binding
Data Control
© ANASYS
Exemple : Mise en œuvre de la couche Model/Binding pour exposer les
champs d'une table dans un formulaire (Etape 2/3)
Composants ADF : La couche Model/Binding (5/6)
Oracle ADF | 02/2014
Data Control
ADF VO
© ANASYS
Exemple : Mise en œuvre de la couche Model/Binding pour exposer les
champs d'une table dans un formulaire (Etape 3/3)
Composants ADF : La couche Model/Binding (6/6)
EIG WebCenter Portal | 11/2013
Data Control
Page
Binding
container
Built-In
Operations
Attributs
ADF VO
© ANASYS
Composants ADF : La couche Controller (1/4)
Gère le flux applicatif et la logique de navigation entre les pages.
Reçoit tous les événements de l'utilisateur et enclenche les actions à
effectuer.
Le flux applicatif et les règles de navigation sont modélisés via un
diagramme de flux :
Oracle ADF | 02/2014© ANASYS
Composants ADF : La couche Controller (2/4)
ADF offre plusieurs possibilités pour implémenter la couche
Contrôleur dans des applications web :
JSF Controllers : ADF 11g supporte le standard JSF 1.2 (JSR 252) / ADF 12g supporte
JSF 2.0 (JSR 314).
ADF Controllers : Une surcouche de JSF avec des fonctionnalités supplémentaires
comme les ADF TaskFlows.
Struts Controllers : Implémentation de la logique de navigation avec Struts Page
Flow (Struts-config.xml). La version supportée par défaut est la 1.2.
Oracle ADF | 02/2014© ANASYS
Composants ADF : La couche Controller (3/4)
ADF Controller permet de créer des modèles de navigation réutilisables :
ADF Taskflows
Les ADF TaskFlow offrent plusieurs avantages :
 La couche de présentation peut être découpée en plusieurs modules.
 Les TaskFlows sont réutilisables au sein de la même application, ou entre
plusieurs applications.
 Ce concept est largement exploité dans
les applications WebCenter Portal.
 La navigation ne se fait pas seulement
entre pages ou fragments.
 Support d’autres types d’activités :
 Appel de méthodes,
 Orchestration des appels,
 Utilisation des Expressions régulières,
 Appel d’autres Taskflows,
 Boutons de retour,
 Modélisation des transactions, Oracle ADF | 02/2014
ADF Controllers
© ANASYS
Composants ADF : La couche Controller (4/4)
ADF fournit un grand nombre de composants pour modéliser les Taskflows
de tout type, allant d'une simple séquence de pages, à des fonctionnalités
complexes de routage et d'orchestration :
Oracle ADF | 02/2014© ANASYS
Composants ADF : La couche Présentation (1/8)
Support du multicanal : Applications web, Clients lourds,
Mobile, Suite Bureautique...
Choix varié de technologies et Frameworks d'implémentation :
 ADF Faces
 JSF
 JSP
 ADF Mobile
 ADF Swing
 Microsoft Office
ADF Faces est une extension de JSF basée sur le Framework
Apache MyFaces Trinidad.
 L’utilisation des composants ADF Faces est recommandée.
Oracle ADF | 02/2014© ANASYS
Composants ADF : La couche Présentation (2/8)
150 composants Rich web components avec support d'AJAX,
Fonctionnalités de validation et de contrôle de surface,
Fonctionnalités intégrées de Templating, Drag&Drop, Scrolling, Tri...,
Composants prêts à l’emploi pour créer des Pop-up, Dialogs, Query, Print…
Prévisualisation en mode Design,
Support de la personnalisation des interfaces par utilisateur ou par Profil (La
personnalisation est stockée dans le référentiel MDS),
Rafraichissement Partiel : Partial Page Rendering (PPR),
4 Grandes catégories de composants : Layout, Common, Data Visualization,
Opérations,
Oracle ADF | 02/2014
ADF Faces
© ANASYS
Composants ADF : La couche Présentation (3/8)
Oracle ADF | 02/2014
ADF Faces : Layout Components
© ANASYS
Composants ADF : La couche Présentation (4/8)
Oracle ADF | 02/2014
ADF Faces : Common Components (1/2)
© ANASYS
Composants ADF : La couche Présentation (5/8)
Oracle ADF | 02/2014
ADF Faces : Common Components (2/2)
© ANASYS
Composants ADF : La couche Présentation (6/8)
Oracle ADF | 02/2014
ADF Faces : Operations
© ANASYS
Composants ADF : La couche Présentation (7/8)
Oracle ADF | 02/2014
ADF Faces : Data Visualization (1/2)
© ANASYS
Composants ADF : La couche Présentation (8/8)
Oracle ADF | 02/2014
ADF Faces : Data Visualization (2/2)
Graphes
Jauge
CartesTables PivotsDiagramme de Gantt
© ANASYS
Composants ADF : ADF Security
Oracle ADF | 02/2014
Paramétrage fin de la sécurité et des règles d’accès
© ANASYS
Structure des projets
ADF
© ANASYS Oracle ADF | 02/2014
Projets ADF
Dans le contexte ADF, les fichiers de Métadonnées sont utilisés pour :
Stocker la définition des composants ADF Business Components.
Définir les paramètres, les méthodes et les valeurs de retour dans les Data Controls.
(Les Data Controls représentent l'interface publique des Business Services)
Créer des objets de Binding entre les Data Controls et l'UI.
Configurer les composants de présentation (Rich User Interfaces Components).
Définir la configuration cible sur le serveur d'application.
Oracle ADF | 02/2014
Fichiers de Métadonnées
© ANASYS
Projets ADF
Hiérarchie des fichiers de Métadonnées :
Oracle ADF | 02/2014
Fichiers de Métadonnées
© ANASYS
Projets ADF
 bc4j.xcfg : Application Modules MetaData
Liste des AM, Connexion DB, Sécurité, Taille des Pools…
 AM*.xml : Application Module Definition
Stocke la définition des VO et autres BC appartenant
au module.
 *PageDef.xml : Page Definition files
Créé pour chaque page utilisant le modèle :
Déclaration du context de binding de la page.
 DataBindings.cpx : Binding Context de
l’application ADF
Mapping entre les pages JSF et les *PageDef.xml.
Déclaration des DataControls utilisés par la vue.
 adfm.xml : Registry of Registries
Maintient le chemin d’accès à tous les fichiers *.cpx,
*.dcx, *.jpx, et *.xcfg de l’application.
Oracle ADF | 02/2014
Fichiers de Métadonnées
© ANASYS
Projets ADF
 <application>.jws : Référentiel de l’application
Liste des projets (UI, Modele,…), Versions des composants utilisés
 cwallet.sso : Credentials et SSO
Stocke les mots de passe d’accès aux ressources externes (DB, Web Services tiers…).
 adf-config.xml : Configuration des ressources de l’application
Taille du cache, Configuration MDS, Tailles des Pools des ressources...
 connections.xml : Informations de connexion aux services externes
URL des services, Chaine de connexion JDBC, références utilisées en interne par le projet ADF.
 adfc-config.xml, facesconfig.xml, Struts-config.xml : Définition de la logique de navigation
Liste des managed beans, Liste des pages, Connexions entre les pages, règles de navigation...
 web.xml, weblogic.xml : Descripteurs de déploiement
Configuration de l’application web : Liste des Servlets, Listeners, Mapping, Sessions, Cookies, Sécurité J2EE...
Oracle ADF | 02/2014
Fichiers de Métadonnées
© ANASYS
Projets ADF
Structure de l’application ADF :
Oracle ADF | 02/2014
Structure d’un projet ADF
© ANASYS
Projets ADF
Structure du module Model Structure du module UI
Oracle ADF | 02/2014
Structure d’un projet ADF
© ANASYS
Retour d’Expérience
© ANASYS Oracle ADF | 02/2014
Retour d’Expérience
Oracle ADF | 02/2014
Composante Appréciation Commentaire
Architecture technique /
Respect des standards et
des bonnes pratiques
Oracle ADF met en œuvre plusieurs standards (JSR-227,
JSR 252, JSR 314...) et Design Patterns (MVC, Abstract
Factory, Business Delegate...).
Il implémente nativement des bonnes pratiques comme
la mise en cache, le Range fetching, les Timeouts…
Pérennité Un Framework de développement produit et supporté
par Oracle.
ADF constitue désormais le socle technique de plusieurs
produits Oracle : EBS, HCM, OBIEE, SOA Suite,
WebCenter, OBIEE...
Compétences et ressources
disponibles
Peu de développeurs se sont spécialisés dans Oracle
ADF en France.
Le marché manque de profils spécialisés dans le
Framework.
Présence sur le marché Oracle ADF prend la place d’Oracle Forms, il est
désormais omniprésent dans les produits Oracle Fusion
Applications, et dans les applications SOA et WebCenter
Portal.
© ANASYS
Retour d’Expérience
Oracle ADF | 02/2014
Composante Appréciation Commentaire
Clients et communauté • Clients en France :
Thélem Assurances, CMA-CGM, CGGVeritas,
Arval, Alcatel, SETMAT, MyOracle Support…
• Dans le monde :
Schneider, Government of Australia, Acco Brands,
HYATT, Energie DataServices Nederland,
Washington University…
Productivité / ROI Oracle ADF permet une approche de développement
RAD déclarative et visuelle. Il fournit également un très
grand nombre de fonctionnalités, d’assistants et de
composants prêts à l’emploi qui permettent une
productivité accrue, que ce soit pour le web ou le
mobile.
Performances, Robustesse,
montée en charge,
Scalabilité
Les applications ADF nécessitent beaucoup de
ressources (Mémoire, Disk, Réseau…).
Toutefois, un Tuning est possible grâce aux multitudes
de possibilités de configuration (Attributs des
Métadonnées).
© ANASYS
Principales Forces et Faiblesses
• Le « Tout-En-Un » : ADF couvre tout le périmètre de développement et le cycle
de vie des projets.
• Framework stratégique pour Oracle.
• Le choix de la technologie d’implémentation (EJB ou ADF BC, JPA ou ADF
DataModel, JSF, Struts ou ADF Faces…).
• Un outil 4GL et une approche de développement RAD déclarative et visuelle.
• Développement de composants réutilisables (exemples : Taskflows.)
• Adapté pour les applications de gestion des données et les applications
multicanales avec des interfaces graphiques riches et complexes.
Forces
• ADF reste compliqué à appréhender, surtout parce que JSF lui-même est
compliqué à appréhender.
• Beaucoup de nouveaux concepts à assimiler (Navigation entre pages, Task flows,
Bindings, Expression Languages).
• Les applications ADF sont gourmandes en ressources matérielles, un Tuning fin
peut s’avérer nécessaire.
• L’aspect Wizard peut être trompeur : La connaissance des technologies sous-
jacentes (Java, JSF, HTML, CSS) est indispensable.
• Manque de développeurs spécialisés dans le Framework en France.
Faiblesses
© ANASYS Oracle ADF | 02/2014
Questions ?
Oracle ADF | 02/2014
Hassan BOUMARSEL
Architecte Oracle Middleware
hboumarsel@anasys.fr
06 76 59 05 18
ANASYS
Oracle ADF | 02/2014
Contact

Mais conteúdo relacionado

Mais procurados

Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseAbderrahmane Filali
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Addi Ait-Mlouk
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREGhizlane ALOZADE
 
Rapport de projet odoo
Rapport de projet odooRapport de projet odoo
Rapport de projet odooayoub damir
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia Sfaxi
 
Gestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiGestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiAzzeddine Elouadi
 
Conception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VASConception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VASAhmed MAALEJ
 
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...Mohamed Cherkaoui
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essaiSSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essaiMicrosoft Technet France
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Spécifications Fonctionnelles Détaillées du projet Youfood
Spécifications Fonctionnelles Détaillées du projet YoufoodSpécifications Fonctionnelles Détaillées du projet Youfood
Spécifications Fonctionnelles Détaillées du projet YoufoodFlorian GRONDIN
 

Mais procurados (20)

Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
 
Sap presentation
Sap presentationSap presentation
Sap presentation
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Exposé stage d'éte
Exposé stage d'éteExposé stage d'éte
Exposé stage d'éte
 
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Angular Avancé
Angular AvancéAngular Avancé
Angular Avancé
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Rapport de projet odoo
Rapport de projet odooRapport de projet odoo
Rapport de projet odoo
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Gestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiGestion des Chercheurs d’Emploi
Gestion des Chercheurs d’Emploi
 
Conception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VASConception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VAS
 
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
 
Rapport Projet de fin d&rsquo;études
Rapport Projet de fin d&rsquo;étudesRapport Projet de fin d&rsquo;études
Rapport Projet de fin d&rsquo;études
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essaiSSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Spécifications Fonctionnelles Détaillées du projet Youfood
Spécifications Fonctionnelles Détaillées du projet YoufoodSpécifications Fonctionnelles Détaillées du projet Youfood
Spécifications Fonctionnelles Détaillées du projet Youfood
 

Destaque

Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adfBacely YoroBi
 
Java virtual machine : Notions de base
Java virtual machine : Notions de baseJava virtual machine : Notions de base
Java virtual machine : Notions de baseANASYS
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expériencelouschwartz
 
ADF User Interface Design Best Pratices
ADF User Interface Design Best PraticesADF User Interface Design Best Pratices
ADF User Interface Design Best PraticesAndreas Koop
 
ADF Bindings & Data Controls
ADF Bindings & Data ControlsADF Bindings & Data Controls
ADF Bindings & Data ControlsRohan Walia
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Javababak danyal
 
JAVA GUI PART I
JAVA GUI PART IJAVA GUI PART I
JAVA GUI PART IOXUS 20
 
Programming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsProgramming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsBerry Clemens
 
JAVA GUI PART III
JAVA GUI PART IIIJAVA GUI PART III
JAVA GUI PART IIIOXUS 20
 
A guide to ADF fusion development
A guide to ADF fusion developmentA guide to ADF fusion development
A guide to ADF fusion developmentDataNext Solutions
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1Markus Eisele
 
Oracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersOracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersDataNext Solutions
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1PRN USM
 
Graphical User Interface (Gui)
Graphical User Interface (Gui)Graphical User Interface (Gui)
Graphical User Interface (Gui)Bilal Amjad
 
Oracle j developer+adf11g description
Oracle j developer+adf11g descriptionOracle j developer+adf11g description
Oracle j developer+adf11g descriptionThéodore KOFFI
 

Destaque (16)

Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adf
 
Java virtual machine : Notions de base
Java virtual machine : Notions de baseJava virtual machine : Notions de base
Java virtual machine : Notions de base
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérience
 
ADF User Interface Design Best Pratices
ADF User Interface Design Best PraticesADF User Interface Design Best Pratices
ADF User Interface Design Best Pratices
 
Oracle ADF 11g Tutorial
Oracle ADF 11g TutorialOracle ADF 11g Tutorial
Oracle ADF 11g Tutorial
 
ADF Bindings & Data Controls
ADF Bindings & Data ControlsADF Bindings & Data Controls
ADF Bindings & Data Controls
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
 
JAVA GUI PART I
JAVA GUI PART IJAVA GUI PART I
JAVA GUI PART I
 
Programming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsProgramming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionapps
 
JAVA GUI PART III
JAVA GUI PART IIIJAVA GUI PART III
JAVA GUI PART III
 
A guide to ADF fusion development
A guide to ADF fusion developmentA guide to ADF fusion development
A guide to ADF fusion development
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1
 
Oracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersOracle ADF Task Flows for Beginners
Oracle ADF Task Flows for Beginners
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1
 
Graphical User Interface (Gui)
Graphical User Interface (Gui)Graphical User Interface (Gui)
Graphical User Interface (Gui)
 
Oracle j developer+adf11g description
Oracle j developer+adf11g descriptionOracle j developer+adf11g description
Oracle j developer+adf11g description
 

Semelhante a Oracle ADF : Vue d'ensemble

IBM ILOG Elixir: IHM riches pour applications SaaS et Cloud
IBM ILOG Elixir: IHM riches pour applications SaaS et CloudIBM ILOG Elixir: IHM riches pour applications SaaS et Cloud
IBM ILOG Elixir: IHM riches pour applications SaaS et CloudErwan Paccard
 
2011.11.22 - Editeurs, concrétisez votre Offre SaaS avec Aspaway - 8ème Forum...
2011.11.22 - Editeurs, concrétisez votre Offre SaaS avec Aspaway - 8ème Forum...2011.11.22 - Editeurs, concrétisez votre Offre SaaS avec Aspaway - 8ème Forum...
2011.11.22 - Editeurs, concrétisez votre Offre SaaS avec Aspaway - 8ème Forum...Club Alliances
 
Webséminaire DBaaS (Novembre 2014)
Webséminaire DBaaS (Novembre 2014)Webséminaire DBaaS (Novembre 2014)
Webséminaire DBaaS (Novembre 2014)Jean-Philippe PINTE
 
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...Laurence Loth
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...Microsoft Technet France
 
Sql Server Reporting Services
Sql Server Reporting ServicesSql Server Reporting Services
Sql Server Reporting ServicesBrahim Belghmi
 
Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017Gerard Konan
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
CV - Database Administrator ( French )
CV - Database Administrator ( French )CV - Database Administrator ( French )
CV - Database Administrator ( French )Franck VICTORIA
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 
Vocabulaire et Usage du Cloud
Vocabulaire et Usage du CloudVocabulaire et Usage du Cloud
Vocabulaire et Usage du CloudClub Alliances
 
Pb voc-usage-cloud-101011065640-phpapp01
Pb voc-usage-cloud-101011065640-phpapp01Pb voc-usage-cloud-101011065640-phpapp01
Pb voc-usage-cloud-101011065640-phpapp01cmichel65
 
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...PartnerWin - #SocialSelling StarterPacks
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielMicrosoft
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielMicrosoft Décideurs IT
 

Semelhante a Oracle ADF : Vue d'ensemble (20)

CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
IBM ILOG Elixir: IHM riches pour applications SaaS et Cloud
IBM ILOG Elixir: IHM riches pour applications SaaS et CloudIBM ILOG Elixir: IHM riches pour applications SaaS et Cloud
IBM ILOG Elixir: IHM riches pour applications SaaS et Cloud
 
2011.11.22 - Editeurs, concrétisez votre Offre SaaS avec Aspaway - 8ème Forum...
2011.11.22 - Editeurs, concrétisez votre Offre SaaS avec Aspaway - 8ème Forum...2011.11.22 - Editeurs, concrétisez votre Offre SaaS avec Aspaway - 8ème Forum...
2011.11.22 - Editeurs, concrétisez votre Offre SaaS avec Aspaway - 8ème Forum...
 
Webséminaire DBaaS (Novembre 2014)
Webséminaire DBaaS (Novembre 2014)Webséminaire DBaaS (Novembre 2014)
Webséminaire DBaaS (Novembre 2014)
 
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
Reduisez vos couts simplifiez votre informatique et accelerez vos deploiement...
 
CV_MohamedHabibABIDI
CV_MohamedHabibABIDICV_MohamedHabibABIDI
CV_MohamedHabibABIDI
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
 
MERAZKA Messaoud
MERAZKA MessaoudMERAZKA Messaoud
MERAZKA Messaoud
 
Sql Server Reporting Services
Sql Server Reporting ServicesSql Server Reporting Services
Sql Server Reporting Services
 
Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
CV - Database Administrator ( French )
CV - Database Administrator ( French )CV - Database Administrator ( French )
CV - Database Administrator ( French )
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 
Vocabulaire et Usage du Cloud
Vocabulaire et Usage du CloudVocabulaire et Usage du Cloud
Vocabulaire et Usage du Cloud
 
Pb voc-usage-cloud-101011065640-phpapp01
Pb voc-usage-cloud-101011065640-phpapp01Pb voc-usage-cloud-101011065640-phpapp01
Pb voc-usage-cloud-101011065640-phpapp01
 
Java Server Faces - Beyond
Java Server Faces - BeyondJava Server Faces - Beyond
Java Server Faces - Beyond
 
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logiciel
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logiciel
 

Oracle ADF : Vue d'ensemble

  • 1. ORACLE ADF Présentation Technique du Framework ADF Hassan BOUMARSEL Architecte Oracle Middleware hboumarsel@anasys.fr Février 2014 ANASYS Oracle ADF | 02/2014© ANASYS
  • 2. SOMMAIRE Oracle ADF | 02/2014 • ORACLE ADF : VUE D’ENSEMBLE • ORACLE ADF : ARCHITECTURE • COMPOSANTS ADF • STRUCTURE DES PROJETS ADF • DÉMONSTRATION • RETOUR D’EXPÉRIENCE • PRINCIPALES FORCES ET FAIBLESSES © ANASYS
  • 3. Oracle ADF : Vue d'ensemble Oracle ADF | 02/2014© ANASYS
  • 4. Oracle ADF : Vue d'ensemble (1/5) Oracle Application Development Framework (Oracle ADF). Une solution complète de développement des applications multicanales. Un Framework de développement stratégique pour Oracle, produit et supporté depuis 1999. Inclus dans la licence Weblogic Server à partir de la 11g.  Une version Essentials disponible en Open-Source. S'intègre avec la SOA Suite, WebCenter, OBIEE, EBS et autres produits Oracle:  Le Framework de développement de la suite Oracle Fusion Applications.  Le Framework de développement de l'UI de la SOA Suite.  Le Framework de développement des applications WebCenter. Oracle ADF | 02/2014© ANASYS
  • 5. Oracle ADF : Vue d'ensemble (2/5) Définit un seul modèle d'architecture, mais permet des choix techniques multiples. Abstraction de la complexité Java EE :  Se concentrer sur les fonctionnalités, et non pas sur l'implémentation technique. Forrester : The Oracle 11g development environment may finally be the “Visual Basic for Java” Met en œuvre les meilleures pratiques et Design Patterns JavaEE. Intégré dans les environnements de développement :  Oracle JDeveloper (Depuis la version 9).  Eclipse OEPE : Oracle Enterprise Pack for Eclipse (A partir de la version 12c). Oracle ADF | 02/2014© ANASYS
  • 6. Oracle ADF : Vue d'ensemble (3/5) S'appuyant sur les métadonnées, le Framework simplifie la création des services métiers (Business Services), et l’intégration des services externes. Une approche de développement visuelle et déclarative. Oracle ADF | 02/2014© ANASYS
  • 7. Oracle ADF : Vue d'ensemble (4/5) Couverture du cycle de vie complet de l’application Oracle ADF | 02/2014© ANASYS
  • 8. Oracle ADF : Vue d'ensemble (5/5) Une solution complète avec un large choix de composants qui couvrent toutes les couches de l’application:  Persistance des données,  Mapping objet / relationnel,  Invocation des services web,  Intégration des systèmes JMS,  Définition et implémentation des EJB,  Contrôleurs réutilisables,  Mapping des données avec l'interface utilisateur,  Composants d'interface client riches,  Gestion des profils et des personnalisations de l‘UI (Basée sur MDS),  Implémentation des services web.  Gestion des transactions,  Gestion de la sécurité,  Gestion des Logs  Support de l'AOP et de l'introspection JMX, Oracle ADF | 02/2014© ANASYS
  • 9. Oracle ADF : Architecture © ANASYS Oracle ADF | 02/2014
  • 10. Oracle ADF : Architecture (1/5) Oracle ADF est basé sur le modèle MVC : Model-View- Controller. Un architecture MVC standard est composée de 3 couches :  Model : Le Modèle exécute la logique métier de l’application, implémente les interactions avec la base de données et les accès aux ressources externes.  View : La Vue retourne une présentation des données venant du model et reçoit les interactions de l’utilisateur avec l’IHM.  Controller : Le Contrôleur gère le flux des requêtes utilisateurs. Il est responsable de retourner une réponse en s’appuyant sur les couches Modèle et Vue. Oracle ADF | 02/2014© ANASYS
  • 11. Oracle ADF : Architecture (2/5) Architecture standard du modèle MVC : Oracle ADF | 02/2014 Business Services Rich Clients Web and Mobile Model Controller Business Services Model (JSR-227) Controller View © ANASYS
  • 12. Oracle ADF : Architecture (3/5) Oracle ADF : Architecture Logicielle Oracle ADF | 02/2014© ANASYS
  • 13. Oracle ADF : Architecture (5/5) Comparaison entre la stack Java EE et la stack ADF Oracle ADF | 02/2014© ANASYS
  • 14. Oracle ADF : Architecture Oracle Fusion Middleware : Vue d’ensemble © ANASYS Oracle ADF | 02/2014
  • 15. Oracle ADF : Architecture (4/5) Architecture Oracle Fusion Oracle ADF | 02/2014© ANASYS
  • 16. Oracle ADF : Architecture Architecture type HD Weblogic et ADF : © ANASYS Oracle ADF | 02/2014
  • 17. Composants ADF © ANASYS Oracle ADF | 02/2014
  • 18. Composants ADF Liste des composants clés d’Oracle ADF ADF Faces Rich Client : Composants UI avec support d’Ajax ADF TaskFlow : Une logique de présentation et de navigation réutilisable, allant d'une page web simple à un parcours de navigation complet. ADF Model/Binding : Couche de mapping entre les services métiers et l'interface utilisateur. ADF Business Components : Composants métiers réutilisables pour l'implémentation de la logique métier et l'accès aux services externes (Base de données, Service Web, Connecteurs spécifiques). ADF Security : Couche de sécurité transverse pour gérer les authentifications (Avec support du SSO) et les autorisations aux composants de l’application ADF et aux services externes. Oracle ADF | 02/2014© ANASYS
  • 19. Composants ADF : La couche Business Services (1/8) Permet d'accéder aux données provenant de différentes sources. Fournit plusieurs services comme la persistance des données, le Mapping Objet/Relationnel, l’invocation des services web, la gestion des transactions, l'exécution de la logique métier… Plusieurs technologies peuvent être utilisées pour implémenter la couche Business Services dans ADF :  ADF Business Components (ADF BC)  EJB  POJOs  Objets JPA  L’utilisation des Business Components est recommandée. Oracle ADF | 02/2014© ANASYS
  • 20. Composants ADF : La couche Business Services (2/8) Basés sur les standards Java, XML et Groovy. Une approche de développement RAD déclarative et visuelle. Outils 4GL : Utilisation des assistants et des éditeurs visuels. Configurer les accès aux sources externes et implémenter la logique métier sans écrire du code. La logique métier est implémentée via des Validations et des Business Rules. Le code Java est optionnel : Besoin d’implémenter une logique métier spécifique. Oracle ADF | 02/2014 ADF Business Components © ANASYS
  • 21. Composants ADF : La couche Business Services (3/8) La définition des composants ADF BC est stockée dans des fichiers XML de définition des données, appelés Métadonnées. Lors de l'exécution de l'application, le Framework ADF analyse les Métadonnées et construit en temps réel les composants applicatifs (Eager ou Lazy loading). Les ADF BC Implémentent les meilleurs pratiques d'accès aux ressources externes :  Design Patterns : Singleton, Abstract Factory, Business Delegate, Adapter...  Mise en cache, Range fetching, Timeouts…  Contrôle des transactions distribuées.  Gestion des accès concurrents.  Pour optimiser les composants ADF BC, il faut connaitre les paramètres clés des Métadonnées, et le cycle de vie des objets en Runtime.  ADF ne contrôle pas le code Java Custom, il est du devoir des développeurs d’écrire un code Java propre. Oracle ADF | 02/2014 ADF Business Components © ANASYS
  • 22. Composants ADF : La couche Business Services (4/8) Il existe plusieurs types de composants ADF BC : Oracle ADF | 02/2014 ADF Business Components © ANASYS
  • 23. Composants ADF : La couche Business Services (5/8) Exemple : Créer un Data Model à partir de la définition de la base de données (Etape 1/3) Oracle ADF | 02/2014 Schéma Nom du VO Sélection des tables ADF Business Components © ANASYS
  • 24. Composants ADF : La couche Business Services (6/8) Exemple : Créer un Data Model à partir de la définition de la base de données (Etape 2/3) Oracle ADF | 02/2014 Edition visuelle du modèle Entités, Associations, et VO représentant le modèle de données ADF Business Components © ANASYS
  • 25. Composants ADF : La couche Business Services (7/8) Exemple : Créer un Data Model à partir de la définition de la base de données (Etape 3/3)  Quelle est la charge de développement nécessaire pour obtenir le même résultat ? Oracle ADF | 02/2014 Outil de test intégré ADF Business Components © ANASYS
  • 26. Composants ADF : La couche Business Services (8/8) Exemple : Cinématique des appels lors de l’invocation de la base de données Oracle ADF | 02/2014 ADF Business Components © ANASYS
  • 27. Composants ADF : La couche Model/Binding (1/6) La couche Modèle relie les objets métiers implémentés par les Business Services aux interfaces utilisateur. Une implémentation du standard JSR-227 : « A Standard Data Binding & Data Access Facility for J2EE ». Abstraction des détails d'implémentation. Basée sur les métadonnées XML : Implémentation déclarative et visuelle (Drag & Drop). Couplage faible entre les services et la couche de présentation Oracle ADF | 02/2014© ANASYS
  • 28. Composants ADF : La couche Model/Binding (2/6) La couche Model/Binding est composée de : Data Controls Data Bindings Les Data Controls représentent l'interface publique des Business Services. Support de plusieurs types de BS : ADF BC, Classes Java, EJB, WS, URL, Adapters… Les Data Bindings mettent les méthodes et attributs des Data Controls à la disposition de la couche de présentation. Les Data Binding sont des composants pivots qui séparent la Vue du Modèle. Oracle ADF | 02/2014© ANASYS
  • 29. Composants ADF : La couche Model/Binding (3/6) Exemple : Création d’un Data Control à partir d’un Business Service Oracle ADF | 02/2014 New Gallery Depuis un Business Service existant © ANASYS
  • 30. Composants ADF : La couche Model/Binding (4/6) Exemple : Mise en œuvre de la couche Model/Binding pour exposer les champs d'une table dans un formulaire (Etape 1/3) Oracle ADF | 02/2014 ADF BC Data Binding Data Control © ANASYS
  • 31. Exemple : Mise en œuvre de la couche Model/Binding pour exposer les champs d'une table dans un formulaire (Etape 2/3) Composants ADF : La couche Model/Binding (5/6) Oracle ADF | 02/2014 Data Control ADF VO © ANASYS
  • 32. Exemple : Mise en œuvre de la couche Model/Binding pour exposer les champs d'une table dans un formulaire (Etape 3/3) Composants ADF : La couche Model/Binding (6/6) EIG WebCenter Portal | 11/2013 Data Control Page Binding container Built-In Operations Attributs ADF VO © ANASYS
  • 33. Composants ADF : La couche Controller (1/4) Gère le flux applicatif et la logique de navigation entre les pages. Reçoit tous les événements de l'utilisateur et enclenche les actions à effectuer. Le flux applicatif et les règles de navigation sont modélisés via un diagramme de flux : Oracle ADF | 02/2014© ANASYS
  • 34. Composants ADF : La couche Controller (2/4) ADF offre plusieurs possibilités pour implémenter la couche Contrôleur dans des applications web : JSF Controllers : ADF 11g supporte le standard JSF 1.2 (JSR 252) / ADF 12g supporte JSF 2.0 (JSR 314). ADF Controllers : Une surcouche de JSF avec des fonctionnalités supplémentaires comme les ADF TaskFlows. Struts Controllers : Implémentation de la logique de navigation avec Struts Page Flow (Struts-config.xml). La version supportée par défaut est la 1.2. Oracle ADF | 02/2014© ANASYS
  • 35. Composants ADF : La couche Controller (3/4) ADF Controller permet de créer des modèles de navigation réutilisables : ADF Taskflows Les ADF TaskFlow offrent plusieurs avantages :  La couche de présentation peut être découpée en plusieurs modules.  Les TaskFlows sont réutilisables au sein de la même application, ou entre plusieurs applications.  Ce concept est largement exploité dans les applications WebCenter Portal.  La navigation ne se fait pas seulement entre pages ou fragments.  Support d’autres types d’activités :  Appel de méthodes,  Orchestration des appels,  Utilisation des Expressions régulières,  Appel d’autres Taskflows,  Boutons de retour,  Modélisation des transactions, Oracle ADF | 02/2014 ADF Controllers © ANASYS
  • 36. Composants ADF : La couche Controller (4/4) ADF fournit un grand nombre de composants pour modéliser les Taskflows de tout type, allant d'une simple séquence de pages, à des fonctionnalités complexes de routage et d'orchestration : Oracle ADF | 02/2014© ANASYS
  • 37. Composants ADF : La couche Présentation (1/8) Support du multicanal : Applications web, Clients lourds, Mobile, Suite Bureautique... Choix varié de technologies et Frameworks d'implémentation :  ADF Faces  JSF  JSP  ADF Mobile  ADF Swing  Microsoft Office ADF Faces est une extension de JSF basée sur le Framework Apache MyFaces Trinidad.  L’utilisation des composants ADF Faces est recommandée. Oracle ADF | 02/2014© ANASYS
  • 38. Composants ADF : La couche Présentation (2/8) 150 composants Rich web components avec support d'AJAX, Fonctionnalités de validation et de contrôle de surface, Fonctionnalités intégrées de Templating, Drag&Drop, Scrolling, Tri..., Composants prêts à l’emploi pour créer des Pop-up, Dialogs, Query, Print… Prévisualisation en mode Design, Support de la personnalisation des interfaces par utilisateur ou par Profil (La personnalisation est stockée dans le référentiel MDS), Rafraichissement Partiel : Partial Page Rendering (PPR), 4 Grandes catégories de composants : Layout, Common, Data Visualization, Opérations, Oracle ADF | 02/2014 ADF Faces © ANASYS
  • 39. Composants ADF : La couche Présentation (3/8) Oracle ADF | 02/2014 ADF Faces : Layout Components © ANASYS
  • 40. Composants ADF : La couche Présentation (4/8) Oracle ADF | 02/2014 ADF Faces : Common Components (1/2) © ANASYS
  • 41. Composants ADF : La couche Présentation (5/8) Oracle ADF | 02/2014 ADF Faces : Common Components (2/2) © ANASYS
  • 42. Composants ADF : La couche Présentation (6/8) Oracle ADF | 02/2014 ADF Faces : Operations © ANASYS
  • 43. Composants ADF : La couche Présentation (7/8) Oracle ADF | 02/2014 ADF Faces : Data Visualization (1/2) © ANASYS
  • 44. Composants ADF : La couche Présentation (8/8) Oracle ADF | 02/2014 ADF Faces : Data Visualization (2/2) Graphes Jauge CartesTables PivotsDiagramme de Gantt © ANASYS
  • 45. Composants ADF : ADF Security Oracle ADF | 02/2014 Paramétrage fin de la sécurité et des règles d’accès © ANASYS
  • 46. Structure des projets ADF © ANASYS Oracle ADF | 02/2014
  • 47. Projets ADF Dans le contexte ADF, les fichiers de Métadonnées sont utilisés pour : Stocker la définition des composants ADF Business Components. Définir les paramètres, les méthodes et les valeurs de retour dans les Data Controls. (Les Data Controls représentent l'interface publique des Business Services) Créer des objets de Binding entre les Data Controls et l'UI. Configurer les composants de présentation (Rich User Interfaces Components). Définir la configuration cible sur le serveur d'application. Oracle ADF | 02/2014 Fichiers de Métadonnées © ANASYS
  • 48. Projets ADF Hiérarchie des fichiers de Métadonnées : Oracle ADF | 02/2014 Fichiers de Métadonnées © ANASYS
  • 49. Projets ADF  bc4j.xcfg : Application Modules MetaData Liste des AM, Connexion DB, Sécurité, Taille des Pools…  AM*.xml : Application Module Definition Stocke la définition des VO et autres BC appartenant au module.  *PageDef.xml : Page Definition files Créé pour chaque page utilisant le modèle : Déclaration du context de binding de la page.  DataBindings.cpx : Binding Context de l’application ADF Mapping entre les pages JSF et les *PageDef.xml. Déclaration des DataControls utilisés par la vue.  adfm.xml : Registry of Registries Maintient le chemin d’accès à tous les fichiers *.cpx, *.dcx, *.jpx, et *.xcfg de l’application. Oracle ADF | 02/2014 Fichiers de Métadonnées © ANASYS
  • 50. Projets ADF  <application>.jws : Référentiel de l’application Liste des projets (UI, Modele,…), Versions des composants utilisés  cwallet.sso : Credentials et SSO Stocke les mots de passe d’accès aux ressources externes (DB, Web Services tiers…).  adf-config.xml : Configuration des ressources de l’application Taille du cache, Configuration MDS, Tailles des Pools des ressources...  connections.xml : Informations de connexion aux services externes URL des services, Chaine de connexion JDBC, références utilisées en interne par le projet ADF.  adfc-config.xml, facesconfig.xml, Struts-config.xml : Définition de la logique de navigation Liste des managed beans, Liste des pages, Connexions entre les pages, règles de navigation...  web.xml, weblogic.xml : Descripteurs de déploiement Configuration de l’application web : Liste des Servlets, Listeners, Mapping, Sessions, Cookies, Sécurité J2EE... Oracle ADF | 02/2014 Fichiers de Métadonnées © ANASYS
  • 51. Projets ADF Structure de l’application ADF : Oracle ADF | 02/2014 Structure d’un projet ADF © ANASYS
  • 52. Projets ADF Structure du module Model Structure du module UI Oracle ADF | 02/2014 Structure d’un projet ADF © ANASYS
  • 53. Retour d’Expérience © ANASYS Oracle ADF | 02/2014
  • 54. Retour d’Expérience Oracle ADF | 02/2014 Composante Appréciation Commentaire Architecture technique / Respect des standards et des bonnes pratiques Oracle ADF met en œuvre plusieurs standards (JSR-227, JSR 252, JSR 314...) et Design Patterns (MVC, Abstract Factory, Business Delegate...). Il implémente nativement des bonnes pratiques comme la mise en cache, le Range fetching, les Timeouts… Pérennité Un Framework de développement produit et supporté par Oracle. ADF constitue désormais le socle technique de plusieurs produits Oracle : EBS, HCM, OBIEE, SOA Suite, WebCenter, OBIEE... Compétences et ressources disponibles Peu de développeurs se sont spécialisés dans Oracle ADF en France. Le marché manque de profils spécialisés dans le Framework. Présence sur le marché Oracle ADF prend la place d’Oracle Forms, il est désormais omniprésent dans les produits Oracle Fusion Applications, et dans les applications SOA et WebCenter Portal. © ANASYS
  • 55. Retour d’Expérience Oracle ADF | 02/2014 Composante Appréciation Commentaire Clients et communauté • Clients en France : Thélem Assurances, CMA-CGM, CGGVeritas, Arval, Alcatel, SETMAT, MyOracle Support… • Dans le monde : Schneider, Government of Australia, Acco Brands, HYATT, Energie DataServices Nederland, Washington University… Productivité / ROI Oracle ADF permet une approche de développement RAD déclarative et visuelle. Il fournit également un très grand nombre de fonctionnalités, d’assistants et de composants prêts à l’emploi qui permettent une productivité accrue, que ce soit pour le web ou le mobile. Performances, Robustesse, montée en charge, Scalabilité Les applications ADF nécessitent beaucoup de ressources (Mémoire, Disk, Réseau…). Toutefois, un Tuning est possible grâce aux multitudes de possibilités de configuration (Attributs des Métadonnées). © ANASYS
  • 56. Principales Forces et Faiblesses • Le « Tout-En-Un » : ADF couvre tout le périmètre de développement et le cycle de vie des projets. • Framework stratégique pour Oracle. • Le choix de la technologie d’implémentation (EJB ou ADF BC, JPA ou ADF DataModel, JSF, Struts ou ADF Faces…). • Un outil 4GL et une approche de développement RAD déclarative et visuelle. • Développement de composants réutilisables (exemples : Taskflows.) • Adapté pour les applications de gestion des données et les applications multicanales avec des interfaces graphiques riches et complexes. Forces • ADF reste compliqué à appréhender, surtout parce que JSF lui-même est compliqué à appréhender. • Beaucoup de nouveaux concepts à assimiler (Navigation entre pages, Task flows, Bindings, Expression Languages). • Les applications ADF sont gourmandes en ressources matérielles, un Tuning fin peut s’avérer nécessaire. • L’aspect Wizard peut être trompeur : La connaissance des technologies sous- jacentes (Java, JSF, HTML, CSS) est indispensable. • Manque de développeurs spécialisés dans le Framework en France. Faiblesses © ANASYS Oracle ADF | 02/2014
  • 58. Hassan BOUMARSEL Architecte Oracle Middleware hboumarsel@anasys.fr 06 76 59 05 18 ANASYS Oracle ADF | 02/2014 Contact