Your SlideShare is downloading. ×
0
.Net et l'Open Source Retour d’expérience Page  
Qui sommes-nous ? <ul><li>Florent Dugué </li></ul><ul><ul><li>Architecte .NET chez SFEIR </li></ul></ul><ul><ul><li>Passio...
Introduction Page     Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclusion
Open Source ? Page  
C’est aussi ça !
L’Open Source Way of Life Page     Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Conc...
Opensource et développement Opensource ?
Stack de développement
<ul><li>Quatre niveaux </li></ul>Page  
Opensource et développement <ul><li>OS ? </li></ul>Page  
Opensource et développement <ul><li>IDE </li></ul>Page  
Opensource et développement <ul><li>Plateforme : .NET </li></ul>Page  
Opensource et développement Page  
Opensource et développement <ul><li>Frameworks </li></ul>Page  
Opensource et développement <ul><li>ASP.NET Ajax </li></ul><ul><li>ASP.NET MVC </li></ul><ul><li>ASP.NET, WinForms ? </li>...
Opensource et développement Page  
Les projets Open Source Page     Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concre...
Les projets existant <ul><li>Quelques projets Open Source en .Net : </li></ul><ul><ul><li>Persistance :  </li></ul></ul><u...
Les projets existant <ul><li>Il y en a plein d’autres ! </li></ul>Page  
Les projets existant <ul><li>Il faut aller les chercher ! </li></ul>Page  
Nos meilleurs amis chez Microsoft <ul><li>Sam Ramji </li></ul><ul><ul><li>http://port25.technet.com/ </li></ul></ul><ul><l...
Les besoins Page     Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclusion
Les besoins <ul><li>En quoi puis-je vous aider ? </li></ul>Page  
Les besoins <ul><li>Les projets informatiques se ressemblent </li></ul>Page  
Les besoins <ul><li>Les personnes sont différentes </li></ul>Page  
Les besoins <ul><li>Des outils utilisables par tous </li></ul>Page  
Les besoins <ul><li>Ne pas avoir à se poser de questions. </li></ul>Page  
Les besoins <ul><li>Gérer ces aspects manuellement est </li></ul><ul><ul><li>Rébarbatif </li></ul></ul><ul><ul><li>Facile ...
Un cas concret Page     Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclus...
Cas réel <ul><li>Maintenant, faut y aller ! </li></ul>Page  
Cas réel <ul><li>Environnement client : </li></ul><ul><ul><li>Projet critique </li></ul></ul><ul><ul><li>Equipe de 5 perso...
Cas réel <ul><li>6 mois pour y arriver </li></ul>Page  
Cas réel <ul><li>Comment vendre au client ? </li></ul>Page  
Cas réel <ul><li>Avant : </li></ul><ul><ul><li>C++ / Versant </li></ul></ul><ul><ul><li>VBScript, JScript </li></ul></ul><...
Cas réel <ul><li>Environnement technique : </li></ul><ul><ul><li>poste client XP </li></ul></ul><ul><ul><li>poste client d...
Cas réel <ul><li>Une solution construite autour d’outils Open Source </li></ul>Page     Common.Logging  V 1.2 V 1.1 V 1.2.0
Cas réel <ul><li>C’est quoi ? </li></ul>Page  
Cas réel <ul><li>Différents modules : </li></ul><ul><ul><li>Core : Inversion de Contrôle,  Threading, Validation, … </li><...
Cas réel <ul><li>Début du projet : avril 2004 </li></ul><ul><li>7 décembre 2007 : Version 1.1 </li></ul><ul><li>19 contrib...
Spring Java  <ul><li>Spring : incontournable dans le monde java </li></ul><ul><li>90000 download par mois </li></ul>Page  ...
Cas réel <ul><li>SPRING.NET 10000 download par mois </li></ul>Page  
Page     [Transaction] [Security(Action.CreateBook)] public class  BookService  : IBookService   { public  Book CreateBoo...
Cas réel <ul><li>Fichier XML de configuration : </li></ul><ul><li><objects xmlns=&quot;http://www.springframework.net&quot...
Cas réel <ul><li>Utilisation : </li></ul><ul><li>public static void Main () </li></ul><ul><li>{ </li></ul><ul><li>IApplica...
<ul><li>C’est quoi ? </li></ul><ul><li>Outil de Mapping Relationnel (ORM) </li></ul>Page     Object ORM Base de donnée
Cas réel <ul><li>Début du projet : février 2003 </li></ul><ul><li>26 novembre 2007 : Version 1.2.1 </li></ul><ul><li>18 co...
<ul><li>Hibernate : incontournable dans le monde java </li></ul><ul><li>80000 téléchargement par mois </li></ul>Page  
<ul><li>NHibernate : 20000 téléchargement par mois </li></ul>Page  
Cas réel <ul><li>Mapping : </li></ul><ul><li><hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; assembly=&quo...
Cas réel Page     [Transaction] [Security(Action.CreateBook)] public class  BookService  : IBookService   { public  Book ...
Cas réel <ul><li>Temps de prise en mains ? </li></ul>Page     2 mois
Cas réel <ul><li>La seule solution ? </li></ul>Page     Enterprise Library
Cas réel <ul><li>Résultat </li></ul>Page  
Cas réel <ul><li>Une livraison dans les temps </li></ul>Page  
Cas réel <ul><li>Un client satisfait </li></ul>Page  
Cas réel <ul><li>Une équipe heureuse </li></ul><ul><ul><li>valorisée </li></ul></ul><ul><ul><li>fière </li></ul></ul>Page ...
Conclusion Page     Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclusion
Conclusion <ul><li>Les projets Open Source sont une des réponses aux problèmes rencontrés dans les projets </li></ul><ul><...
www.sfeir.com <ul><li>SFEIR en quelques tags </li></ul><ul><ul><li>.NET, Java, OpenSource, Innovation, Technologie, Croiss...
Upcoming SlideShare
Loading in...5
×

Symposium2008 Open Source 08 02 2008

1,579

Published on

Retour d'expérience d'utilisation de projets Open Source en .Net

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,579
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
54
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Entreprise JavaBeans 3.0
  • Transcript of "Symposium2008 Open Source 08 02 2008"

    1. 1. .Net et l'Open Source Retour d’expérience Page 
    2. 2. Qui sommes-nous ? <ul><li>Florent Dugué </li></ul><ul><ul><li>Architecte .NET chez SFEIR </li></ul></ul><ul><ul><li>Passionné d’OpenSource </li></ul></ul><ul><ul><li>Empêcheur de tourner en rond ! </li></ul></ul><ul><li>Didier Girard </li></ul><ul><ul><li>Directeur Technique de SFEIR </li></ul></ul><ul><ul><li>Architecte IT </li></ul></ul><ul><ul><li>Défricheur technologique ! </li></ul></ul><ul><li>http://www.insideIT.fr </li></ul>
    3. 3. Introduction Page  Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclusion
    4. 4. Open Source ? Page 
    5. 5. C’est aussi ça !
    6. 6. L’Open Source Way of Life Page  Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclusion
    7. 7. Opensource et développement Opensource ?
    8. 8. Stack de développement
    9. 9. <ul><li>Quatre niveaux </li></ul>Page 
    10. 10. Opensource et développement <ul><li>OS ? </li></ul>Page 
    11. 11. Opensource et développement <ul><li>IDE </li></ul>Page 
    12. 12. Opensource et développement <ul><li>Plateforme : .NET </li></ul>Page 
    13. 13. Opensource et développement Page 
    14. 14. Opensource et développement <ul><li>Frameworks </li></ul>Page 
    15. 15. Opensource et développement <ul><li>ASP.NET Ajax </li></ul><ul><li>ASP.NET MVC </li></ul><ul><li>ASP.NET, WinForms ? </li></ul><ul><li>Spring.NET </li></ul><ul><li>Nhibernate </li></ul>Page 
    16. 16. Opensource et développement Page 
    17. 17. Les projets Open Source Page  Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclusion
    18. 18. Les projets existant <ul><li>Quelques projets Open Source en .Net : </li></ul><ul><ul><li>Persistance : </li></ul></ul><ul><ul><li>Framework applicatif : </li></ul></ul><ul><ul><li>Logging : Log4Net </li></ul></ul><ul><ul><li>IDE : </li></ul></ul>Page 
    19. 19. Les projets existant <ul><li>Il y en a plein d’autres ! </li></ul>Page 
    20. 20. Les projets existant <ul><li>Il faut aller les chercher ! </li></ul>Page 
    21. 21. Nos meilleurs amis chez Microsoft <ul><li>Sam Ramji </li></ul><ul><ul><li>http://port25.technet.com/ </li></ul></ul><ul><li>Marc Gardette </li></ul><ul><ul><li>http://blogs.technet.com/porte25/ </li></ul></ul>Page 
    22. 22. Les besoins Page  Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclusion
    23. 23. Les besoins <ul><li>En quoi puis-je vous aider ? </li></ul>Page 
    24. 24. Les besoins <ul><li>Les projets informatiques se ressemblent </li></ul>Page 
    25. 25. Les besoins <ul><li>Les personnes sont différentes </li></ul>Page 
    26. 26. Les besoins <ul><li>Des outils utilisables par tous </li></ul>Page 
    27. 27. Les besoins <ul><li>Ne pas avoir à se poser de questions. </li></ul>Page 
    28. 28. Les besoins <ul><li>Gérer ces aspects manuellement est </li></ul><ul><ul><li>Rébarbatif </li></ul></ul><ul><ul><li>Facile à oublier </li></ul></ul><ul><ul><li>Source d’erreur </li></ul></ul>Page 
    29. 29. Un cas concret Page  Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclusion
    30. 30. Cas réel <ul><li>Maintenant, faut y aller ! </li></ul>Page 
    31. 31. Cas réel <ul><li>Environnement client : </li></ul><ul><ul><li>Projet critique </li></ul></ul><ul><ul><li>Equipe de 5 personnes </li></ul></ul><ul><ul><li>200 utilisateurs </li></ul></ul><ul><ul><li>Sites locaux et distants </li></ul></ul><ul><ul><li>Pic de charge mensuel </li></ul></ul><ul><ul><li>Pic de charge annuel </li></ul></ul>Page 
    32. 32. Cas réel <ul><li>6 mois pour y arriver </li></ul>Page 
    33. 33. Cas réel <ul><li>Comment vendre au client ? </li></ul>Page 
    34. 34. Cas réel <ul><li>Avant : </li></ul><ul><ul><li>C++ / Versant </li></ul></ul><ul><ul><li>VBScript, JScript </li></ul></ul><ul><ul><li>Corba </li></ul></ul><ul><li>Après : </li></ul><ul><ul><li>C# / Oracle </li></ul></ul><ul><ul><li>C++ / Versant </li></ul></ul><ul><ul><li>VBScript, JScript </li></ul></ul><ul><ul><li>Corba </li></ul></ul>Page  400 000 €
    35. 35. Cas réel <ul><li>Environnement technique : </li></ul><ul><ul><li>poste client XP </li></ul></ul><ul><ul><li>poste client distant : Citrix </li></ul></ul><ul><ul><li>Middleware sous Windows 2000 et 2003 </li></ul></ul><ul><ul><li>OS 32 et 64 bits </li></ul></ul><ul><ul><li>Base de données Oracle 10g </li></ul></ul><ul><ul><li>Client lourd </li></ul></ul><ul><ul><li>Web </li></ul></ul><ul><ul><li>Batch </li></ul></ul>Page 
    36. 36. Cas réel <ul><li>Une solution construite autour d’outils Open Source </li></ul>Page  Common.Logging V 1.2 V 1.1 V 1.2.0
    37. 37. Cas réel <ul><li>C’est quoi ? </li></ul>Page 
    38. 38. Cas réel <ul><li>Différents modules : </li></ul><ul><ul><li>Core : Inversion de Contrôle, Threading, Validation, … </li></ul></ul><ul><ul><li>AOP : Transactions, Cache, … </li></ul></ul><ul><ul><li>Data : ADO.Net </li></ul></ul><ul><ul><li>Data.NHibernate </li></ul></ul><ul><ul><li>Web </li></ul></ul><ul><ul><li>Services </li></ul></ul><ul><ul><li>Testing.NUnit </li></ul></ul>Page 
    39. 39. Cas réel <ul><li>Début du projet : avril 2004 </li></ul><ul><li>7 décembre 2007 : Version 1.1 </li></ul><ul><li>19 contributeurs (8 actifs cette année) </li></ul><ul><li>Forum : plus de 8000 membres </li></ul><ul><li>Ex : </li></ul><ul><ul><li>Mercado Eletrônico ( leader B2B en Amérique latine) </li></ul></ul><ul><ul><li>Siemens Corporate Technology </li></ul></ul><ul><ul><li>Siemens VDO </li></ul></ul>Page 
    40. 40. Spring Java <ul><li>Spring : incontournable dans le monde java </li></ul><ul><li>90000 download par mois </li></ul>Page 
    41. 41. Cas réel <ul><li>SPRING.NET 10000 download par mois </li></ul>Page 
    42. 42. Page  [Transaction] [Security(Action.CreateBook)] public class BookService : IBookService { public Book CreateBook ( string name ) { // code de création } } interface IBookService { Book C reateBook(string name); } Interface Implémentation
    43. 43. Cas réel <ul><li>Fichier XML de configuration : </li></ul><ul><li><objects xmlns=&quot;http://www.springframework.net&quot;> </li></ul><ul><li><object name=&quot;MyMovieLister&quot; </li></ul><ul><li>type=&quot;Spring.Examples.MovieFinder.MovieLister, Spring.Examples.MovieFinder&quot;> </li></ul><ul><li><!-- using setter injection... --> </li></ul><ul><li><property name=&quot;movieFinder&quot; ref=&quot;MyMovieFinder&quot;/> </li></ul><ul><li></object> </li></ul><ul><li><object name=&quot;MyMovieFinder&quot; </li></ul><ul><li>type=&quot;Spring.Examples.MovieFinder.SimpleMovieFinder, Spring.Examples.MovieFinder&quot;/> </li></ul><ul><li></object> </li></ul><ul><li></objects> </li></ul>Page 
    44. 44. Cas réel <ul><li>Utilisation : </li></ul><ul><li>public static void Main () </li></ul><ul><li>{ </li></ul><ul><li>IApplicationContext ctx = ContextRegistry.GetContext(); </li></ul><ul><li>MovieLister lister = (MovieLister) ctx.GetObject (&quot;MyMovieLister&quot;); </li></ul><ul><li>Movie[] movies = lister.MoviesDirectedBy(&quot;Roberto Benigni&quot;); </li></ul><ul><li>Console.WriteLine (&quot; Searching for movie... &quot;); </li></ul><ul><li>foreach (Movie movie in movies) </li></ul><ul><li>{ </li></ul><ul><li>Console.WriteLine ( </li></ul><ul><li>string.Format (&quot;Movie Title = '{0}', Director = '{1}'.&quot;, </li></ul><ul><li>movie.Title, movie.Director)); </li></ul><ul><li>} </li></ul><ul><li>Console.WriteLine (&quot; MovieApp Done. &quot;); </li></ul><ul><li>} </li></ul>Page 
    45. 45. <ul><li>C’est quoi ? </li></ul><ul><li>Outil de Mapping Relationnel (ORM) </li></ul>Page  Object ORM Base de donnée
    46. 46. Cas réel <ul><li>Début du projet : février 2003 </li></ul><ul><li>26 novembre 2007 : Version 1.2.1 </li></ul><ul><li>18 contributeurs (6 actifs début 2008) </li></ul><ul><li>Ex : </li></ul><ul><ul><li>Cuyahoga (CMS) </li></ul></ul><ul><ul><li>AlachiSoft NCache (Cache niveau 2 distribué) </li></ul></ul>Page 
    47. 47. <ul><li>Hibernate : incontournable dans le monde java </li></ul><ul><li>80000 téléchargement par mois </li></ul>Page 
    48. 48. <ul><li>NHibernate : 20000 téléchargement par mois </li></ul>Page 
    49. 49. Cas réel <ul><li>Mapping : </li></ul><ul><li><hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; assembly=&quot;Eg” namespace=&quot;Eg&quot;> </li></ul><ul><li><class name=&quot;Cat&quot; table=&quot;CATS&quot;> </li></ul><ul><li><id name=&quot;Id&quot; column=&quot;uid&quot; type=&quot;Int64&quot;> </li></ul><ul><li><generator class=&quot;hilo&quot;/> </li></ul><ul><li></id> </li></ul><ul><li><property name=&quot;BirthDate&quot; type=&quot;Date&quot;/> </li></ul><ul><li><property name=&quot;Color&quot; not-null=&quot;true&quot;/> </li></ul><ul><li><many-to-one name=&quot;Mate&quot;/> </li></ul><ul><li><set name=&quot;Kittens&quot;> </li></ul><ul><li><key column=&quot;MOTHER&quot;/> </li></ul><ul><li><one-to-many class=&quot;Cat&quot;/> </li></ul><ul><li></set> </li></ul><ul><li></class> </li></ul><ul><li></hibernate-mapping> </li></ul>Page 
    50. 50. Cas réel Page  [Transaction] [Security(Action.CreateBook)] public class BookService : IBookService { public Book CreateBook ( string name ) { Book book = new Book(); Book.Name = name; bookDao.Save(book); return book; } }
    51. 51. Cas réel <ul><li>Temps de prise en mains ? </li></ul>Page  2 mois
    52. 52. Cas réel <ul><li>La seule solution ? </li></ul>Page  Enterprise Library
    53. 53. Cas réel <ul><li>Résultat </li></ul>Page 
    54. 54. Cas réel <ul><li>Une livraison dans les temps </li></ul>Page 
    55. 55. Cas réel <ul><li>Un client satisfait </li></ul>Page 
    56. 56. Cas réel <ul><li>Une équipe heureuse </li></ul><ul><ul><li>valorisée </li></ul></ul><ul><ul><li>fière </li></ul></ul>Page 
    57. 57. Conclusion Page  Introduction L’Open Source Way of Life Les projets Open Source Les besoins Un Cas Concret Conclusion
    58. 58. Conclusion <ul><li>Les projets Open Source sont une des réponses aux problèmes rencontrés dans les projets </li></ul><ul><li>Ce n’est pas la seule, mais celle que j’ai apportée </li></ul>Page 
    59. 59. www.sfeir.com <ul><li>SFEIR en quelques tags </li></ul><ul><ul><li>.NET, Java, OpenSource, Innovation, Technologie, Croissance, Solidité, Managers, Vision </li></ul></ul><ul><li>Intervention dans les plus grands événements IT : </li></ul><ul><ul><ul><li>Google Developer Day 2007 </li></ul></ul></ul><ul><ul><ul><li>Rencontres GWT 2007 </li></ul></ul></ul><ul><ul><ul><li>Rencontres Agiles 2007 </li></ul></ul></ul><ul><ul><ul><li>JavaPolis 2007 </li></ul></ul></ul><ul><ul><ul><li>Microsoft TechDays 2008 </li></ul></ul></ul><ul><ul><ul><li>QCon 2008 </li></ul></ul></ul>Page 
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×