connecteurs entre socle et briques applicatives journées rencontres du csiesr 31 janvier et 1 er...
TRANSCRIPT
Connecteurs entre socle et briques applicatives
Journées rencontres du CSIESR31 janvier et 1er février 2005
Yohan ColmantUniversité de Valenciennes et du Hainaut Cambrésis
Journées rencontres du CSIESR 2005 2
PLAN
Le contexte La démarche Exemples Quelques chiffres
Journées rencontres du CSIESR 2005 3
Le contexteMotivations
Mise en place d’un ENT dans l’établissement
Applications existantes
Volonté d’avoir un point d’accès central Agrégation de tous les services au sein d’un
même ENT
Journées rencontres du CSIESR 2005 4
Le contextePrincipe général
Application 1
Application 2
Application 3
Application 4
ENT
C1 C2 C3 C4
Journées rencontres du CSIESR 2005 5
La démarcheQu’est-ce qu’un canal ?
Service au sein de l’ENT Types de canaux
Inline frame Intégration d’une page html existante
XSLT Transformation XSLT d’un XML donné
Custom Développement d’une application Java avec
génération de HTML
Journées rencontres du CSIESR 2005 6
La démarcheLes questions à se poser (i)
Quel type de brique applicative est-ce ?
Application Web Possibilité d’utiliser l’interface existante
Application « non Web » Trouver un moyen de communication avec l’application Accéder aux données
Journées rencontres du CSIESR 2005 7
La démarcheLes questions à se poser (ii)
L’application fournit-elle une interface d’accès ? Web service Middleware
Si oui Développer un canal « custom » client
Journées rencontres du CSIESR 2005 8
La démarcheLes questions à se poser (iii)
Peut-on accéder aux données de l’application? Base de données Fichiers de données
Est-on capable de lire ce format de fichiers ? Garder la cohérence si on modifie les données en
dehors de l’application
Type de canal Custom XSLT si fichiers au format XML
Journées rencontres du CSIESR 2005 9
La démarcheLes questions à se poser (iv)
Possède-t-on le code source de l’application ? A-t-on le droit de le modifier ?
Si oui Ajouter une interface d’accès
Web service Middleware
Écrire le canal « custom » client associé
Journées rencontres du CSIESR 2005 10
La démarcheLes questions à se poser (v)
Peut-on exporter des données via l’appli ? Exportation ponctuelle des données dans un
format intermédiaire compréhensible par le canal (XML par exemple)
Valable uniquement pour de la visualisation
Type de canal pour l’affichage Custom XSLT si données au format XML
Journées rencontres du CSIESR 2005 11
La démarcheLes questions à se poser (vi)
L’application fournit-elle une interface Web ?
Si oui Intégration dans une « inline frame »
Gestion de l’authentification Nouvelle demande d’authentification Rendre compatible SSO (Single Sign-On) l’application
Inconvénients Interface différente de l’ENT Ascenseurs gênants dans le canal Donner un pointeur sur la page peut sembler mieux
Journées rencontres du CSIESR 2005 12
La démarcheLes questions à se poser (vii)
L’éditeur peut-il modifier l’application ?
Si oui Ajout d’une interface d’accès à l’application Développer un canal « custom » client de cette
interface
Journées rencontres du CSIESR 2005 13
Exemple d’applications
Emploi du temps Nabuco Ganesha Offre de formation Listes de diffusion Sympa
Journées rencontres du CSIESR 2005 14
ExemplesEmploi du temps (accès BD) (i)
Fonctionnalités de l’application Gestion d’emploi du temps Génération automatique d’emploi du temps Gestion des salles, matériels, etc.
But de l’intégration dans l’ENT Consulter
Son emploi du temps L’emploi du temps des salles et du matériel
Poser des réservations (salles+matériel)
Journées rencontres du CSIESR 2005 15
ExemplesEmploi du temps (accès BD) (ii)
Points positifs Application développée localement
Accès direct aux données de la base Connaissance de la structure
Données fiables
Journées rencontres du CSIESR 2005 16
ExemplesEmploi du temps (accès BD) (iii)
Architecture de l’application
Technologies Langage Delphi SGBD MySQL
BD
Journées rencontres du CSIESR 2005 17
ExemplesEmploi du temps (accès BD) (iv)
Notre approche
BD
Canal
ENT
Journées rencontres du CSIESR 2005 18
ExemplesEmploi du temps (accès BD) (v)
Développement d’un canal « custom » Accès à la base de données
Lecture des données Ajout des réservations
cohérence avec l’application respectée
Interface graphique au style de l’ENT
Difficultés Appréhension de la base de données
Journées rencontres du CSIESR 2005 19
ExemplesEmploi du temps (accès BD) (vi)
Journées rencontres du CSIESR 2005 20
ExemplesEmploi du temps (accès WS) (i)
Fonctionnalités de l’application Gestion d’emploi du temps
Accès Web service intégré à l’application
Fonctionnalités souhaitées dans l’ENT Identiques à l’application précédente
Le WS ne permet que la consultation Réutilisation de code
Journées rencontres du CSIESR 2005 21
ExemplesEmploi du temps (accès WS) (ii)
Architecture de l’application
BD
Serveur d’application
WS
Journées rencontres du CSIESR 2005 22
ExemplesEmploi du temps (accès WS) (iii)
Notre approche Développement d’un canal « custom »
Accès au Web service depuis le canal Lecture des données
Réutilisation de l’interface graphique
Journées rencontres du CSIESR 2005 23
ExemplesEmploi du temps (accès WS) (iii)
Notre approcheCanal
ENT
BD
Serveur d’application
WS
Journées rencontres du CSIESR 2005 24
ExemplesEmploi du temps (accès WS) (iv)
Journées rencontres du CSIESR 2005 25
ExemplesEmploi du temps
Un canal, plusieurs briques applicatives Profil utilisateur en fonction de l’institut
Canal
ENT
Application 1
BD
Institut α
Application 2
WS
Institut β
Journées rencontres du CSIESR 2005 26
ExemplesEmploi du temps (inline frame) (i)
Application d’emploi du temps propriétaire Accès impossible aux données de l’application
Possibilité d’exportation manuelle de pages Web depuis l’application Intégration dans l’ENT via une « inline-frame »
Inconvénient Données non fiables car peut-être pas mises à jour Style de l’interface différent de l’ENT
Journées rencontres du CSIESR 2005 27
ExemplesEmploi du temps (inline frame) (ii)
Journées rencontres du CSIESR 2005 28
ExemplesNabuco (i)
Fonctionnalités de l’application Budget Comptabilité générale Missions Etc.
Fonctionnalités souhaitées dans l’ENT Consultation de remboursements de missions
Journées rencontres du CSIESR 2005 29
ExemplesNabuco (ii)
Stockage des infos dans une BD Accès à la base de données
Lecture des données possible Canal « custom »
Problème Identification de l’utilisateur dans la base
Journées rencontres du CSIESR 2005 30
ExemplesNabuco (iii)
Solution
Nabuco
Moduled’import
BD
nom g_fo_cod
nom g_fo_cod
Canal
ENT
nom
LDAP
Journées rencontres du CSIESR 2005 31
ExemplesNabuco (iv)
Journées rencontres du CSIESR 2005 32
ExemplesGanesha (i)
LMS (Learning Management System) Mise en ligne de cours Outils de travail collaboratif
Mode d’intégration au sein de l’ENT Utilisation de l’interface Web de l’application
Intégration dans une « inline frame »
Journées rencontres du CSIESR 2005 33
ExemplesGanesha (ii)
Problématique Connexion SSO Reconnaissance de l’utilisateur
Modification de l’interface de connexion Intégration d’une authentification SSO
Journées rencontres du CSIESR 2005 34
ExemplesGanesha (iii)
Authentification de base
BDnon
Code erreur
oui
Code réussite Login
valide
Authentification
PHP
Login:
Password:
Ganesha
Journées rencontres du CSIESR 2005 35
ExemplesGanesha (iv)
Authentification de base
non
oui
Code réussite Login
valide
Ganesha
AuthentificationSSO
BD
Journées rencontres du CSIESR 2005 36
ExemplesGanesha (v)
Journées rencontres du CSIESR 2005 37
ExemplesOffre de formation (i)
Principe Catalogue de l’offre de formations de
L’établissement L’UNR
Consultation via une interface Web
Journées rencontres du CSIESR 2005 38
ExemplesOffre de formation (ii)
Architecture
StockageXML
Moduled’import
Système degestion de la
scolarité(Apogée, Rimbaus)
Application de saisie
Servletconsultation
Journées rencontres du CSIESR 2005 39
ExemplesOffre de formation (iii)
Solution 1 Inline frame
ENT
Inline frame
StockageXML
Application de saisie
Servletconsultation
Journées rencontres du CSIESR 2005 40
ExemplesOffre de formation (iv)
Solution 2 Canal custom Canal XSLT
Canal
ENT
Application de saisie
Servletconsultation
StockageXML
Journées rencontres du CSIESR 2005 41
ExemplesSympa (i)
Gestionnaire de listes de diffusion Développé par le CRU
Intérêt Voir ses abonnements au sein de l’ENT
Accès à l’application Aucune interface d’accès disponible Modifications apportées par l’éditeur
Ajout d’un WS d’accès par le CRU Compatibilité SSO de l’application
Journées rencontres du CSIESR 2005 42
ExemplesSympa (ii)
Mise en œuvre Développement d’un canal « custom »
Problèmes rencontrés Compatibilité Web service Perl et client Java
Journées rencontres du CSIESR 2005 43
Quelques chiffres …
Difficultés
Dépend de l’application à intégrer Comment s’interfacer avec l’appli ? Mode de récupération des données
Structure de la BD plus ou moins complexe Type et structure des fichiers
Connaissances techniques
Journées rencontres du CSIESR 2005 44
Quelques chiffres …Exemples (i)
Emploi du temps (BD) 1 développeur - 20 jours
Emploi du temps (WS) 1 développeur - 40 jours (stagiaire)
Emploi du temps (Inline frame) 1 administrateur - 10 minutes
Journées rencontres du CSIESR 2005 45
Quelques chiffres …Exemples (ii)
Nabuco 1 développeur - 30 jours
Ganesha 2 développeurs - 1 jour
Sympa (Web Service et Canal)
2 développeurs - 15 jours
Questions ?