Moderniser les applications Oracle Forms vers Oracle APEX sur une instance Autonomous Database
Vos procédures stockées et vos packages PL/SQL fonctionnent de façon native dans Oracle APEX, ce qui en fait la plate-forme de choix pour une transition facile des applications Oracle Forms vers des applications Web modernes avec plus de fonctionnalités, moins de complexité et des coûts de développement et de maintenance réduits.
Oracle APEX est une plate-forme de développement low-code qui vous permet de construire des applications d'entreprise évolutives et sécurisées dotées de fonctionnalités de premier ordre et que vous pouvez déployer n'importe où. Vous pouvez rapidement développer et déployer des applications attractives qui résolvent de vrais problèmes et apportent 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 illustre le processus de modernisation des applications Oracle Forms sur site en les déplaçant vers des applications Oracle APEX sur Oracle Cloud Infrastructure.
Le diagramme suivant illustre cette architecture de référence.

Description de l'illustration formulaires-apps-apex.png
formulaires-apps-apex-oracle.zip
L'architecture comporte les composants suivants :
- Région
Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes des autres régions et de vastes distances peuvent les séparer (d'un pays à l'autre ou même d'un continent à l'autre).
- Domaines de disponibilité
Les domaines de disponibilité sont des centres de données autonomes et indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui offre une tolérance aux pannes. Les domaines de disponibilité ne partagent pas d'infrastructure comme l'alimentation ou le refroidissement, ou le réseau de domaine de disponibilité interne. Il est donc peu probable qu'un échec dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.
- Réseau cloud virtuel (VCN) et sous-réseaux
Un VCN est un réseau personnalisé et défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux traditionnels de centres de données, les VCN vous donnent un contrôle complet sur votre environnement réseau. Un VCN peut avoir plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être étendus à une région ou à un domaine de disponibilité. Chaque sous-réseau comprend une plage d'adresses contiguë qui ne chevauche pas les autres sous-réseaux de VCN. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.
- Balanceur de charge
Le service Oracle Cloud Infrastructure Load Balancing fournit une distribution automatisée du trafic à partir d'un point d'entrée unique vers plusieurs serveurs à l'arrière.
- 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 qui doivent être autorisés dans et hors du sous-réseau.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing est un service de base de données à pilotage, sécurité et réparation automatiques, 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 un logiciel. Oracle Cloud Infrastructure gère la création de la base de données, ainsi que la sauvegarde, l'application de patches, la mise à niveau et le réglage de la base de données.
- Identity and Access Management (IAM)
Oracle Cloud Infrastructure Identity and Access Management (IAM) est le plan de contrôle d'accès pour Oracle Cloud Infrastructure (OCI) et Oracle Cloud Applications. L'API IAM et l'interface utilisateur vous permettent de gérer les domaines d'identité et les ressources au sein du domaine d'identité. Chaque domaine d'identité OCI IAM représente une solution de gestion des identités et des accès autonome ou une population d'utilisateurs différente.
- Audit
Le service Oracle Cloud Infrastructure Audit enregistre automatiquement les appels vers toutes les adresses d'interface de programmation d'application publique Oracle Cloud Infrastructure prises en charge en tant qu'événements de journal. Actuellement, tous les services 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 pour 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 les blocs CIDR qui se trouvent dans l'espace d'adresse 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 exigences en matière de fonctionnalités et de sécurité. Toutes les instances de calcul du même niveau ou rôle doivent entrer dans le même sous-réseau.
Utilisez des sous-réseaux régionaux.
- Listes de sécurité
Utilisez les listes de sécurité pour définir les règles entrantes et sortantes qui s'appliquent à l'ensemble du sous-réseau.
- Cloud Guard
Cloner et personnaliser les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondeur personnalisées. Ces recettes vous permettent de spécifier quel type de violation de sécurité génère un avertissement et quelles actions sont autorisées pour ces violations. Par exemple, vous pouvez détecter les buckets Object Storage dont la visibilité est définie sur Public.
Appliquer Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative de la maintenance de plusieurs configurations.
Vous pouvez également utiliser la fonction Liste gérée pour appliquer certaines configurations aux détecteurs.
- Security Zones
Pour les ressources nécessitant une sécurité maximale, Oracle vous 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 de sécurité ne doivent pas être accessibles à partir d'Internet public et doivent être crypté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é, Oracle Cloud Infrastructure valide les opérations par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui violent l'une quelconque des stratégies.
- 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 plupart 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 lancer la migration d'Oracle Forms vers Oracle APEX, migrez la logique métier vers des procédures, des fonctions et des packages stockés dans la base de données.
Remarques
- 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 jointes
Oracle APEX se charge 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 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 sur le niveau intermédiaire (middle tier), généralement pris en charge par Oracle REST Data Services (ORDS). Lorsqu'un fichier de référence se trouve sur un serveur Oracle WebLogic Server, l'emplacement du fichier est précédé du préfixe#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 (LdV)
Dans Oracle APEX, la liste de valeurs est associée au type d'élément. Un groupe radio fonctionne bien avec une petite poignée de valeurs. Sélectionnez Listes pour les jeux de taille moyenne et sélectionnez LdV des fenêtres contextuelles 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 dans Oracle APEX peuvent être gérées dynamiquement par une requête 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 d'options et des listes de sélection, ou à une colonne d'un rapport, pour convertir un code en libellé.
- Paramètres
Les éléments de page dans Oracle APEX sont renseignés entre les pages pour transmettre des informations à la page suivante, telles que l'enregistrement sélectionné dans un rapport. Les formulaires plus volumineux contenant un certain nombre d'éléments sont généralement soumis dans leur ensemble, où le processus de page gère les données et accède à la page suivante. Ces valeurs peuvent être protégées contre toute altération d'URL par la sécurité de l'état de session, aux niveaux de l'élément, de la page et de l'application, souvent par défaut.
- Menus contextuels
Les menus contextuels ne sont pas disponibles prêts à l'emploi dans Oracle APEX, mais vous pouvez les créer à l'aide de listes et associer un bouton au menu.
- Unités de programme
Migrez les procédures et fonctions stockées définies dans des unités de programme dans Oracle Forms vers des fonctions et des procédures stockées dans la base de données, et utilisez des procédures et des fonctions stockées dans la base de données dans les processus, les validations et les calculs Oracle APEX.
- Classes de propriétés
Dans Oracle Forms, les classes de propriétés permettent au développeur d'utiliser des attributs communs entre chaque instance d'un composant. Dans Oracle APEX, vous pouvez définir des valeurs par défaut d'interface utilisateur dans le dictionnaire de données afin que chaque élément de temps ou rapport soit créé pour des tables ou des colonnes spécifiques, les mêmes fonctionnalités soient appliquées par défaut. Quant au style de l'application, vous pouvez appliquer des classes aux composants ayant une apparence particulière. Le thème universel dispose d'un skin 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 permettent aux utilisateurs de personnaliser et de manipuler les rapports. Les états classiques sont des états simples qui ne fournissent pas d'options de manipulation d'exécution, mais qui sont basés sur 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
.mmx
exige qu'il n'y ait aucun utilisateur actif. Le menu d'Oracle APEX peut se trouver en haut ou en bas du côté gauche. Ces menus peuvent être définis de manière statique ou dynamique. Les entrées de navigation statique peuvent être contrôlées par des modèles d'autorisation ou des conditions personnalisées. Les menus dynamiques peuvent avoir des tables de sécurité intégrées 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, mais uniquement les attributs croisés.