• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Integration Drupal systemes d'informations
 

Integration Drupal systemes d'informations

on

  • 864 views

Présentation effectuée par Arnaud Ranson lors de la conférence Drupagora 2013

Présentation effectuée par Arnaud Ranson lors de la conférence Drupagora 2013

Statistics

Views

Total Views
864
Views on SlideShare
735
Embed Views
129

Actions

Likes
0
Downloads
15
Comments
0

4 Embeds 129

http://www.drupagora.com 100
http://neuros.fr 15
http://www.neuros.fr 13
http://localhost 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Integration Drupal systemes d'informations Integration Drupal systemes d'informations Presentation Transcript

    • Les problématiques d'intégration de Drupal dans le Système d'Information
    • Présentation Arnaud RANSON Nicolas MARSAUD Co-fondateur de Neuros et ancien DSI chez Arcelor Espagne Co-fondateur de Feel & Clic et ancien Chef de projet à la DSI Thales Avionics
    • 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
    • 1 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.
    • 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 ? Client final (direction métier) Chef de projet fonctionnel RSSI Concepteur Drupal Équipes techniques
    • 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
    • 2 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.
    • Trois cas pratiques 1 Annuaire  LDAP   2 Back  office  de  ges4on   3 Applica4on  mobile   Système d’information
    • 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 §  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 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
    • 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 §  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 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  …  
    • Présenter sur le Web des données métiers (1) §  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 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  …  
    • Présenter sur le Web des données métiers (2) §  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 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  …  
    • 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) §  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 Valeur Couplage Faible Temporalité §  Sujet Exemple : Permettre la saisie de candidatures en ligne Item 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  …  
    • Exposer un processus de gestion (2) §  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 Valeur Couplage Fort Temporalité §  Sujet Exemple : Permettre la saisie de candidatures en ligne Item 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  …  
    • Exposer un processus de gestion (3) §  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 Valeur Couplage Faible Temporalité §  Sujet Exemple : Permettre la saisie de candidatures en ligne Item 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  …  
    • 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 §  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 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  …  
    • FICHE PRATIQUE 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
    • 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