les problématiques d'intégration de drupal dans le système d'information
Post on 27-Dec-2014
466 Views
Preview:
DESCRIPTION
TRANSCRIPT
Les problématiques d'intégration de Drupal dans le Système d'Information
Présentation
Nicolas MARSAUD Co-fondateur de Feel & Clic et ancien
Chef de projet à la DSI Thales Avionics
Arnaud RANSON Co-fondateur de Neuros et
ancien DSI chez Arcelor Espagne
Axes de la présentation
Bien gérer un projet d’intégration de Drupal dans un SI § Pourquoi ? § Drupal & DSI § Quels acteurs ? § L’environnement ? § L’infrastructure ? § Anticiper ?
Cas pratiques d’intégration § Annuaire AD/LDAP § Présenter sur le Web des données métiers § Exposer un processus de gestion
Réussir un projet d’intégration de Drupal dans un système d’information
Drupal est de plus en plus utilisé pour réaliser des applications métier intégrées dans le paysage des Systèmes d'Information. Plus complexe qu’un projet traditionnel, cette intégration nécessite d’adopter de bon réflexes pour garantir une intégration réussie.
1
Pourquoi intégrer Drupal dans les SI ?
ü Bénéficier des fonctionnalités de Drupal dans un environnement métier (Flexibilité, modularité)
ü Proposer des interfaces ergonomiques et rapides ü Mettre à disposition des end-users des informations
présentes dans le SI
ü Éviter de ressaisir des informations plusieurs fois ü Améliorer l’agilité des systèmes d’information
ü Consolider plusieurs processus fonctionnels
ü Améliorer la sécurité
Système d’information
Drupal est t-il accepté dans les DSI ?
§ de l’Open Source dans le paysage des SI § Développement massif de Drupal dans les grands groupes § Phase "d'early adopters" référents dans leur domaine (médias) § Secteur public, les directives européennes recommandent l’Open
Source § De nombreux acteurs ont fait le choix de Drupal § Beaucoup de DSI ont connaissance de Drupal
(livres blancs, retours d'expérience) § Les directions métiers ont tendance à le proposer par confiance § Ne pas négliger les projets antérieurs plus ou moins bien terminés.
Qui sont les acteurs indispensables ?
Équipes techniques
Client final (direction métier)
Chef de projet fonctionnel
Concepteur Drupal
RSSI
Maitriser l’environnement
§ Demander les schémas d’urbanisation des SI sur votre périmètre d'intervention (ex. d'outil de modélisation : ARIS)
§ Cartographier les autres composants avec lesquels vous échangerez des informations (LDAP, CRM, ERP, PDM, BUS, ...)
§ Lister les protocoles d’échange que vous pourrez utiliser (Webservices, Flux Json, XML, CSV, Curl, …)
§ Ne surtout pas négliger la documentation (documents de conception, spécifications, …)
Adapter les infrastructures
§ Vérifier que Drupal est compatible avec l’environnement (PHP 5.3 / MySQL / Apache / Tomcat / ... )
§ Intégrer les contraintes de l’environnement dès le début du projet (Environnement Linux, Microsoft, Azur, Navigateur...)
§ Valider le délai de disponibilité de l’infrastructure (Nom de domaine, serveurs, Cloud, Webservices…)
§ Vérifier que vous respectez les contraintes de sécurité imposées (Charte de sécurité, procédures, contrainte de déploiement)
Prévoir la suite dès le début du projet
ü Drupal ne facilite pas le staging
ü Anticiper les évolutions fonctionnelles dès la conception de la plateforme Drupal (Conception Drupal)
ü Définir les processus de livraison et de mise en production pour garantir la qualité (Méthodologie ITIL)
ü Réguler les mises à jour des modules (Adapter à la sensibilité de l’application : sécurité)
u Modules Drupal : Features, Drush & Custom
Quelques cas pratiques
Les cas suivants ont pour but de présenter une synthèse de ce qui se produit traditionnellement lorsque l'on parle d'intégration de Drupal dans un SI.
2
Annuaire LDAP
Back office de ges4on
Applica4on mobile
2
1
3
Système d’information
Trois cas pratiques
Comment maîtriser la gestion des utilisateurs ?
§ La gestion des utilisateurs peut revêtir des formes variées avec Drupal : centrale en terme de fonctionnalité dans un site communautaire, à contrôler dans le cas d'un site plus institutionnelle …
§ Dans tous les cas elle devient rapidement un sujet de sécurité important en contexte "entreprise"
§ La mise à disposition d'un annuaire AD/LDAP permet de contrôler les utilisateurs et les droits associés dans une structure
§ Il est censé être le reflet le plus à jour des utilisateurs et des propriétés qui leur sont attachées (droits, attributs …)
u Modules Drupal : LDAP, Profile 2, Organic Group, …
Annuaire AD/LDAP
Item Valeur Couplage Fort
Temporalité Synchrone
Sens du flux De AD/LDAP vers Drupal
Qui est maître ? AD/LDAP
Que se passe-t-il quand le service est indisponible ?
L'authentification sur les comptes issus de LDAP n'est plus possible.
Modules Drupal
LDAP integration
§ Sujet Exemple : Connecter Drupal à l'annuaire de référence des utilisateurs
§ Objectifs : • Éviter la ressaisie de comptes utilisateurs • Centraliser les droits, faciliter la gestion des comptes utilisateurs
§ Mise en œuvre : Juste un protocole technique (optionnellement) mapper les champs AD/LDAP aux propriétés des utilisateurs (droits, attributs …) Flux à autoriser entre le serveur Drupal et l'annuaire
Comment choisir la méthode d’intégration des données ?
Intégrer des données peut servir à restituer de l'information ou mettre à disposition une transaction. Quelques questions à se poser : ü Intégration : Asynchrone / Synchrone ? ü Information : Temps réel / Temps différé ? ü Quel impact doit avoir l'indisponibilité d'un service intégré ? ü Quel est le protocole à retenir, est il accepté dans le contexte technique courant ? u Modules Drupal : Views, Services, Json, Feeds, SMTP
Présenter un annuaire d'entreprise
Item Valeur Couplage Faible
Temporalité Asynchrone
Sens du flux De AD/LDAP vers Drupal
Qui est maître ? AD/LDAP
Que se passe-t-il quand le service est indisponible ?
Les informations de l'annuaire ne sont plus à jour
Modules Drupal
LDAP integra4on, migrate, custom …
§ Sujet Exemple : Alimenter Drupal des données de l'annuaire de référence pour proposer une fonction annuaire avec recherche de personnes.
§ Objectifs : • Éviter la ressaisie des données personnelles • Fournir une fonction d'annuaire
§ Mise en œuvre : Synchroniser la source de données (LDAP) avec le contenu "personne" dans Drupal. C'est-à-dire mettre à jour la base drupal des entrées et sorties du LDAP sans attendre la connexion des utilisateurs à la plateforme
Présenter sur le Web des données métiers (1)
Item Valeur Couplage Faible
Temporalité Asynchrone
Sens du flux De BO vers Drupal
Qui est maître ? BO
Que se passe-t-il quand le service est indisponible ?
Les informations des offres d'emplois ne sont plus à jour
Modules Drupal
Migrate, custom …
§ Sujet Exemple : Présenter sous drupal les offres d'emploi gérées dans un back office de gestion dédié
§ Objectifs : • Éviter la ressaisie des données • Présenter seulement les informations utiles • Gagner du temps et de la qualité
§ Mise en œuvre : Synchroniser la source de données (BO de gestion) avec Drupal de manière à alimenter les contenus dans le site Exploitation d'un fichier CSV mis à disposition régulièrement
Présenter sur le Web des données métiers (2)
Item Valeur Couplage Fort
Temporalité Synchrone
Sens du flux De BO vers Drupal
Qui est maître ? BO
Que se passe-t-il quand le service est indisponible ?
La consultation des offres d'emplois est indisponible
Modules Drupal
Custom …
§ Sujet Exemple : Présenter sous drupal les offres d'emploi gérées dans un back office de gestion dédié
§ Objectifs : • Éviter la ressaisie des données • Présenter seulement les informations utiles • Gagner du temps et de la qualité
§ Mise en œuvre : Appel par web service du BO de gestion pour présenter les offres d'emploi actuellement disponibles Attention, cela charge le Back Office de requêtes qui peuvent détériorer les performances pour les utilisateurs habituels
Synthèse
Implémentation Processus Couplage Impact en cas de BO indisponible
Intégration des donnés par CSV Batch "Lache" Le site web présente les données mais elles ne sont plus à jour
Intégration des donnés par Web service
Temps réel Fort Le site web rend indisponible la fonction
§ Conclusion : Il n'y a pas de méthode préférable, cela dépend réellement du cas d'utilisation fonctionnel et de la stratégie "métier" à adopter
Exposer un processus de gestion (1)
Item Valeur Couplage Faible
Temporalité Asynchrone
Sens du flux De Drupal vers BO
Qui est maître ? Drupal
Que se passe-t-il quand le service est indisponible ?
Les candidatures ne sont visibles que sous Drupal
Modules Drupal
Custom …
§ Sujet Exemple : Permettre la saisie de candidatures en ligne
§ Objectifs : • Mise en place d'un canal unique de gestion • Structurer l'information et la diffuser plus rapidement • Faire porter aux internautes la charge de gestion
§ Mise en œuvre : Mise en place d'un formulaire sous Drupal Conservation sous drupal des candidatures Synchronisation avec le BO de gestion pour injection des candidatures par batch la nuit
Exposer un processus de gestion (2)
Item Valeur Couplage Fort
Temporalité Synchrone
Sens du flux De Drupal vers BO
Qui est maître ? Drupal
Que se passe-t-il quand le service est indisponible ?
Erreur à la validation du formulaire …
Modules Drupal
Custom …
§ Sujet Exemple : Permettre la saisie de candidatures en ligne
§ Objectifs : • Mise en place d'un canal unique de gestion • Structurer l'information et la diffuser plus rapidement • Faire porter aux internautes la charge de gestion
§ Mise en œuvre : Mise en place d'un formulaire sous Drupal Pas de conservation des candidatures Synchronisation avec le BO de gestion pour injection des candidatures par appel web service du BO
Exposer un processus de gestion (3)
Item Valeur Couplage Faible
Temporalité Synchrone (asynchrone très rapide)
Sens du flux De Drupal vers BO
Qui est maître ? Drupal
Que se passe-t-il quand le service est indisponible ?
Drupal a l'information la plus à jour
Modules Drupal
Custom …
§ Sujet Exemple : Permettre la saisie de candidatures en ligne
§ Objectifs : • Mise en place d'un canal unique de gestion • Structurer l'information et la diffuser plus rapidement • Faire porter aux internautes la charge de gestion
§ Mise en œuvre : Mise en place d'un formulaire sous Drupal Conservation des candidatures Synchronisation avec le BO de gestion pour injection des candidatures par appel Webservice du BO en asynchrone répétitif et rapide
Synthèse
Implémentation Processus Couplage Impact en cas de BO indisponible Intégration des données en temps différé nocturne
Batch "Lache" Le service est rendu auprès de l'utilisateur, les utilisateurs du BO attendent avant de pouvoir traiter les demandes
Intégration des donnés en temps réel
Temps réel Fort Le site web rend indisponible la fonction avec une expérience utilisateur plus ou moins bonne …
Intégration des données en temps différé rapide
Quasi temps réel
Lache Le service est rendu auprès de l'utilisateur, les utilisateurs du BO attendent avant de pouvoir traiter les demandes
§ Conclusion : Il n'y a pas de méthode préférable, cela dépend réellement du cas d'utilisation fonctionnel et de la stratégie "métier" à adopter
Mobile – Drupal comme repository de contenu
Item Valeur Couplage Faible ou fort
Temporalité Synchrone ou a synchrone
Sens du flux De Drupal vers ???
Qui est maître ? Drupal
Que se passe-t-il quand le service est indisponible ?
Drupal a l'information la plus à jour
Modules Drupal
Services, custom …
§ Sujet Exemple : Drupal contient des informations qui doivent être distribués sur différentes plateformes
§ Objectifs : • Faire circuler l'information rapidement une fois qu'elle est saisie, l'adapter au device de consultation • Éviter la ressaisie
§ Mise en œuvre : Drupal 8 (?) Considérer Drupal comme maitre de l'information et fournisseur de contenu indépendamment de la plate forme de consultation
Que faire pour réussir son intégration ? ü J’ai identifié et impliqué les acteur indispensables ü La méthode d’intégration est définie
ü Asynchrone / synchrone ü Temps réel / temps différé ü Couplage fort / lâche ü Qui est maître / esclave ü Comment doit réagir l'application en cas d'indisponibilité
ü Je suis conscient des impacts fonctionnels des points précédents ü Je maitrise l’environnement et l’infrastructure de l’application ü Je connais les futurs utilisateurs ü Je connais les contraintes de sécurité et de déploiement ü Je prévois la suite dès le début du projet ü Je documente cette intégration
FICHE PRATIQUE
Pour aller plus loin…
À votre disposition pour en discuter :
Arnaud RANSON, Neuros @neuros_paris / contact@neuros.com Nicolas MARSAUD, Feel & Clic @feelandclic / contact@feelandclic.com
top related