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/