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

Architecture ouverte: standards et logiciels ouverts en Java Robert Gérin-Lajoie, Cirano Présentation.

Présentations similaires


Présentation au sujet: "Architecture ouverte: standards et logiciels ouverts en Java Robert Gérin-Lajoie, Cirano Présentation."— Transcription de la présentation:

1 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 Java2 Architecture ouverte Standards ouverts Logiciels et documents ouverts Les 2 produisent un écosystème –Liberté –Autonomie –Choix –Compétition

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

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

5 Architecture ouverte: standards et logiciels ouverts en Java5 Logiciels libres et ouverts Voir définitions, 2 organismes –http://opensource.org/licenses/index.php –http://www.gnu.org/philosophy/free-sw.fr.html 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é

6 Architecture ouverte: standards et logiciels ouverts en Java6 Point stratégique –Les licences à la BSD et à la Apache Les modifications aux codes sources peuvent rester propriétaires Pour Apache, les droits dauteurs sont transférés à la fondation –Copyleft (sous gauche dauteur) 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 lapplication soit libre LGPL permet la co-existance dun composant libre avec un composant propriétaire

7 Architecture ouverte: standards et logiciels ouverts en Java7 Comparaison

8 Architecture ouverte: standards et logiciels ouverts en Java8 Position de Tim OReilly 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 –http://www.oreilly.com/pub/a/oreilly/ask_tim/2003/gnusource_0703.html

9 Architecture ouverte: standards et logiciels ouverts en Java9 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é dexperts Java Specifications Request Vendeurs, membres de la communauté des logiciels ouverts

10 Architecture ouverte: standards et logiciels ouverts en Java10 Java nest 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

11 Architecture ouverte: standards et logiciels ouverts en Java11 Logiciels libres et ouverts en Java Ils couvrent un large éventail de fonctionnalité –Outils développeurs –Infrastructures J2EE dentreprise –Applications spécialisées Basés sur les standards de Java Open source threatens Java servers –http://news.zdnet.co.uk/software/developer/0, , ,00.htm

12 Architecture ouverte: standards et logiciels ouverts en Java12 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

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

14 Architecture ouverte: standards et logiciels ouverts en Java14 Serveur Web léger dentreprise Standard Servlet et JSP Tomcat –Avec Apache –JBOSS ou autres

15 Architecture ouverte: standards et logiciels ouverts en Java15 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

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

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

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

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

20 Architecture ouverte: standards et logiciels ouverts en Java20 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.

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

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

23 Architecture ouverte: standards et logiciels ouverts en Java23 Publication Web et de cycle de mise à jour OpenCMS –http://www.opencms.org/opencms/en/http://www.opencms.org/opencms/en/ Lutece –Mairie de Paris Red Hat CMS –http://www.redhat.com/pdf/rhea/Red_Hat_Ente rprise_Content_Management_System_Overvie w.pdf

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

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

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

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

28 Architecture ouverte: standards et logiciels ouverts en Java28 Un canevas dentreprise Riche et complexe Open for Business Project –http://www.ofbiz.org/

29 Architecture ouverte: standards et logiciels ouverts en Java29 Flux de tâches Permet dexternaliser le séquencement des opérations et des événements sur de longue période (heures, jours, semaines) « Workflow » dexé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

30 Architecture ouverte: standards et logiciels ouverts en Java30 Règles dentreprises Les règles dentreprises permettent dexternaliser la logique daffaire et de lenlever 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 daffaires 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

31 Architecture ouverte: standards et logiciels ouverts en Java31 Outils ouverts et spécialisés pour les moteurs de règles Drools –Chaînage avant –Voir Mandarax –Chaînage arrière –http://mandarax.org/ Bien dautres, plus des outils de recherche –Rules ML

32 Architecture ouverte: standards et logiciels ouverts en Java32 Application de gestion dentreprise 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

33 Architecture ouverte: standards et logiciels ouverts en Java33 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 lutilisateur, javadoc en-ligne, tutoriel, livre(s)) pour le développeur pour ladministrateur pour lopérateur

34 Architecture ouverte: standards et logiciels ouverts en Java34 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é dinstallation Extensibilité Flexibilité

35 Architecture ouverte: standards et logiciels ouverts en Java35 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 dautres

36 Architecture ouverte: standards et logiciels ouverts en Java36 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

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


Télécharger ppt "Architecture ouverte: standards et logiciels ouverts en Java Robert Gérin-Lajoie, Cirano Présentation."

Présentations similaires


Annonces Google