51
Architectures Modernes des Systèmes d’information Agnès CREPET Mars 2018 Mines Saint-Etienne

Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Architectures Modernesdes Systèmes d’information

Agnès CREPETMars 2018Mines Saint-Etienne

Page 2: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore
Page 3: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Architecte sur plusieurs projets de refonte de SI

CoachMéthodes Agiles

Expertise dans l’écosystème java

Mon expérience

… depuis 2001

Page 4: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Comment faire communiquer…

Le sujet du jour

… les applications d’un système d’information?

Page 5: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Applications en silos

Page 6: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Applications en silos...

Ressources Humaines

Gestion des Clients (CRM)

Comptabilité

Supply Chain Management

Commerce

...

...qui doivent communiquer

Page 7: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Comment les faire communiquer

Gestion des Clients (CRM)

Commerce

Un fichier?

?

= interface point à point

spécifiqueou

un batch?

Page 8: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Multiplications des interfaces!

Ressources Humaines

Gestion des Clients (CRM)

Comptabilité

Supply Chain Management

Commerce

...

Page 9: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Multiplications des flux !

Page 10: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Technologies hétérogènes

...rarementinteropérables

Page 11: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Données redondantes, dupliquées

Page 12: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Duplication des données

Ressources Humaines

Gestion des Clients (CRM)

Comptabilité

Supply Chain Management

Commerce

...

Page 13: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Faire évoluer le SI ?

Maintenir le SI ?

Page 14: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Premières Solutions d’intégration

Message Oriented

Middleware

asynchrone

souvent propriétaires

Gestion des Clients

Ressources Humaines

Comptabilité

routage

Page 15: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Premières Solutions d’intégration

Enterprise Application Integration

(EAI)

… toujours propriétaires

Page 16: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

EAIhub and spoke

Ressources Humaines

Gestion des Clients (CRM)

Comptabilité

Supply Chain Management

Commerce

...

EAI

Page 17: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

EAI, l’intégration magique?

Gère les problématiques techniques

Interopérabilité au moyen de connecteurs spécialisés

Page 18: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

EAI, inconvénients

Complexe, couteux

Tout propriétaire :- pour échanges et transport des messages- connecteurs applicatifs spécifiques- formats et encodages de données

Page 19: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Une approche plus standardisée ?

* Advanced Message Queuing Protocol

Pour intégrer d'une façon standardLe mode d'intégration des applications peut être standardisé

→ On parle de patterns d’Intégration d'Entreprise(EIP) : http://www.eaipatterns.comEx : splitter, content based router

Et les applications définissent leurs services à exposer : API

Page 20: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

I want to Book my holidays !

What does API mean?

Page 21: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

I want to Book my holidays !

What does API mean?

Page 22: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

I want to Book my holidays !

What does API mean?

Page 23: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

API

What does API mean?

Page 24: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Application Programming

Interface

Page 25: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

The world is full of APIs!

● Every app of your daily life has an API !

Page 26: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

The world is full of APIs!

● URI (Uniform Resource Identifier) :

● Demo https://api.github.com/search/repositories?q=java

https://api.github.com/users/Ninja-Squad/repos

http://mywebsite.com/books/87/comments

Page 27: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Under the hoodSoftware Architecture

HTTP requests JSON

HTML/CSS, JS,

Android, Swift

OtherApp

SGBDR

Business Services

Persistence Services

APPLICATION SERVERBack-end

Front-end

Page 28: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB? Entreprise Service Bus

Apparus dans les années 2000Evolution des EAI

Construits sur des standards : l - Du web : XML/JSON, REST, webservicesl - Technologie messaging : JMS, AMQP*

Des notions communes :endpoints, producteurs,consommateurs, souscription/publication de services…

Base des SOA (Service Oriented Architecture)

Page 29: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB? Entreprise Service Bus

Page 30: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB• Réconcilier des mondes hétérogènes• Exposer des services d’applications • Découpler consommateurs et fournisseurs

de services• Agréger des services• Tracer les messages qui transitent• Limiter l'impact des changements,en

"virtualisant" certains services, ou certaines versions de services, pendant les phases transitoires

Page 31: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB vs EAI

L'EAI mise sur l'interopérabilité et sur les échanges entre applications hétérogènes (via des connecteurs spécifiques à chaque technologie et souvent onéreux!)

Ne permet pas les réutilisations de briques d'une application

Page 32: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB vs EAIl'ESB permet de :- décharger les applications de code "technique" lié à l'implémentation des échanges (principe de couplage lâche)- rationaliser les formats d'échanges- rajouter/enlever facilement de nouveaux consommateurs (principe de souscription/publication)

Page 33: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Au coeur des ESB, des servicesOn identifie les services (logique métier) implémentés par les applications

On les référence dans un catalogue de services

Un catalogue de service n'est qu'une vue logique (statique) des fonctionnalités métiers du SI.

Page 34: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB - PrincipesFournissent des fonctions :l de transformationl et de routage des flux

Page 35: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB – exemple cas d'utilisation Composition de services

Page 36: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB – exemple cas d'utilisation Gestion de version

Page 37: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB – exemple cas d'utilisation Gestion de la qualité de service (QoS)

Page 38: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Entreprise Integration Pattern

Page 39: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Entreprise Integration Pattern

Page 40: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

ESB Open source

Page 41: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Au delà de l'ESB

Frameworks d'intégration, encore plus légers que les ESBs

Exemple : Apache Camel et Spring Integration

Le web peut être votre middleware d'intégration!

Page 42: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Data ?

Quid des données?

A éviter :- Duplication- Interfaces directes entre les données des applications

Page 43: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Data ?

Page 44: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Les MDM

Master Data Managementou Master Data Hub

Pour gérer des données référentielles

Page 45: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Pour aller vers le MDM

Page 46: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Pour aller vers le MDM

Page 47: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

SOA

Objectif : répondre à l'instabilité du SI En offrant :l Agilité (maintenabilité)l Flexibilité des processus métiers

(évolutivité)l Rationalisation des référentiels de données

(stabilité, cohérence)

Page 48: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

SOA

Pourquoi une architecture SOA réussirait-elle là où d'autres ont échoué ?

Les technologies web sont arrivées à maturitéWeb Services

Pourquoi une architecture SOA réussirait-elle là où d'autres ont échoué ?

Les technologies web sont arrivées à maturitéWeb Services

Page 49: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Méthodologie / SOA

Page 50: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Conclusion

Design évolutifApproche bottom-up en continue, top-down éventuellement au départ

Le contenu d’un ESB doit être en perpétuelle évolutionil sert à donner de l’agilité et de la souplesse au SI pour "éponger" les changements et modérer les impacts

Page 51: Architectures Modernes des Systèmes d’information...Entreprise Integration Pattern Entreprise Integration Pattern ESB Open source Au delà de l'ESB Frameworks d'intégration, encore

Credit photo:Romain GuyCyril LacoteWilliam Forsythe

Patterns of Enterprise Application Architecture - Martin Fowler – Hardcover

l

l

l

l

l

l

l SOA microservices API managementl X Fournier Morel - Dunod

Merci!