La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Présentation au DIRO 12 décembre 2003

Présentations similaires


Présentation au sujet: "Présentation au DIRO 12 décembre 2003"— Transcription de la présentation:

1 Présentation au DIRO 12 décembre 2003
Architecture ouverte: standards et logiciels ouverts en Java Robert Gérin-Lajoie, Cirano Présentation au DIRO 12 décembre 2003

2 Architecture ouverte: standards et logiciels ouverts en Java
Standards ouverts Logiciels et documents ouverts Les 2 produisent un écosystème Liberté Autonomie Choix Compétition Architecture ouverte: standards et logiciels ouverts en Java

3 Architecture ouverte: standards et logiciels ouverts en Java
Exemple Standard TCP/IP Logiciel libre TCP/IP avec BSD Maintenant intégré dans beaucoup de produits propriétaires Disponible avec les logiciels libres Architecture ouverte: standards et logiciels ouverts en Java

4 Architecture ouverte: standards et logiciels ouverts en Java
Standards ouverts Spécifications techniques Implémentation de référence Tests de conformité Architecture ouverte: standards et logiciels ouverts en Java

5 Logiciels libres et ouverts
Voir définitions, 2 organismes Résumé La liberté d'exécuter le programme, pour tous les usages La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins Pour ceci l'accès au code source est une condition requise. La liberté de redistribuer des copies. La liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté Architecture ouverte: standards et logiciels ouverts en Java

6 Architecture ouverte: standards et logiciels ouverts en Java
Point stratégique Les licences à la BSD et à la Apache Les modifications aux codes sources peuvent rester propriétaires Pour Apache, les droits d’auteurs sont transférés à la fondation Copyleft (sous gauche d’auteur) Présent dans la licence GPL Ceci veut dire que chaque copie du logiciel, même si elle a été modifiée, doit être un logiciel libre. GPL Vs LGPL GPL oblige que toute l’application soit libre LGPL permet la co-existance d’un composant libre avec un composant propriétaire Architecture ouverte: standards et logiciels ouverts en Java

7 Architecture ouverte: standards et logiciels ouverts en Java
Comparaison Architecture ouverte: standards et logiciels ouverts en Java

8 Position de Tim O’Reilly
Logiciel libre Une vision plus philosophique sur les droits des développeurs et des utilisateurs Logiciel ouvert Une vision plus centrée sur les bénéfices « économiques » du partage des codes sources et de la réutilisation des composants GNU.org Versus OpenSource.org Architecture ouverte: standards et logiciels ouverts en Java

9 Architecture ouverte: standards et logiciels ouverts en Java
Et Java? Java est un standard ouvert Voir définition Description, implémentation de référence et test Contrôlé Par Sun, IBM, BEA, Oracle et le Java Community Process Modifications par plusieurs dizaines de comité d’experts Java Specifications Request Vendeurs, membres de la communauté des logiciels ouverts Architecture ouverte: standards et logiciels ouverts en Java

10 Java n’est pas un « standard libre »
Stabilité et évolution contrôlé Énorme avantage pour la communauté de logiciel libre On peut bâtir sur des fondations stables On peut entrelacer des composantes de diverses origines Avec la richesse des API de Java Permettent des applications de haut niveau Architecture ouverte: standards et logiciels ouverts en Java

11 Logiciels libres et ouverts en Java
Ils couvrent un large éventail de fonctionnalité Outils développeurs Infrastructures J2EE d’entreprise Applications spécialisées Basés sur les standards de Java Open source threatens Java servers Architecture ouverte: standards et logiciels ouverts en Java

12 Architecture ouverte: standards et logiciels ouverts en Java
Quoi? Livre “Java Open Source Programming” Outils développeurs JavaDoc, Xdoclet, Ant, Environnements de développement Eclipse, Netbeans Outils UML ArgoUML Outils de tests Junit, HttpUnit Architecture ouverte: standards et logiciels ouverts en Java

13 Standards applicatifs Infrastructure basé sur J2EE
Serveur Web léger Base de donnée Serveur J2EE complet (presque) Architecture ouverte: standards et logiciels ouverts en Java

14 Serveur Web léger d’entreprise
Standard Servlet et JSP Tomcat Avec Apache JBOSS ou autres Architecture ouverte: standards et logiciels ouverts en Java

15 Architecture ouverte: standards et logiciels ouverts en Java
Base de données Connecteurs basé sur le standard JDBC Vers mySQL, PostgreSQL Hypersonic SQL, une base de données SQL légère en Java Traduction Objets-Relationnels et persitance Hibernate Architecture ouverte: standards et logiciels ouverts en Java

16 Architecture ouverte: standards et logiciels ouverts en Java
Contenants J2EE Jboss 3.1 Jonas Voir OpenEJB Voir Geronimo, de Jakarta Départ en lion, disponible en 2004 Architecture ouverte: standards et logiciels ouverts en Java

17 Architecture ouverte: standards et logiciels ouverts en Java
Canevas applicatifs Modèles de présentation- MVC Applications légères Applications complexes Architecture ouverte: standards et logiciels ouverts en Java

18 Modèles de présentation
Standard Java Server Pages et JSTL Struts, Tiles Velocity WebWork, un canevas de présentation MVC Java Server Faces Standard final très proche, en 2004, encore en discussion Version Open Source Voir Architecture ouverte: standards et logiciels ouverts en Java

19 Canevas Java pour les applications Web simple d’entreprise
OpenSymphony: un canevas réputé Voir Expresso Voir Turbine Voir Architecture ouverte: standards et logiciels ouverts en Java

20 Architecture ouverte: standards et logiciels ouverts en Java
Open symphony Composants WebWork An MVC framework that stresses simplicity and interoperability. SiteMesh A page layout and decoration engine OSCache A web-tier caching framework OSWorkflow A flexible workflow engine that can be plugged in to almost any need or existing application. OSUser A user and group management component with pluggable storage and application server integrations. OSAccess An entitlement security engine for fine grain security access. Architecture ouverte: standards et logiciels ouverts en Java

21 Applications spécialisées
Architecture ouverte: standards et logiciels ouverts en Java

22 Système de gestion de contenu
Standards pertinents JSR Portlet JSR 170 – “Content Repository” Architecture ouverte: standards et logiciels ouverts en Java

23 Publication Web et de cycle de mise à jour
OpenCMS Lutece Mairie de Paris Red Hat CMS Architecture ouverte: standards et logiciels ouverts en Java

24 Architecture ouverte: standards et logiciels ouverts en Java
Portails Intégration de contenu provenant de sources diverses Personnalisation de la présentation selon l’utilisateur Récents standards JSR Portlets Web Services Remote Portlet (WSRP) de Oasis Architecture ouverte: standards et logiciels ouverts en Java

25 Exemples de portails ouverts
uPortal Effort massif de collaboration inter-université Repris par le projet MILLE Exo Platform Red Hat Portal Jetspeed 2.0 de Jakarta Réalisation en conformité au standard futur Architecture ouverte: standards et logiciels ouverts en Java

26 Indexation plein texte
Lucene de Jakarta Voir jakarta.apache.org/lucene Rapide, souple, sophistiqué Meilleur que bien des outils commerciaux Architecture ouverte: standards et logiciels ouverts en Java

27 Environnements collaboratifs
Communautés virtuelles SnipSnap: Blog et Wiki dans un! Javalobby Community Platform (JLCP) version 0.5 Nuke sur JBoss Architecture ouverte: standards et logiciels ouverts en Java

28 Un canevas d’entreprise
Riche et complexe Open for Business Project Architecture ouverte: standards et logiciels ouverts en Java

29 Architecture ouverte: standards et logiciels ouverts en Java
Flux de tâches Permet d’externaliser le séquencement des opérations et des événements sur de longue période (heures, jours, semaines) « Workflow » d’exécution des composants Caractéristiques souhaitées Standardisation des descriptions de workflow (XPDL, WfXML) Interface pour la création et l’édition des workflows Mécanisme de persistence de l’état des workflows (Mémoire, Sérialization, JDBC, EJB) Exemple: OS Workflow OfBiz Workflow Architecture ouverte: standards et logiciels ouverts en Java

30 Architecture ouverte: standards et logiciels ouverts en Java
Règles d’entreprises Les règles d’entreprises permettent d’externaliser la logique d’affaire et de l’enlever du code Les moteurs de règles, héritiers des systèmes experts des années 80, sont la technologie appropriée pour encoder les règles d’affaires Critères propres aux moteurs de règles Résolution par chaînage avant ou chaînage arrière Performance Standardisation du langage de définition de règles (RuleML) Compatibilité avec le JSR94 Type de langage de définition de règles (ex: XML, Lisp-like) Interface pour la création et l’édition des règles Architecture ouverte: standards et logiciels ouverts en Java

31 Outils ouverts et spécialisés pour les moteurs de règles
Drools Chaînage avant Voir Mandarax Chaînage arrière Bien d’autres, plus des outils de recherche Rules ML Architecture ouverte: standards et logiciels ouverts en Java

32 Application de gestion d’entreprise et de relation client
Compiere Offre ces fonctions de base Quote to Cash Requisition to Pay Customer Relations Management Partner Relations Management Supply Chain Management Performance Analysis Web Store Architecture ouverte: standards et logiciels ouverts en Java

33 Architecture ouverte: standards et logiciels ouverts en Java
Comment choisir? Critères de sélection et d’évaluation de la technologie « Open-Source » Type de license (p. ex. Apache, LGPL, GPL, etc.) Compagnie(s) supportant(s) le projet Prix du support externe Qualité de la documentation Coût de compréhension (démo en-ligne, exemple(s) de code, FAQ, guide de l’utilisateur, javadoc en-ligne, tutoriel, livre(s)) pour le développeur pour l’administrateur pour l’opérateur Architecture ouverte: standards et logiciels ouverts en Java

34 Qualité intrinsèque du projet
Nombre de committers Trafic sur les principaux mailing lists Références sur des sites reconnus (ex: JavaWorld, OnJava.com, TheServerSide.com) Dépendances Nombre de jars externes requis Facilité d’installation Extensibilité Flexibilité Architecture ouverte: standards et logiciels ouverts en Java

35 Architecture ouverte: standards et logiciels ouverts en Java
Qui? Communauté Jakarta de Apache Financé par IBM, Sun, et autres Soutenu par une communauté de développeurs Entrepreneurs offrant un service en complément à leur logiciel ouvert Sourceforge Bien d’autres Architecture ouverte: standards et logiciels ouverts en Java

36 Acteurs de la communauté des logiciels ouverts
Utilisateurs personnel PME Grande entreprise Gouvernements Développeurs solutions génériques services clefs en main Opérateurs de services Architecture ouverte: standards et logiciels ouverts en Java

37 Architecture ouverte: standards et logiciels ouverts en Java
Modèles commerciaux Distribution Intégration du logiciel Intégration du matériel (IBM, ventes 1.5 Milliard) Support Publications (O’Reilly) Contrats de développement Version à valeur ajoutée commerciale OpenOffice Vs StarOffice Licenses doubles Produits spécialisés (Firewall basé sur Linux) Architecture ouverte: standards et logiciels ouverts en Java


Télécharger ppt "Présentation au DIRO 12 décembre 2003"

Présentations similaires


Annonces Google