J2EE vs .NET
Une comparaison à l’aide de l’application Cybercoach
Travail de Master
Alain Giller
Avril 2006
Supervisé par :
Prof. Dr. Jacques Pasquier-Rocha
et
Dr. Patrik Fuhrer
Groupe Génie Logiciel
Groupe Génie Logiciel
Département d’Informatique
Université de Fribourg (Suisse)
“La persévérance, c’est ce qui rend l’impossible possible, le possible probable et le
probable réalisé.”
- Robert Half
ii
Résumé
Le but de ce travail de master est l’étude de la technologie .NET et la comparaison à son
concurrent direct Java 2 Platform, Enterprise Edition (J2EE). La comparaison se fait à
l’aide d’un exemple concret : le projet Cybercoach dont une application en J2EE a déjà
été entièrement déveloloppée et documentée dans le cadre d’un autre travail de master.
Il s’agit donc d’une étude de la solution existante (J2EE) et de l’implémentation d’une
version aux mêmes fonctionnalités avec la technologie .NET et le langage C#. Afin de
pouvoir bénéficier de l’indépendance de plateformes, Mono, l’implémentation libre de
.NET, a été étudiée.
L’application développée respecte les principales qualités d’un logiciel, telles que, modula-
rité, extensibilité, capacité à monter en charge, sécurité, etc. Pour atteindre cet objectif,
différents concepts et techniques du génie logiciel ont été mis en pratique. Ce rapport
décrit les différentes étapes nécessaires au développement d’une application avec .NET et
les comparent (similarités, différences, avantages, désavantages) avec la plateforme J2EE.
Mots clés :
Java, C#, J2EE, .NET, Mono, ASP.NET, Struts, ADO.NET, EJB, architecture multi-
tier, design patterns, Cybercoach
Table des matières
1 Introduction 2
1.1 Motivation et Objectifs ............................ 2
1.2 Architectures multi-tiers ........................... 2
1.3 Cadre du projet ................................ 3
1.3.1 Application Cybercoach ....................... 3
1.3.2 Connaissances techniques personelles préalables .......... 4
1.4 Organisation .................................. 4
1.5 Notations et Conventions ........................... 5
I Cybercoach 6
2 Cybercoach J2EE 7
2.1 Structure de Cybercoach J2EE ....................... 7
2.1.1 Tiers présentation, Struts ...................... 7
2.1.2 Tiers métier .............................. 8
2.1.3 Tiers données, EJB .......................... 9
2.2 Autres possibilités, non exploitées dans Cybercoach ............ 10
3 Cybercoach .NET 12
3.1 Stucture de Cybercoach .NET ........................ 12
3.1.1 Tiers présentation, ASP.NET .................... 12
3.1.2 Tiers métier .............................. 14
3.1.3 Tiers données, ADO.NET ...................... 15
3.2 Remarques ................................... 15
3.3 Manuel d’utilisation .............................. 16
II J2EE vs .NET 18
iii
Table des matières iv
4 J2EE : Aspect global 19
4.1 Architecture .................................. 20
4.1.1 Machine virtuelle ........................... 21
4.1.2 JIT ................................... 21
4.1.3 Java Runtime Environnement (JRE) ................ 21
4.2 Implémentations existantes .......................... 22
4.3 Serveur d’application, tiers métier ...................... 22
4.4 Outils de développement, IDE ........................ 22
4.5 Sécurité .................................... 23
4.5.1 Sécurité du code ........................... 23
4.5.2 Gestion des droits d’accès ...................... 23
4.5.3 Transactions .............................. 24
4.6 Aspect “politique” ............................... 24
5 J2EE : Aspect pratique 26
5.1 Caractéristiques ................................ 26
5.2 Prise en main ................................. 27
5.2.1 Global ................................. 27
5.2.2 Développement de l’interface Web .................. 27
5.2.3 Développement de l’accès aux données ............... 27
5.2.4 Déploiement .............................. 27
5.2.5 Déverminage ............................. 28
5.2.6 Langage ................................ 28
5.3 Tiers présentation, Struts .......................... 29
5.3.1 Layout ................................. 29
5.3.2 Menu .................................. 29
5.3.3 Validation des formulaires ...................... 29
5.3.4 Configuration ............................. 30
5.4 Tiers métier .................................. 30
5.5 Tiers données, EJB .............................. 31
5.6 Utilisation des design patterns ........................ 31
5.7 Conversion d’un ancien (legacy) système .................. 31
6 .NET : Aspect global 32
6.1 Architecture .................................. 33
6.1.1 Machine Virtuelle (CLI / CLR) ................... 34
6.1.2 JIT ................................... 35
6.1.3 Base Class Library (BCL) ...................... 36
6.1.4 Annotations (méta-données) ..................... 37
6.1.5 Gestion des bibliothèques partagées (assemblies).......... 37
6.1.6 Remarques ............................... 37
1 / 91 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !