Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

La technologie APEX d'Oracle

9 Novembre 2009 , Rédigé par benkirane Publié dans #La technologie APEX d Oracle

APEX… HTML DB …? Cela ne doit pas vous dire grand chose ou, en tout cas, à pas grand monde. J’étais dans la même situation que vous quand Eric, l'ingénieur commercial, m’a proposé ma première mission chez Logica. Aucune idée de ce que cela pouvait être et à quoi cela pouvait ressembler. Difficile dans ce cas d’accepter une mission chez un client sans trop savoir le type de travail qu’on va devoir effectuer. Pour les prochains ingénieurs qui seront dans ma situation, j’ai décidé de lever – un peu - le voile sur cette technologie afin que vous en sachiez plus et que vous puissiez prendre une décision qui va dans le sens de ce que vous souhaitez faire.

Petite définition pour commencer.

APEX, autrefois appelé HTML DB, est en fait une technologie Oracle fournie gratuitement avec la base de données. C’est en fait tout simplement un outil de développement rapide d’applications Web en lien direct avec une base de données Oracle. A l’aide d’un navigateur Web et d’une expérience limitée dans la programmation, il est possible, facilement, de concevoir, créer et déployer des applications Web professionnelles performantes et sécurisées à destination de dizaines, centaines voir de milliers d’utilisateurs. Cette technologie combine les qualités d’une base de données personnelle, la productivité, la facilité d’emploi et la flexibilité avec les qualités d’une base de données d’entreprise, la sécurité, l’intégrité, l’adaptabilité, la disponibilité et tout cela construit pour le Web. En résumé, cette technologie a de quoi charmer toute entreprise disposant d’une base de données Oracle sachant qu’aucune licence supplémentaire n’est nécessaire pour l’utiliser.

Quels types d’applications sont réalisables ?

APEX est un outil très productif (je me répète mais c’est toute sa puissance !!) qui permet de créer des applications Web qui font un rapport sur les données d’une base Oracle. Les utilisateurs peuvent alors naviguer à travers leurs données comme s’ils le faisaient sur un site Web. Les colonnes de ces rapports peuvent être très facilement liées à d’autres rapports, à des formulaires ou même à des graphiques. Tout cela sans écrire une seule ligne de code et de manière totalement déclarative.

APEX dispose d’un performant moteur de rendu qui permet aux requêtes SQL d’être représentées graphiquement. Les données sont alors communiquées aux utilisateurs de manière plus efficace. La technologie est aussi très performante dans l’édition de données et supporte un grand nombre d’éléments pour les formulaires incluant les boutons radio, les cases à cocher, les listes de sélection, des éditeurs de texte et des sélecteurs de dates.

Voici des copies d’écran de ce que peuvent être les différents types de pages Web qu’il est possible de créer dans APEX : APEX : Report Classique

APEX : Report intéractif

APEX : Graphique

PEX Formulaire

Quand APEX peut-il être utilisé ?

APEX a été plutôt conçu pour réaliser des programmes ayant un gros besoin d’affichage de rapports et d’édition de données aux différentes équipes opérationnelles d’une entreprise. La conception d’application basée sur un navigateur Web facilement mis à disposition des développeurs, la structure de programmation déclarative et l’utilisation d’assistants simples font de cette technologie un remplaçant naturel aux bases de données de bureau comme Microsoft Access. Les experts en langage SQL apprécient énormément d’avoir ce genre d’outils à disposition car ils peuvent, rapidement et sans trop d’expérience du Web, créer des applications. Avec APEX, il n’est pas nécessaire d’apprendre des langages de scripts complexes ou de connaître des méthodes de déploiement évoluées. Avec quelques requêtes SQL et quelques composants prédéfinis, il est possible de concevoir des applications très professionnelles, sécurisées et évolutives. Attention cependant, s’il est vrai qu’avec peu de connaissances en PL/SQL, il est possible de développer des applications basiques, pour des développements plus complexes, il est nécessaire d’avoir des connaissances plus abouties. C’est d’ailleurs la plus-value pour un développeur APEX puisque rapidement, il peut fortement faire évoluer sa compétence dans l’écriture de code PL/SQL et au niveau du langage SQL en général.

Architecture

Le moteur APEX restitue des applications en temps réel provenant de données stockées dans des tables de la base de données. Quand vous créez ou faites évoluer une application, APEX crée ou modifie des méta-données stockées dans des tables d'Oracle. Quand l'application est exécutée, le moteur APEX lit alors ces méta-données et affiche l'application. APEX réside complètement dans votre base de données Oracle. Il ne se compose de rien plus que de données dans des tables et de grandes quantités de code PL/SQL. La base d'APEX c'est environ 215 tables et 200 objets PL/SQL contenant plus de 300,000 lignes de code.

Pour fournir un comportement stable dans une application, APEX gère d'une manière transparente l'état de la session dans la base de données. Les développeurs peuvent récupérer et fixer l'état de la session en utilisant des initialisations aussi simples que ce que prévoie la syntaxe standard d'initialisation de variable en SQL.

Voici le schéma de l’architecture d’APEX :

APEX : architecture

Sur ce schéma, on voit bien qu’APEX réside dans la base de données Oracle. Pour créer des applications, les développeurs ont accès, à travers un navigateur Web, à un espace de travail (Workspace en anglais) où ils peuvent créer autant d’applications qu’ils le souhaitent. Chaque espace de travail étant connecté à un unique schéma Oracle où sont stockées les tables spécifiques utilisées par les applications contenues dans cet espace. Les utilisateurs n’ont pas accès à cet environnement de travail mais accèdent directement aux applications développées.

Partager cet article

Repost 0

Commenter cet article