Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24...

51
Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008

Transcript of Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24...

Page 1: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Vers un développement

ouvert

Alexandre Poitras – Développeur indépendant

WebÉducation – 24 janvier 2008

Page 2: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Utiliser la combinaison d'applications/utilitaires dont

j'ai envie?

Qu'est-ce que l'interopérabilité

Page 3: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

L'interopérabilité est la propriété, pour un nombre

quelconque de systèmes de traitement d'information,

de pouvoir entrer en contact et d'échanger des

informations entre eux.

L'interopérabilité

Page 4: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

La portabilité est la capacité d'une application en

mesure de s'exécuter dans plusieurs environnements

différents.

La portabilité

Page 5: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

La portabilité est la capacité de communiquer avec son

environnement

L'interopérabilité est la capacité de communiquer avec

une autre application.

En résumé

Page 6: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Les “Vendor lock-in”

Dépendance d'un logiciel.

Importants coûts de migration.

Page 7: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Plusieurs types

Concernant la portabilité :

Lock-in des outils.

Lock-in de l'environnent.

Concernant l'interopérabilité :

Lock-in par le protocole.

Page 8: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

La portabilité

Page 9: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Le lock-in des outils

Un outil est un logiciel permettant ou facilitant la

création/modification d'une application.

Page 10: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Quelques exemples

Microsoft Visual Studio

Eclipse

Microsoft Visual Basic

Oracle Application Express

NetBeans

Page 11: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Le lock-in des outils

Sauvegarde du travail dans un format binaire ou

propriétaire.

Génération de code complexe et non

documenté.

Page 12: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Dangers

Coûts et dépendance.

Impossibilité de changer d'outils ou d'en utiliser

plusieurs.

Bogues possibles au niveau de l'outil.

Fonctionnalités non disponibles.

Difficile de “déboguer”.

Impact sur la qualité du code.

Page 13: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Avantages

Intégration très forte entre l'outil et le code.

Tranquilité d'esprit.

Page 14: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Attention aux outils utilisés

Les outils ne sont pas une potion magique.

Utiliser des outils transparents.

Page 15: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Un exemple : NetBeans Matisse

Page 16: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Lock-in de l'environnement

Le programme ne peut rouler que dans un

certain environnement d'exécution :

Matériel

Système d'exploitation

Serveur d'application, Base de Données.

Frameworks.

Page 17: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Dangers

Coûts et dépendance.

Impossibilité de porter l'application sur un autre

environnement.

Innovation moins rapide.

Page 18: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Avantages

Intégration plus forte.

Page 19: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Solutions

Standards ouverts et solutions Open Source.

Page 20: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Les standards ouverts

Processus de décision communautaire.

Spécifications formelles.

Plusieurs implémentations disponibles.

Page 21: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Avantages

Portabilité.

Dénominateur commun pour la création de

solutions de plus haut niveau.

Plus large communauté (plus d'idées, plus

d'expériences, ...).

Page 22: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Désavantages

Évoluent très lentement.

Visent un public général.

Ne répondent pas à tous les besoins.

Sous-ensemble de ce qui existe sur le marché.

Page 23: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Les standards à tout prix?

Attention à la surutilisation des standards.

Chaque développement a un contexte et des

particularités différentes.

Page 24: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Dans quels domaines utiliser

les standards?De bas niveau conceptuel, où l'innovation est

moins importante.

Matures!

Dont l'implémentation est complexe.

Où la portabilité est importante.

Page 25: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Exemples de standards à forte

valeur ajoutéePaquetage de l'application.

Traitement de requêtes Web.

Page 26: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Exemples de standards à faible

valeur ajoutéeFrameworks.

Sécurité.

Persistance.

Page 27: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

La portabilité à tout prix?

La portabilité a un coût!

Seulement lorsque nécessaire.

Limiter les dégâts :

Isoler le code non portable.

Utiliser des technologies transparentes.

Page 28: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Les solutions Open Source

Autre méthode d'atteindre la portabilité.

S'appuient sur les services standards de bas

niveau de l'environnement.

Page 29: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Pourquoi l'Open Source?

Très adapté aux domaines complexes et

méconnus.

Page 30: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Pourquoi l'Open Source?

Innovation très rapide.

Très réactifs aux besoins des utilisateurs,

bogues, ...

Contribution des idées par toute la communauté.

Approche empirique plutôt que planifiée : les

meilleures solutions survivent, les autres

disparaissent.

Page 31: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

La dette technique

Ne jamais compromettre la qualité d'un

développement!

Page 32: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Toujours pas convaincu?

Il y aura toujours des “trous à combler” .

Les développements “maison” sont beaucoup

plus couteux.

Page 33: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Trop de choix?

Le monde de l'Open Source bouge très très vite.

Page 34: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Adopter une stratégie

Minimiser le nombre de produits.

Utiliser solutions populaires.

Combinaisons familières et documentées.

Aller chercher du support lorsque nécessaire.

Voir l'Open Source comme un choix technique!

TESTER les produits avant de vous prononcer.

Page 35: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Et les solutions propriétaires?

Toujours évaluer en fonction des besoins.

Domaines précis ne menaçant pas la portabilité,

par exemple la réplication des données sur un

cluster.

Vérifier les points d'extensions.

Page 36: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

L'interopérabilité

Page 37: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Pourquoi l'interopérabilité

L'informatique est de plus en plus central au

fonctionnement d'une entreprise.

Page 38: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Pourquoi l'interopérabilité

Le nombre d'applications utilisées a explosé.

Relier l'entreprise à ses partenaires.

S'adapter rapidement aux changements

organisationnels.

Changer de technologies sans délaisser les

systèmes de première génération.

Page 39: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

L'intégration

Combiner des applications pour batir un

système plus complet.

Défi majeur pour la plupart des entreprises.

Beaucoup d'innovation dans ce domaine.

Page 40: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Format de message

Pour que 2 applications interagissent entre elles,

elles doivent utiliser un format de message

commun.

Page 41: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Plusieurs possibilitésProtocoles réseaux : JMS, Web Services,

RMI, ...

Fichiers locaux, Fichiers distants

Courriels

Données en Base de Données

...

Page 42: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Service Web

Les Services Web sont une technologie réçente

qui génère beaucoup d'enthousiasme.

Page 43: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Service Web

Un Service Web est un programme

informatique permettant la communication et

l'échange de données entre applications et

systèmes hétérogènes dans des

environnements distribués.

Page 44: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Pourquoi cette popularité?

Standards et protocoles ouverts.

Déployés sur des technologies Internet

standards.

Supportés par la majorité des gros joueurs du

développement (Java et .Net).

Page 45: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

2 types de services Web

Les Services Web de type SOAP.

Les Services Web de type REST.

Page 46: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Les Services Web de type SOAP

Standards SOAP et WSDL définis par le

consortium industriel WS-I.

WS-I compte dans ses rangs : IBM, Microsoft,

Oracle, Sun, BEA Systems, ...

Très lourd et complexe.

Page 47: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Les Services Web de type REST

Basés sur l'architecture du Web et ses

standards de base: HTTP et URI.

Très simple et très légère.

De plus en plus populaire (à juste titre).

Page 48: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

La solution miracle?

Simplement une technologie de messagerie.

Acceptable d'utiliser d'autres technologies de

messagerie.

Page 49: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Service Oriented Architecture

Style d'architecture.

Fonctionnalités décomposées en unités

distinctes (services).

Chaque service peut être implémenté dans une

technologie différente.

Page 50: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Service Oriented Architecture

Domaine prometteur mais très jeune et très

complexe.

Attention au battage publicitaire et aux

standards prématurés (JBI, SCA).

Page 51: Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.

Plusieurs solutions OS

innovatricesMule

Apache ActiveMQ

Spring Integration