Mise en œuvre SOA au sein de l’IP Web Atelier technique 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Architecture Applicative Modèle en couches Outils et Framework Normes et standards Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Modèle en couches Présentation Services Métiers et Techniques Persistance des informations Gestion des IHMs Interactions utilisateurs Présentation Appels de services Sessions utilisateurs Contrôles de la cinématique Coordination Gestion des processus métiers Services d’utilisation des objets de la couche domaine Contrôle de l’intégrité transactionnelle Contrôle de la sécurité Services Gestion des règles métiers Fourniture des accès à l’information Domaine Persistance et cycle de vie des occurrences d’entités métier Persistance Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Modèle en couches Agilité Chaque couche a un périmètre précis en terme de responsabilités Isoler plus simplement les traitements Réutiliser Evite les interdépendances Code simplifié et plus léger Assurer l’évolutivité Sécabilité Illustrée concrètement par l’architecture logicielle Spécialisation possible des développeurs (frameworks, ergonomie) Code compréhensible -> Faciliter la maintenance Minimiser les impacts liés au changement d’un framework Réactivité Approche ciblée sur l’identification des problèmes par couche Réaliser un monitoring par couche Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Outils et Framework Outils et Framework à travers les couches Licences Open Source Apache License v2 Lesser General Public License (LGPL) Licences non virales Présentation Coordination Services Domaine Persistance STRUTS STRUTS Tiles & Validator AXIS AXIS HIBERNATE SPRING SPRING SPRING SPRING SPRING LOG4J LOG4J LOG4J LOG4J LOG4J Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Normes et standards Respect des préconisations SDET, ADAE et AMUE Préconisations technologiques Pré-requis J2EE 1.4 (JVM 1.4, Servlet 2.4, JSP 2.0) -> Tomcat 5.0.28 SOAP 1.1, JAX-RPC 1.1 -> Axis 1.3 WS-I basic profile 1.0 -> WTP 1.0 et Axis 1.3 (WS-Security 1.0 -> Wss4j 1.1.0) Préconisations de conception Structuration en couches indépendantes Design pattern (MVC, IoC etc.) Indépendance vis-à-vis des protocoles physiques d'invocation -> Spring Respect des principes SOA Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Objectifs, Périmètre, Planning et Résultats du prototypage Proof of Concept Objectifs, Périmètre, Planning et Résultats du prototypage Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Les objectifs du POC Valider les outils, les normes et l’architecture (WS-*, Frameworks) Réutiliser au mieux l’existant (procédures stockées, IA Web) Vérifier l’intégration aux ENTs (réalisation de portlets test) Définir et valider un environnement de développement adapté Mesurer les performances (scenarii et configurations de tests) Mettre en évidence les points durs résiduels Hors périmètre : Identification et dimensionnement fonctionnel des services « Prototype » et non « maquette » Gestion de la livraison et du déploiement Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Les macro-tâches du POC Mettre en place la plate-forme de développement et ses outils Mise en place opérationnelle des outils (Eclipse, plugins,…) Gestion de configuration Normes de développement & Qualité Frameworks Outils de tests Mettre en œuvre concrètement l’approche orientée services Interopérabilité (Applications, ENT,…) Sécurité Transaction Mettre en œuvre l’architecture en couches Couplage faible / Séparation des responsabilités Maintenabilité (découpage, traces) Intégration de l’existant (PL/SQL, concurrences d’accès) Gestion des erreurs Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Architecture du POC Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Les phases du POC et le planning CADRAGE MISE EN PLACE PTF & DEVELOPPEMENT ANALYSE & DEV. COMPLEMENTAIRE CONSOLIDATION BILAN & DOCUMENTATION Réunion de lancement Objectifs Définition du périmètre et objectifs du POC Recueil de l’existant web Documents Code java Proposition d’un planning Installation des plates-formes Mise en place du cadre des développements (normes, structure des projets) Utilisation des frameworks Approche services et web services Tests de charge Mise en place UDDI Intégration ENT Tests flexibilité solution Documentation Résultats Cadrage Besoins de plate-forme Plates-formes opérationnelles Mise en place des couches 1ers Développements Périmètre technique complet réalisé Préconisations Tous les outils opérationnels POC prêt à la démonstration Documentation Lancement – 02/01 Plate-forme OK 1ers services – 01/02 Tests (20/02) POC opérationnel (Fin O2/06) Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Documentation en résultat du POC Normes de développement Dossier d’architecture applicative Mise en place organisation et outils de développement Création des projets Intégration gestion de configuration Guides d’utilisation du développeur Couche Persistance Couche Coordination Couche Services Application Proof of concept Javadoc Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Thème accès à la base de données Mapping des tables de la base de données Création des objets valeurs Mise en place du framework de gestion de la persistance Hibernate Spring : commodités pour la gestion des exceptions et des transactions Transactions avec la base de données Transactions avec la base de données (insert, update, delete, get) Intégration de Procédures stockées Gestion des accès concurrents Déclaration via Spring Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Thème sécurité Etape 1 - Limiter l'adhérence des agents d'authentification et de SSO Utilisation de composants externes paramétrables permettant de s’intégrer au système d’authentification du SI Classes Java « Filter », découplées de la couche présentation, traitant les requêtes en amont des processus applicatifs Exemple : composant CASFilter jouant le rôle d’agent au sein d’un SSO CAS Etape 2 – Etude prévisionnelle de WS-Security et de la fédération d’identité Intégration de WS-Security au POC Intégrité : XML-Signature Confidentialité : XML-Encryption Utilisation de l’outil apache Wss4j Etude des possibilités offertes par SAML pour fédérer les identités (Liberty Alliance et Shibboleth) Objectif : Implémentation orthogonale de la sécurité par rapport à l’applicatif (composants « plugables » et indépendants) Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Thème interopérabilité Intégration au sein des ENTs Mise en place d’une portlet au sein d’un portail accédant aux Web Services Apogee Appel local, appel distant Couche coordination découplée du type d’invocation effectué Communication par Interface Utilisation de Spring pour les dépendances Interface du service Client Spring Implémentation Proxy local Fichier de mapping Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Plate-forme, Organisation, Développements Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Une plate-forme industrialisée Un processus unifié de développement s’appuyant sur les retours d’expérience de nos centres ADC Les étapes sont identiques et formalisées Les étapes sont documentées Faciliter l’intégration de nouveaux développeurs Aider au travail des développeurs et à la qualité des développements Une plate-forme à base de composants open source Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Plate-forme de développement Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
1 couche = 1 projet Eclipse Transverse ip-transverse Présentation Coordination Services Domaine Persistance ip-webapp ip-coordination ip-services ip-domaine ip-persistance Objectifs Indépendance des déploiements Tests et qualification par projet Spécialisation des développeurs Eviter les dépendances multiples Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Développements et design patterns Définition de classes d’interface Limiter l’adhérence Design patterns : MVC2 : Modèle Vue Contrôleur DAO : Encapsule les accès aux données – Préconisé par Sun Microsystems PAO : Procedure Access Object Value object : Transporter les données entre les couches du modèle Session Façade : Un point d’entrée unique pour un sous-système Filter Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Axes de réflexion Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Axes de réflexion Quelle sont l’activité et la charge attendues ? Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Axes de réflexion Les pré-requis techniques (JVM 1.4, Servlet 2.4 et JSP 2.0) sont-ils clairs et satisfaisants pour tous ? Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Axes de réflexion Quels sont les trois navigateurs (et leur version) les plus utilisés dans les établissements ? Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Axes de réflexion Quelle est la politique de sécurité au niveau des navigateurs ? Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Axes de réflexion Existe-t-il des contraintes de packaging spécifiques ? Le 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved
Référence PRE.021.AtelierTechAMUE_100206.ppt Questions Référence PRE.021.AtelierTechAMUE_100206.ppt © 2004 Capgemini - All rights reserved