270 likes | 397 Views
Mise en œuvre SOA au sein de l’IP Web. Atelier technique 10/02/2006. Architecture Applicative. Modèle en couches Outils et Framework Normes et standards. Modèle en couches. Services Métiers et Techniques. Présentation. Persistance des informations. Gestion des IHMs
E N D
Mise en œuvre SOAau sein de l’IP Web Atelier technique 10/02/2006 Référence PRE.021.AtelierTechAMUE_100206.ppt
Architecture Applicative Modèle en couches Outils et Framework Normes et standards Référence PRE.021.AtelierTechAMUE_100206.ppt
Modèle en couches Services Métiers et Techniques Présentation Persistance des informations Gestion des IHMs Interactions utilisateurs Appels de services Sessions utilisateurs Contrôles de la cinématique 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é Gestion des règles métiers Fourniture des accès à l’information Persistance et cycle de vie des occurrences d’entités métier Présentation Coordination Services Domaine Persistance 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 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 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 Référence PRE.021.AtelierTechAMUE_100206.ppt
Proof of Concept Objectifs, Périmètre, Planning et Résultats du prototypage 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 Référence PRE.021.AtelierTechAMUE_100206.ppt
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 Référence PRE.021.AtelierTechAMUE_100206.ppt
Architecture du POC Référence PRE.021.AtelierTechAMUE_100206.ppt
Les phases du POC et le planning Phase 1 Phase 3 Phase 4 Phase 2 CADRAGE MISE EN PLACE PTF & DEVELOPPEMENT ANALYSE & DEV. COMPLEMENTAIRE CONSOLIDATION BILAN & DOCUMENTATION Réunion de lancement Objectifs • Tests de charge • Mise en place UDDI • Intégration ENT • Tests flexibilité solution • Documentation • Installation des plates-formes • Mise en place du cadre des développements (normes, structure des projets) • Utilisation des frameworks • Approche services et web services • Définition du périmètre et objectifs du POC • Recueil de l’existant web • Documents • Code java • Proposition d’un planning Résultats • Plates-formes opérationnelles • Mise en place des couches • 1ers Développements • Cadrage • Besoins de plate-forme • POC prêt à la démonstration • Documentation • Périmètre technique complet réalisé • Préconisations • Tous les outils opérationnels Lancement – 02/01 Plate-forme OK Tests (20/02) POC opérationnel (Fin O2/06) 1ers services – 01/02 Référence PRE.021.AtelierTechAMUE_100206.ppt
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 Référence PRE.021.AtelierTechAMUE_100206.ppt
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 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) Référence PRE.021.AtelierTechAMUE_100206.ppt
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 Client Interface du service Spring Implémentation Proxy local Fichier de mapping Référence PRE.021.AtelierTechAMUE_100206.ppt
Développements Plate-forme, Organisation, Développements Référence PRE.021.AtelierTechAMUE_100206.ppt
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 Référence PRE.021.AtelierTechAMUE_100206.ppt
Plate-forme de développement Référence PRE.021.AtelierTechAMUE_100206.ppt
1 couche = 1 projet Eclipse Transverse ip-transverse Présentation Coordination Services Domaine Persistance ip-domaine ip-webapp ip-coordination ip-services ip-persistance • Objectifs • Indépendance des déploiements • Tests et qualification par projet • Spécialisation des développeurs • Eviter les dépendances multiples Référence PRE.021.AtelierTechAMUE_100206.ppt
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 Référence PRE.021.AtelierTechAMUE_100206.ppt
Axes de réflexion Référence PRE.021.AtelierTechAMUE_100206.ppt
Axes de réflexion Quelle sont l’activité et la charge attendues ? 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 ? 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 ? Référence PRE.021.AtelierTechAMUE_100206.ppt
Axes de réflexion Quelle est la politique de sécurité au niveau des navigateurs? Référence PRE.021.AtelierTechAMUE_100206.ppt
Axes de réflexion Existe-t-il des contraintes de packaging spécifiques ? Référence PRE.021.AtelierTechAMUE_100206.ppt
Questions Référence PRE.021.AtelierTechAMUE_100206.ppt