ApEx : Application Express d'Oracle
Le développement d'application
Avant de débuter réellement le développement, il faut tout d'abord effectuer un peu d'administration Oracle.
Un peu d'administration
Administration des schémas
Tout d'abord, nous pouvons commencer par l'administration des schémas de la base de données:Un schéma c'est un utilisateur Oracle, muni de droits et d'un ou plusieurs tablespaces pour stocker les données.
Il faut donc prévoir de créer un schéma par application.
Pourquoi effectuer cela ?
- Pour la maintenabilité du système, puisque le schéma portera le même nom que l'application et que ses tablespaces. Les fichiers de données seront alors plus faciles à identifier sur le disque.
- Pour la maintenabilité de la Base de Données, puisque si un schéma correspond à plusieurs applications, cela signifierait que toutes les tables seraient mélangées et il serait très difficile de s'y retrouver. Tandis qu'en créant 1 schéma par application, on isole les différents schémas entre eux.
- Soit placer les schémas dans la même Base de Données que celle où se trouve ApEx:
-> C'est pratique car nous y accédons tout de suite, mais c'est dangereux car si une "mauvaise" requête venait à être exécutée, cela ralentirait non pas seulement l'application elle-même mais tout l'environnement ApEx. - Soit placer les schémas sur une Base de Données distante. Dans ce cas, on accèdera aux schémas par dbLink.
Administration des Workspaces
Enfin, dernier point avant de débuter le développement des applications, c'est l'administration d'ApEx lui-même et de ce que l'on appelle les Workspaces (les espaces de travail).Il faut distinguer deux types de workspace:
- Le workspace administrateur:
Figure 6 – Le workspace administrateur - Les workspaces développeur:
Figure 7 – Le workspace développeur
Le ou les workspaces développeur permettent de gérer les applications et les données des schémas. C'est donc dans un workspace développeur que l'on peut créer ses applications et exploiter ses données.
La création des applications
Après la partie administration, nous allons voir comment développer les applications.
- Une application, c'est un ensemble de pages.
- Une page, c'est un ensemble de fonctionnalités.
- Et une fonctionnalité, c'est un ensemble d'éléments.
Générallement, lorsque l'on souhaite créer une application, il faut tout d'abord définir son "squelette", c'est-à-dire que l'on imagine l'application dans sa globalité, puis on la découpe en pages et ensuite on la complète petit à petit avec des éléments afin de créer une fonctionnalité. Lorsque la fonctionnalité est terminée, on enchaîne sur une autre fonctionnalité en ajoutant des éléments qui vont interagir entre eux, soit sur la même page, soit sur une page différente.
Il existe également des fonctionnalités communes aux pages, ceci permettant de retrouver le même objet peu importe l'endroit où l'on se situe (par exemple un menu, une barre de navigation, etc.).
Enfin, toutes ces fonctionnalités sont développées à l'aide de deux vues:
- Une vue pour la création, (un aperçu de la vue création est disponible ici)
- Une vue pour la visualisation. (un aperçu de la vue visualisation est disponible ici)
Les langages de programmation
Les langages de programmation qui peuvent être utilisés pour développer des applications avec ApEx sont:
- le PL/SQL,
- le SQL,
- l'HTML et le DHTML,
- le Javascript,
- l'Ajax.
C'est-à-dire qu'ApEx réserve des endroits particuliers pour placer du PL/SQL par exemple, mais à cet emplacement ne pourra pas être mis du javascript et inversement. Les fonctionnalités sont alors cloisonnées spécifiquement à leur langage.
Figure 8 – Un emplacement spécifique pour chaque langage
Pour communiquer entre eux, ces langages utilisent des évènements. Par exemple, un évènement javascript (tel que l'appui d'un bouton) peut déclencher l'appel à une procédure PL/SQL pour mettre à jour le contenu d'une table.