210 likes | 312 Views
4 Mai 2009. Framework Isicil. Sébastien Comos. Framework Isicil. 1. Contexte 2. Objectifs 3. Choix technologiques 3.1. SemServices – SemCore – Corese 3.2. REST 3.3. Respect des couches 3.4. Persistance 3.5. Gestion des accès 3.6. Outils de build 3.7. Outils annexes
E N D
4 Mai 2009 Framework Isicil Sébastien Comos
Framework Isicil 1. Contexte 2. Objectifs 3. Choix technologiques 3.1. SemServices – SemCore – Corese 3.2. REST 3.3. Respect des couches 3.4. Persistance 3.5. Gestion des accès 3.6. Outils de build 3.7. Outils annexes 3.8. Serveur d’application
Corese SemCore SemServices REST REST Serveur de tags REST Serveur de profiles REST REST Navigateur web avec plugin Isicil Framework Isicil 1. Contexte
Framework Isicil 2. Objectifs Décharger des choix techniques et architecturaux les personnes amenées à développer et ainsi faciliter l’intégration et la productivité. Assurer une interopérabilité et une compatibilité maximale entre les différents modules
Corese SemCore SemServices REST REST Serveur de tags REST Serveur de profiles REST REST Navigateur web avec plugin Isicil Framework Isicil 3. Choix technologiques 3.1. SemServices – SemCore – Corese 3.1.1. SemServices en action
Framework Isicil 3.1.2. Définitions Corese : Moteur de recherche sémantique SemCore : Surcouche de Corese SemServices : WebApp permettant d’accéder à Corese via SemCore par le biais de WebServices REST
Framework Isicil 3.2. REST 3.2.1. Définition REST (Representational state transfer) est une manière de construire une application pour les systèmes distribués comme le World Wide Web (Wikipedia). REST définit entre autres des bonnes pratiques de création de WebServices, tout en simplifiant leur élaboration par l'utilisation de standards historiques: - le protocole HTTP qui fournit toutes les opérations nécessaires (GET, POST, PUT et DELETE) - URLs - formats de fichiers pour la représentation des ressources (XML, HTML, JPEG...) types MIME pour la description de ces représentations
Corese SemCore SemServices REST REST Serveur de tags REST Serveur de profiles REST REST Navigateur web avec plugin Isicil Framework Isicil 3.2.2. REST en action
Framework Isicil 3.2.3. Mise en œuvre des Web Services REST Jersey : implémentation de référence de JAX-RS (JSR 311) pour construire des WS REST JAXB : Java Architecture for XML Binding est l'API Java de Sun permettant de créer des classes Java à partir de schémas (.XSD) et inversement. Elle facilite l'utilisation du XML en Java en compilant un schéma XML dans une ou plusieurs classes.
Framework Isicil 3.3. Respect des couches 3.3.1. Le modèle MVC Modèle : logique métier et accès aux données Vue : présentation des informations (jsp, html, javascript, etc) Contrôleur : gestion des interactions de l’utilisateur
Framework Isicil 3.3.2. Modèle MVC en action
SemServices XML BD Framework Isicil 3.3.3. Spring MVC SPRING MVC Browser Contrôleur Modèle Vue Données
Framework Isicil 3.3.4. La couche « Modèle » Celle-ci comporte 2 sous couches : - Couche « Métier » : traitements - Couche « DAO » (Data Access Object) : accès aux données (DataBase, Corese, XML, etc)
Accès au données Contrôleur Métier XML BD Framework Isicil 3.3.5. Accès aux différentes couches : Spring IOC SemServices SPRING MVC Browser Vue SPRING IOC Données
Framework Isicil 3.4. Persistance 3.4.1. Base de données H2 - Légère et performante - Console applicative embarquée accessible via un browser - Embedded -> Création et initialisation au démarrage de l’application 3.4.2. Hibernate Hibernate est un framework open source gérant la persistance des objets en base de données relationnelle. (Wikipedia)
Accès au données Contrôleur Métier XML Framework Isicil 3.4.3. Hibernate et H2 en action : SemServices SPRING MVC Browser Vue Hibernate BD H2 SPRING IOC Données
Framework Isicil 3.5. Gestion des accès Acegi Security Permet de gérer les problématiques d’identification et d’autorisation de façon non spécifique à un serveur d’application Objectifs : - Sécuriser l’accès aux URLs par des utilisateurs via un formulaire - Sécuriser les WebServices REST Isicil
Framework Isicil 3.6. Outils de build Maven 2 - « Standardise » l’arborescence d’un projet - Simplifie la gestion des dépendances - Unifie le système de build - Aide à construire des applications robustes
Framework Isicil 3.7. Outils annexes Log4J Gestion des logs JUnit Tests unitaires HttpClient Permet l’appel de WebServices REST
Framework Isicil 3.8. Serveur d’application Tomcat - Léger - Fiable - Performant - Open Source
Framework Isicil Merci pour votre attention Sébastien Comos