SlideShare une entreprise Scribd logo
1  sur  70
Télécharger pour lire hors ligne
Développement web avancé,
        .NET, J2EE
     & Interopérabilité
Sommaire
Semaine 1

INTRO
• Rappel, La Course aux langages / La place de J2EE et .NET
• Le cas PHP
.NET
• Framework
• développement WEB et nouveautés
• accès aux données
• performances...

J2EE VS .NET
• Comparaison, avantages, inconvénients, points forts
• Méthode « Best Practice »
• Open Souce et Outsiders
Introduction

• La course aux langages
• Centralisation et décentralisation
• « Rich Client »
La course des languages … 10 ans de web

                  Catégorie Langage Serveur + Client Léger
1998
                                                                                2010

   J2EE     Servlet           JSP       STRUTS / MVC          JSF          EJB3 JSF2

  .NET ASP2           ASP3      ASPX         ASP.NET         ASP.NET 2     ASP.NET 3.5

   PHP       PHP3            PHP4                      PHP5               PHP5.3



  Python   CGI           ZOPE       CMF/PLONE1      PLONE2 / CPS 3.2 CPS J2E

Cold Fusion CFM                        CFM MX SERVER 7 / J2E

                    Ruby                                     RUBY 1.9.1


Outisiders : CGI en PERL / C, Delphi, Frameworks intégrés ex : IBM Lotus Domino /
Oracle Forms
Vers le n-tier … l’ère des architectes

            présentation                   VUES


               Répartition                CONTROLEUR


               Workflows                  ORCHESTRATION


         Traitements métiers               BUSINESS


          Objets persistants              MODEL

               Connexions


  SOAP   XML       LDAP        Autres …    DATA
Client lourd   Client web
Le Client Riche

         Server                Poste client




                  HTTP (XML)
                  SOAP (Web
                  services)

    Serveur
La course au WEB…Aperçu des langages




                                Exemple XUL
Le cas PHP (5.3.1 en 2010)
   Des désavantages pour le « petit frère » du WEB ?
    UN LANGAGE SIMPLE ET PUR WEB
    Faux > on peut créer des programmes non web (PHP gtk)+ orientation
    objet en cours d’amélioration (V4 et 5 – namespace - et 6 en 2009)
    Un Langage 100% interprété
    Faux > Il existe un préprocesseur : le ZEND Engine (auj en version 2.1.13)
    Une compatibilité totale avec les Web Services
    Faux > Une implémentation pas toujours totale de la norme > le cas NuSoap
    Pas de Frameworks avancés
    Faux > PEAR (connexion aux bdd) / HORDE (environnement de dev)
    Pas d’environnement IDE
    Faux > Plugins pour Eclipse (ex : zend IDE for eclipse)+ nombreux outils
    Open Source
    Pas d’éditeur en BackGround / pas de serveur d’application
    Faux > IBM soutient ZEND technology

Parfaitement adapté au web, certains points le distinguent pourtant des grands
Frameworks : compilation, montée en charge, persistance des objets,
connecteurs vers les gros systèmes, interopérabilité, exceptions, runtime, SOA,
mobilité, garbage collector etc.. Mais il poursuit sa route !
Le cas PHP (5.3.1 en 2010)
   Des désavantages pour le « petit frère » du WEB ?
    UN LANGAGE SIMPLE ET PUR WEB
    Faux > on peut créer des programmes non web (PHP gtk)+ orientation
    objet en cours d’amélioration (V4 et 5 – namespace - et 6 en 2010 ?)
    Un Langage 100% interprété
    Faux > Il existe un préprocesseur : le ZEND Engine (auj en version 5)
    Une compatibilité totale avec les Web Services
    Faux > Une implémentation pas toujours totale de la norme > le cas NuSoap
    Pas de Frameworks avancés
    Faux > PEAR (connexion aux bdd) / HORDE (environnement de dev)
    Pas d’environnement IDE
    Faux > Plugins pour Eclipse (ex : zend IDE for eclipse)+ nombreux outils
    Open Source
    Pas d’éditeur en BackGround / pas de serveur d’application
    Faux > IBM soutient ZEND technology

Parfaitement adapté au web, certains points le distinguent pourtant des grands
Frameworks : compilation, montée en charge, persistance des objets,
connecteurs vers les gros systèmes, interopérabilité, exceptions, runtime, SOA,
mobilité, garbage collector etc.. Mais il poursuit sa route !
Partie 1 : .NET

•   Framework
•   Développement WEB
•   Le langage C#
•   Accès aux données
•   Autres Exemples
Qu’est-ce que .NET ?

• Le FrameWork unifié de développement Microsoft
• Distribuée en standard sour forme de dll sur les plateformes
Windows (server, personal, CE)
•Une version plateforme et une version compact (mobile)
•Contient toutes les classes, une machine virtuelle, un
complilateur, un processeur J.I.T.
• Une approche résolument différente du développement WEB
et de l’accès aux données
Que faut-il pour démarrer ?
• Visual studio ou autres IDE libres .NET
• Développement web avec outils gratuits
Plusieurs Langages…

  Un seul Framework, mais Plus de 16 langages « .NET » :
C#, VB.NET, Java.NET, C++.NET, Perl.NET, Python.NET, Pascal.NET,
Php.NET, JScript.NET, ADA.NET, …. Cobol.NET
  Langage .NET = langage ANSI + orientation objet + implémentation
des classes du Framework .NET
  Un compilateur par langage     transformation en IL : DLL
  DLL     compilateur JIT de la CLR   exécution en mode « managed »




Code C#         Compilateur cs        Dll (IL)          CLR         Exécution

                   Autres dll                    dll du framework
Un travail collaboratif
   Utilisation maximale des compétences de programmation
   Utilisation maximale des avantages de chaque langage



     Code C# : application WEB         dll
                                                dll du framework

  Code VB : macros du secrétariat      dll


 Code PERL : formatage de fichiers     dll   CLR : exécution


Code Java : lien avec appli bancaire   dll


Code Cobol : interrogation Mainframe   dll
C#
Langage principal de Microsoft 40% des dév. Dans le monde
C    C++      C#
C# Managed <-> C++ Unmanaged
Fortement inspiré de Java…
…Mais aussi de ADA, de Delphi (même concepteur)
Unification des modes de développement
Optimisation des déploiements
C# et VB.NET : découverte par l’exemple
C# et VB.NET : exemple de classe
Exemple de codes web simplificateurs

Page aspx
<ASP:Fileupload id=btnUpload/>
Codebehind
void btnUpload_Click(objectsender,EventArgse)
{
if (file.HasFile)
           {
           file.PostedFile.SaveAs(@"c:testfichier.txt");
           }
}
.Net et Versionning
Indépendance vis-à-vis du registre
Deux dll de versions différentes peuvent cohabiter
(déploiement en assemblies)
FrameWork multiple toléré (fichier de config)
  Utile pour les Frameworks 1.0,1.1,1.2,2 … 3, 3.5
Couche d’abstraction présente dans les classes du
FrameWork : adaptation au hard et aux interfaces
Téléphone, PDA, Tablet PC, Portable, PC, Serveur…
ASP.net : Web components

vers une conception unifiée
Développement traditionnel « client lourd »
Développement traditionnel « client lourd » formulaire


 Ecran Mode Graphique                 Code associé « onclick »



                                 //convertisseur Euro

                                 button1_onclick (contexte)
                                 {
                                 // Action à effectuer
                                 Form1.resultat = (float)Form1.a.Text * 6,55
                                 }



+ Permet l’utilisation d’environnement RAD / IDE
+ Utilisation de composants graphiques « drag and drop »
+ Gestion de l’interface déléguée au contexte
- Nécessite une politique d’installation sur poste (installer) et de
versionning
Développement web formulaire


  Html avant développement                          Html + code intégré

                                          <%page langage=« …»%>
<html>                                    //monscript convertisseur Euro
<form action =
                                          if (QueryString(« valeur1 »)!=Null)
« monscript »
                                          {
method=« post »>                          Answer = QueryString(« valeur1 ») * 6,55;
<input type=«text »                       }
                                          %>
name=« valeur1 »/>
                                          <html>
<input type=«text »                       <form action = « monscript » method=« post »>
name=« valeur2 »/>                        <input type=«text » name=« valeur1 »/>
                                          <input type=«text » name=« valeur2 »
<input type=« submit »                    Value=« <%=Answer%> »/>
value=« convertir »/>                     <input type=« submit » value=« convertir »/>
                                          </form>
</form>                                   </html>
</html>
                + Client léger, souplesse du code
                - Maintenance, mélange du code et de la présentation
En .NET : Développement Evènementiel généralisé

1 page de présentation
                                       1 page de traitement des actions
HTML + Web components




                                    + séparation claire de l’interface
                                    + pas de gestion de la distance, les
                                    contrôles client sont vus comme des
                                    objets locaux
En .NET : Développement Evènementiel généralisé

     1 page de présentation
                                                1 page de traitement des actions
     HTML + Web components

//Page monform.aspx : convertisseur      //Page monform.aspx.cs
<%Codebehind=« monform.aspx.cs »%>
<html>                                   Convert()
<form runat=« server » />                {
<ASP:TextBox                             // interaction directe avec l’affichage
name=«valeur1 » runat=« server »/>
                                         Valeur2.Text= (Float)Valeur1.text*6,55;
<ASP:TextBox
                                         //appel de classes et de fonctions serveur
name=«valeur2 » runat=« server »/>
                                         MyClass = New Class()
<ASP:Button
name=«button1 » runat=« server »         }
onclick=« convert »/>
</form>
                                             + séparation claire de l’interface

</html>                                      + pas de gestion de la distance, les
                                             contrôles client sont vus comme des
                                             objets locaux
Précompilation et mémoire du serveur .NET


       (1) Appel de la page
                                       Page web aspx                  Codebehind




                                            dll
         Page HTML +
         Identifiants du
         contexte
                                           CLR : Instance de la page
                                    + Etat de tous les objets de la page :
                                CONTEXTE ou viewstate (runat=« server »)
(2) Transmission de l’état de        + méthodes de traitement associées
la page (contexte) + actions    + identifiants liant l’objet à la session en cours
à réaliser
.Net : Accès aux données
L’accès aux données (1/2)

            application

       ADO.NET System.DATA

ODBC


   OLEDB


           Drivers Natifs
L’accès aux données (2/2)

Datareader
DataAdapter
DataSet
DataView
Sources et Bindings : ex du Datagrid
2 approches d’accès aux données
                           DataReader
ASP.NET V2 (1/2)

•   MasterPage / Objet header / PlaceHolders
•   Contrôle Identification
•   Controlstate en plus du ViewState
•   CrossSitePosting
•   URL Mapping (redirect)
ASP.NET V2 (2/2)
• Thèmes graphiques via XML
• WebParts
• Précompilation des pages
  http://SERVER/APPLICATIONNAME/precompile.axd

• Statistiques intégrées
  <siteCountersenabled="true" rowsPerDay="1">


• contrôles ASP.NET XHTML compliant !! On peut
  définir le schéma pour chaque page
  respect des normes ex : XHTML 1.1 Strict
ASP.NET V3
•   Listview
•   Datapager
•   Integration AJAX
•   Moteur de workflow
•   Gestion SOA – web services (WCF)
Partie 2 : J2EE VS .NET

• Comparaison, similitudes
• Points forts
• Avantages et Inconvénients
• Méthode « Best Practice »
Processus du serveur
d’applications / exemple
Design Patterns & MVC
                                       Action 1

    JSP       1.
   Vue 1                      2.       Action 2

              ActionServlet                              3.
              (Contrôleur)    4.       Action 3


    JSP
                                            Modèles
   Vue 2           5.                  ( Contexte d’objets
                                           persistants
                                              EJB)

                                   mapping
Processus du serveur
d’applications JAVA
Processus du serveur
d’applications .NET
L’illusion de la gratuité du serveur d’applications : évolutions en 3 ans




        500 € / user . 20 à 30000€ /proc                     Gratuit avec l’O.S.
Premier comparatif
              Des avantages et inconvénients à nuancer.

 Avantages pour .NET

 •   Nombre de langages
 •   Réutilisation de l’existant
 •   Gestion des données
 •   Gestion des Interfaces
 •   Pas d’implémentations multiples

 Avantages pour Java

 •   nombre d’API
 •   Variété des Plateformes
 •   Nombre de Développeurs
 •   Gestion de la persistance EJB
 •   Bonnes habitudes dès le départ
 •   Pas de contrôle « fort » d’un éditeur (orientation libre)
.NET et Open Source ?

 Les moins
 Java n’est pas aussi libre qu’on ne le pense
 .Net et politique globale de Microsoft (intégration dans les
 futurs produits)
 Politique de mise en avant de l’IDE Visual Studio

 Les plus
 Des tentatives d’ouverture : Starter Kits .NET
 La création d’une communauté .NET
 L’ouverture imposée des sources
 C# reconnu ECMA

 > Des technologies pertinentes issues d’années d’expérience qui
    devraient rester dans le domaine du libre
Les Runtime .NET Libres

      JAVA            .NET         MONO (2.6.1) novell   .GNU (0.8)


   Applications    Applications        Applications      Applications
      JAVA         C#/VB.NET…        15 langages C#          C#


    Java SDK      .NET Framework    Mono Framework    .GNU Framework


       JRE             CLR             CLR MONO           CLR .GNU


   Plateformes                        Plateformes       Plateformes
                    Plateformes
 UNIX, Windows,                     UNIX, Windows,    UNIX, Windows,
                     Windows
  MacOSX, Linux                     MacOSX, Linux…    MacOSX, Linux…
Liens utiles

• http://www.asp.net/downloads/essential/

Contenu connexe

Tendances

Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Eric Bourdet
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVCNathaniel Richand
 
Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystémeAlgeria JUG
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Adyax
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiEl Habib NFAOUI
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 

Tendances (20)

Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
Jsp
JspJsp
Jsp
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 
Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystéme
 
Ter Web Service Intro
Ter Web Service IntroTer Web Service Intro
Ter Web Service Intro
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
 
Presentation jsf2
Presentation jsf2Presentation jsf2
Presentation jsf2
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
JSF 2.0
JSF 2.0JSF 2.0
JSF 2.0
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaoui
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
Spring & SpringBatch FR
Spring & SpringBatch FRSpring & SpringBatch FR
Spring & SpringBatch FR
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 

En vedette

Este es tu cuerpo
Este es tu cuerpoEste es tu cuerpo
Este es tu cuerpolmorenoh
 
Emp cambios ds_1_2010
Emp cambios ds_1_2010Emp cambios ds_1_2010
Emp cambios ds_1_2010ssrvvalpo
 
CERTIFICATES AND DIPLOMAS
CERTIFICATES AND DIPLOMASCERTIFICATES AND DIPLOMAS
CERTIFICATES AND DIPLOMASRoger Bertrand
 
Navidad con musica
Navidad con musicaNavidad con musica
Navidad con musicaTERESITA25
 
Sx sanfilippo a (genetica medica 2014) by gaby mani
Sx sanfilippo a (genetica medica 2014) by gaby maniSx sanfilippo a (genetica medica 2014) by gaby mani
Sx sanfilippo a (genetica medica 2014) by gaby maniGaby Mani
 
Rezoloc, le seul réseau social de location entre particuliers
Rezoloc, le seul réseau social de location entre particuliersRezoloc, le seul réseau social de location entre particuliers
Rezoloc, le seul réseau social de location entre particuliersmontof44
 
Bcdi esidoc 16 juin 2011
Bcdi esidoc 16 juin 2011Bcdi esidoc 16 juin 2011
Bcdi esidoc 16 juin 2011cdi-0450786k
 
Etnografia
EtnografiaEtnografia
EtnografiaUPN
 
OpinionWay - L'Express - Analyse interview du Président de la République / 14...
OpinionWay - L'Express - Analyse interview du Président de la République / 14...OpinionWay - L'Express - Analyse interview du Président de la République / 14...
OpinionWay - L'Express - Analyse interview du Président de la République / 14...contactOpinionWay
 
Fobia y ansiedad infantil
Fobia y ansiedad infantilFobia y ansiedad infantil
Fobia y ansiedad infantilAnilucitarojas
 
Diapositivasredesiunidad2primerapartefondoblancoedited 100426225710-phpapp01
Diapositivasredesiunidad2primerapartefondoblancoedited 100426225710-phpapp01Diapositivasredesiunidad2primerapartefondoblancoedited 100426225710-phpapp01
Diapositivasredesiunidad2primerapartefondoblancoedited 100426225710-phpapp01marcosgabo
 
Crowdsourcing Results der Haselnuss-Schätzfrage
Crowdsourcing  Results der Haselnuss-SchätzfrageCrowdsourcing  Results der Haselnuss-Schätzfrage
Crowdsourcing Results der Haselnuss-SchätzfrageMeral Akin-Hecke
 

En vedette (20)

Philosophie
Philosophie Philosophie
Philosophie
 
Presentación2
Presentación2Presentación2
Presentación2
 
Este es tu cuerpo
Este es tu cuerpoEste es tu cuerpo
Este es tu cuerpo
 
Twitter
TwitterTwitter
Twitter
 
Emp cambios ds_1_2010
Emp cambios ds_1_2010Emp cambios ds_1_2010
Emp cambios ds_1_2010
 
Workshop Social Media Week - 10 Tipps, wie Sie Enterprise 2.0 garantiert zum ...
Workshop Social Media Week - 10 Tipps, wie Sie Enterprise 2.0 garantiert zum ...Workshop Social Media Week - 10 Tipps, wie Sie Enterprise 2.0 garantiert zum ...
Workshop Social Media Week - 10 Tipps, wie Sie Enterprise 2.0 garantiert zum ...
 
CERTIFICATES AND DIPLOMAS
CERTIFICATES AND DIPLOMASCERTIFICATES AND DIPLOMAS
CERTIFICATES AND DIPLOMAS
 
Jacques BREL - Le plat pays
Jacques BREL - Le plat paysJacques BREL - Le plat pays
Jacques BREL - Le plat pays
 
Navidad con musica
Navidad con musicaNavidad con musica
Navidad con musica
 
Sx sanfilippo a (genetica medica 2014) by gaby mani
Sx sanfilippo a (genetica medica 2014) by gaby maniSx sanfilippo a (genetica medica 2014) by gaby mani
Sx sanfilippo a (genetica medica 2014) by gaby mani
 
Rezoloc, le seul réseau social de location entre particuliers
Rezoloc, le seul réseau social de location entre particuliersRezoloc, le seul réseau social de location entre particuliers
Rezoloc, le seul réseau social de location entre particuliers
 
Vertrauensmarketing
VertrauensmarketingVertrauensmarketing
Vertrauensmarketing
 
Bcdi esidoc 16 juin 2011
Bcdi esidoc 16 juin 2011Bcdi esidoc 16 juin 2011
Bcdi esidoc 16 juin 2011
 
Etnografia
EtnografiaEtnografia
Etnografia
 
E lerning+tic
E lerning+ticE lerning+tic
E lerning+tic
 
OpinionWay - L'Express - Analyse interview du Président de la République / 14...
OpinionWay - L'Express - Analyse interview du Président de la République / 14...OpinionWay - L'Express - Analyse interview du Président de la République / 14...
OpinionWay - L'Express - Analyse interview du Président de la République / 14...
 
Fobia y ansiedad infantil
Fobia y ansiedad infantilFobia y ansiedad infantil
Fobia y ansiedad infantil
 
Notre carte
Notre carteNotre carte
Notre carte
 
Diapositivasredesiunidad2primerapartefondoblancoedited 100426225710-phpapp01
Diapositivasredesiunidad2primerapartefondoblancoedited 100426225710-phpapp01Diapositivasredesiunidad2primerapartefondoblancoedited 100426225710-phpapp01
Diapositivasredesiunidad2primerapartefondoblancoedited 100426225710-phpapp01
 
Crowdsourcing Results der Haselnuss-Schätzfrage
Crowdsourcing  Results der Haselnuss-SchätzfrageCrowdsourcing  Results der Haselnuss-Schätzfrage
Crowdsourcing Results der Haselnuss-Schätzfrage
 

Similaire à Dotnet j2 ee

Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxHamzaElgari
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonStéphane Liétard
 
Asp.Net Dans Plateforme Ms
Asp.Net Dans Plateforme MsAsp.Net Dans Plateforme Ms
Asp.Net Dans Plateforme MsGregory Renard
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesGaëtan LAVENU
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Microsoft
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005Gregory Renard
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
HTML 5 et CSS3, créez, animez et enrichissez vos sites Web
HTML 5 et CSS3, créez, animez et enrichissez vos sites WebHTML 5 et CSS3, créez, animez et enrichissez vos sites Web
HTML 5 et CSS3, créez, animez et enrichissez vos sites WebMicrosoft
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 

Similaire à Dotnet j2 ee (20)

Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptx
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
Google Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative CommonGoogle Web Toolkit 1.5 Presentation Web Creative Common
Google Web Toolkit 1.5 Presentation Web Creative Common
 
Asp.Net Dans Plateforme Ms
Asp.Net Dans Plateforme MsAsp.Net Dans Plateforme Ms
Asp.Net Dans Plateforme Ms
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
HTML 5 et CSS3, créez, animez et enrichissez vos sites Web
HTML 5 et CSS3, créez, animez et enrichissez vos sites WebHTML 5 et CSS3, créez, animez et enrichissez vos sites Web
HTML 5 et CSS3, créez, animez et enrichissez vos sites Web
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 

Dernier

presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurdinaelchaine
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 

Dernier (20)

presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteur
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 

Dotnet j2 ee

  • 1. Développement web avancé, .NET, J2EE & Interopérabilité
  • 2. Sommaire Semaine 1 INTRO • Rappel, La Course aux langages / La place de J2EE et .NET • Le cas PHP .NET • Framework • développement WEB et nouveautés • accès aux données • performances... J2EE VS .NET • Comparaison, avantages, inconvénients, points forts • Méthode « Best Practice » • Open Souce et Outsiders
  • 3. Introduction • La course aux langages • Centralisation et décentralisation • « Rich Client »
  • 4. La course des languages … 10 ans de web Catégorie Langage Serveur + Client Léger 1998 2010 J2EE Servlet JSP STRUTS / MVC JSF EJB3 JSF2 .NET ASP2 ASP3 ASPX ASP.NET ASP.NET 2 ASP.NET 3.5 PHP PHP3 PHP4 PHP5 PHP5.3 Python CGI ZOPE CMF/PLONE1 PLONE2 / CPS 3.2 CPS J2E Cold Fusion CFM CFM MX SERVER 7 / J2E Ruby RUBY 1.9.1 Outisiders : CGI en PERL / C, Delphi, Frameworks intégrés ex : IBM Lotus Domino / Oracle Forms
  • 5. Vers le n-tier … l’ère des architectes présentation VUES Répartition CONTROLEUR Workflows ORCHESTRATION Traitements métiers BUSINESS Objets persistants MODEL Connexions SOAP XML LDAP Autres … DATA
  • 6. Client lourd Client web
  • 7. Le Client Riche Server Poste client HTTP (XML) SOAP (Web services) Serveur
  • 8. La course au WEB…Aperçu des langages Exemple XUL
  • 9.
  • 10. Le cas PHP (5.3.1 en 2010) Des désavantages pour le « petit frère » du WEB ? UN LANGAGE SIMPLE ET PUR WEB Faux > on peut créer des programmes non web (PHP gtk)+ orientation objet en cours d’amélioration (V4 et 5 – namespace - et 6 en 2009) Un Langage 100% interprété Faux > Il existe un préprocesseur : le ZEND Engine (auj en version 2.1.13) Une compatibilité totale avec les Web Services Faux > Une implémentation pas toujours totale de la norme > le cas NuSoap Pas de Frameworks avancés Faux > PEAR (connexion aux bdd) / HORDE (environnement de dev) Pas d’environnement IDE Faux > Plugins pour Eclipse (ex : zend IDE for eclipse)+ nombreux outils Open Source Pas d’éditeur en BackGround / pas de serveur d’application Faux > IBM soutient ZEND technology Parfaitement adapté au web, certains points le distinguent pourtant des grands Frameworks : compilation, montée en charge, persistance des objets, connecteurs vers les gros systèmes, interopérabilité, exceptions, runtime, SOA, mobilité, garbage collector etc.. Mais il poursuit sa route !
  • 11. Le cas PHP (5.3.1 en 2010) Des désavantages pour le « petit frère » du WEB ? UN LANGAGE SIMPLE ET PUR WEB Faux > on peut créer des programmes non web (PHP gtk)+ orientation objet en cours d’amélioration (V4 et 5 – namespace - et 6 en 2010 ?) Un Langage 100% interprété Faux > Il existe un préprocesseur : le ZEND Engine (auj en version 5) Une compatibilité totale avec les Web Services Faux > Une implémentation pas toujours totale de la norme > le cas NuSoap Pas de Frameworks avancés Faux > PEAR (connexion aux bdd) / HORDE (environnement de dev) Pas d’environnement IDE Faux > Plugins pour Eclipse (ex : zend IDE for eclipse)+ nombreux outils Open Source Pas d’éditeur en BackGround / pas de serveur d’application Faux > IBM soutient ZEND technology Parfaitement adapté au web, certains points le distinguent pourtant des grands Frameworks : compilation, montée en charge, persistance des objets, connecteurs vers les gros systèmes, interopérabilité, exceptions, runtime, SOA, mobilité, garbage collector etc.. Mais il poursuit sa route !
  • 12. Partie 1 : .NET • Framework • Développement WEB • Le langage C# • Accès aux données • Autres Exemples
  • 13. Qu’est-ce que .NET ? • Le FrameWork unifié de développement Microsoft • Distribuée en standard sour forme de dll sur les plateformes Windows (server, personal, CE) •Une version plateforme et une version compact (mobile) •Contient toutes les classes, une machine virtuelle, un complilateur, un processeur J.I.T. • Une approche résolument différente du développement WEB et de l’accès aux données
  • 14. Que faut-il pour démarrer ? • Visual studio ou autres IDE libres .NET • Développement web avec outils gratuits
  • 15.
  • 16. Plusieurs Langages… Un seul Framework, mais Plus de 16 langages « .NET » : C#, VB.NET, Java.NET, C++.NET, Perl.NET, Python.NET, Pascal.NET, Php.NET, JScript.NET, ADA.NET, …. Cobol.NET Langage .NET = langage ANSI + orientation objet + implémentation des classes du Framework .NET Un compilateur par langage transformation en IL : DLL DLL compilateur JIT de la CLR exécution en mode « managed » Code C# Compilateur cs Dll (IL) CLR Exécution Autres dll dll du framework
  • 17.
  • 18. Un travail collaboratif Utilisation maximale des compétences de programmation Utilisation maximale des avantages de chaque langage Code C# : application WEB dll dll du framework Code VB : macros du secrétariat dll Code PERL : formatage de fichiers dll CLR : exécution Code Java : lien avec appli bancaire dll Code Cobol : interrogation Mainframe dll
  • 19.
  • 20.
  • 21.
  • 22. C# Langage principal de Microsoft 40% des dév. Dans le monde C C++ C# C# Managed <-> C++ Unmanaged Fortement inspiré de Java… …Mais aussi de ADA, de Delphi (même concepteur) Unification des modes de développement Optimisation des déploiements
  • 23. C# et VB.NET : découverte par l’exemple
  • 24. C# et VB.NET : exemple de classe
  • 25. Exemple de codes web simplificateurs Page aspx <ASP:Fileupload id=btnUpload/> Codebehind void btnUpload_Click(objectsender,EventArgse) { if (file.HasFile) { file.PostedFile.SaveAs(@"c:testfichier.txt"); } }
  • 26. .Net et Versionning Indépendance vis-à-vis du registre Deux dll de versions différentes peuvent cohabiter (déploiement en assemblies) FrameWork multiple toléré (fichier de config) Utile pour les Frameworks 1.0,1.1,1.2,2 … 3, 3.5 Couche d’abstraction présente dans les classes du FrameWork : adaptation au hard et aux interfaces Téléphone, PDA, Tablet PC, Portable, PC, Serveur…
  • 27. ASP.net : Web components vers une conception unifiée
  • 29. Développement traditionnel « client lourd » formulaire Ecran Mode Graphique Code associé « onclick » //convertisseur Euro button1_onclick (contexte) { // Action à effectuer Form1.resultat = (float)Form1.a.Text * 6,55 } + Permet l’utilisation d’environnement RAD / IDE + Utilisation de composants graphiques « drag and drop » + Gestion de l’interface déléguée au contexte - Nécessite une politique d’installation sur poste (installer) et de versionning
  • 30. Développement web formulaire Html avant développement Html + code intégré <%page langage=« …»%> <html> //monscript convertisseur Euro <form action = if (QueryString(« valeur1 »)!=Null) « monscript » { method=« post »> Answer = QueryString(« valeur1 ») * 6,55; <input type=«text » } %> name=« valeur1 »/> <html> <input type=«text » <form action = « monscript » method=« post »> name=« valeur2 »/> <input type=«text » name=« valeur1 »/> <input type=«text » name=« valeur2 » <input type=« submit » Value=« <%=Answer%> »/> value=« convertir »/> <input type=« submit » value=« convertir »/> </form> </form> </html> </html> + Client léger, souplesse du code - Maintenance, mélange du code et de la présentation
  • 31. En .NET : Développement Evènementiel généralisé 1 page de présentation 1 page de traitement des actions HTML + Web components + séparation claire de l’interface + pas de gestion de la distance, les contrôles client sont vus comme des objets locaux
  • 32. En .NET : Développement Evènementiel généralisé 1 page de présentation 1 page de traitement des actions HTML + Web components //Page monform.aspx : convertisseur //Page monform.aspx.cs <%Codebehind=« monform.aspx.cs »%> <html> Convert() <form runat=« server » /> { <ASP:TextBox // interaction directe avec l’affichage name=«valeur1 » runat=« server »/> Valeur2.Text= (Float)Valeur1.text*6,55; <ASP:TextBox //appel de classes et de fonctions serveur name=«valeur2 » runat=« server »/> MyClass = New Class() <ASP:Button name=«button1 » runat=« server » } onclick=« convert »/> </form> + séparation claire de l’interface </html> + pas de gestion de la distance, les contrôles client sont vus comme des objets locaux
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Précompilation et mémoire du serveur .NET (1) Appel de la page Page web aspx Codebehind dll Page HTML + Identifiants du contexte CLR : Instance de la page + Etat de tous les objets de la page : CONTEXTE ou viewstate (runat=« server ») (2) Transmission de l’état de + méthodes de traitement associées la page (contexte) + actions + identifiants liant l’objet à la session en cours à réaliser
  • 39. .Net : Accès aux données
  • 40. L’accès aux données (1/2) application ADO.NET System.DATA ODBC OLEDB Drivers Natifs
  • 41. L’accès aux données (2/2) Datareader DataAdapter DataSet DataView Sources et Bindings : ex du Datagrid
  • 42. 2 approches d’accès aux données DataReader
  • 43.
  • 44. ASP.NET V2 (1/2) • MasterPage / Objet header / PlaceHolders • Contrôle Identification • Controlstate en plus du ViewState • CrossSitePosting • URL Mapping (redirect)
  • 45. ASP.NET V2 (2/2) • Thèmes graphiques via XML • WebParts • Précompilation des pages http://SERVER/APPLICATIONNAME/precompile.axd • Statistiques intégrées <siteCountersenabled="true" rowsPerDay="1"> • contrôles ASP.NET XHTML compliant !! On peut définir le schéma pour chaque page respect des normes ex : XHTML 1.1 Strict
  • 46. ASP.NET V3 • Listview • Datapager • Integration AJAX • Moteur de workflow • Gestion SOA – web services (WCF)
  • 47. Partie 2 : J2EE VS .NET • Comparaison, similitudes • Points forts • Avantages et Inconvénients • Méthode « Best Practice »
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 55.
  • 56. Design Patterns & MVC Action 1 JSP 1. Vue 1 2. Action 2 ActionServlet 3. (Contrôleur) 4. Action 3 JSP Modèles Vue 2 5. ( Contexte d’objets persistants EJB) mapping
  • 58.
  • 59.
  • 60.
  • 62.
  • 63.
  • 64.
  • 65. L’illusion de la gratuité du serveur d’applications : évolutions en 3 ans 500 € / user . 20 à 30000€ /proc Gratuit avec l’O.S.
  • 66. Premier comparatif Des avantages et inconvénients à nuancer. Avantages pour .NET • Nombre de langages • Réutilisation de l’existant • Gestion des données • Gestion des Interfaces • Pas d’implémentations multiples Avantages pour Java • nombre d’API • Variété des Plateformes • Nombre de Développeurs • Gestion de la persistance EJB • Bonnes habitudes dès le départ • Pas de contrôle « fort » d’un éditeur (orientation libre)
  • 67. .NET et Open Source ? Les moins Java n’est pas aussi libre qu’on ne le pense .Net et politique globale de Microsoft (intégration dans les futurs produits) Politique de mise en avant de l’IDE Visual Studio Les plus Des tentatives d’ouverture : Starter Kits .NET La création d’une communauté .NET L’ouverture imposée des sources C# reconnu ECMA > Des technologies pertinentes issues d’années d’expérience qui devraient rester dans le domaine du libre
  • 68. Les Runtime .NET Libres JAVA .NET MONO (2.6.1) novell .GNU (0.8) Applications Applications Applications Applications JAVA C#/VB.NET… 15 langages C# C# Java SDK .NET Framework Mono Framework .GNU Framework JRE CLR CLR MONO CLR .GNU Plateformes Plateformes Plateformes Plateformes UNIX, Windows, UNIX, Windows, UNIX, Windows, Windows MacOSX, Linux MacOSX, Linux… MacOSX, Linux…
  • 69.