SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Glassfish dans le milieu médical


                       Sun Aquarium Paris – 26 Juin 2009
                       Jacky Renno (jacky.renno@capgemini.com)
Plan


 Contexte
   • Métier
   • Technique
   • Eléments structurants
 Approche
   •   Méthodologie et Outillage
   •   Choix de Glassfish
   •   Automatisation
   •   Industrialisation Glassfish
 Solution technique
   • Détail d’implémentation
         Partie « Patient »
         Partie « Médecin »
   • Architecture
   • Retours
                                            Sun Aquarium Paris
                                                       26 Juin 2009
                                                                  2
Contexte métier
 LabMedica
    •   Groupement de laboratoire d’analyses médicales
            Prés de 70 laboratoires
            Plus de 1100 médecins
            Prés de 100 cliniques
            Plus de 550 000 patients
            Plus de 2 millions d’analyses

 Mise à disposition de services par Internet
    •   Laboratoire
          Gestion des médecins correspondants
          Gestion des analyses envoyées (urgentes, VIH….)
    •   Médecin
          Consultation des résultats et génération d’ordonnance
          Services de fiches permettant l’aide à la décision pour la demande d’analyse
          Dossier patient et historique
    •   Clinique
          Visualisation des résultats de plusieurs médecins
    •   Patient
          Consultation des résultats

 Forte évolution
    •   Ajout de nombreux laboratoires
                                                                                    Sun Aquarium Paris
                                                                                               26 Juin 2009
                                                                                                          3
Contexte technique


 Refonte et extension du système existant
    •   ColdFusion et SQL Serveur
    •   Schéma de base existant

 Confidentialité des données
    •   Respect des formats (HPRIM, ApiCrypt et Certificat)
    •   Signature numérique des emails
    •   Données cryptées en base

 Hébergement chez un prestataire
    •   Délégation pour la gestion de l’hébergement

 Projet de taille réduite

 Développement en mode projet
    •   Centre de services


                                                              Sun Aquarium Paris
                                                                         26 Juin 2009
                                                                                    4
Eléments structurants


 Grands principes:
    •   Coûts de développement les plus faibles
    •   Peu ou pas de coûts de licence
    •   Solution simple et rapide
    •   Facilité d’exploitation
    •   Déploiement à l’international (Allemagne et Espagne)

 Technologies
    • Nouveaux développements en Java
    • Migration de l’existant ColdFusion en Java

 Plateforme logicielle
    • Base de données existante sous SQL Server 2000
    • Plateforme d’exécution sous Windows 2003 Server

                                                               Sun Aquarium Paris
                                                                          26 Juin 2009
                                                                                     5
Approche


 Approche pragmatique
   • Maitrise du risque
   • Pas ou peu d’inconnu
 Ré-use d’une solution existante
   • Socle d’application : assemblage de frameworks open source
 Utilisation d’outil pour la génération de code
   • Approche « MDA / templating »
 Utilisation d’une chaîne d’intégration continue
   • Suivi de la qualité du projet
   • Livraison fréquente
 Privilégier l’automatisation des tâches
   • Scripting des installations, livraisons, déploiements

                                                             Sun Aquarium Paris
                                                                        26 Juin 2009
                                                                                   6
Méthodologie

 Framework de développement adapté
   • Assemblage de divers frameworks maitrisés
        Application Blanche
        Pré-paramétré sous Maven
   • Packagés et documentés
 Normes de développement
   • CheckStyle, PMD, formatage Eclipse
   • Tests unitaires
 Intégration Continue
   • Maven
        Plugin de génération JAX-WS (Metro)
        Plugin Jetty
   • Archiva / Continuum / Sonar
        Glassfish 2.0
 Utilisation d’un générateur « MDA »
   • Mode « one shot » avec Acceleo
                                                 Sun Aquarium Paris
                                                            26 Juin 2009
                                                                       7
Outillage

 IDE / Gestion de configuration
   • Eclipse et Subversion
 Industrialisation de Glassfish 2.1
   • Plugin de déploiement Maven
   • Script de configuration et déploiement
 Environnements virtualisés
   • VMWare
        Environnement d’intégration et test
        Plateforme d’intégration continue




                                               Sun Aquarium Paris
                                                          26 Juin 2009
                                                                     8
Chaîne d’intégration continue


 Gestion du projet par Maven
   •   Projet Maven fournit « out of the box »
   •   Utilisation d’un plugin pour le déploiement pour Glassfish v2
   •   Déclaration des plugins de reporting
   •   Paramétrage des normes de développement

 Projet fournit pour le socle de base
   • Application blanche


 Projet fournit pour le web (Metro)
   • Intégration wsgen et wsimport
   • Module de test d’intégration optionnel (avec déploiement préalable)

                                                               Sun Aquarium Paris
                                                                          26 Juin 2009
                                                                                     9
Le processus de développement

                                                                                                           Archiva
                                                                            Subversion




Frameworks

                         Templates MDA
                                                                                                                        Tests
                                                                                                                       unitaires


                                                                                                                      Sonar
       1. modélisation                   2. Génération                 3. Compilation


                            Acceleo
UML
                                                         Code source
                                                                                                                     Continuum




                                                                                          4. Déploiement
                                                                                                                   Tests
                                                                                                               d’intégration
                                                            Mantisse

                                                                                         glassfish



                                                                                                           Sun Aquarium Paris
                                                                                                                        26 Juin 2009
                                                                                                                                  10
Choix de Glassfish


 Suite à une étude menée courant 2008 pour un client sur l’alternative à
  Weblogic avec un focus particulier sur le mode cluster
    •   Weblogic 10
    •   Websphere 6.1
    •   JBoss 4.2
    •   Glassfish 2.0

 Expérience Weblogic 8.1/9.0/10.x
    •   Grande similitude
          Console d’administration (supervision / configuration / tâche d’administration)
          Déploiement (asadmin)
          Script
    •   Mode cluster
          Mise en œuvre
          Fonctionnement


 Gestion des WebServices
    •   Support JAX-WS (Metro)
    •   Inclus dans la console
                                                                                      Sun Aquarium Paris
                                                                                                 26 Juin 2009
                                                                                                           11
Automatisation


 Exemple de tâches :
    •   Création de domaine
    •   Configuration des ressources
    •   Tâches d’administration
    •   Tâches de supervision ou monitoring

 Weblogic
    •   Utilisation des scripts WLST
    •   Jython

 Websphere
    •   Utilisation de l’outil wsadmin
    •   Jython

 Glassfish
    •   Utilisation de l’outil asadmin
    •   Shell Unix

                                                      Sun Aquarium Paris
                                                                 26 Juin 2009
                                                                           12
Industrialisation de l’installation Glassfish


 Utilisation d’une procédure standardisée
   • Glassfish en mode standalone
   • Glassfish en mode cluster
   • OS:
         Windows
         Linux RedHat
 Couplage avec Apache
   • Mode load balancer
   • Utilisation SSL, compression, cache
 Fourniture des scripts
   •   Scripts d’installation
   •   Scripts de création des ressources (Pool JDBC, JMS, …)
   •   Scripts de service unix
   •   Jar pour l’installation en tant que service Windows

                                                                Sun Aquarium Paris
                                                                           26 Juin 2009
                                                                                     13
Détail d’implémentation partie Patient


 Application Web
   •   Java EE 5
   •   Struts + JSTL + DisplayTag
   •   SiteMesh + Spring-security – Spring-IOC – JDBC
   •   Génération graphiques JFreeChart
   •   Génération PDF iText
   •   Cryptage avec composant natif Windows via JNI


 Hébergement
   • Glassfish 2.1



                                                        Sun Aquarium Paris
                                                                   26 Juin 2009
                                                                             14
Exemples Patient




                   Sun Aquarium Paris
                              26 Juin 2009
                                        15
Détail d’implémentation partie Médecin


 Application Web
    • Cold Fusion
    • Interfaçage ActiveX : cryptage

 Application cliente
    • Fax Internet Client
         Java 6 (java 5 sous MacOS 10.4 Tiger)
         Client lourd SWING
         Client WebService JAX-WS

    • Partie hébergement des services
           Glassfish 2.1
           Service JAX-WS
           Déploiement du client swing via Java Web Start
           Génération de rapport iText

                                                             Sun Aquarium Paris
                                                                        26 Juin 2009
                                                                                  16
Exemples Médecin




                   Sun Aquarium Paris
                              26 Juin 2009
                                        17
Architecture générale


   Connections SSL
   Load Balanceur Apache + mod_jk
   2 instances Web Patient
   2 instances Client Médecin
   1 instance Web Médecin (CF)
   Pas de cluster
   Cryptage des données en base

 Différents environnements
     • 1 d’intégration (intégrateur)
     • 1 de pré-production / recette (hébergeur)
     • 1 de production (hébergeur)

                                                   Sun Aquarium Paris
                                                              26 Juin 2009
                                                                        18
Architecture Physique



                                       Hébergeur



                                                                                  Partie Web patient
                                       SSL                                        Partie cliente médecin
                                                            mod_jk
                                                                     Glassfish    - JavaWebStart client
Professionnels / Patients
                                                                                  - WebService



                            Internet               Apache                                                  Données


                                                                     Glassfish



                                                                                  Partie Web médecin




                                                                     ColdFusion




                                                                                               Sun Aquarium Paris
                                                                                                              26 Juin 2009
                                                                                                                        19
Retours


 En production depuis 2 mois
     •   Aucun problème lié à l’utilisation de Glassfish
              Stabilité dans le temps
              Peu gourmand en ressource
              Démarrage assez rapide


 Maitrise du risque par l’utilisation d’outils standards et connus

 Problème avec le plugin WTP de Glassfish

 Manque d’un plugin Glassfish embarqué dans Maven comme Jetty
     •   Attendre la v3 et le profile Web

 Problème Java sous MACOS
     •   Compatibilité Tiger / Leopard

 Problème d’interfaçage avec l’ActiveX
     •   Recodage du wrapper du composant de cryptage natif
     •   ActiveX C++ avec JACOB vers DLL C++ avec JNI

                                                                      Sun Aquarium Paris
                                                                                 26 Juin 2009
                                                                                           20
Merci




Questions ?




              Sun Aquarium Paris
                         26 Juin 2009
                                   21

Contenu connexe

Similaire à Retour d'expérience Cap Gemini GlassFish

20090113 04 - Avancement du projet de recherche en qualimétrie Squale
20090113 04 - Avancement du projet de recherche en qualimétrie Squale20090113 04 - Avancement du projet de recherche en qualimétrie Squale
20090113 04 - Avancement du projet de recherche en qualimétrie SqualeLeClubQualiteLogicielle
 
20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrieLeClubQualiteLogicielle
 
Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Jasmine Conseil
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUGFabrice Bellingard
 
Solutions linux ec2 surveillance
Solutions linux ec2 surveillanceSolutions linux ec2 surveillance
Solutions linux ec2 surveillanceSergio Loureiro
 
Surveillance Amazon EC2 infrastructure (french)
Surveillance Amazon EC2 infrastructure (french) Surveillance Amazon EC2 infrastructure (french)
Surveillance Amazon EC2 infrastructure (french) Sergio Loureiro
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing systemLeClubQualiteLogicielle
 
20080610 05 - Squale portail qualimétrie en open source
20080610 05 - Squale portail qualimétrie en open source20080610 05 - Squale portail qualimétrie en open source
20080610 05 - Squale portail qualimétrie en open sourceLeClubQualiteLogicielle
 
[Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge [Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge Cellenza
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureJason De Oliveira
 
Altics Tests Utilisateurs
Altics Tests UtilisateursAltics Tests Utilisateurs
Altics Tests UtilisateursALTICS
 
SLIDES-625.1.1-IDL-4-build tools maven.pdf
SLIDES-625.1.1-IDL-4-build tools maven.pdfSLIDES-625.1.1-IDL-4-build tools maven.pdf
SLIDES-625.1.1-IDL-4-build tools maven.pdfArouNa3
 
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...Djamel Zouaoui
 
Utc apm human talks compiegne
Utc apm human talks compiegneUtc apm human talks compiegne
Utc apm human talks compiegneArthur Van Ceulen
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720Romain Linsolas
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfqsdqsd4
 

Similaire à Retour d'expérience Cap Gemini GlassFish (20)

20090113 04 - Avancement du projet de recherche en qualimétrie Squale
20090113 04 - Avancement du projet de recherche en qualimétrie Squale20090113 04 - Avancement du projet de recherche en qualimétrie Squale
20090113 04 - Avancement du projet de recherche en qualimétrie Squale
 
20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrie
 
Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017
 
Administration glassfish 3
Administration glassfish 3Administration glassfish 3
Administration glassfish 3
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG
 
Solutions linux ec2 surveillance
Solutions linux ec2 surveillanceSolutions linux ec2 surveillance
Solutions linux ec2 surveillance
 
Surveillance Amazon EC2 infrastructure (french)
Surveillance Amazon EC2 infrastructure (french) Surveillance Amazon EC2 infrastructure (french)
Surveillance Amazon EC2 infrastructure (french)
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system
 
20080610 05 - Squale portail qualimétrie en open source
20080610 05 - Squale portail qualimétrie en open source20080610 05 - Squale portail qualimétrie en open source
20080610 05 - Squale portail qualimétrie en open source
 
[Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge [Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows Azure
 
Altics Tests Utilisateurs
Altics Tests UtilisateursAltics Tests Utilisateurs
Altics Tests Utilisateurs
 
Maven
MavenMaven
Maven
 
Octo Maven.pdf
Octo Maven.pdfOcto Maven.pdf
Octo Maven.pdf
 
SLIDES-625.1.1-IDL-4-build tools maven.pdf
SLIDES-625.1.1-IDL-4-build tools maven.pdfSLIDES-625.1.1-IDL-4-build tools maven.pdf
SLIDES-625.1.1-IDL-4-build tools maven.pdf
 
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Utc apm human talks compiegne
Utc apm human talks compiegneUtc apm human talks compiegne
Utc apm human talks compiegne
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
 

Plus de Alexis Moussine-Pouchkine

GlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsGlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsAlexis Moussine-Pouchkine
 

Plus de Alexis Moussine-Pouchkine (20)

GlassFish Article September 07
GlassFish Article September 07GlassFish Article September 07
GlassFish Article September 07
 
GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010GlassFish OSGi - Java2days 2010
GlassFish OSGi - Java2days 2010
 
GlassFish Community and future larochelle
GlassFish Community and future larochelleGlassFish Community and future larochelle
GlassFish Community and future larochelle
 
Javaee glassfish jcertif2010
Javaee glassfish jcertif2010Javaee glassfish jcertif2010
Javaee glassfish jcertif2010
 
GlassFish Community - FISL 2010
GlassFish Community - FISL 2010GlassFish Community - FISL 2010
GlassFish Community - FISL 2010
 
GlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applicationsGlassFish OSGi - From modular runtime to hybrid applications
GlassFish OSGi - From modular runtime to hybrid applications
 
Feuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFishFeuille de route (roadmap) GlassFish
Feuille de route (roadmap) GlassFish
 
Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010Java EE 6 Solutions Linux 2010
Java EE 6 Solutions Linux 2010
 
GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
 
L'association GUSES
L'association GUSESL'association GUSES
L'association GUSES
 
Open Solaris 2009.06
Open Solaris 2009.06Open Solaris 2009.06
Open Solaris 2009.06
 
Java EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolioJava EE 6 and GlassFish portfolio
Java EE 6 and GlassFish portfolio
 
Metro Web Services
Metro Web ServicesMetro Web Services
Metro Web Services
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
Zembly
ZemblyZembly
Zembly
 
Behind The Clouds
Behind The CloudsBehind The Clouds
Behind The Clouds
 
OpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP serverOpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP server
 
GlassFish v2.1
GlassFish v2.1GlassFish v2.1
GlassFish v2.1
 
Open MQ Jerome Moliere
Open MQ Jerome MoliereOpen MQ Jerome Moliere
Open MQ Jerome Moliere
 
GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6
 

Dernier

23. ACTUALITE DE L’ETUDE DU TETANOS CHEZ L’ADULTE, .pdf
23. ACTUALITE DE L’ETUDE DU TETANOS CHEZ L’ADULTE, .pdf23. ACTUALITE DE L’ETUDE DU TETANOS CHEZ L’ADULTE, .pdf
23. ACTUALITE DE L’ETUDE DU TETANOS CHEZ L’ADULTE, .pdfSargata SIN
 
Souffrance fœtale aigue ou asphyxie périnatale
Souffrance fœtale aigue ou asphyxie périnataleSouffrance fœtale aigue ou asphyxie périnatale
Souffrance fœtale aigue ou asphyxie périnataleabedelazizkaraa
 
cardiac manifestations in auto-immune diseases by Dr Silini.pptx
cardiac manifestations in auto-immune diseases by Dr Silini.pptxcardiac manifestations in auto-immune diseases by Dr Silini.pptx
cardiac manifestations in auto-immune diseases by Dr Silini.pptxsilinianfel
 
Brevets et innovation contre le cancer -
Brevets et innovation contre le cancer -Brevets et innovation contre le cancer -
Brevets et innovation contre le cancer -benj_2
 
PRESERVATIFS MASCULIN ET FEMININ ok.pptx
PRESERVATIFS MASCULIN ET FEMININ ok.pptxPRESERVATIFS MASCULIN ET FEMININ ok.pptx
PRESERVATIFS MASCULIN ET FEMININ ok.pptxOuedraogoSoumaila3
 
CAT devant une Thrombose veineuse superficielle .pptx
CAT devant une Thrombose veineuse superficielle .pptxCAT devant une Thrombose veineuse superficielle .pptx
CAT devant une Thrombose veineuse superficielle .pptxsilinianfel
 
MYCOBACTERIES 2019hhhhhhhhhhhhhhhhhhhhh
MYCOBACTERIES  2019hhhhhhhhhhhhhhhhhhhhhMYCOBACTERIES  2019hhhhhhhhhhhhhhhhhhhhh
MYCOBACTERIES 2019hhhhhhhhhhhhhhhhhhhhhorthopediedentofacia
 

Dernier (7)

23. ACTUALITE DE L’ETUDE DU TETANOS CHEZ L’ADULTE, .pdf
23. ACTUALITE DE L’ETUDE DU TETANOS CHEZ L’ADULTE, .pdf23. ACTUALITE DE L’ETUDE DU TETANOS CHEZ L’ADULTE, .pdf
23. ACTUALITE DE L’ETUDE DU TETANOS CHEZ L’ADULTE, .pdf
 
Souffrance fœtale aigue ou asphyxie périnatale
Souffrance fœtale aigue ou asphyxie périnataleSouffrance fœtale aigue ou asphyxie périnatale
Souffrance fœtale aigue ou asphyxie périnatale
 
cardiac manifestations in auto-immune diseases by Dr Silini.pptx
cardiac manifestations in auto-immune diseases by Dr Silini.pptxcardiac manifestations in auto-immune diseases by Dr Silini.pptx
cardiac manifestations in auto-immune diseases by Dr Silini.pptx
 
Brevets et innovation contre le cancer -
Brevets et innovation contre le cancer -Brevets et innovation contre le cancer -
Brevets et innovation contre le cancer -
 
PRESERVATIFS MASCULIN ET FEMININ ok.pptx
PRESERVATIFS MASCULIN ET FEMININ ok.pptxPRESERVATIFS MASCULIN ET FEMININ ok.pptx
PRESERVATIFS MASCULIN ET FEMININ ok.pptx
 
CAT devant une Thrombose veineuse superficielle .pptx
CAT devant une Thrombose veineuse superficielle .pptxCAT devant une Thrombose veineuse superficielle .pptx
CAT devant une Thrombose veineuse superficielle .pptx
 
MYCOBACTERIES 2019hhhhhhhhhhhhhhhhhhhhh
MYCOBACTERIES  2019hhhhhhhhhhhhhhhhhhhhhMYCOBACTERIES  2019hhhhhhhhhhhhhhhhhhhhh
MYCOBACTERIES 2019hhhhhhhhhhhhhhhhhhhhh
 

Retour d'expérience Cap Gemini GlassFish

  • 1. Glassfish dans le milieu médical Sun Aquarium Paris – 26 Juin 2009 Jacky Renno (jacky.renno@capgemini.com)
  • 2. Plan  Contexte • Métier • Technique • Eléments structurants  Approche • Méthodologie et Outillage • Choix de Glassfish • Automatisation • Industrialisation Glassfish  Solution technique • Détail d’implémentation  Partie « Patient »  Partie « Médecin » • Architecture • Retours Sun Aquarium Paris 26 Juin 2009 2
  • 3. Contexte métier  LabMedica • Groupement de laboratoire d’analyses médicales  Prés de 70 laboratoires  Plus de 1100 médecins  Prés de 100 cliniques  Plus de 550 000 patients  Plus de 2 millions d’analyses  Mise à disposition de services par Internet • Laboratoire  Gestion des médecins correspondants  Gestion des analyses envoyées (urgentes, VIH….) • Médecin  Consultation des résultats et génération d’ordonnance  Services de fiches permettant l’aide à la décision pour la demande d’analyse  Dossier patient et historique • Clinique  Visualisation des résultats de plusieurs médecins • Patient  Consultation des résultats  Forte évolution • Ajout de nombreux laboratoires Sun Aquarium Paris 26 Juin 2009 3
  • 4. Contexte technique  Refonte et extension du système existant • ColdFusion et SQL Serveur • Schéma de base existant  Confidentialité des données • Respect des formats (HPRIM, ApiCrypt et Certificat) • Signature numérique des emails • Données cryptées en base  Hébergement chez un prestataire • Délégation pour la gestion de l’hébergement  Projet de taille réduite  Développement en mode projet • Centre de services Sun Aquarium Paris 26 Juin 2009 4
  • 5. Eléments structurants  Grands principes: • Coûts de développement les plus faibles • Peu ou pas de coûts de licence • Solution simple et rapide • Facilité d’exploitation • Déploiement à l’international (Allemagne et Espagne)  Technologies • Nouveaux développements en Java • Migration de l’existant ColdFusion en Java  Plateforme logicielle • Base de données existante sous SQL Server 2000 • Plateforme d’exécution sous Windows 2003 Server Sun Aquarium Paris 26 Juin 2009 5
  • 6. Approche  Approche pragmatique • Maitrise du risque • Pas ou peu d’inconnu  Ré-use d’une solution existante • Socle d’application : assemblage de frameworks open source  Utilisation d’outil pour la génération de code • Approche « MDA / templating »  Utilisation d’une chaîne d’intégration continue • Suivi de la qualité du projet • Livraison fréquente  Privilégier l’automatisation des tâches • Scripting des installations, livraisons, déploiements Sun Aquarium Paris 26 Juin 2009 6
  • 7. Méthodologie  Framework de développement adapté • Assemblage de divers frameworks maitrisés  Application Blanche  Pré-paramétré sous Maven • Packagés et documentés  Normes de développement • CheckStyle, PMD, formatage Eclipse • Tests unitaires  Intégration Continue • Maven  Plugin de génération JAX-WS (Metro)  Plugin Jetty • Archiva / Continuum / Sonar  Glassfish 2.0  Utilisation d’un générateur « MDA » • Mode « one shot » avec Acceleo Sun Aquarium Paris 26 Juin 2009 7
  • 8. Outillage  IDE / Gestion de configuration • Eclipse et Subversion  Industrialisation de Glassfish 2.1 • Plugin de déploiement Maven • Script de configuration et déploiement  Environnements virtualisés • VMWare  Environnement d’intégration et test  Plateforme d’intégration continue Sun Aquarium Paris 26 Juin 2009 8
  • 9. Chaîne d’intégration continue  Gestion du projet par Maven • Projet Maven fournit « out of the box » • Utilisation d’un plugin pour le déploiement pour Glassfish v2 • Déclaration des plugins de reporting • Paramétrage des normes de développement  Projet fournit pour le socle de base • Application blanche  Projet fournit pour le web (Metro) • Intégration wsgen et wsimport • Module de test d’intégration optionnel (avec déploiement préalable) Sun Aquarium Paris 26 Juin 2009 9
  • 10. Le processus de développement Archiva Subversion Frameworks Templates MDA Tests unitaires Sonar 1. modélisation 2. Génération 3. Compilation Acceleo UML Code source Continuum 4. Déploiement Tests d’intégration Mantisse glassfish Sun Aquarium Paris 26 Juin 2009 10
  • 11. Choix de Glassfish  Suite à une étude menée courant 2008 pour un client sur l’alternative à Weblogic avec un focus particulier sur le mode cluster • Weblogic 10 • Websphere 6.1 • JBoss 4.2 • Glassfish 2.0  Expérience Weblogic 8.1/9.0/10.x • Grande similitude  Console d’administration (supervision / configuration / tâche d’administration)  Déploiement (asadmin)  Script • Mode cluster  Mise en œuvre  Fonctionnement  Gestion des WebServices • Support JAX-WS (Metro) • Inclus dans la console Sun Aquarium Paris 26 Juin 2009 11
  • 12. Automatisation  Exemple de tâches : • Création de domaine • Configuration des ressources • Tâches d’administration • Tâches de supervision ou monitoring  Weblogic • Utilisation des scripts WLST • Jython  Websphere • Utilisation de l’outil wsadmin • Jython  Glassfish • Utilisation de l’outil asadmin • Shell Unix Sun Aquarium Paris 26 Juin 2009 12
  • 13. Industrialisation de l’installation Glassfish  Utilisation d’une procédure standardisée • Glassfish en mode standalone • Glassfish en mode cluster • OS:  Windows  Linux RedHat  Couplage avec Apache • Mode load balancer • Utilisation SSL, compression, cache  Fourniture des scripts • Scripts d’installation • Scripts de création des ressources (Pool JDBC, JMS, …) • Scripts de service unix • Jar pour l’installation en tant que service Windows Sun Aquarium Paris 26 Juin 2009 13
  • 14. Détail d’implémentation partie Patient  Application Web • Java EE 5 • Struts + JSTL + DisplayTag • SiteMesh + Spring-security – Spring-IOC – JDBC • Génération graphiques JFreeChart • Génération PDF iText • Cryptage avec composant natif Windows via JNI  Hébergement • Glassfish 2.1 Sun Aquarium Paris 26 Juin 2009 14
  • 15. Exemples Patient Sun Aquarium Paris 26 Juin 2009 15
  • 16. Détail d’implémentation partie Médecin  Application Web • Cold Fusion • Interfaçage ActiveX : cryptage  Application cliente • Fax Internet Client  Java 6 (java 5 sous MacOS 10.4 Tiger)  Client lourd SWING  Client WebService JAX-WS • Partie hébergement des services  Glassfish 2.1  Service JAX-WS  Déploiement du client swing via Java Web Start  Génération de rapport iText Sun Aquarium Paris 26 Juin 2009 16
  • 17. Exemples Médecin Sun Aquarium Paris 26 Juin 2009 17
  • 18. Architecture générale  Connections SSL  Load Balanceur Apache + mod_jk  2 instances Web Patient  2 instances Client Médecin  1 instance Web Médecin (CF)  Pas de cluster  Cryptage des données en base  Différents environnements • 1 d’intégration (intégrateur) • 1 de pré-production / recette (hébergeur) • 1 de production (hébergeur) Sun Aquarium Paris 26 Juin 2009 18
  • 19. Architecture Physique Hébergeur Partie Web patient SSL Partie cliente médecin mod_jk Glassfish - JavaWebStart client Professionnels / Patients - WebService Internet Apache Données Glassfish Partie Web médecin ColdFusion Sun Aquarium Paris 26 Juin 2009 19
  • 20. Retours  En production depuis 2 mois • Aucun problème lié à l’utilisation de Glassfish  Stabilité dans le temps  Peu gourmand en ressource  Démarrage assez rapide  Maitrise du risque par l’utilisation d’outils standards et connus  Problème avec le plugin WTP de Glassfish  Manque d’un plugin Glassfish embarqué dans Maven comme Jetty • Attendre la v3 et le profile Web  Problème Java sous MACOS • Compatibilité Tiger / Leopard  Problème d’interfaçage avec l’ActiveX • Recodage du wrapper du composant de cryptage natif • ActiveX C++ avec JACOB vers DLL C++ avec JNI Sun Aquarium Paris 26 Juin 2009 20
  • 21. Merci Questions ? Sun Aquarium Paris 26 Juin 2009 21