Déplacement des applications Oracle Forms vers Oracle APEX et une base de données Oracle Autonomous Database
Vos procédures stockées et packages PL/SQL fonctionnent de manière native dans Oracle APEX, ce qui en fait la plate-forme de choix pour la transition facile des applications Oracle Forms vers des applications Web modernes avec plus de fonctionnalités, moins de complexité et moins de coûts de développement et de maintenance.
Oracle APEX est une plateforme de développement low-code qui vous permet de construire des applications d'entreprise évolutives et sécurisées dotées de fonctionnalités d'ordre mondial, que vous pouvez déployer partout dans le monde. Vous pouvez rapidement développer et déployer des applications convaincantes qui résolvent des problèmes réels et fournissent une valeur immédiate. Vous n'aurez pas besoin d'être un expert dans une vaste gamme de technologies pour fournir des solutions sophistiquées.
Architecture
Cette architecture présente le processus de déplacement d'applications Oracle Forms sur site vers des applications Oracle APEX sur Oracle Cloud Infrastructure.
Le schéma suivant illustre cette architecture de référence.

Description de l'illustration forms-apps-apex.png
formulaires-apps-apex-oracle.zip
L'architecture comporte les composants suivants :
- Région
Une région OCI est une zone géographique précise qui contient des centres de données, hébergeant des domaines de disponibilité. Les régions sont indépendantes les une des autres et peuvent les séparer d'un pays ou d'un continent à l'autre par de grandes distances.
- Domaines de disponibilité
Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Par conséquent, une panne sur un domaine de disponibilité ne doit pas affecter les autres domaines de disponibilité de la région.
- Réseau cloud virtuel (VCN) et sous-réseaux
Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région OCI. Comme les Réseaux de centre de données traditionnels, les Réseaux cloud virtuels vous donnent un contrôle sur l'environnement réseau. Un VCN peut comporter plusieurs blocs de routage interdomaine sans classe (CIDR) qui ne se chevauchent pas et que vous pouvez modifier une fois le VCN créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.
- Equilibreur de charge
Oracle Cloud Infrastructure Load Balancing fournit une distribution automatisée du trafic à partir d'un point d'entrée unique vers plusieurs serveurs.
- Liste de sécurité
Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui indiquent la source, la destination et le type de trafic autorisés à l'entrée et à la sortie du sous-réseau.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing est un service de base de données doté de fonctions d'autopilotage, d'autosécurisation et d'autoréparation optimisé pour les charges de travail de traitement des transactions. Vous n'avez pas besoin de configurer ni de gérer un matériel, ni d'installer un logiciel. OCI gère la création, la sauvegarde, l'application de patches, la mise à niveau et le réglage de la base de données.
- Gestion des identités et des informations
Oracle Cloud Infrastructure Identity and Access Management (IAM) fournit un contrôle d'accès utilisateur pour OCI et Oracle Cloud Applications. L'API IAM et l'interface utilisateur vous permettent de gérer les domaines d'identité et les ressources qu'ils contiennent. Chaque domaine d'identité OCI IAM représente une solution autonome de gestion des identités et des accès ou une population d'utilisateurs différente.
- Audit
Le service Oracle Cloud Infrastructure Audit enregistre automatiquement des appels vers toutes les adresses d'API (interface de programmation d'applications publiques) OCI prises en charge en tant qu'événements de journal. Tous les services OCI prennent en charge la journalisation par Oracle Cloud Infrastructure Audit.
Recommandations
- VCN
Lorsque vous créez un VCN, déterminez le nombre d'adresses IP requises par vos ressources cloud dans chaque sous-réseau. A l'aide de la notation CIDR (Classless Inter-Domain Routing), spécifiez un masque de sous-réseau et une plage d'adresses réseau suffisamment grande pour les adresses IP requises. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adressage IP privé standard.
Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.
-
Lorsque vous concevez les sous-réseaux, tenez compte des fonctionnalités et des exigences de sécurité. Toutes les instances de calcul d'un même niveau ou rôle doivent appartenir au même sous-réseau.
Utilisez des sous-réseaux régionaux.
- Listes de sécurité
Utilisez des listes de sécurité pour définir des règles entrantes et sortantes qui s'appliquent à l'ensemble du sous-réseau.
- Cloud Guard
Clonez et personnalisez les recettes par défaut fournies par Oracle pour créer des recettes personnalisées de détecteur et de répondeur. Ces recettes vous permettent d'indiquer le type de violation de sécurité qui génère un avertissement et les actions autorisées à y être effectuées. Par exemple, vous pouvez détecter les buckets OCI Object Storage dont la visibilité est définie sur Public.
Appliquez Oracle Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative liée à la maintenance de plusieurs configurations.
Vous pouvez également utiliser la fonctionnalité de liste gérée pour appliquer certaines configurations aux détecteurs.
- Security Zones
Pour les ressources nécessitant une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle basée sur les meilleures pratiques. Par exemple, les ressources d'une zone d'accès ne doivent pas être accessibles à partir du réseau Internet public et elles doivent être cryptées à l'aide de clés gérées par un client. Lorsque vous créez et mettez à jour des ressources dans une zone de sécurité, OCI valide les opérations par rapport aux stratégies de la recette et empêche les opérations qui violent l'une des stratégies.
- Schéma
Conservez la structure de base de données sur laquelle Oracle Forms a été créé, telle quelle, et utilisez-la comme schéma pour Oracle APEX.
- Logique d'entreprise
La plupart de la logique métier d'Oracle Forms se compose de déclencheurs, d'unités de programme et d'événements. Avant de commencer la migration d'Oracle Forms vers Oracle APEX, migrez la logique métier vers des procédures, fonctions et packages stockés dans la base de données.
Points à prendre en compte
- Blocs de données
Un bloc de données d'Oracle Forms est lié à Oracle APEX, chaque page étant divisée en plusieurs régions et composants. Consultez les modèles de composant Oracle APEX disponibles dans le thème universel.
- Déclencheurs
Dans Oracle Forms, les déclencheurs contrôlent presque tout. Dans Oracle APEX, le contrôle est basé sur des conditions flexibles qui sont activées lorsqu'une page est soumise et gérées par des validations, des calculs, des actions dynamiques et des processus.
- Alertes
La plupart des messages dans Oracle APEX sont générés lorsque vous soumettez une page.
- Bibliothèques attachées
Oracle APEX s'occupe des bibliothèques JavaScript et CSS qui prennent en charge le thème universel, qui prend en charge tous les composants dont vous avez besoin pour des applications flexibles et dynamiques. Vous pouvez inclure vos propres fichiers JavaScript et CSS de plusieurs manières, principalement via des attributs de page. Vous pouvez choisir d'ajouter du code en ligne en tant que fichiers de référence qui existent dans la base de données en tant que BLOB (
#APP_IMAGES#
) ou qui se trouvent sur le niveau intermédiaire (middle tier), généralement utilisé par Oracle REST Data Services (ORDS). Lorsqu'un fichier de référence figure sur un serveur Oracle WebLogic Server, l'emplacement du fichier est précédé de#IMAGE_PREFIX#
. - Editeurs
Oracle APEX dispose d'une zone de texte et d'un éditeur de texte enrichi, ce qui équivaut aux éditeurs dans Oracle Forms.
- Liste de valeurs (LOV)
Dans Oracle APEX, la liste de valeurs est associée au type d'élément. Un groupe de radio fonctionne bien avec une petite poignée de valeurs. Sélectionnez Listes pour les jeux de taille moyenne, puis LdV contextuelle pour les jeux de données volumineux. Vous pouvez utiliser les requêtes du groupe d'enregistrements dans Oracle Forms pour la requête de liste de valeurs dans Oracle APEX. Les listes de valeurs d'Oracle APEX peuvent être pilotées dynamiquement par une requête SQL ou définies de manière statique. Une définition statique permet d'appliquer diverses conditions à chaque entrée. Ces listes de valeurs peuvent ensuite être associées à des éléments tels que des groupes d'options et des listes de sélection, ou à une colonne d'un rapport, pour traduire un code en libellé.
- Paramètres
Les éléments de page dans Oracle APEX sont remplis entre les pages pour transmettre des informations à la page suivante, telles que l'enregistrement sélectionné dans un rapport. Les formulaires plus volumineux comportant un certain nombre d'éléments sont généralement soumis dans leur ensemble, où le traitement des pages gère les données et passe à la page suivante. Ces valeurs peuvent être protégées contre la falsification d'URL par la sécurité d'état de session, aux niveaux élément, page et application, souvent par défaut.
- Menus instantanés
Les menus contextuels ne sont pas prêts à l'emploi dans Oracle APEX, mais vous pouvez les créer à l'aide de listes et en associant un bouton au menu.
- Unités de programme
Migrez les procédures et fonctions stockées définies dans les unités de programme d'Oracle Forms vers les fonctions et procédures stockées de base de données, et utilisez les procédures et fonctions stockées de base de données dans les processus, validations et calculs Oracle APEX.
- Classes de propriétés
Les classes de propriétés d'Oracle Forms permettent au développeur d'utiliser des attributs communs à chaque instance d'un composant. Dans Oracle APEX, vous pouvez définir les valeurs par défaut de l'interface utilisateur dans le dictionnaire de données. Ainsi, chaque fois que des éléments ou des rapports sont créés pour des tables ou des colonnes spécifiques, les mêmes fonctionnalités sont appliquées par défaut. En ce qui concerne le style de l'application, vous pouvez appliquer des classes à des composants qui portent une apparence particulière. Le thème universel a une apparence par défaut que vous pouvez reconfigurer de manière déclarative.
-
Groupes d'enregistrements
Utilisez des requêtes dans les groupes d'enregistrements pour définir la liste de valeurs dynamique dans Oracle APEX.
- Rapports
Les rapports interactifs dans Oracle APEX sont fournis avec un certain nombre d'options de manipulation d'exécution qui donnent aux utilisateurs le pouvoir de personnaliser et de manipuler les rapports. Les rapports classiques sont des rapports simples qui ne fournissent pas d'options de manipulation d'exécution, mais qui sont basés sur SQL.
- Menus
Oracle Forms possède des fichiers de menu spécifiques, contrôlés par des rôles de base de données. La mise à jour du fichier
.mmx
nécessite l'absence d'utilisateurs actifs. Le menu d'Oracle APEX peut être situé en haut ou en bas à gauche. Ces menus peuvent être définis de manière statique ou pilotés de manière dynamique. Les entrées de navigation statique peuvent être contrôlées par des schémas d'autorisation ou des conditions personnalisées. Les menus dynamiques peuvent inclure des tables de sécurité dans le code SQL. - Propriétés
Le concepteur de pages introduit dans Oracle APEX est similaire à Oracle Forms, en particulier en ce qui concerne la possibilité de modifier plusieurs composants à la fois, uniquement des attributs croisés.