Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Javavs net

1,186 views

Published on

Comparaison des plateformes Java et .Net, points forts et faibles respectifs - évidemment, c'est Java qui gagne à la fin :P

Published in: Education, Technology
  • Be the first to comment

Javavs net

  1. 1. JavaEEcompareTo .NET<br />Jean-Philippe Gouigoux & Nicolas De Loof<br />
  2. 2. Who’swho ?<br />Nicolas De Loof<br />Jean-Philippe Gouigoux<br />Architecte Java<br />JUG-Leader<br />Open-sourceur<br />Auteur<br />…<br />http://blog.loof.fr/<br />Architecte .NET<br />UBS, AgileTour<br />MCPD.NET<br />Auteur<br />search://gouigoux<br />
  3. 3. Une similitude certaine<br />Source : http://java.interoperabilitybridges.com<br />
  4. 4. Round 1<br />
  5. 5. Hibernate & JPA<br />EJB Entity:’(<br />JDO :-/<br />Hibernate:)<br />JPA :D<br />… Criteria ? NoSQL ?<br />2<br />
  6. 6. ADO.NET<br />.NET 2.0 : circulez, y’a rien à voir !<br />NHibernate<br />ADO.NET Entity Framework <br />Mapping XML / Attribut<br />NoSQL / Object Prevalence (Bamboo)<br />
  7. 7. Round 2<br />Component<br />
  8. 8. POJO and/or EJB<br />EJB 1 <br />EJB 2<br />Spring !<br />EJB 3<br />CDI & @Inject<br />…<br />
  9. 9. POCO, MEF<br />ADO.NET Entity Framework<br />Linq to Entity<br />Génération T4<br />Injection .NET 2.0 : NInject, Unity, etc.<br />Injection .NET 4.0 : MEF (intégré)<br />
  10. 10. Round 3<br />Web U.I<br />
  11. 11. WebForms<br />ASP.NET / Designer graphique<br />Silverlight 3, 4, 5 ! (Silverlight 2 # JavaFX 2)<br />JQuery intégré dans Visual Studio .NET<br />MVC 3<br />
  12. 12. L’embarras du choix<br />JSF / Seam / Wicket / SpringMVC / Stripes / Struts / Tapestry / GWT / …<br />
  13. 13. Round 4<br />Web Services<br />
  14. 14. D’ASP.NET A WCF<br />[WebMethod] et ça marche…<br />WS-I Basic Profile 1.1<br />D’Axis-1 à Axis-2<br />WCF : framework de communication complet (RMI, SOAP, REST, JSON, etc.)<br />Contract First<br />Excellente extensibilité, lien à WF, etc.<br />
  15. 15. JAX-RPC, JAX-WS<br />RPC/Encoded, seul contre tous …<br />JAX-RPC 2  JAX-WS<br />JAXB 2 :D<br />(JiBX, Xstream, Aegis, … )<br />
  16. 16. Round 4 (bis)<br />REST<br />
  17. 17. JAX-RS<br />JAX-RS 1.0 :)<br />JAX-RS 2.0 :D<br />
  18. 18. WCF data services<br />Anciennement Astoria, puis ADO.NET Data Services,puis WCF Data Services<br />Excellent lien à Odata<br />Exposition REST / XML / JSON en 3 lignes<br />
  19. 19. Round 5<br />Container<br />
  20. 20. J2EE <br />Java EE 6+<br />Springvs JavaEE<br />
  21. 21. MEF<br />ManagedExtensibility Framework<br />
  22. 22. Round 6<br />CLOUD<br />
  23. 23. … JavaEE 7 ?<br />Google App Engine<br />Amazon ElasticBeans<br />RedHatOpenShift<br />CloudBeesRUN@Cloud<br />… ?<br />Standardisation annoncée dans JavaEE 7<br />
  24. 24. Azure<br />Un an d’existence en production<br />Azure Data Market très riche<br />Accès Odata, SDK Java, Intégration Eclipse<br />Architectures partagées Cloud / LAN<br />
  25. 25. Round 7<br />Tools<br />
  26. 26. De facto …<br />Dev : Eclipse<br />(Idea, Netbeans)<br />Build : Maven<br />(Ant, Gradle)<br />Intégration Continue : Jenkins (whatelse?)<br />Qualimétrie : Sonar<br />Quel niveau d’intégration ?<br />
  27. 27. Intégration<br />Open Source : <br />L’aspect « propriétaire » a ses avantages<br />
  28. 28. Round 8<br />alternatives<br />
  29. 29. Spring, Play!, Grails, Scala…<br />Java n’est pas juste un langage, c’est une plateforme !<br />
  30. 30. Ouvert (si, si)<br />Multi-language<br />Multi-plateforme<br />Azure : SDK Java, PHP, Tomcat Accelerator, etc.<br />
  31. 31. Round 9<br />interoperability<br />
  32. 32. « runanywhere »<br />Ou presque …<br />
  33. 33. Surprenante<br />COM, Pinvoke<br />SOAP, WSDL, etc.<br />XML Office<br />.NET : deux standards ECMI<br />Cas d’école : interop WS avec AXIS 1 / AXIS 2<br />Interop devenue stratégique pour Microsoft<br />
  34. 34. Round 10<br />MULTITHREAD<br />
  35. 35. Java.util.concurrent<br />JSR 166<br /><ul><li>Java6 : bon niveau d’abstraction
  36. 36. Java7 : ajout des parallelarrays</li></ul>Scala, Clojure ou Groovy pour aller plus loin<br />
  37. 37. Matûre<br />System.Threading<br />ParallelLinq<br />Tasks<br />TPL<br />R&D « Phoenix »<br />
  38. 38. Conclusion<br />Conclusion<br />
  39. 39. Un futur brillant<br />Ecosystème Open Source riche (AForge)<br />F#, Async, Linq, TPL<br />OpenCL .NET, Accelerator, Brahma<br />Force de l’intégration (TFS / hand-made)<br />Combien de temps pour un F# / un Linqen Java ?<br />
  40. 40. 2000<br />
  41. 41. 2010<br />
  42. 42. Du mou dans les genoux ?<br />Depuis la sortie de Java 6 (2006), gros coup de frein dans le monde Java :<br /><ul><li>Conflits politiques dans le JCP
  43. 43. Départ des spec-leads…</li></ul>Un nouveau lead apparaît<br /><ul><li>JBoss via l’opensourceet en collaboration avec le JCP
  44. 44. Oracle reprend la main et passe en force</li>

×