Technologies Oracle:
Comment choisir entre ADF, MAF, JET & APEX ?
Le but de cet article de blog est de fournir une synthèse sur les solutions de développement Oracle.
Bien qu’Oracle Forms, voué à disparaitre depuis des années, continue à évoluer (version 12.2.1.3), Oracle propose plusieurs infrastructures logicielles modernes (Framework), qui seront présentées.
Cet article de blog se concentre sur Oracle ADF, MAF et JET afin de vous donner une vue de synthèse sous la forme d’un tableau comparatif, fonctionnalité par fonctionnalité.
Informations générales
Oracle ADF (Application Development Framework)
Oracle ADF est un Framework Java EE de bout en bout qui simplifie le développement d'applications en fournissant des services d'infrastructure prêts à l'emploi et une expérience de développement visuelle et déclarative. Le développement d’application Java (J2EE) est simplifié grâce à ADF.
Version courante : 12.2.1.3
Oracle MAF (Mobile Application Framework)
MAF est un Framework mobile hybride qui permet de développer rapidement des applications à source unique et de les déployer sur les plates-formes iOS d'Apple, Android de Google et Microsoft Windows 10. Oracle MAF exploite Java, HTML5 et JavaScript pour fournir une infrastructure MVC complète avec une définition d'interface utilisateur déclarative, l'intégration de fonctionnalités de périphériques et la sécurité intégrée. Oracle MAF fournit une expérience de développement visuelle et déclarative et optimise la réutilisation du code, ce qui accélère le développement des applications mobiles.
Oracle JET (JavaScript Extension Toolkit)
Oracle JET est destiné aux développeurs JavaScript intermédiaires et avancés travaillant sur des applications côté client. JET offre aux développeurs un kit d'outils open source modulaire basé sur les principes de conception et de développement modernes JavaScript, CSS3 et HTML5. Oracle JET est le standard officiel d’Oracle pour le développement d’interfaces utilisateur basé sur les standards open source. Oracle se concentre sur une boîte à outils (JET) pour créer des applications dont ils savent qu’elles évolueront et pourront être maintenues (sur la base de normes). Oracle a plusieurs applications utilisées par des millions de clients et ils utilisent JET dans leurs services Oracle Cloud et doivent s'assurer que ces services sont stables et performants. Oracle JET n’est pas dépendant de produits Oracle tels que Weblogic, base de données
Oracle APEX (Oracle Application Express)
Oracle APEX est un environnement de développement rapide permettant de créer des applications web. APEX utilise une logique PL/SQL. L’interface Oracle APEX est basée sur un model « data-driven » tel que Forms. APEX est recommandé pour le développement d’applications simple. APEX est dépendant de la base de données Oracle
Comment choisir entre
ADF, MAF, JET & APEX ?
| CRITÈRE | ADF | MAF | JET | APEX |
|---|---|---|---|---|
| License Requises: | Oracle Weblogic Enterprise Edition + Oracle Database | Oracle Weblogic Enterprise Edition + Oracle Database | Open Source - Ne requiert aucune License payante (Universal Permissive License - UPL) | Oracle Database |
| Maintenir les Compétences Weblogic: | Déploiement des applications ADF seulement possible dans Weblogic | Déploiement des applications MAF seulement possible dans Weblogic | Peut être déployée dans Weblogic mais la meilleure option est d’utiliser un « backend » Javascript tel que Node.js. | APEX n’a pas besoin de Weblogic et s’exécute directement sur la base de données Oracle. |
| Applications Mobiles Natives: | Permet de créer des applications mobiles Hybrides qui s’exécutent dans le browser du mobile. | Permet de créer des applications mobiles natives 1 seule plateforme, 1 seul code pour Android, iOS ou Windows. | Permet de créer des applications mobiles Hybrides qui s’exécutent dans le browser du mobile. | Permet de créer des applications mobiles Hybrides qui s’exécutent dans le browser du mobile. |
| Accélérer le développement des interfaces utilisateurs: | Utilise des composants personnalisés déclaratifs pour le développement par glisser-déposer Permet d'accéder aux fonctions de l'appareil telles que la caméra, les contacts, le GPS, etc. | Prend en charge le développement d'applications pouvant fonctionner en mode hors connexion à l'aide de la base de données SQLite locale. | Fournit un ensemble d’outils permettant d’accélérer le développement. Les avantages réels d’Oracle JET sont la possibilité de se concentrer sur le développement. | Solution productive comparable à Oracle Forms. APEX est un language de type « Data Driven » qui facilite la création d’écrans de saisi basés sur des tables. |
| Popularité du langage: | Java reste un des langages les plus utilisés | Java reste un des langages les plus utilisés | JavaScript est devenu aussi populaire que Java. Selon l’édition 2019 du HackerRank, JavaScript vient de prendre la 1ère place. | APEX devient populaire mais n’est pas utilisé pour des applications critiques contrairement à Oracle Forms. |
| Richesse des fournisseurs de données: | ADF BC, SOAP/REST, Java, JPA/EJB, BAM, BPEL, BI, Portlets | REST | REST | Oracle Database, REST |
| Déploiement dans le Cloud: | Java Cloud Service | Mobile Cloud Service | Application Container Cloud, Java Cloud, Oracle Cloud Infrastructure | Database Cloud |
| DevOps on-premise ou dans le cloud avec Developer Cloud Service: | Peut s’intégrer dans une plateforme DevOps (Gestion des versions du code, travail collaboratif, gestion des taches, automatisation du Build et intégration continue). | Peut s’intégrer dans une plateforme DevOps (Gestion des versions du code, travail collaboratif, gestion des taches, automatisation du Build et intégration continue). | Peut s’intégrer dans une plateforme DevOps (Gestion des versions du code, travail collaboratif, gestion des taches, automatisation du Build et intégration continue). | APEX et DevOps ne sont pas souvent considérées ensemble. Il existe des solutions « DevOps » pour APEX, qui restent assez loins des solutions pour ADF, MAF, JET. |
Conclusion
Cet article a pour objectif de vous donner un maximum d’informations pour comprendre le positionnement de chacun des 4 Frameworks, avec quelques exemples de critères pour aider à choisir le(s) Framework(s) le mieux adapté à vos exigences. Sur la base de ce document nous vous proposons d’échanger ensemble pour mieux qualifier et comprendre vos enjeux métiers, vos stratégies (Mobile, Chatbots, Temps de mise sur le marché, Infrastructure …), vos priorités (Interfaces utilisateurs, etc.), vos enjeux d’intégration, etc.