Dotnet j2 ee

download Dotnet j2 ee

of 70

  • date post

    29-Jun-2015
  • Category

    Education

  • view

    495
  • download

    2

Embed Size (px)

Transcript of Dotnet j2 ee

  • 1. Dveloppement web avanc,.NET, J2EE & Interoprabilit

2. SommaireSemaine 1INTRO Rappel, La Course aux langages / La place de J2EE et .NET Le cas PHP.NET Framework dveloppement WEB et nouveauts accs aux donnes performances...J2EE VS .NET Comparaison, avantages, inconvnients, points forts Mthode Best Practice Open Souce et Outsiders 3. Introduction La course aux langages Centralisation et dcentralisation Rich Client 4. La course des languages 10 ans de webCatgorie Langage Serveur + Client Lger19982010 J2EE Servlet JSP STRUTS / MVCJSFEJB3 JSF2.NET ASP2 ASP3ASPX ASP.NET ASP.NET 2 ASP.NET 3.5 PHP PHP3PHP4PHP5 PHP5.3Python CGI ZOPE CMF/PLONE1PLONE2 / CPS 3.2 CPS J2ECold Fusion CFMCFM MX SERVER 7 / J2ERuby RUBY 1.9.1Outisiders : CGI en PERL / C, Delphi, Frameworks intgrs ex : IBM Lotus Domino /Oracle Forms 5. Vers le n-tier lre des architectesprsentation VUES RpartitionCONTROLEUR WorkflowsORCHESTRATION Traitements mtiers BUSINESSObjets persistantsMODEL ConnexionsSOAP XML LDAPAutres DATA 6. Client lourd Client web 7. Le Client Riche ServerPoste clientHTTP (XML)SOAP (Webservices)Serveur 8. La course au WEBAperu des langagesExemple XUL 9. Le cas PHP (5.3.1 en 2010) Des dsavantages pour le petit frre du WEB ?UN LANGAGE SIMPLE ET PUR WEBFaux > on peut crer des programmes non web (PHP gtk)+ orientationobjet en cours damlioration (V4 et 5 namespace - et 6 en 2009)Un Langage 100% interprtFaux > Il existe un prprocesseur : le ZEND Engine (auj en version 2.1.13)Une compatibilit totale avec les Web ServicesFaux > Une implmentation pas toujours totale de la norme > le cas NuSoapPas de Frameworks avancsFaux > PEAR (connexion aux bdd) / HORDE (environnement de dev)Pas denvironnement IDEFaux > Plugins pour Eclipse (ex : zend IDE for eclipse)+ nombreux outilsOpen SourcePas dditeur en BackGround / pas de serveur dapplicationFaux > IBM soutient ZEND technologyParfaitement adapt au web, certains points le distinguent pourtant des grandsFrameworks : compilation, monte en charge, persistance des objets,connecteurs vers les gros systmes, interoprabilit, exceptions, runtime, SOA,mobilit, garbage collector etc.. Mais il poursuit sa route ! 10. Le cas PHP (5.3.1 en 2010) Des dsavantages pour le petit frre du WEB ?UN LANGAGE SIMPLE ET PUR WEBFaux > on peut crer des programmes non web (PHP gtk)+ orientationobjet en cours damlioration (V4 et 5 namespace - et 6 en 2010 ?)Un Langage 100% interprtFaux > Il existe un prprocesseur : le ZEND Engine (auj en version 5)Une compatibilit totale avec les Web ServicesFaux > Une implmentation pas toujours totale de la norme > le cas NuSoapPas de Frameworks avancsFaux > PEAR (connexion aux bdd) / HORDE (environnement de dev)Pas denvironnement IDEFaux > Plugins pour Eclipse (ex : zend IDE for eclipse)+ nombreux outilsOpen SourcePas dditeur en BackGround / pas de serveur dapplicationFaux > IBM soutient ZEND technologyParfaitement adapt au web, certains points le distinguent pourtant des grandsFrameworks : compilation, monte en charge, persistance des objets,connecteurs vers les gros systmes, interoprabilit, exceptions, runtime, SOA,mobilit, garbage collector etc.. Mais il poursuit sa route ! 11. Partie 1 : .NET Framework Dveloppement WEB Le langage C# Accs aux donnes Autres Exemples 12. Quest-ce que .NET ? Le FrameWork unifi de dveloppement Microsoft Distribue en standard sour forme de dll sur les plateformesWindows (server, personal, CE)Une version plateforme et une version compact (mobile)Contient toutes les classes, une machine virtuelle, uncomplilateur, un processeur J.I.T. Une approche rsolument diffrente du dveloppement WEBet de laccs aux donnes 13. Que faut-il pour dmarrer ? Visual studio ou autres IDE libres .NET Dveloppement web avec outils gratuits 14. Plusieurs LangagesUn 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.NETLangage .NET = langage ANSI + orientation objet + implmentationdes classes du Framework .NETUn compilateur par langage transformation en IL : DLLDLL compilateur JIT de la CLR excution en mode managed Code C# Compilateur csDll (IL)CLR Excution Autres dlldll du framework 15. Un travail collaboratif Utilisation maximale des comptences de programmation Utilisation maximale des avantages de chaque langage Code C# : application WEB dlldll du frameworkCode VB : macros du secrtariatdll Code PERL : formatage de fichiers dll CLR : excutionCode Java : lien avec appli bancaire dllCode Cobol : interrogation Mainframe dll 16. C#Langage principal de Microsoft 40% des dv. Dans le mondeCC++C#C# Managed C++ UnmanagedFortement inspir de JavaMais aussi de ADA, de Delphi (mme concepteur)Unification des modes de dveloppementOptimisation des dploiements 17. C# et VB.NET : dcouverte par lexemple 18. C# et VB.NET : exemple de classe 19. Exemple de codes web simplificateursPage aspxCodebehindvoid btnUpload_Click(objectsender,EventArgse){if (file.HasFile) { file.PostedFile.SaveAs(@"c:testfichier.txt"); }} 20. .Net et VersionningIndpendance vis--vis du registreDeux dll de versions diffrentes peuvent cohabiter(dploiement en assemblies)FrameWork multiple tolr (fichier de config)Utile pour les Frameworks 1.0,1.1,1.2,2 3, 3.5Couche dabstraction prsente dans les classes duFrameWork : adaptation au hard et aux interfacesTlphone, PDA, Tablet PC, Portable, PC, Serveur 21. ASP.net : Web componentsvers une conception unifie 22. Dveloppement traditionnel client lourd 23. Dveloppement 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 lutilisation denvironnement RAD / IDE+ Utilisation de composants graphiques drag and drop + Gestion de linterface dlgue au contexte- Ncessite une politique dinstallation sur poste (installer) et deversionning 24. Dveloppement web formulaireHtml avant dveloppementHtml + code intgr//monscript convertisseur EuroAnswer = QueryString( valeur1 ) * 6,55;name= valeur1 /> + Client lger, souplesse du code- Maintenance, mlange du code et de la prsentation 25. En .NET : Dveloppement Evnementiel gnralis1 page de prsentation 1 page de traitement des actionsHTML + Web components+ sparation claire de linterface+ pas de gestion de la distance, lescontrles client sont vus comme desobjets locaux 26. En .NET : Dveloppement Evnementiel gnralis 1 page de prsentation1 page de traitement des actions HTML + Web components//Page monform.aspx : convertisseur//Page monform.aspx.cs Convert(){ Valeur2.Text= (Float)Valeur1.text*6,55; MyClass = New Class() + sparation claire de linterface+ pas de gestion de la distance, les contrles client sont vus comme des objets locaux 27. Prcompilation et mmoire du serveur .NET (1) Appel de la page Page web aspxCodebehinddll 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 ltat de+ mthodes de traitement associesla page (contexte) + actions+ identifiants liant lobjet la session en cours raliser 28. .Net : Accs aux donnes 29. Laccs aux donnes (1/2)application ADO.NET System.DATAODBC OLEDB Drivers Natifs 30. Laccs aux donnes (2/2)DatareaderDataAdapterDataSetDataViewSources et Bindings : ex du Datagrid 31. 2 approches daccs aux donnes DataReader 32. ASP.NET V2 (1/2) MasterPage / Objet header / PlaceHolders Contrle Identification Controlstate en plus du ViewState CrossSitePosting URL Mapping (redirect) 33. ASP.NET V2 (2/2) Thmes graphiques via XML WebParts Prcompilation des pageshttp://SERVER/APPLICATIONNAME/precompile.axd Statistiques intgres contrles ASP.NET XHTML compliant !! On peutdfinir le schma pour chaque pagerespect des normes ex : XHTML 1.1 Strict 34. ASP.NET V3 Listview Datapager Integration AJAX Moteur de workflow Gestion SOA web services (WCF) 35. Partie 2 : J2EE VS .NET Comparaison, similitudes Points forts Avantages et Inconvnients Mthode Best Practice 36. Processus du serveurdapplications / exemple 37. Design Patterns & MVC Action 1JSP 1. Vue 12. Action 2ActionServlet3.(Contrleur)4. Action 3JSPModles Vue 2 5.( Contexte dobjets persistantsEJB) mapping 38. Processus du serveurdapplications JAVA 39. Processus du serveurdapplications .NET 40. Lillusion de la gratuit du serveur dapplications : volutions en 3 ans500 / user . 20 30000 /proc Gratuit avec lO.S. 41. Premier comparatifDes avantages et inconvnients nuancer. Avantages pour .NET Nombre de langages Rutilisation de lexistant Gestion des donnes Gestion des Interfaces Pas dimplmentations multiples Avantages pour Java nombre dAPI Varit des Plateformes Nombre de Dveloppeurs Gestion de la persistance EJB Bonnes habitudes ds le dpart Pas de contrle fort dun diteur (orientation libre) 42. .NET et Open Source ? Les moins Java nest pas aussi libre quon ne le pense .Net et politique globale de Microsoft (intgration dans les futurs produits) Politique de mise en avant de lIDE Visual Studio Les plus Des tentatives douverture : Starter Kits .NET La cration dune communaut .NET Louverture impose des sources C# reconnu ECMA > Des technologies pertinentes issues dannes dexprience quidevraient rester dans le domaine du libre 43. Les Runtime .NET LibresJAVA.NET MONO (2.6.1) novell .GNU (0.8) ApplicationsApplicationsApplicationsApplicationsJAVA C#/VB.NET15 langages C#C#Java SDK.NET FrameworkMono Framework.GNU Framework JRE CLR CLR MONO CLR .GNU PlateformesPlateformes PlateformesPlateformes UNIX, Windows, UNIX, Windows,UNIX, Windows, WindowsMacOSX, Linux MacOSX, LinuxMacOSX, Linux 44. Liens utiles http://www.asp.net/downloads/essential/