Jilibert Laurent Licence informatique Anne 2005/2006 Universit de Rouen I.U.P. G.M.I. Responsable de stage : M Guesnet
Toshiba TEC Imaging System Service Informatique Responsable de stage : M. Hubert Mathelin Sommaire Remerciements Introduction
1) Prsentation de Toshiba et de TEIS 1) Le groupe 2) TEIS
2) Le projet 1) Les objectifs 2) Lorganisation
3) Analyse de Gold 1) Le programme Kardex 2) Les utilisateurs 3) La mise en forme
4) La migration 1) Physique 2) Matrielle
Conclusion Introduction
But du stage : permettre dapprofondir, de mettre en pratique les connaissances acquises. dcouvrir le monde professionnel.
Situation du stage : le service informatique de Toshiba TEC Imaging System situ Martin-Eglise (76370) sur les hauteurs de Dieppe. une priode de trois mois, du 15 mai 2006 au 16 aot 2006.
Objectif de ce stage : accompagner la migration physique et matrielle dun serveur.
1) Prsentation de Toshiba et de TEIS 1) Toshiba Groupe leader de lindustrie japonnaise. Groupe pionnier dans la recherche et le dveloppement de nouvelles technologies (hd-dvd, ). 10 entits (e-solutions company, ). 300 filiales (Toshiba TEC, ).
2) TEIS Filiale europenne de Toshiba TEC. Unit industrielle et logistique destine la production de Copieur et de Toners. Composition autour de trois units : Le copieur : assemblage et fabrication de copieurs. Le toner : fabrication des cartouches de toner pour copieur. Le TLC : stockage et distribution des produits assembls ou fabriqus. 2) Le projet 1) Les objectifs
Objectifs principaux : Changement physique du serveur. Mise jour du systme dexploitation. Mise jour du SGBDR et de certaines bases de donnes.
Objectifs associs : Analyser le programme principal tournant sur le serveur (Gold Copieur/Toner). Sassurer de la compatibilit du matriel avec le nouveau serveur. Sassurer de la compatibilit des packages de version antrieure avec ceux de la 9i. Communiquer et Coordonner les diffrents acteurs du projet. 2) Le projet 1) Les objectifs
2) Lorganisation
Enumration des diffrentes tches effectuer (analyse, installation rseau, ).
Prise de contact avec les diffrents acteurs du projet.
Mise en place dun espace disque pour lchange des informations entre les membres du projet.
Mise en place dun diagramme de Gantt en respectant le cahier des charges.
3) Analyse de Gold 1) Le programme Kardex Parmi tous les programmes prsents dans Gold, le plus important est celui qui permet de piloter les armoires de stockage Kardex. Cest ce programme quil est intressant danalyser.
Ce programme, crit en Pro*C (mlange subtil dinstructions pl/sql et de C), est assez complexe car il fait appel un fichier externe pour grer ces connexions au SGBD(avec des appels sur des packages) tandis que lui effectue des communications avec les supports de stockage.
Il est plus simple, pour dcrire le programme, de reprsenter les mouvements effectus lors dune utilisation par une succession dorganigrammes.
Ce quil faut surtout comprendre est que le but du programme est se connecter la base de donne, de traiter une adresse correspondant un emplacement dans larmoire de stockage et de la positionner de telle sorte que lon puisse prendre le matriel point cette adresse. On lance donc le programme
et on saperoit que toutes les oprations de connexion (aussi bien entre la base que les armoires se font par le fichier com.h ). Louverture de la ligne avec le matriel de stockage se fait de la mme manire que la connexion avec la base de donne. Cest--dire que lon va vrifier la cohrence des valeurs passes en paramtre avant de conclure par lappel de la fonction serie_open . On va donc changer de fichier pour aller excuter la fonction connexion laquelle, en cas de succs de connexion avec Oracle, demande aussitt une ouverture de ligne srie. Comme toutes les fonctions prsentes, serie_open permet de connatre, grce son nom, lobjet de sa prsence. Ici, on va chercher ouvrir une connexion entre une armoire de stockage et le poste utilisateur. On va donc ouvrir la communication et si le changement de configuration est valid alors les connexions avec le SGBD et le support de stockage seront entirement tablies.
Une fois que ces communications sont tablies, on peut enfin poursuivre lanalyse de la fonction main du programme Kardex. Cest--dire que lon va effectuer la phase de traitement de linformation juste aprs avoir t inform de la position du verrou, son activation signifiant que quelquun utilise dj le programme.
Lobjectif lorsque lon lance ce programme tant de pouvoir sortir du matriel en fonction dune adresse, il faut maintenant traiter cette information avec la base de donne et larmoire Kardex afin de savoir si la saisie est valide et quelle existe. Si elle existe, alors un appel la fonction traitement_adresse va tre effectu. Cest ici que lon va piloter larmoire Kardex par le biais dinstructions lues et crites sur la liaison srie. Cette dernire partie va permettre de retirer du stock le matriel souhait. Au cours de lexploration et lanalyse du programme Kardex, jai pu remarquer dans les morceaux dinstructions pl/sql que lon faisait appels des packages prsents dans le SGBD. Les packages utiliss par le programme Kardex sont PAC_MAIL(permet la journalisation et le debug laide de DBMS_PIPE), PAC_UTIL(qui permet de grer les verrous partir de DBMS_LOCK) et PAC_DATA(correspondant surtout un fichier den-tte). Ce que lon remarque est linter-connectivit entre les packages. Cest cette relation troite entre les packages qui va poser le plus gros problme lors de la migration car une erreur dans un des packages va entrainer une erreur dans les autres et dans lapplication. 3) Analyse de Gold 2) Les utilisateurs On va maintenant sintresser aux utilisateurs de lapplication. Ils sont au nombre de trois, que lon classer en deux catgories: les utilisateurs : Copieur, Toner. les dveloppeurs : Dev.
La diffrence entre ces deux groupes se situe essentiellement au niveau de leur initialisation au sein du systme et du SGBD. Une fois de plus le meilleur moyen dexpliquer linitialisation des utilisateurs est de le faire par le biais dordinogrammes bass sur le fichier de configuration des utilisateurs : .profile. On peut dailleurs le reprsenter de la manire suivante : 3) Analyse de Gold 2) Les utilisateurs 1) Dev Cet utilisateur na rien voir avec les deux autres pour plusieurs raison: toutes les informations sont dans le .profile . la base utilise est obligatoirement PMS1.
On va dabord initialiser les variables dOracle, le SID et le PATH avant de tester lenvironnement pour savoir quelle version des Forms il faudra finalement lancer et de quelle manire. 3) Analyse de Gold 2) Les utilisateurs 2) Copieur et Toner Contrairement lutilisateur Dev, Copieur et Toner appelent des fichiers extrieurs aux .profile pour mener bien la configuration de leurs environnements de travail. De plus, ils ne positionnent pas le SID sur la mme base et possdent donc leurs propres fichiers externe dinitialisation.
Au total chacun des deux comptes va faire appel quatre fichiers : charente : dfinition des variables globales. charente_$login : initialisation du SID. env_pms : ajout des variables dans lenvironnement. env_oracle : ajout des variables pour Oracle. 3) Analyse de Gold 2) Les utilisateurs 2) Copieur et Toner 3) Analyse de Gold 3) La mise en forme Enfin, lensemble de lapplication est accessible partir dune ihm dveloppe laide des Forms. Cet outil a t privilgi dautre car il est portable (un serveur unix pour les postes wifi, et un serveur windows pour les postes fixes).
Les avantages dans lutilisation des Forms sont : la cration dobjet, de menus. la cration de formulaires (comme Visual Basic). linterfaage directe avec une base Oracle grce lutilisation de bibliothques pl/sql. la cration dapplet java et dinterfaces Web.
Son gros inconvnient est quil ne sert que pour interfacer des bases de donnes Oracle contrairement Visual Basic qui permet dimplmenter des modules pour la plupart des SGBD. 4) La migration 1) Physique Un des objectifs majeurs tant de rajeunir le serveur, ce dernier se voit dot de quelques changements importants : passage en format baie . deux processeurs U-SparcIII de 750Mhz remplacent les quatre U-SparcII de 248Mhz. lespace disque a t doubl, on passe de 118 Go 218 Go. carte de communication RS-232 de nouvelle gnration.
Le nouveau serveur reprend les fonctionnalit de Charente, cest--dire quil permet une communication entre un poste client et les armoires de stockage. De plus, il est configur de la manire suivante: le systme et le SGBR sont mis sur deux disques en raid 1. lensemble des bases de donnes sont places sur quatre disques en raid 5. 4) La migration 2) Logicielle La migration logicielle est sans doute celle qui savre la plus dure mettre en place car il va faut effectuer les tches suivantes : faire cohabiter Solaris 8 avec Oracle 9i. vrifier que les packages Oracle et que les packages de Gold fonctionnent. mettre jour les forms vers une version 6i.
Le premier point nest pas le plus difficile car on trouve dans les diffrentes documentations dOracle lensemble des correctifs appliquer pour le bon fonctionnement dOracle 9i sur Solaris 8.
Au contraire, la vrification de compatibilit des packages de Gold avec ceux dOracle est plus difficile. Cest--dire quil a fallu trouver pourquoi des erreurs apparaissaient lors de la phase de test. Nous avons donc mis plusieurs hypothses(volution des packages standards, fonctions obsoltes, ) pour finalement se rendre compte que les erreurs provoques venaient du fait que la configuration des packages tait diffrente.
Enfin, il faut aussi mettre niveau les Forms pour des raison de compatibilit. Cest- -dire que les formulaires en 4.5 ne sont pas entirement compatible avec Oracle 9i. Cette opration est sans aucun doute la plus simple car il suffit de faire un batch afin de tous les convertir de 4.5 6i. Conclusion Ce stage ma permis:
de participer un projet important qui prend part la vie de lentreprise.
de mettre en uvre lensemble des concepts de gestion de projet, domaine qui ne mtait pas entirement inconnu.
dapprofondir mes connaissances sur lutilisation du SGBDR Oracle.
dutiliser mes acquis en langage c, shell, sql, mes bases de pl/sql et de dcouvrir des outils comme Oracle Forms.
dexercer mon sens de lanalyse sur des points concrets.