DotNet - J2EE
DotNet - J2EE
DotNet - J2EE
.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
présentation VUES
Répartition CONTROLEUR
Workflows ORCHESTRATION
Connexions
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
• Framework
• Développement WEB
• Le langage C#
• Accès aux données
• Autres Exemples
Qu’est-ce que .NET ?
Page aspx
<ASP:Fileupload id=btnUpload/>
Codebehind
void btnUpload_Click(objectsender,EventArgse)
{
if (file.HasFile)
{
file.PostedFile.SaveAs(@"c:\test\fichier.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
//convertisseur Euro
button1_onclick (contexte)
{
// Action à effectuer
Form1.resultat = (float)Form1.a.Text * 6,55
}
1 page de présentation
1 page de traitement des actions
HTML + Web components
1 page de présentation
1 page de traitement des actions
HTML + Web components
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)
• Statistiques intégrées
<siteCountersenabled="true" rowsPerDay="1">
• 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
• Nombre de langages
• Réutilisation de l’existant
• Gestion des données
• Gestion des Interfaces
• Pas d’implémentations multiples
• 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
• http://www.asp.net/downloads/essential/