Title: Vers un d
1- Vers un développement ouvert
Alexandre Poitras Développeur
indépendant WebÉducation 24 janvier 2008
2Qu'est-ce que l'interopérabilité
- Utiliser la combinaison d'applications/utilitaires
dont j'ai envie?
3L'interopérabilité
- 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.
4La portabilité
- La portabilité est la capacité d'une application
en mesure de s'exécuter dans plusieurs
environnements différents.
5En résumé
- La portabilité est la capacité de communiquer
avec son environnement - L'interopérabilité est la capacité de communiquer
avec une autre application.
6Les Vendor lock-in
- Dépendance d'un logiciel.
- Importants coûts de migration.
7Plusieurs types
- Concernant la portabilité
- Lock-in des outils.
- Lock-in de l'environnent.
- Concernant l'interopérabilité
- Lock-in par le protocole.
8 9Le lock-in des outils
- Un outil est un logiciel permettant ou facilitant
la création/modification d'une application.
10Quelques exemples
- Microsoft Visual Studio
- Eclipse
- Microsoft Visual Basic
- Oracle Application Express
- NetBeans
11Le lock-in des outils
- Sauvegarde du travail dans un format binaire ou
propriétaire. - Génération de code complexe et non documenté.
12Dangers
- 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.
13Avantages
- Intégration très forte entre l'outil et le code.
- Tranquilité d'esprit.
14Attention aux outils utilisés
- Les outils ne sont pas une potion magique.
- Utiliser des outils transparents.
15Un exemple NetBeans Matisse
16Lock-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.
17Dangers
- Coûts et dépendance.
- Impossibilité de porter l'application sur un
autre environnement. - Innovation moins rapide.
18Avantages
19Solutions
- Standards ouverts et solutions Open Source.
20Les standards ouverts
- Processus de décision communautaire.
- Spécifications formelles.
- Plusieurs implémentations disponibles.
21Avantages
- 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, ...).
22Dé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é.
23Les standards à tout prix?
- Attention à la surutilisation des standards.
- Chaque développement a un contexte et des
particularités différentes.
24Dans 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.
25Exemples de standards à forte valeur ajoutée
- Paquetage de l'application.
- Traitement de requêtes Web.
26Exemples de standards à faible valeur ajoutée
- Frameworks.
- Sécurité.
- Persistance.
27La 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.
28Les solutions Open Source
- Autre méthode d'atteindre la portabilité.
- S'appuient sur les services standards de bas
niveau de l'environnement.
29Pourquoi l'Open Source?
- Très adapté aux domaines complexes et méconnus.
30Pourquoi 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.
31La dette technique
- Ne jamais compromettre la qualité d'un
développement!
32Toujours pas convaincu?
- Il y aura toujours des trous à combler .
- Les développements maison sont beaucoup plus
couteux.
33Trop de choix?
- Le monde de l'Open Source bouge très très vite.
34Adopter 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.
35Et 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.
36 37Pourquoi l'interopérabilité
- L'informatique est de plus en plus central au
fonctionnement d'une entreprise.
38Pourquoi 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.
39L'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.
40Format de message
- Pour que 2 applications interagissent entre
elles, elles doivent utiliser un format de
message commun.
41Plusieurs possibilités
- Protocoles réseaux JMS, Web Services, RMI, ...
- Fichiers locaux, Fichiers distants
- Courriels
- Données en Base de Données
- ...
42Service Web
- Les Services Web sont une technologie réçente qui
génère beaucoup d'enthousiasme.
43Service 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.
44Pourquoi 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).
452 types de services Web
- Les Services Web de type SOAP.
- Les Services Web de type REST.
46Les 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.
47Les 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).
48La solution miracle?
- Simplement une technologie de messagerie.
- Acceptable d'utiliser d'autres technologies de
messagerie.
49Service 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.
50Service Oriented Architecture
- Domaine prometteur mais très jeune et très
complexe. - Attention au battage publicitaire et aux
standards prématurés (JBI, SCA).
51Plusieurs solutions OS innovatrices
- Mule
- Apache ActiveMQ
- Spring Integration