2. La Construction des SI d’Entreprise
UN Besoin UN Projet UNE Application UN déploiement dans
avec sa BD UN environnement
technique
Une architecture ‘‘accidentelle’’ avec de nombreux
silos et des problèmes d’intégration.
Des coûts élevés - Un grand nombre d’applications
2
3. 1ères solutions mises en œuvre: l’EAI et l’ETL
Une infrastructure pour transporter les données
d’application à application.
3
4. 1ères solutions mises en œuvre: l’EAI et l’ETL
Une infrastructure pour transporter les données
d’application à application.
Une promesse
pas toujours
réalisée
4
5. Le défi de l’intégration applicative
Intégration des
sémantiques
applicatives 95%
Connexion,
Messaging & 5%
Transport
“ Only 5% of the interface is a function of
the middleware choice. The remaining
95% is a function of application semantics.”
Les écarts de “sémantique” entre applications
limitent l’intégration dans les approches traditionnelles
• Portée limitée, risque élevé
• Centré sur le transport, au cas par cas par projet, long, couteux
5
6. SOA: A la recherche d’un
nouveau modèle de développement pour les SI
Coût
Valeur
Réduire le nombre d’applications
Nombre
1 10 100 1000 d’applications
6
7. SOA: A la recherche d’un
nouveau modèle de développement pour les SI
Coût
Nouveau modèle applicatif
Valeur
Réduire le nombre d’applications
Nombre
1 10 100 1000 d’applications
7
8. SOA: A la recherche d’un
nouveau modèle de développement pour les SI
Coût
Nouveau modèle applicatif
Valeur
Réduire le nombre d’applications
Nombre
1 10 100 1000 d’applications
8
9. Architecture de Services
Les services sont conçus pour satisfaire les besoins des autres
applications
Au centre de la Conception
Service
Application
Application Application
B
A C
9
10. Processus rigide et ‘‘câblé’’ dans les applications
Chaque participant déclenche la prochaine action
Service Service Service
Application Application Application
A B C
10
11. Processus flexible et paramétré
Le Process Manager orchestre les appels de service
Paramétrage par la modélisation du processus
Recherche d’optimisation dans l’exécution des processus
Au centre de la Conception
Process Manager
Service Service Service
Application Application Application
A B C
11
12. La promesse d’un assemblage flexible
Customers User User Partners
Process Process Process
BAM
Legacy Services Legacy
12
13. Echec des démarches purement techniques
On attend beaucoup [trop] des outils – remèdes universels
ESB : Enterprise Service Bus
A B C D
ESB
E F G H
13
14. Echec des démarches purement techniques
On attend beaucoup [trop] des outils – remèdes universels
Spaguetti Bus
ESB : Enterprise Service Bus
A B C D
ESB
E F G H
14
15. Echec des démarches purement techniques
On attend beaucoup [trop] des outils – remèdes universels
Spaguetti Bus
ESB : Enterprise Service Bus
Gestion des Versions
Sémantique
A B C D
ESB
E F G H
15
17. Moins un défi technique qu’un défi d’organisation
Surcoût de conception SLA Capacités
Construire des services Consolidation des exigences
réutilisables coûte plus cher Dimensionnement, financement
que de ne pas en construire & évolutions des
Formalisation architectures techniques
Besoins plus larges
Economie de la réutilisation
Confiance Décision basée sur
Dépendances Coût de construction
entre les projets ou Coût complet
Qualité Moyens de test
sur 5 ans
Rénover l’existant
Convaincre les propriétaires
Services trop spécifiques des applications existantes
17
18. Un défi d’architecture globale
Les processus ont un besoin important en données
Les données sont enfermées dans les applications
Business Object Attributes in different systems
Attributes
Application Application 12
10
ESB / BPM 8
6 Business Objects
Appli Appli Appli Appli Appli 4 S8
S7
2 S6
S5
0 S4
1 S3
2
Systems 3 S2
4
5
Source:
6 S1
7 David McComb et al,
8 www.SemanticArts.com
18
19. Un MDM pour réduire
la diversité et la dispersion des données
MDM
Nourrir le BPM
à partir du MDM
Des projets lourds et difficiles à décider
Remise en cause des périmètres applicatifs
Une logistique d’échange de données complexe avec une relation
Maître-Esclave difficile à imposer
Risque important de rigidifier le SI autour d’un schéma de données qui
devient un frein aux évolutions applicatives
19
20. 5 Janvier 2009
‘‘SOA is Dead’’
Anne Thomas Manes
VP and Research Director
20
22. Des milliards d’utilisateurs
Des millions de flux RSS
Le Web est un succès incontesté
Des milliards de pages
Des millions de sites
Des centaines de milliers de widgets
22
23. Pourtant…
Le Web utilise des dizaines de technos
OpenId Apache .NET
SQL HTML Oracle
Solaris Perl
Ajax Mysql Firefox
Opera Unix Linux
ASP JSP
Struts IIS
Windows
XHTML PHP XML javascript
CSS XSLT
Ruby DB2 java J2EE
SAML
23
25. Pourquoi ne pas utiliser les architectures
& les pratiques du Web pour le SI ?
Architecture Utiliser un
REST moteur de
recherche
25
26. L’Architecture du Web
Tim Berners Lee
Inventeur du web
‘‘La valeur du Web réside dans la
réutilisation non anticipée qu’il permet’’
‘‘Conçu pour faciliter les usages futurs
que l’on ne connaît pas’’
Le Web est basé sur un style d’Architecture
Orientée Ressource appelé REST
26
27. Architecture REST
Putting the Web back in Web Services
Nick Gall, Dan Scholler, Anthony Bradley
‘‘L’indépendance par rapport aux applications doit être la
première qualité des interfaces.’’
‘‘WS-* ont été conçu pour obtenir l’indépendance par rapport
aux implémentations techniques.’’
‘‘La dépendance aux protocoles applicatifs est un obstacle à la
réutilisation et au partage.’’
Adaptabilité
M Représentations (Variable) Méta-données
Liens hypermedia
4 Opérations (Fixe) Interface simple
Modèle d’Information et uniforme
& identifiants globaux (URI)
27
28. Exemple REST
Une interface unique et générique
Les opérations génériques trouvent une
sémantique adaptée aux ressources
Conception pour évoluer simplement
Nombreux
Types de données
Opérations Instances
Petit Nombre Nombreux
Fixe
29. Exemple SOAP
Macro-composants dont il faut comprendre
le périmètre et la responsabilité
Des interfaces spécifiques pour chaque
composant
Un protocole spécifique à chaque application
Evolutions plus difficiles
Nombreux
Types de données
Opérations Instances
Nombreuses Petit nombre
30. Suivre les modèles du Web
Information model as Foundation (extract)
http://www.slideshare.net/linkedin/building-consistent-restful-apis-in-a-highperformance-environment
30
31. Suivre les modèles du Web
/people[/id=123]
> To get a person’s profile: /id
GET http://api.linkedin.com/v2/people/123 /name
/email
<person uri=“urn:linkedin:v2:people/123” key=“123”>
/photo
<id>123</id> /best-friend
<name>Reid Hoffman</name> /friends
<email>reid@linkedin.com</email> /jobs
<best-friend uri=“urn:linkedin:v2:people/456”/> /company
… /title
</person> /start-date
/end-date
> Update the user’s profile - change name and …
best-friend and remove photo: /companies
/name
PUT http://api.linkedin.com/v2/people/123 /ceo
<person> …
<name>Reid Hoffman</name>
<best-friend uri=“urn:linkedin:v2:people/999”/>
<photo xsi:nil=“true”/>
< /person>
http://www.slideshare.net/linkedin/building-consistent-restful-apis-in-a-highperformance-environment
31
32. Suivre les modèles du Web
> Add a friend /people[/id=123]
/id
POST http://api.linkedin.com/v2/people/123/friends /name
/email
<friend uri=“urn:linkedin:v2:people/888”/>
/photo
/best-friend
201 Created /friends
Location: http://api.linkedin.com/v2/people/123/friends/888 /456
/888
…
http://www.slideshare.net/linkedin/building-consistent-restful-apis-in-a-highperformance-environment
32
33. Search Based Application (SBA)
Le Web Le Système d’Information
Un grand nombre de sites Un grand nombre de applis/BDs
Un grand nombre de pages Un grand nombre de tables
Impossible de définir
un ordre parfait
Diversité des contenus
et des usages
Internet
Expérience Utilisateur
simple et efficace
Retrouver une information dans son SI
de la même façon que sur Internet
Casser les silos applicatifs
sans transporter toutes les données
33
34. Le Moteur de Recherche comme une
Infrastructure d’Accès à l’Information
Une expérience utilisateur Silos Breaker
simple &transverse
User Interface User Interface
Toutes les sources
Ouvert aux nouveaux usages Search Infrastructure internes et externes
du Web 2.0: RSS, tagging,
bookmarking, partage… Reusable Reusable Gestion et maîtrise de
Connector Connector
tous les niveaux de sécurité
Suffisamment riche et ouvert
pour imaginer des interfaces Data Data Intelligence des données grâce
adaptées aux situations de travail aux technologies sémantiques
34
36. Trouver mieux et plus vite l’information pertinente
Trouver l’application
Trouver l’écran d’interrogation
Étendre l’accès aux informations
contenues dans les progiciels
complexes (ERP)
Approximation / Synonyme / Proximité
En cassant les silos applicatifs
36
37. Simplifier les développements
SOA ‘‘traditionnelle’’ Moteur de recherche
Application Application Architecture
REST
ESB
Indexation Collecte
en temps réel dynamique
Appli Appli Appli Appli Appli
www.
Migration
37
39. Une alternative aux projets SOA / MDM
Réduire les silos applicatifs
Vue 360 Fournisseur
Répartition du CA par groupe de marchandises,
Rechercher + Naviguer
type d’article, volumes approvisionnés Affiner et élargir sa recherche
Commandes en cours / réceptionnées /
facturées
Commandes en retard, délais de traitement Approximation / Synonyme / Proximité
des commandes
Factures à recevoir : commande réceptionnée
mais facture non reçue
Charges constatées d’avance : facture reçue
mais commande non réceptionnée
Moteur de recherche
Notes qualité
Litiges Extraction, fragmentation
& recomposition des informations
Indexation Collecte
en temps réel dynamique
SAP
PLM … …
39
42. Faurecia
Réduire la durée des programmes
Data d’ingénierie des nouveaux produits
sources:
Integration in
Exalead CloudView SharePoint
Mashup Automated
indexation Dynamic web
Builder generation of reporting
PRC reports
• POC en 2 semaines et pilote en un mois
• Seulement 6 mois pour mener le projet au déploiement!
42