Académique Documents
Professionnel Documents
Culture Documents
Sbastien Robitaille
(Croesus Finansoft)
Plan du sminaire
1.
2.
Vue densemble de chacune des plates-formes Interoprabilit et portabilit Modles de scurit Support pour les Web Services
3.
Discussion et Conclusion
Historique
VS
1975-1995.
Sun Microsystems: Cr en 1982. Le rseau est lordinateur . Surtout
une compagnie de matriel (hardware) vendant des serveurs. Crateur du systme dexploitation SOLARIS, utilis sur le matriel de Sun.
Historique (Suite)
Mai 1995: Une nouvelle plate-forme de programmation est lance par Sun.
Elle est portable et elle comprend Java, un langage orient objet de haut niveau. Mars 1996: Microsoft achte une licence Java de Sun pour pouvoir utiliser les Applets Java dans Internet Explorer et offrir des outils de dveloppement pour Java (Visual J++). Octobre 1997: Action en justice de Sun contre Microsoft pour bris de contrat: Sun estime que Microsoft na pas respect la licence en dveloppant une version de Java incompatible avec les spcifications de Sun. Microsoft continue de dvelopper sa propre version de Java. Librairies, compilateur, machine virtuelle.
Historique (Suite)
Juin 2000: Microsoft annonce une trs vaste initiative, .NET, une plateforme pour crer des Web Services bass sur XML. La plate-forme utilise entre autres un nouveau langage semblable Java appel C# (seesharp).
Historique (Suite)
Octobre 2001: Lancement de Windows XP. Cette nouvelle version de
Windows est base sur les technologies NT et 2000. Les deux branches de systmes dexploitation de Microsoft sont finalement unifies par cette nouvelle version (95/98/Millenium par rapport NT/2000). Windows XP ne contient pas le Framework .NET. Dcembre 2001: Sun se lance lui aussi dans les Web Services, en rendant disponible sur le web un ensemble de librairies Java et doutils pour la cration et lutilisation de Web Services. Janvier 2002: Le .NET Framework SDK version finale est disponible pour tlchargement sur le site web de Microsoft. Fvrier 2002: Microsoft lance Visual Studio .NET. Mars 2002: Nouvelle action en justice de Sun contre Microsoft. Environ 1 milliard de dollars est demand, linclusion de Java dans Windows XP et IE6, ainsi que la divulgation dun ensemble dAPI de Windows XP.
Modle de programmation
Librairies Java
Java 2 Standard Edition Java 2 Enterprise Edition Java 2 Micro Edition
J2SE 1.4
J2SE 1.0: 212 classes 1.1: 504 classes 1.2: 1781 classes 1.3: 2130 classes 1.4: 2738 classes
J2EE 1.3
J2ME
2 Profiles
1.
Foundation Profile
Configuration: Connected Device Configuration (CDC) API de base + Machine Virtuelle CVM. Ensemble dAPIs supplmentaires. Cible: Tlvision digitale, tl-avertisseurs, PDA, Cellulaires-Web. Ressource: 1024K minimum ROM, 512K minimum RAM, Connexion rseau, Pas de GUI. Configuration: Connected Limited Device Configuration (CLDC) Api de base + Machine virtuelle KVM. Ensemble dAPIs supplmentaires. Cible: Cellulaires, PDA. Ressource: Aussi peut que 160K au total (RAM + ROM).
2.
+ Le
Microsoft .NET
Microsoft .NET is the Microsoft platform for XML Web services [Microsoft]
1.
Pocket PC, Smartphone, Xbox, Tablet PC Windows XP, Windows XP Embedded, Windows CE .NET .NET My Services Windows 2000 Servers, .NET Enterprise Servers, Windows .NET Servers .NET Framework Visual Studio .NET
2. 3.
.NET Servers
4.
Developer tools
Langages supports
C#, Visual Basic, C++,Visual J++ (Java), Cobol, Fortran, Eiffel, Smalltalk, Python, Pascal, etc.)
CLS (Common Language Specification) + CTS (Common Type System). MSIL (Microsoft Intermediate Language).
.NET Runtime
CLR (Common Language Runtime). Compilation Just-In-Time . Garbage Collection, Securit, etc.
Base de donnes Accs distant Scurit GUI Etc.
Librairies
.NET Framework
Code Source
(C#, C++, VB.NET, J++, Cobol, Smalltalk, Eiffel, etc.)
Linux (Mono::)
Autre
Autre plate-forme/SE?
Autre Architecture/CPU?
Librairies de .NET
Support pour tous les langages de .NET. Managed code du cot serveur.
Reflection XML
Drawing Etc.
Java
Fichier .class pour chaque classe. Regroupement de ces fichiers (.jar). .class et .jar doivent tre dans le classpath .
Regroupement en Assemblies (.EXE, .DLL) Gestion des versions
.NET
Le CLR soccupe de loader le bon assembly en fonction de la version. Un mme processus peut mme utiliser deux versions diffrentes dun mme assembly, en mme temps limine les problmes de compatibilit entre diffrentes versions dun mme DLL. Endroit o sont stocks les assemblies. Gr par le framework.
Le langage C#
Langage Orient-Objets. Syntaxe trs similaire celle de C++ et de Java. Quelques diffrences intressantes:
Properties
Mthodes Get et Set appeles implicitement. Pointeurs de mthodes type safe Note: Argumentation intressante entre Sun et Microsoft ce sujet sur leurs sites web respectifs.
Delegates
Events
Indexers
Le langage C# (suite)
Mmoire toujours alloue sur le stack . Permet lcriture de code plus efficace.
Vector[] vectors = new Vector[1000];
Tous les types sont des objets en C#, contrairement Java. Concepts: Boxing/Unboxing. Exemple 1:
int i = 5; System.Console.WriteLine(i.ToString());
Exemple 2:
Stack stack = new Stack(); stack.Push(i); // boxing int j = (int)stack.Pop(); // unboxing
Le langage C# (suite)
Polymorphism
Modifiers
Attributes
Arithmtique de pointeurs
Indpendantes de la plate-forme (Linux, Windows, Solaris, ). Outils disponibles pour chaque plates-formes. Indpendantes des composantes tiers-partie (BD, Serveur Web, Serveur courriel, ). 37 licencis J2EE. Cellulaire (6 premiers fabricants), PDA (succs limit), etc Trs peu utilis sur le desktop. Environ 5% des sites web ont des applets.
Application J2ME:
Application J2SE:
Smart Device Extensions for Visual Studio .NET Support natif avec Windows CE .NET
Mobile Internet ToolKit (cot serveur) Projet Open-Source pour Linux Mono::
Evidence-based
Role-based
Support du Framework pour de la scurit au niveau de la logique de lapplication (bas par exemple sur lidentit de lutilisateur ou des groupes auxquels il fait parti, tels que dfinis par exemple par le systme dexploitation).
APIs extensibles. Plusieurs mthodes dauthentification supportes. Intgr ASP.NET. Accs un espace disque isol. Support pour lencryption, signatures digitales, gnration de nombres alatoires, hashing. RSA, DSA, Rijndael/AES, Triple DES, DES, RC2, MD5, SHA1, SHA-256, SHA-384, SHA-512.
Autentification Autorisation
Isolated Storage
Cryptography
Web Services
Quest-ce quun Web Service ?
Mthode pour rendre des
services logiciels accessibles sur le web. Bas sur XML pour une interoprabilit maximum Trois technologies XML qui sont dj des standards: SOAP, WSDL, UDDI
Simple Object Access Protocol Web Services Description Language Universal Discovery Description and Integration
Cration un contrat (fichier WSDL) Dploiement du service (IIS, ASP.NET) Enregistrement du service sous UDDI
Image satellite de laroport de San Francisco rcupre laide du systme TerraServer de Microsoft. http://terraserver.homeadvisor.msn.com
Centr sur le consommateur Authentification par lentremise de .NET Passport Any Time and On Any Device
Core .NET My Services: .NET Presence .NET Location .NET Services .NET Calendar .NET Contacts .NET Inbox .NET Documents .NET Wallet .NET Application Settings .NET Profile .NET FavoriteWebSites .NET Lists .NET Categories
Stratgies de Sun
Mettre rapidement Java sur les cellulaires et les gadgets lectroniques (Project Monty). Offrir rapidement un bon support pour les Web Services (ONE platform ) viter la fragmentation de la plate-forme tout en rendant Java profitable. Stratgie axe sur les Web Services. Web Services pour les gadgets lectroniques ds la deuxime moiti de 2002. Utiliser son avance cot desktop pour mieux se positionner dans le march des cellulaires et gadgets lectroniques (vs Palm et Nokia surtout). Architecture ouverte aux autres plate-formes mais support principalement pour Windows.
Stratgies de Microsoft
Rfrences
.NET
www.microsoft.com msdn.microsoft.com www.dotnetjunkies.com www.gotdotnet.com
Java
java.sun.com
Nouvelles technologiques
news.com 01net.com (franais) slashdot.org www.theregister.co.uk