Présentation au DIRO 12 décembre 2003

Slides:



Advertisements
Présentations similaires
Bibliothèques, Open Source et Logiciels Libres
Advertisements

MGP Groupe 30 Processus de projets, contrôle des risques
Présentation des technologies SharePoint 2007
Les technologies décisionnelles et le portail
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Plan Portlets La norme JSR-168 Qu'est-ce qu'une Portlet ?
Tomcat et son fonctionnement XML
Etat d'avancement ORI-OAI Interaction avec les ENT.
SITools Présentation de l’outil (1/2)
Serveurs web pour JSP et Servlets
Architecture. Architecture Enjeux Les Enjeux Trouver une solution e-Business Accessible à partir d’un navigateur Web Accédant au système via un Portail.
Une solution personnalisable et extensible
Les logiciels libres et le handicap pourquoi ??. Utiliser : la liberté dutiliser/exécuter le logiciel pour quelque usage que ce soit. Étudier : la liberté
Exposé de Système - Informatique et Réseau
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
F. Sajous & L .Tanguy ERSS – Axe (du) TAL
Toolkit Web Framework Java pour les IHMs Cédric Dumas mars 2008 contrat Creative Commons Paternité-Pas d'Utilisation Commerciale- Partage.
Architecture Technique de la plate-forme CASTOR Projet Castor © Ecole des Mines de Nantes
Projet J2EE Maverick XMLBeans Garcel Jean-Baptiste – Le Loc Martin – Muller Thibaut.
Présentation des frameworks pour Java EE
Projet JEE approfondi Stripes / Toplink
Introduction aux CMS.
Introduction aux services WEB
Présenté par : Kalleli Dhouha
Mise en place d'archives ouvertes: mesures pratiques
pour les applications Web :
1 Soutenance de stage Projet Farandole Christophe Matiachoff Touati Sid Mathieu Changeat
Cours GLG203 Cours J2EE JDBC, RMI, IIOP, Sécurité, XML
Archimède : dépôt institutionnel de la Bibliothèque de lUniversité Laval Par Rida Benjelloun Chef de la section recherche.
Projet JAVA EE Approfondi
Clients riches RIA (Rich Internet Application) / RDA
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
Découverte de PMB Mise à jour du 5/03/ Découverte de PMB Logiciel libre SIGB.
Les Serveurs WEB.
Journée d´étude SPIP : Niveau 1 Campus Numérique Francophone de Cotonou Simon F. Adjatan.
La face cachée des systèmes de recherche Martin Bouchard, président Janvier 2003.
Les applications Cocktail
Logiciels libres et Carrefour pédagogique Un premier pas vers un renouveau techno- pédagogique... Daniel Ricard et Richard Ayotte Janvier 2005.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Mise en oeuvre et exploitation
Java Enterprise Edition, anciennement J2EE
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
Greta des monts du cantal
09/11/2006 CMS Content Management System Système de Gestion de Contenu.
Bureau d’études Présentation du sujet Organisation des projets Version 1 8 octobre 2004.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
ESUP Days 5 février Bedework GIRARD Hugo (Université d’Evry Val d’Essonne, CEVIF) ‏ FRADET Didier (Université Henri Poincaré Nancy) ‏ FISCAL Rosan.
Introduction au Génie Logiciel
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
© 1 Struts Java, Applications J2EE Conclusion. © 2 Struts Java, Applications J2EE Les contre Framework générique –Conçu pour répondre à tous les besoins,
G ROUPE IRIUM ™ N°1 européen des PGI pour Distributeurs, Loueurs & Importateurs de Machines Les Bases de Connaissances Knowledge Base Maxime HILAIRE 07/05/2008.
CSC Proprietary 6/20/2015 9:42:54 AM 008_5849_ER_Red 1 BPM - SOA Logo du client Synthèse de notions “fondamentales” par Guillaume Feutren, Stagiaire *
Les Systèmes de Gestion de Contenu (CMS) Allirand Maud Chabord Grégoire Massart Anne-Sophie 24 novembre 2006.
Séance /01/2006 Les technologies des sites dynamiques.
Définition d’un CMS Comparatif des différents CMS Les CMS Généraux.
Les solutions de travail collaboratif
Développement à base de Logiciels Libres Chapitre 2 : Législations logiciels libres 2012 Institut Supérieur d’Informatique ISI.
9 février 2010 Enrique Ruiz Mateos Architecte avant-vente Microsoft
Modèle à objets et sérialisation Olivier ChamlaFrançois Chastanet.
Architectures Logicielles Java GLG203 GLG204
Travail Collaboratif & Open Source Etat de l’art - Solutions - Méthodes.
Proposition au 20-dec-2005 Projet de partenariat co-initié par FdP Genève - LPA - Akis Ingénierie - KeyPartners 1 Plate-forme collaborative pour la conception.
Systems for all your business needs Workshop Plateforme de Développement et de Déploiement Présentée par: Mr. Sofiane Bouziri Directeur Général de Grepsys.
Architecture J2EE Web Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
WHAT IS THIS ? Serveur d’intégration Environnement JAVA Open Source Ou logiciel d’intégration continue.
Transcription de la présentation:

Présentation au DIRO 12 décembre 2003 Architecture ouverte: standards et logiciels ouverts en Java Robert Gérin-Lajoie, Cirano http://www2.cirano.qc.ca/~gerinlar/fr/MaPagePublique/ Présentation au DIRO 12 décembre 2003

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

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

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

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

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

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

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 http://www.oreilly.com/pub/a/oreilly/ask_tim/2003/gnusource_0703.html Architecture ouverte: standards et logiciels ouverts en Java

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

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

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 http://news.zdnet.co.uk/software/developer/0,39020387,2130500,00.htm Architecture ouverte: standards et logiciels ouverts en Java

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

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

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

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 http://hsqldb.sourceforge.net/ Traduction Objets-Relationnels et persitance Hibernate http://www.hibernate.org/ Architecture ouverte: standards et logiciels ouverts en Java

Architecture ouverte: standards et logiciels ouverts en Java Contenants J2EE Jboss 3.1 http://www.jboss.org/index.html Jonas Voir http://jonas.objectweb.org/ OpenEJB Voir http://openejb.org/ Geronimo, de Jakarta Départ en lion, disponible en 2004 Architecture ouverte: standards et logiciels ouverts en Java

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

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 http://www.jsfcentral.com/ Architecture ouverte: standards et logiciels ouverts en Java

Canevas Java pour les applications Web simple d’entreprise OpenSymphony: un canevas réputé Voir http://www.opensymphony.com/ Expresso Voir http://www.jcorporate.com/index.html Turbine Voir http://jakarta.apache.org/turbine/ Architecture ouverte: standards et logiciels ouverts en Java

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

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

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

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

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 168 - Portlets Web Services Remote Portlet (WSRP) de Oasis Architecture ouverte: standards et logiciels ouverts en Java

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

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

Environnements collaboratifs Communautés virtuelles SnipSnap: Blog et Wiki dans un! http://snipsnap.org/space/start Javalobby Community Platform (JLCP) http://www.jlcp.org/index.do, version 0.5 Nuke sur JBoss Architecture ouverte: standards et logiciels ouverts en Java

Un canevas d’entreprise Riche et complexe Open for Business Project http://www.ofbiz.org/ Architecture ouverte: standards et logiciels ouverts en Java

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

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

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

Application de gestion d’entreprise et de relation client Compiere http://www.compiere.org/ 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

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

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

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

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

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