Présentation
En anglaisAuteur(s)
-
Patrick BELLOT : Docteur d’État en informatique - Professeur à l’École nationale supérieure des Télécommunications
-
Christophe MATIACHOFF : Docteur de l’université Pierre-et-Marie-Curie - IBM Global Services - CGI Informatique, centre de Compétences Objet
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
Java est le dernier né des langages de programmation orientée objet. Il n’est pas un journal relatif à l’informatique qui ne présente régulièrement des articles concernant le langage Java. Java envahit l’industrie et les projets sont nombreux. Il y a peu de projets réels mais beaucoup de prototypes de validation de la technologie. Le deuxième symposium Java qui s’est tenu à Berlin fin 1997 a vu la présentation de nombreux produits. Les constructeurs et les sociétés de logiciels s’investissent dans la technologie Java. Aucun colloque concernant la programmation orientée objet ne peut faire l’impasse sur Java. Enfin, Java conquiert les universités et les écoles où sa publicité, alliée à une certaine simplicité de programmation pour des résultats spectaculaires, induit la demande des élèves. Nous allons présenter Java, sa technologie et examiner objectivement les raisons de ce succès.
Le langage Java et ses concepts ont été développés par Sun Microsystems Inc. Les concepts ont été pour l’essentiel empruntés aux langages orientés objet existants. Un site Web maintient à jour les informations sur Java, son historique et ses nouveaux développements. Ces derniers sont si rapides qu’il est pratiquement impossible d’obtenir une information à jour sans la consultation régulière de ce genre de sites. Même si Java n’est pas exclusivement un langage de développement pour Internet, il a grandement facilité la programmation répartie, celle des interfaces graphiques et celle des « applets », petits programmes exécutés par les « navigateurs Internet ». De fait, la vie de Java se passe sur Internet. C’est là qu’il faut chercher les dernières nouveautés, demander des aides en cas de doute, rechercher les derniers outils de développement ou les bibliothèques récentes.
Le concept Java a été développé par l’équipe de James Gosling de Sun Microsystems Inc. dans le but d’obtenir des programmes téléchargeables et indépendants du support d’exécution, machine et système d’exploitation. Le marché ciblé est celui des machines portables de faible capacité mais pouvant être connectées au réseau. Il est aussi celui des navigateurs Web qui ont besoin d’interactivité pour n’être plus de simples afficheurs d’informations multimédias. Il leur faut donc être programmables à partir des serveurs où ils vont chercher l’information. Les promoteurs de Java en disent que c’est un langage orienté objet, simple, réparti, robuste, sûr, indépendant de l’architecture, por-table, efficace, « multithread » et dynamique.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
3. Java et la sécurité
Les programmes Java sont destinés à être téléchargés à travers le réseau, ce qui implique des aspects sécuritaires. Nul n’oserait exécuter un code téléchargé dont il ignore le contenu réel s’il ne dispose d’éléments quant à la sûreté du code. La sécurité est assurée à plusieurs niveaux et concerne principalement les applets.
3.1 Les restrictions par le langage
Le premier niveau de sécurité est celui du langage lui-même. Java a remplacé les pointeurs par des références. Il n’y a pas d’arithmé-tique des références en Java similaire à l’arithmétique des pointeurs de C ou de C++. Il est donc impossible au programmeur de manipuler des adresses mémoires pour accéder à des zones non autorisées.
La possibilité de déclarer une classe ou des méthodes finales interdit tout héritage de la classe et toute redéfinition des méthodes. Cela interdit à un programmeur mal intentionné de détourner ces classes et ces méthodes de leurs objectifs initiaux.
HAUT DE PAGE3.2 L’analyse du bytecode
Rien n’empêche un programmeur bien avisé de la machine virtuelle de produire un bytecode véreux, ne respectant pas les restrictions sur le langage énumérées dans le paragraphe 3.1. Rien n’empêche un bon informaticien de concevoir un compilateur ne respectant pas les restrictions sur le langage et produisant néanmoins des fichiers d’instructions pour la machine virtuelle de Java. C’est pourquoi le chargement des classes suspectes, c’est-à-dire celles importées à travers le réseau, s’accompagne d’une vérification du code pour la machine virtuelle. C’est de la responsabilité de votre environnement d’exécution, en général un navigateur Web, de vérifier la qualité du bytecode pour la machine virtuelle. On s’assure bien entendu que le code est bien un code pour la machine virtuelle Java. On vérifie aussi que l’exécution se passera sans débordement de la pile d’exécution,...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Java et la sécurité
BIBLIOGRAPHIE
-
(1) - Java : market, opportunities, and trend. - Zona Research Inc. (1997).
-
(2) - ARON (P.), PRADENC (H.) - La Java Card débarque. - Le Monde Informatique, 739 (24 octobre 1997), 4.
-
(3) - BARNES (J.) - Programming in Ada 95. - Addison-Wesley (1995).
-
(4) - BELLOT (P.) - Conception et programmation par les objets, le langage Eiffel. - Soumis pour parution chez Eyrolles, 250 p., Paris (1997).
-
(5) - BELLOT (P.), ROBINET (B.) - Conception de logiciels et portabilité. - Technologies logicielles – Architectures des systèmes (1998).
-
(6) - STROUSTRUP (B.) - The Design and Evolution of C++. - Addison-Wesley (1994).
-
...
ANNEXES
Microsoft, Visual J# http://msdn.microsoft.com/vjsharp
Borland JBuilder https://borland-jbuilder.software.informer.com/T%C3%A9l%C3%A9charger/
Java World http://www.javaworld.com
Developer.com http://www.developer.com/java
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive