51
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

Embed Size (px)

Citation preview

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