Upload
eulalie-de-sousa
View
103
Download
0
Embed Size (px)
Citation preview
Référence PRE.021.AtelierTechAMUE_100206.ppt
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 couchesOutils et FrameworkNormes et standards
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 3Le 10/02/2006
Modèle en couches
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
Services Métiers et TechniquesPrésentation Persistance des
informations
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 4Le 10/02/2006
Modèle en couches
1. 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é
2. 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
3. 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 Page : 5Le 10/02/2006
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
Tiles & Validator AXIS AXIS
STRUTS
SPRING SPRING SPRING
HIBERNATE
SPRINGSPRING
LOG4J LOG4J LOG4JLOG4JLOG4J
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 6Le 10/02/2006
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 Page : 8Le 10/02/2006
Les objectifs du POC
1. Valider les outils, les normes et l’architecture (WS-*, Frameworks)
2. Réutiliser au mieux l’existant (procédures stockées, IA Web)
3. Vérifier l’intégration aux ENTs (réalisation de portlets test)
5. Définir et valider un environnement de développement adapté
6. Mesurer les performances (scenarii et configurations de tests)
7. 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 Page : 9Le 10/02/2006
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 Page : 10Le 10/02/2006
Architecture du POC
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 11Le 10/02/2006
Les phases du POC et le planning
Objectifs
Résultats
Réunion de lancement
Phase 1
• Définition du périmètre et objectifs du POC
• Recueil de l’existant web• Documents• Code java
• Proposition d’un planning
CADRAGE
• Cadrage• Besoins de plate-forme
Phase 2
• Installation des plates-formes• Mise en place du cadre des développements (normes, structure des projets)• Utilisation des frameworks• Approche services et web services
MISE EN PLACE PTF& DEVELOPPEMENT
•Plates-formes opérationnelles•Mise en place des couches•1ers Développements
Plate-forme OK
1ers services – 01/02 Tests (20/02)
Phase 3
• Tests de charge
• Mise en place UDDI
• Intégration ENT
• Tests flexibilité solution
ANALYSE & DEV. COMPLEMENTAIRE
CONSOLIDATION
•Périmètre technique complet réalisé•Préconisations•Tous les outils opérationnels
Phase 4
BILAN & DOCUMENTATION
• Documentation
•POC prêt à la démonstration•Documentation
POC opérationnel (Fin O2/06)
Lancement – 02/01
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 12Le 10/02/2006
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 Page : 13Le 10/02/2006
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 Page : 14Le 10/02/2006
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 Page : 15Le 10/02/2006
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
Spring
Fichier de mappingImplémentation Proxy local
Client
Référence PRE.021.AtelierTechAMUE_100206.ppt
Développements
Plate-forme, Organisation, Développements
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 17Le 10/02/2006
Une plate-forme industrialisée
1. Un processus unifié de développement s’appuyant sur les retours d’expérience de nos centres ADC
1. Les étapes sont identiques et formalisées
2. Les étapes sont documentées
2. Faciliter l’intégration de nouveaux développeurs
3. Aider au travail des développeurs et à la qualité des développements
4. Une plate-forme à base de composants open source
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 18Le 10/02/2006
Plate-forme de développement
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 19Le 10/02/2006
1 couche = 1 projet Eclipse
Présentation Coordination Services Domaine Persistance
Transverse
ip-webapp ip-coordination
ip-transverse
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
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 20Le 10/02/2006
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 Page : 22Le 10/02/2006
Axes de réflexion
Quelle sont l’activité et la charge attendues ?
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 23Le 10/02/2006
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 Page : 24Le 10/02/2006
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 Page : 25Le 10/02/2006
Axes de réflexion
Quelle est la politique de sécurité au niveau des navigateurs ?
Référence PRE.021.AtelierTechAMUE_100206.ppt Page : 26Le 10/02/2006
Axes de réflexion
Existe-t-il des contraintes de packaging spécifiques ?
Référence PRE.021.AtelierTechAMUE_100206.ppt
Questions