Déplacez les applications Oracle Forms vers Oracle APEX et une Oracle Autonomous Database
Vos procédures stockées et vos ensembles PL/SQL fonctionnent de manière native dans Oracle APEX, ce qui en fait la plate-forme de choix claire pour faciliter la transition des applications Oracle Forms vers des applications Web modernes avec plus de capacités, moins de complexité et des coûts de développement et de maintenance réduits.
Oracle APEX est une plateforme de développement à code réduit qui permet de créer des applications d'entreprise évolutives et sécurisées, dotées de fonctions de classe mondiale, que vous pouvez déployer partout. Vous pouvez rapidement développer et déployer des applications convaincantes qui résolvent de vrais problèmes et offrent 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 des applications Oracle Forms sur place vers des applications Oracle APEX sur Oracle Cloud Infrastructure.
Le diagramme 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 localisée qui contient un ou plusieurs centres de données, des domaines de disponibilité d'hébergement. Les régions sont indépendantes les unes des autres, et de grandes distances peuvent les séparer (à travers les pays ou même les continents).
- Domaines de disponibilité
Les domaines de disponibilité sont des centres de données indépendants et autonomes dans une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Ainsi, une défaillance d'un domaine de disponibilité ne doit pas avoir d'incidence sur les autres domaines de disponibilité de la région.
- Réseau en nuage virtuel (VCN) et sous-réseaux
Un VCN est un réseau défini par logiciel personnalisable que vous configurez dans une région OCI. Comme les réseaux de centre de données traditionnels, les réseaux en nuage virtuels vous permettent de contrôler votre environnement de réseau. Un VCN peut disposer de plusieurs blocs de routage inter-domaine (CIDR) sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage 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é.
- Équilibreur de charge
Oracle Cloud Infrastructure Load Balancing assure la répartition automatisée du trafic 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 spécifient la source, la destination et le type de trafic autorisé à entrer et à sortir du sous-réseau.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing est un service de base de données entièrement géré, autosécurisé et autoréparable optimisé pour les charges de travail de traitement des transactions. Il n'est pas nécessaire de configurer ou de gérer du matériel ni d'installer des logiciels. OCI gère la création, la sauvegarde, l'application de correctifs, la mise à niveau et le réglage de la base de données.
- Gestion des identités et des accès
Le service 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 les appels à tous les points d'extrémité d'API (interface de programmation d'application publique) OCI pris 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 en nuage dans chaque sous-réseau. À l'aide de la notation CIDR (Classless Inter-Domain Routing), spécifiez un masque de sous-réseau et un intervalle d'adresses réseau suffisamment grand pour les adresses IP requises. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adresses IP privées 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 exigences en matière de fonctionnalité et de sécurité. Toutes les instances de calcul d'un même niveau ou rôle doivent être placées dans le même sous-réseau.
Utiliser des sous-réseaux régionaux.
- Listes de sécurité
Utilisez des listes de sécurité pour définir des règles de trafic entrant et sortant qui s'appliquent à l'ensemble du sous-réseau.
- Protection d'infrastructure en nuage
Cloner et personnaliser les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondant personnalisées. Ces recettes vous permettent de spécifier le type de violation de la sécurité qui génère un avertissement et les actions autorisées. Par exemple, vous pouvez détecter les seaux de stockage d'objets OCI dont la visibilité est réglée à Public.
Appliquez Oracle Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire le fardeau administratif lié à la maintenance de plusieurs configurations.
Vous pouvez également utiliser la fonction Liste gérée pour appliquer certaines configurations aux détecteurs.
- Zones de sécurité
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 politiques de sécurité définie par Oracle et basée sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles par l'Internet public et doivent être chiffrées à l'aide de clés gérées par le client. Lorsque vous créez et mettez à jour des ressources dans une zone de sécurité, OCI valide les opérations par rapport aux politiques de la recette et empêche les opérations qui violent l'une des politiques.
- Schéma
Conservez la structure de base de données sur laquelle Oracle Forms a été construit, telle quelle, et utilisez-la comme schéma pour Oracle APEX.
- Logique applicative
La majeure partie de la logique métier d'Oracle Forms se trouve dans les déclencheurs, les unités de programme et les événements. Avant de commencer la migration d'Oracle Forms vers Oracle APEX, migrez la logique applicative vers des procédures, fonctions et ensembles stockés dans la base de données.
Points à considérer
- 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 lors de la soumission d'une page et sont 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 prend en charge les 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 JavaScript et CSS de plusieurs manières, principalement via des attributs de page. Vous pouvez choisir d'ajouter du code inséré en tant que fichiers de référence qui existent dans la base de données en tant que BLOB (
#APP_IMAGES#) ou sur le niveau intermédiaire (middle tier), généralement desservi par Oracle REST Data Services (ORDS). Lorsqu'un fichier de référence se trouve sur un serveur Oracle WebLogic Server, son emplacement est précédé du préfixe#IMAGE_PREFIX#. - Éditeurs
Oracle APEX comporte une zone de texte et un éditeur de texte enrichi, ce qui équivaut aux éditeurs dans Oracle Forms.
- Liste de valeurs (LDV)
Dans Oracle APEX, la LDV est associée au type d'article. Un groupe de radio fonctionne bien avec une petite poignée de valeurs. Sélectionnez Listes pour les jeux de taille moyenne et sélectionnez LDV contextuelle pour les jeux de données volumineux. Vous pouvez utiliser les interrogations du groupe d'enregistrements dans Oracle Forms pour l'interrogation LDV dans Oracle APEX. Les LDV dans Oracle APEX peuvent être pilotées dynamiquement par une interrogation SQL ou être définies statiquement. 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 radio et des listes de sélection, ou à une colonne dans un rapport, pour traduire un code en une étiquette.
- Paramètres
Les éléments de page d'Oracle APEX sont alimentés entre les pages pour transmettre des informations à la page suivante, par exemple 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 processus de page traite les données et se dirige vers la page suivante. Ces valeurs peuvent être protégées contre l'altération des URL par la sécurité de l'état de la session, au niveau de l'élément, de la page et de l'application, souvent par défaut.
- Menus contextuels
Les menus contextuels ne sont pas disponibles dans Oracle APEX, mais vous pouvez les créer à l'aide de listes et en associant un bouton au menu.
- Unités de programme
Migrer les procédures et fonctions stockées définies dans les unités de programme d'Oracle Forms vers les procédures et fonctions stockées de base de données et utiliser les procédures et fonctions stockées de base de données dans les processus, les validations et les calculs d'Oracle APEX.
- Classes de propriété
Les classes de propriété d'Oracle Forms permettent au développeur d'utiliser des attributs communs pour 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, de sorte que chaque fois que des éléments ou des rapports sont créés pour des tables ou des colonnes spécifiques, les mêmes fonctions sont appliquées par défaut. En ce qui concerne le style de l'application, vous pouvez appliquer des classes à des composants présentant un aspect et une convivialité particuliers. Le thème universel a un skin par défaut que vous pouvez reconfigurer de manière déclarative.
-
Groupes d'enregistrements
Utilisez des interrogations dans les groupes d'enregistrements pour définir la LDV dynamique dans Oracle APEX.
- Rapports
Les rapports interactifs dans Oracle APEX sont fournis avec un certain nombre d'options de manipulation à l'exécution qui donnent aux utilisateurs la possibilité 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 des instructions SQL.
- Menus
Oracle Forms contient des fichiers de menu spécifiques, contrôlés par des rôles de base de données. La mise à jour du fichier
.mmxnécessite l'absence d'utilisateurs actifs. Le menu d'Oracle APEX peut se trouver en haut ou en bas à gauche. Ces menus peuvent être définis statiquement ou pilotés dynamiquement. 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 comporter des tables de sécurité intégrées dans le code SQL. - Propriétés
Le concepteur de page introduit dans Oracle APEX est similaire à Oracle Forms, en particulier en ce qui concerne la possibilité de modifier plusieurs composants à la fois, uniquement les attributs croisés.