Your SlideShare is downloading. ×
  • Like
Quelles évolutions fonderont l’avenir des serveurs d’application ?
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Quelles évolutions fonderont l’avenir des serveurs d’application ?

  • 81 views
Published

Quelles évolutions fonderont l'avenir des serveurs d'application ? …

Quelles évolutions fonderont l'avenir des serveurs d'application ?

Depuis 10 ans les serveurs d'applications se sont imposés dans l'informatique de gestion.
Mais aujourd'hui des offres innovantes bousculent les anciennes règles et standards. Les architectures cloud et grid rompent avec le découpage en 3 tiers. Des offres modulaires s'opposent aux outils dotés de multiples fonctionnalités. Des nouveaux frameworks java
mais également Grails ou JRuby on Rails challengent les API JEE tout en s'appuyant sur l'existant.

En nous basant sur la plateforme Java, nous balaieront les principales innovations qui dessinent le futur des serveurs d'application. Que peuvent-elles apporter ? Que vont-elles remettre en cause ou remplacer ?

Published in Software
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
81
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Quelles évolutions fonderont l’avenir des serveurs d’application ? Marc Bojoly, Rudy Krol
  • 2. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI Modèle de programmation Modularité Middleware
  • 3. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI
  • 4. Du conteneur lourd au conteneur léger 4 Conteneur lourd Serveur d’application J2EE EJB Modèle de programmation J2EE EJB EJB JVM ### ### ### ###### ### ### Services support © OCTO Technology - Université du Système d’Information
  • 5. Du conteneur lourd au conteneur léger 5 JVM POJO Spring POJO POJO Conteneur lourd Serveur d’application J2EE Framework applicatif Conteneur léger EJB Modèle de programmation J2EE EJB EJB JVM ### ### ### ###### ### ### Services support © OCTO Technology - Université du Système d’Information
  • 6. Du conteneur lourd au conteneur léger 6 JVM Conteneur lourd Serveur d’application J2EE ### ### ### ###### ### ### Services support Conteneur léger EJB Modèle de programmation J2EE EJB EJB JVM ### ### ### ###### ### ### Services support JVM POJO Spring POJO POJO POJO Spring POJO POJO © OCTO Technology - Université du Système d’Information
  • 7. Java EE et les frameworks OpenSource 7 JCP Frameworks OpenSource mai 1998 J2EE 1.2 dec 1999 J2EE 1.3 sep 2001 J2EE 1.4 nov 2003 Java EE 5 mai 2006 Standard Propriétaire Influence Légende : Spring → EJB3 Hibernate → JPA © OCTO Technology - Université du Système d’Information
  • 8. Que reste-t-il aux serveurs d’application? Gérer l’accès aux ressources Fournir un cadre pour l’administration Fournir des services de middleware 8 Pool de threads Packaging & déploiement HTTP © OCTO Technology - Université du Système d’Information
  • 9. Notre vision Les standards de fait • Forment l’état de l’art • Inspirent le standard • Testables en dehors du middleware 9 Performance Productivité Scalabilité © OCTO Technology - Université du Système d’Information
  • 10. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI
  • 11. Influence de « Ruby on Rails » 11 JCP Standard Propriétaire Influence Légende : Frameworks OpenSource Ruby on Rails JRuby on Rails mai 1998 J2EE 1.2 dec 1999 J2EE 1.3 sep 2001 J2EE 1.4 nov 2003 Java EE 5 mai 2006 © OCTO Technology - Université du Système d’Information
  • 12. Expressivité de Grails face à Java 12© OCTO Technology - Université du Système d’Information
  • 13. Les « Rails like » plus productifs que Java 13 Java « Rails like » Round 1 : Langage Beaucoup de code Java et XML Langage de scripting concis Round 2 : Architecture logicielle Assemblage de frameworks à construire Clé en main Round 3 : Cycle développement Lent : redéploiement fréquent Rapide : sauvegarder/tester versus © OCTO Technology - Université du Système d’Information
  • 14. Notre vision Les « Rails like » • Rails et JEE : deux utilisations complémentaires • Pas de nouveauté au niveau middleware 14 Performance Productivité Scalabilité © OCTO Technology - Université du Système d’Information
  • 15. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI
  • 16. Les contraintes en développement 16 • HotSwap : mise à jour par le débugger Build Debug API Test → 1 seconde… © OCTO Technology - Université du Système d’Information
  • 17. Les contraintes en développement 17 Redémarrage contexte TestLoginDéploiementBuild .ear • HotDeploy : redémarrage du conteneur par l’IDE • HotSwap : mise à jour par le débugger Build Debug API Test → entre 30 secondes et 2 minutes ! → 1 seconde… © OCTO Technology - Université du Système d’Information
  • 18. Des solutions existent 18 • JavaRebel : mise à jour par un plugin de JVM Build Plugin JavaRebel Test → 1 seconde ! © OCTO Technology - Université du Système d’Information
  • 19. Notre vision JavaRebel • Des développeurs plus concentrés • Indépendant du serveur utilisé • Ne résout pas tout 19 Performance Productivité Scalabilité © OCTO Technology - Université du Système d’Information
  • 20. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI
  • 21. L’évolution des conteneurs web 21 JCP Standard Propriétaire Influence Légende : Conteneurs web Tomcat mai 1998 J2EE 1.2 dec 1999 J2EE 1.3 sep 2001 J2EE 1.4 nov 2003 Java EE 5 mai 2006 Java EE 6 sep 2009 © OCTO Technology - Université du Système d’Information
  • 22. Profilcomplet Le profil web de Java EE 6 22 EJB 3.1 Full JAX-WS 2.2 … WebBeans 1.0 JMS 1.1 Profil web JSTL 1.2 Servlet 3.0 EJB 3.1 Lite JPA 2.0JSP/EL 2.2 JSF 2.0 JTA 1.1 … © OCTO Technology - Université du Système d’Information
  • 23. Notre vision Conteneurs web • Moins de problèmes d’intégration • Vous n’utilisez que ce dont vous avez besoin • Meilleure maîtrise générale 23 Performance Productivité Scalabilité © OCTO Technology - Université du Système d’Information
  • 24. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI
  • 25. Les enjeux de la modularité 25 Des spécifications JavaEE de plus en plus nombreuses (45) Beaucoup de fonctionnalités hors standard Serveur d’application complexe (configuration, temps de démarrage, performance, etc.) © OCTO Technology - Université du Système d’Information
  • 26. OSGi dans tous les serveurs d’applications 26 Environnement d’exécution © OCTO Technology - Université du Système d’Information
  • 27. Notre vision Serveur d’application modulaire • Flexibilité du middleware • Vous n’utilisez que ce dont vous avez besoin • Différents niveaux de modularité 27 Performance Productivité Scalabilité © OCTO Technology - Université du Système d’Information
  • 28. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI
  • 29. Pourquoi modulariser une application ? 29 Enjeux Hot maintenance Plusieurs versions d’une librairie Architecture plus flexible © OCTO Technology - Université du Système d’Information
  • 30. De nouvelles contraintes à tous les niveaux 30 Feuille de route Conception et implémentation Qualification d’application complète Mise en production © OCTO Technology - Université du Système d’Information
  • 31. Notre vision Les applications modulaires • Réservé aux progiciels • Intérêt si vous maintenez plusieurs versions en parallèle • Impact fort sur la conception 31 Performance Productivité Scalabilité © OCTO Technology - Université du Système d’Information
  • 32. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI
  • 33. Limite de scalabilité du 3-tiers 33 v2 Schéma relationnel Base de données Présentation & traitements Données temporaires Clients Web © OCTO Technology - Université du Système d’Information
  • 34. L’alternative : l’architecture grille de données 34 Données dans la grille Traitements Présentation Données persistantes Données temporaires eXtreme Scale Weblogic Application Grid eXtreme Application Platform © OCTO Technology - Université du Système d’Information
  • 35. Notre vision L’architecture en grille •Nouveau middleware •Pour distribuer la donnée •Complexe 35 Performance Productivité Scalabilité © OCTO Technology - Université du Système d’Information
  • 36. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI
  • 37. La brèche Google App Engine 37 JCP Standard Propriétaire Influence Légende : Google App Engine mai 1998 J2EE 1.2 dec 1999 J2EE 1.3 sep 2001 J2EE 1.4 nov 2003 Java EE 5 mai 2006 Java EE 6 sep 2009 © OCTO Technology - Université du Système d’Information
  • 38. Les contraintes de Google App Engine 38 Google Datastore : Un stockage non relationnel Votre SI : Un goulet d’étranglement IDL JDBC™ JNDI™ RMI RMI-IIOP Scripting Beans Intl Support I/O JMX JNI Math Networking Override Mechanism Security Serialization Extension Mechanism XML JAXP lang and util Collections Concurrency Utilities JAR Logging Management Preferences API Ref Objects Reflection Regular Expressions Versioning Zip Instrume nt Google JRE : JPA Support partiel Secure Data Connector © OCTO Technology - Université du Système d’Information
  • 39. Les contraintes de Google App Engine 39 Secure Data Connector Google JRE : Google Datastore : Un stockage non relationnel Votre SI : Un goulet d’étranglement JPA Support partiel IDL JDBC™ JNDI™ RMI RMI-IIOP Scripting Beans Intl Support I/O JMX JNI Math Networking Override Mechanism Security Serialization Extension Mechanism XML JAXP lang and util Collections Concurrency Utilities JAR Logging Management Preferences API Ref Objects Reflection Regular Expressions Versioning Zip Instrume nt Pas de réflexion Pas d’accès au système (fichier, console) Pas de threads… © OCTO Technology - Université du Système d’Information
  • 40. Les contraintes de Google App Engine 40 Google JRE : Google Datastore : Un stockage non relationnel Votre SI : Un goulet d’étranglement JPA Support partiel Spring GWT JMS JDBCJSF Log4j Supporté? OUI NON Secure Data Connector Peut-être © OCTO Technology - Université du Système d’Information
  • 41. Les contraintes de Google App Engine 41 Secure Data Connector Google JRE : Google Datastore : Un stockage non relationnel Votre SI : Un goulet d’étranglement JPA Support partiel Spring GWT JMS JDBCJSF Log4j Supporté?OUI NON Le portage d’une application existante s’apparente à une réécriture © OCTO Technology - Université du Système d’Information
  • 42. Notre vision Google App Engine • Ne remplace pas un serveur d’application • Utile pour des catalogues, des événements à forte consultation • Utile uniquement si la charge de l’application n’est pas maîtrisable 42 Performance Productivité Scalabilité © OCTO Technology - Université du Système d’Information
  • 43. Des concurrents au modèle de programmation JEE Apparition des « Rails like » Productivité des développements Les conteneurs web en pleine expansion Des serveurs d’application de plus en plus modulaires Modularité dans les applications L’architecture en grille : une alternative au 3-tiers ? Google App Engine : le futur serveur d’application ? Le cloud dans votre SI
  • 44. Etat de l’art : clustering et virtualisation Virtualisation Clustering 44 Switch L7 Console D’administration Machines physiques Serveurs d’application Machines virtuelles & Serveurs d’application Serveurs physiques Console D’administration © OCTO Technology - Université du Système d’Information
  • 45. Le cloud dans l’entreprise 45 Appliance de serveur d’application Images virtuelles : Système d’exploitation & Serveur d’application Switch L7 Console D’administration CloudBurst Appliance Weblogic Virtual Edition © OCTO Technology - Université du Système d’Information
  • 46. Notre vision Mon infrastructure sous forme de cloud • Moindre contrainte que Google App Engine • Scalabilité plus limitée • Valeur ajoutée faible par rapport à la virtualisation 46 Performance Productivité Scalabilité © OCTO Technology - Université du Système d’Information
  • 47. Conclusion
  • 48. Quel modèle de programmation ? 48 JCP Frameworks OpenSource Standard Propriétaire Influence Légende : Java EE 6 sep 2009 Java EE 7 ? 2013 ? ? mai 1998 J2EE 1.2 dec 1999 J2EE 1.3 sep 2001 J2EE 1.4 nov 2003 Java EE 5 mai 2006 Le modèle de programmation le plus adapté à l’équipe de développement Rails Like © OCTO Technology - Université du Système d’Information
  • 49. Quel serveur d’application ? • Des middlewares spécialisés apparaissent pour répondre à des besoins divergents • Le serveur d’application devient une plateforme 49 Serveur d’application Conteneur web RMI JTA JMS Cloud Grille Choisir une typologie de middleware © OCTO Technology - Université du Système d’Information