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