JavaEEcompareTo .NET<br />Jean-Philippe Gouigoux & Nicolas De Loof<br />
Who’swho ?<br />Nicolas De Loof<br />Jean-Philippe Gouigoux<br />Architecte Java<br />JUG-Leader<br />Open-sourceur<br />A...
Une similitude certaine<br />Source : http://java.interoperabilitybridges.com<br />
Round 1<br />
Hibernate & JPA<br />EJB Entity:’(<br />JDO :-/<br />Hibernate:)<br />JPA :D<br />… Criteria ? NoSQL ?<br />2<br />
ADO.NET<br />.NET 2.0 : circulez, y’a rien à voir !<br />NHibernate<br />ADO.NET Entity Framework <br />Mapping XML / Attr...
Round 2<br />Component<br />
POJO and/or EJB<br />EJB 1 <br />EJB 2<br />Spring !<br />EJB 3<br />CDI & @Inject<br />…<br />
POCO, MEF<br />ADO.NET Entity Framework<br />Linq to Entity<br />Génération T4<br />Injection .NET 2.0 : NInject, Unity, e...
Round 3<br />Web U.I<br />
WebForms<br />ASP.NET / Designer graphique<br />Silverlight 3, 4, 5 ! (Silverlight 2 # JavaFX 2)<br />JQuery intégré dans ...
L’embarras du choix<br />JSF / Seam / Wicket / SpringMVC / Stripes / Struts / Tapestry / GWT / …<br />
Round 4<br />Web Services<br />
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 ...
JAX-RPC, JAX-WS<br />RPC/Encoded, seul contre tous …<br />JAX-RPC 2  JAX-WS<br />JAXB 2 :D<br />(JiBX, Xstream, Aegis, … ...
Round 4 (bis)<br />REST<br />
JAX-RS<br />JAX-RS 1.0 :)<br />JAX-RS 2.0 :D<br />
WCF data services<br />Anciennement Astoria, puis ADO.NET Data Services,puis WCF Data Services<br />Excellent lien à Odata...
Round 5<br />Container<br />
J2EE <br />Java EE 6+<br />Springvs JavaEE<br />
MEF<br />ManagedExtensibility Framework<br />
Round 6<br />CLOUD<br />
… JavaEE 7 ?<br />Google App Engine<br />Amazon ElasticBeans<br />RedHatOpenShift<br />CloudBeesRUN@Cloud<br />… ?<br />St...
Azure<br />Un an d’existence en production<br />Azure Data Market très riche<br />Accès Odata, SDK Java, Intégration Eclip...
Round 7<br />Tools<br />
De facto …<br />Dev : Eclipse<br />(Idea, Netbeans)<br />Build : Maven<br />(Ant, Gradle)<br />Intégration Continue : Jenk...
Intégration<br />Open Source : <br />L’aspect « propriétaire » a ses avantages<br />
Round 8<br />alternatives<br />
Spring, Play!, Grails, Scala…<br />Java n’est pas juste un langage, c’est une plateforme !<br />
Ouvert (si, si)<br />Multi-language<br />Multi-plateforme<br />Azure : SDK Java, PHP, Tomcat Accelerator, etc.<br />
Round 9<br />interoperability<br />
« runanywhere »<br />Ou presque …<br />
Surprenante<br />COM, Pinvoke<br />SOAP, WSDL, etc.<br />XML Office<br />.NET : deux standards ECMI<br />Cas d’école : int...
Round 10<br />MULTITHREAD<br />
Java.util.concurrent<br />JSR 166<br /><ul><li>Java6 : bon niveau d’abstraction
Java7 : ajout des parallelarrays</li></ul>Scala, Clojure ou Groovy pour aller plus loin<br />
Matûre<br />System.Threading<br />ParallelLinq<br />Tasks<br />TPL<br />R&D « Phoenix »<br />
Conclusion<br />Conclusion<br />
Un futur brillant<br />Ecosystème Open Source riche (AForge)<br />F#, Async, Linq, TPL<br />OpenCL .NET, Accelerator, Brah...
2000<br />
2010<br />
Upcoming SlideShare
Loading in …5
×

Javavs net

938 views
842 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
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
938
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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>

×