de Omnis 7 à Omnis Studio

23 juin 2003

Par Jean-Yves Cardelli

de Omnis 7 à Omnis Studio

« Conversion de Omnis 73 vers Omnis Studio ».

 

 

— Éléments de décision menant au choix de la conversion —

 

Que nous apporte Omnis Studio  comparé à Omnis 7 ?

»      De nouveaux objets graphiques, GUI, « TabPane, SubWindows, TreeList, … ».

»      La programmation orientée Objet, POO, avec les concepts d’héritage, d’instance, de code objet, de modélisation de la programmation, …

»      La simplification de l’accès aux données, gestion  par table et schéma.

»      Une meilleure intégration du client « Web Thin » et aussi de « Web Enabler ».

»      Vu les possibilités de modélisation du code et de la programmation, le rendement des développements est meilleur mais aussi la maintenance des applications.

»      L’interface prend un coup de jeune grâce notamment aux objets « GUI ».

»      Le support de nouvelles plateformes est étendu à Solaris, Linux, Mac OSX et Windows XP.

 

Convertir ou ne pas convertir, tel est le choix ?

a) Ne pas convertir, méthode progressive

»      On conserve l’application Omnis 73 v7.1 au minimum.

»      La disponibilité de l’ancienne application est quasi immédiate.

»      On garde la possibilité de partager les données de type « DML/DF1 » entre Omnis 7 et Omnis Studio.

»      On écrit la nouvelle application en mode natif Omnis Studio.

»      La mise en production de la nouvelle application est progressive.

»      Par contre, il faut prévoir la maintenance de deux applications, une en Omnis 7 l’autre Omnis Studio.

 

b) Ne pas convertir, méthode directe

»      On abandonne définitivement l’application Omnis 7, ce qui peut entraîner un arrêt plus ou moins long de l’exploitation de l’application d’origine.

»      On réécrit l’application en mode natif Omnis Studio.

»      Le modèle de programmation est maintenant orienté objet (POO).

»      De nouveaux composants de l’interface Omnis Studio sont exploitables.

»      Il faut prendre en compte du temps de développement.

 

c) Convertir avec les outils de conversion existants

»      Les temps de développements sont raccourcis puisque les procédures de conversion récupèrent un maximum de code existant.

»      Les délais de mise en production également.

»      Les coûts de développement sont réduits.

»      Le code final n’est pas du code Omnis Studio, c’est de l’Omnis 7 dans de l’Omnis Studio.

»      Pour intégrer les nouvelles fonctionnalités d’Omnis Studio, il faut repenser la programmation et donc réécrire une partie du code.

»      La gestion des événements est très différente. Il faut revoir celle-ci complètement, une fois la conversion faite.

 

d) Convertir, quelques éléments de réflexion

»      La qualité du code Omnis 7.

»      Les besoins fonctionnels ont-ils changé ?

»      L’interface utilisateur doit-elle être mise au goût du jour ?

»      Les développeurs sont-ils formés à Omnis Studio, sont-ils disponibles ?

»      Les utilisateurs sont-ils prêts à supporter les coûts induits ?

 

Conclusion :

On ne peut se passer d’une réflexion sur l’opportunité de convertir une application en Omnis Studio. Le choix dépend en grande partie de la stratégie liée à l’utilisateur final mais aussi de votre stratégie d’entreprise informatique.

 

Indépendamment des problèmes techniques et fonctionnels, les considérations budgétaires ont un poids important dans la décision finale.

 

 


« Conversion de Omnis 73 vers Omnis Studio ».

 

 

— Les outils et les concepts —

 

Les outils de conversion Omnis

»      Où trouvez les outils de conversion, dernière mise à jour

»      La société Raining Data met à notre disposition les outils de conversion aux adresses suivantes :
http://www.omnis.net/fr/products/conversion/conversion.html pour la version Française ou
http://www.omnis.net/products/omnis7/conversion.html pour la version Anglaise

»      À ces adresses, vous y trouverez l’ensemble « Conv0101212.zip », la solution « Atelier de portage » ainsi qu’une suite de questions-réponses sur la conversion.

 

»      L’ensemble « Conv010112.zip » comprend

»      « Converter.ppt », est une présentation de la conversion écrite par Richard Motimer de chez Raining Data.

»      Le dossier « help/O$Conver » est une aide intégrable à Omnis Studio. L’installation se fait par un simple « cliqué glissé » dans le répertoire « help » de l’installation de Studio. Tous les éléments de la conversion sont repris module par module et point par point dans une aide très détaillée.

»      « O7analyse.lbr » est une application qui, sous Omnis 73, analyse l’application à convertir et crée un fichier des éléments à modifier. Celui-ci sera utilisé par « O$Converter.lbs ».

»      « O$Converter.lbs » est une application Omnis Studio. Elle utilise le fichier généré par « O7analyse » pour convertir tout le code de l’application Omnis 73 en application Omnis Studio.

 

»      Autres informations utiles

»      Vous trouverez également d’autres informations sur la conversion aux adresses suivantes :
http://www.omnis.net/fr/products/conversion/convtoolfr.pdf
http://www.omnis.net/fr/products/conversion/tncn0001fr.html

 

Objectifs des outils de conversion

»      Les outils de conversion vont nous permettre d’obtenir une librairie Studio la plus fonctionnelle possible. Si l’application Omnis 73 est bien développée, 90% du code converti sera directement utilisable, le reste devra être adapté à la main.

»      Ils vous permettent également de passer graduellement en Studio.

»      Ils automatisent des actions de conversion.

»      Le code source est disponible et ils deviennent donc modulables.

 

Ce qui change avec Omnis Studio

a)   La terminologie Omnis Studio vs Omnis 73

 

Omnis Studio

Omnis 73

         Class

         Formats

         Methods

         Procédures

         Properties

         Attributs

         Field reference

         Nom de champ (NomRub)

         Instantiated

         Format exécuté en cours

         Complex grid

         Table

 

b)   Les grandes différences

»      La gestion des évènements est revue complètement. La programmation est vraiment événementielle.

»      Les variables globales sont un concept Omnis 7 et non Studio.

»      La notion d’instance permet l’exécution d’une même classe (formats) plusieurs fois. Chaque instance (exécution) ayant son propre environnement de travail, mémoire, accès base de données, …

»      Les variables d’instances apparaissent ce qui permet l’exécution multiple de classes.

»      La programmation est orientée objet. On peut intégrer, gérer, et programmer facilement des objets développés par des tiers.

»      Le concept d’héritage est nouveau. Il n’y a pas d’équivalent sous O7.

 

Conclusion

Pour mener à bien la conversion de Omnis 73 vers Omnis Studio, l’utilisation des outils de Raining Data est indispensable. La seule difficulté est liée à l’apprentissage de Omnis Studio.


« Conversion de Omnis 73 vers Omnis Studio ».

 

 

— Protocole de conversion —

 

NB : Bien entendu, celui-ci n’est qu’un exemple minimaliste et peut être amélioré et agrémenté selon vos besoins.

 

 

 

a)   Sauvegardez ou faites une copie de votre librairie Omnis 73 « MaLibrairie.LBR ».

 

b)   Sauvegardez ou faites une copie de vos fichiers de données Omnis 73 « MesDonnées.DFn ».

 

c)    Ouvrez votre librairie à partir d’Omnis 73 v7.1

»      Il vous sera éventuellement demandé de convertir la librairie et les données.

»      NB. Si vous devez convertir les données, il est préférable de faire ce qui suit – point d – en premier avec la version d’Omnis 7 courante, puis de revenir au début de cette étape.

 

d)   Commencez par examiner les données

»      Utilisez pour ça les utilitaires « CheckData » et « Examine Data »

»      Identifiez les slots endommagés

»      Retirez les slots non désirés

»      Convertissez les « Old Data Type »

»      Réorganisez et optimisez les fichiers

»      NB. Ce processus doit être effectué deux fois

 

e)   À partir de votre librairie Omnis 73 convertie en O73 v7.1

»      Lancez le vérificateur de procédures « Procedure Checker »

-     Erreurs seulement

-     Inclus les avertissements de niveau 1

-     Inclus les avertissements de niveau 2

»      Et ce tant qu’il reste des erreurs de tous niveaux

 

f)     Sauvegardez dans un dossier à part votre nouvelle librairie et vos nouveaux fichiers de données

 

g)   Copiez dans un même dossier votre nouvelle librairie, « O7Analyser » et « O$Converter »

 

h)   Exécutez « O7Analyser » à partir de O73 v7.1

»      Sélectionnez dans le menu « O7Analyser » l’item « Analyse »

»      Ouvrez et choisissez la librairie à analyser. La nouvelle !

 

i)     Fermez O73 quand c’est fini

»      Remarquez la présence d’un fichier « OA_MaLibrairie.DF1 ». Ce fichier contient les informations nécessaires à la conversion à partir de « Omnis Studio ».

 

j)     Copier le dossier « O$Convert » du dossier help des outils de conversion dans le dossier « Help » de Studio

 

k)    Lancez Omnis Studio 3.xx et exécutez « O$Converter »

»      Sélectionnez dans le menu « O$Converter » l’item « Analyse »

»      Ouvrez et choisissez la librairie à analyser, type de fichier (*.lbr)

»      Répondre Oui aux questions concernant la conversion de base de « Omnis Studio »

»      NB. Si vous avez des erreurs dans le rapport « TraceLog » de Studio n’allez pas plus loin. Retournez à Omnis 73 pour les corriger, faites une sauvegarde de la librairie rectifiée. Puis recommencez à l’étape « O7Analyser »

»      Puis choisissez convertir, répondre « Oui » à la question, « Conversion des données OA_MaLibrairie.df1 », et attendre, attendre, … :-D

»       Si « O$Converter » vous propose d’ouvrir la librairie, ne soyez pas trop optimistes !

»      Imprimez le log de conversion,sur papier, en PDF ou sur fichier pour une consultation ultérieur.

»      Il n’est pas possible d’enregistrer le log, semble-t-il !!!

 

l)     Il vous reste à finaliser la conversion

»      10% de code à revoir si vous avez bien travaillé ;-)

 

Conclusion

Ceci n’est qu’un exemple d’une méthodologie vous permettant de comprendre la mise en œuvre de la conversion. À vous de trouver la formule qui vous convienne le mieux. J’ai testé cette méthode à partir d’une librairie et de données en Omnis 73 v7.1, de la version Omnis 73 v7,1 et de la version d’Omnis Studio 3.1.

 

 

Article écrit et mise à disposition par Jean-Yves Cardelli.

Société AlterInfo, juin 2003

 

http://www.alterinfo.fr/