SOUTENANCE DE FIN D’ETUDES ESIEA Intégration au sein du projet Ginger 4 pour SFR SOUTENANCE DE FIN D’ETUDES ESIEA Présenté par: Pierre-Jean BUFFARD Stage réalisé du 09 février 2009 au 06 novembre 2009 En présence de: M. Gageot, président de Jury M. Kergall, maître de stage M. Laguérie, tuteur pédagogique Me présenter Enoncer les dates de stage , et le lieu. Le titre.
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Présentation d’Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Présentation d’Atos Origin Une des principales SSII françaises. 50 000 employés à travers plus de 40 pays 5.8 milliards d’euros de chiffre d’affaire en 2008 Création en octobre 2000 de la fusion de Atos et Origin Date clé 2004 : Acquisition de SchlumbergerSema pour devenir le 3eme groupe FR
Présentation d’Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Présentation d’Atos Origin Divisée en 4 structures: Atos Consulting : conseil en management, organisation… Atos Infogérance : gestion des infrastructures informatiques Atos Worldline : solutions de paiements sécurisés en ligne Atos Origin Intégration : intégration de systèmes
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Présentation de Ginger Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Présentation de Ginger Application gérée dans le cadre d’une TMA pour un opérateur téléphonique: SFR Plateforme d’envoi de messages pluri-média: SMS, MMS, EMAIL, Messages Vocaux Centralise les demandes d’envoi de messages à destination des clients de SFR Fait l’interface entre les systèmes d’informations de SFR et les plates-formes de diffusion des messages Ne gère pas l’envoi entre utilisateurs
Fonctionnement de Ginger Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Fonctionnement de Ginger Exemple: envoi d’un sms à un client Le système « Informations boursières » demande l’envoi d’un sms à M. Dupont Ginger reçoit la demande, produit un acquittement et génère le message final Ginger transmet le sms final aux plates-formes d’envois de SFR et attend un acquittement « réseau » Le client reçoit le sms et un acquittement de réception est généré puis propagé jusqu’au système « d’informations boursières » Informations transmises par le système boursier: Dupont;Jean;100 Template à utiliser (texte à trous): Bonjour <prénom> <nom>, les actions de votre société valent: <valeur> € SMS final généré par Ginger: Bonjour Jean Dupont, les actions de votre société valent 100€ Fichier contenant les informations pour générer le message final. Exemple de contenu: Dupont;Jean;100
Fonctionnement de Ginger Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Fonctionnement de Ginger Exemple: réception d’un sms d’un client vers un système d’information M. Dupont demande la résiliation des informations boursières en envoyant « STOP » par sms La plateforme de SFR reçoit le sms et le transmet à Ginger Ginger décode les informations du sms pour le transmettre au bon système Le système « d’ informations boursières » reçoit la résiliation de M. Dupont
Architecture de Ginger Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Architecture de Ginger Deux briques principales Le Générateur Dynamique de Messages(GDM) d’Atos Origin La Multimédia Mobile Gateway(MMG) de la société Sicap Le GDM communique avec les systèmes d’information de SFR, il génère les messages La MMG envoie réellement les messages, elle gère la communication avec les plates-formes de SFR Java Enterprise Edition (J2EE) serveur d’application WebSphère de la société IBM base de données Oracle Sur une machine Solaris 10 Support de plusieurs utilisateurs
Le projet Ginger 4: Pourquoi? Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Le projet Ginger 4: Pourquoi? Ginger 3: une application vieillissante (2004) Incapable de répondre au trafic croissant 315 millions: Capacité maximale de Ginger 3
Le projet Ginger 4: Objectifs Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Le projet Ginger 4: Objectifs L’intégration de la nouvelle version 4 de la MMG de Sicap Une nouvelle méthode de communication plus robuste entre le GDM et la MMG Une séparation forte du GDM d’Atos Origin et de la MMG de Sicap pour une meilleure robustesse Une iso-fonctionnalité de Ginger 4 par rapport à Ginger 3 Une architecture permettant de supporter l’augmentation du trafic
Le projet Ginger 4: Le déroulement du projet Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Le projet Ginger 4: Le déroulement du projet Une équipe de 10 personnes
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Le simulateur MMS: Contexte Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Le simulateur MMS: Contexte Nécessité de simuler les plates-formes d’envoi de messages Code source de la MMG indisponible: obligation de disposer de simulateurs sous la forme de logiciels indépendants Présence d’un simulateur par média géré par Ginger Simulateurs existants sur Ginger 3 mais ne répondant pas complètement aux besoins Impossible de configurer les réponses renvoyées Objectif: Rendre les réponses du simulateur de MMS configurables
Le simulateur MMS: Etat de l’art Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Le simulateur MMS: Etat de l’art Simulateurs édités par des sociétés: MMS Center Simulator de Celsius MMS Center Simulator de InfoSoft NowSMS MMSC Solutions impossibles car non libres et vendues uniquement en pack Des simulateurs libres: Simulateur du projet Mbuni Solution trop complète et complexe Choix final: Evolutions sur le simulateur existant
Le simulateur MMS: Réalisations Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Le simulateur MMS: Réalisations Etude préalable du protocole de communication des MMS (protocole MM7) Etude du bouchon MMS java existant Réflexions communes sur la manière d’implémenter le choix des réponses Réalisation des objectifs Tests du simulateur dans un environnement interne à Atos Origin Ecriture d’une documentation sur la configuration
Le simulateur MMS: Bilan Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Le simulateur MMS: Bilan Mise en pratique des cours sur Java reçus à l’esiea Montée en compétence sur le protocole MM7 et sur les communications SOAP Partage de connaissances et réflexions communes avec un autre stagiaire Projet s’inscrivant dans une démarche de qualité logicielle Préparation de la phase de recette interne
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Migration vers Maven: L’initiative D2I Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Migration vers Maven: L’initiative D2I D2I: Démarche d’Industrialisation et d’Intégration Compilation automatisée Dépôt logiciel Intégration continue Analyse de code Tests unitaires Ensemble de recommandations Recommandations Objectifs: Mettre en place la compilation automatisée à travers l’intégration continue et l’utilisation d’un dépôt logiciel
Migration vers Maven: De Ant à Maven Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Migration vers Maven: De Ant à Maven Maven, de la fondation Apache Logiciel Libre Conventions VS Configuration Configuration avec un unique fichier pom.xml (Project Object Model) Gestion simplifiée et efficace des dépendances (librairies java) Utilisation d’un dépôt logiciel pour télécharger les librairies java automatiquement
Migration vers Maven: Maven Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Migration vers Maven: Maven Maven : gestion des dépendances transitives
Migration vers Maven: Maven Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Migration vers Maven: Maven Serveur de dépôt local inutilisable au moment de ce projet Maven : utilisation d’un dépôt logiciel local
Migration vers Maven: Réalisations Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Migration vers Maven: Réalisations Adaptation des projets aux conventions de maven Création des fichiers pom.xml avec vérification des dépendances Tests d’utilisation d’un dépôt local Création d’un script important les librairies utiles Création d’un document expliquant la compilation des projets avec maven Etude sur l’utilisation d’une plateforme d’intégration continue Plateforme indisponible
Migration vers Maven: Bilan Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Migration vers Maven: Bilan Bilan mitigé Bilan négatif : Serveur d’intégration continue et de dépôt local indisponibles Bilan positif : Gain de temps important avec la gestion des dépendances Simplifie le processus de compilation Aide à fiabiliser les livraisons de l’application Participe à l’amélioration des processus de développement Remarque : une migration parfois difficile mais dont les gains sont visibles
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Recette Interne: Contexte Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Recette Interne: Contexte Vérification du bon fonctionnement de l’application développée Recette découpée en deux lots (lot 1 et lot 2) Utilisation de logiciels recommandés par la direction technique d’Atos Origin: HP Quality Center: Gestion des fiches de tests par l’équipe du projet Mantis Bug Tracker: Gestion des anomalies détectées
Recette Interne: HP Quality Center Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Recette Interne: HP Quality Center Exemple d’une fiche de tests:
Recette Interne: Mantis Bug Tracker Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Recette Interne: Mantis Bug Tracker Un cycle de vie bien défini: Correction refusée Assignation à un correcteur Création Test en interne Réalisation Livraison au client Anomalie corrigée
Recette Interne: Bilan Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Recette Interne: Bilan Un travail en collaboration avec toute l’équipe du projet Meilleure compréhension du fonctionnement de l’application Valorisation des développements antérieurs sur le simulateur MMS Corrections sur le module de statistiques lors du lot 2 : participation à l’amélioration de la qualité fonctionnelle du produit Prise de conscience de l’importance des tests et du respect des spécifications Remarque : Une phase primordiale permettant d’améliorer la qualité du produit final
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Double Run: Contexte Nécessité de tester Ginger 4 en parallèle de Ginger 3 pour vérifier que les messages sont traités de manière identique Chez SFR : Mise en place de la recopie des flux d’entrées pour que les deux versions traitent les mêmes messages Nécessité de disposer d’outils permettant d’extraire et d’analyser les messages traités Objectifs: Réaliser des scripts permettant d’extraire les messages envoyés et de les comparer
Double Run: Etude des besoins Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Double Run: Etude des besoins Contraintes: Ne pas impacter les performances de Ginger 3 Ne pas nécessiter d’outils spécifiques chez le client Pouvoir extraire une centaine de messages par heure Pouvoir analyser facilement les résultats dans les locaux d’Atos Origin Deux choix possibles: Un programme en Java Un script en PL/SQL et shell Unix
Double Run: Réalisation Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Double Run: Réalisation Etude des possibilités du PL/SQL Etude du schéma des bases de données utilisées par la MMG de Sicap Définition des critères de sélection des messages Réalisation des scripts d’extraction Test des scripts sur les environnement d’Atos Origin Mise en place chez SFR => Performances catastrophiques (1h pour extraire un message) Recherche et définition de nouveaux critères de sélection de messages Réalisation d’un script de comparaison semi-automatisé Comparaison des messages avec des outils spécialisés (Kdiff, WinMerge)
Double Run: Réalisation Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Double Run: Réalisation Exemple de comparaison:
Double Run: Bilan Bilan général : Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Double Run: Bilan Bilan général : Dernière étape avant la mise en production Découverte de quelques anomalies: validation de la qualité de la livraison Bilan personnel : Découverte d’autres technologies: le PL/SQL et le langage shell Unix Prise de conscience de la nécessité de tester l’application dans un environnement proche du final
Plan Présentation d’Atos Origin Le projet Ginger 4 La phase de développement Les évolutions du simulateur MMS Migration des projets sous Maven La phase de validation interne La recette interne La phase de production Le Double Run Conclusion
Conclusion Stage très enrichissant D’un point de vue professionnel Atos Origin Ginger 4 Simulateur MMS Migration vers Maven Recette Interne Double run Conclusion Conclusion Stage très enrichissant D’un point de vue professionnel Vision globale du déroulement d’un projet Vision plus spécifique de la démarche qualité d’un projet Vision du travail en équipe D’un point de vue technique Découverte de nouvelles technologies Java et SQL Découverte de solutions professionnelles aidant à la réalisation des projets Orientation vers une carrière plutôt technique avec une composante qualité
Merci pour votre attention ! Pierre-Jean Buffard pj.buffard@gmail.com