IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

[Architecture] Différence entre Java Web Start et une Applet ? [FAQ]


Sujet :

Applets Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 95
    Points : 67
    Points
    67
    Par défaut [Architecture] Différence entre Java Web Start et une Applet ?
    Alors y'a t-il des diférences ou aucune ? Personnellement j'image qu'il y en a mais les voit pas vraiment...

    Avantages, inconvénients ? ..

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    La grosse différence tient dans le fait qu'avec webstart tu réalise un application swing normale alors qu'avec une applet tu as une certaine forme à respecter

    A savoir également qu'une fois chargée sur ton ordi l'appli webstart peut être relancée sans avoir à acéder au net, et possède un mécanisme de mise à jour automatique
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 95
    Points : 67
    Points
    67
    Par défaut
    Donc la grosse différence se situerait dans le fait qu'une applet n'a pas de système de mise à jour automatique ?

    Pourtant si je modifie une applet sur le serveur il me semble que les utilisateurs vont charger la nouvelle version de l'applet ?

    La différence serait alors le simple fait que pour JWS on ne charge que ce qui a été mofidié ou ajouté alors que pour une applet on recharge la totalité ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Slt,
    Une applet se lance via un navigateur , en tapant une url au prealable.
    Une appli JWS une fois telecharger est autonome , et peut s'executé sans connexion au net (enfin si l'appli ne le necessite pas).
    En gros une JWS une fois telecharger c'est une appli desktop comme une autre, sauf qu'elle sait se mettre a jours toutes seul.

    Une applet c'est une parti d'un site web, c'est finalement tres different dans le concept.
    UML avec VIOLET

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Java Web Start a été concus pour corriger certain problèmes des Applets. A la rigeur le seul point commun c'est que les deux sont sécurisé et qu'ils neccessitent d'être signés afin d'avoir l'authorisation d'effecter certain traitement...

    Au niveau des avantages de JWS :
    • Le plugin Java du navigateur n'est pas neccessaire, seul la présence d'un JRE avec JWS est requise (JWS est installé avec le JRE depuis le JRE 1.4, et installable à part pour le 1.3).
    • Il est possible d'authoriser (ou non) le mode "offline" (en local).
    • On peut créer un raccourci vers l'application sur le bureau ou dans les menus (selon le système).
    • On peut associer des types de fichiers avec l'application JWS.
    • On peut spécifier la(les) version(s) de Java à utiliser, et eventuellement fournir du codes différents selon la version.
    • Utiliser un ensemble de "BasicServices", qui permettent d'effectuer des actions normalement interdite (ouvrir/sauvegarder/télécharger/imprimer), sans pour autant avoir à signer son application (avec certaine limitation toutefois, voir le package javaws.jnlp pour plus de détail).
    • Spécifier des options d'exécution, en particulier le memory head size (min et max).
    • Enfin le navigateur n'est plus qu'un outil et non pas une neccessité : on peut très bien déployer et exécuter l'application sans navigateur : seul l'URL suffit...
    A noter enfin qu'il est possible de déployer des Applets via JWS, afin de simplifier la migration...

    a++

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 95
    Points : 67
    Points
    67
    Par défaut
    Merci beaucoup pour vos réponses, et particulièrement à adiGuba pour sa réponse + que précise

  7. #7
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Bonjour, le sujet m'interresse beaucoup, aussi j'aimerais quelque précisions:

    A-t-on accès aux .class d'une appli JWS ?
    JWS permet de lancer une appli à partir du web, mais une fois sur le desktop, qu'a-t-on comme données en local et où ?

    Par exemple si l'appli JWS utilise un fichier de config xml, suis-je capable de retrouver ce fichier en local une fois l'appli téléchargée ?

    Puis-je développer une appli JWS qui utilise des fichiers situés sur le serveur ?
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 95
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par Regis.C
    Par exemple si l'appli JWS utilise un fichier de config xml, suis-je capable de retrouver ce fichier en local une fois l'appli téléchargée ?
    ?
    Oui. Le fichier .jnlp se situe dans Document and Setting\Administrateur.NOMDETASESSION\Application DATA\SUN\JAVA\DEPLOYMENT\CACHE\JAVAWS\HTTP\etc...\

    A noter que si le fichier jnlp est généré à la volée d'extension .php (par exemple), dans le cache on ne trouvera uniquement le .jnlp "static". Ce qui est d'ailleurs logique.

    Citation Envoyé par Regis.C
    Puis-je développer une appli JWS qui utilise des fichiers situés sur le serveur ?
    Oui. Tu peux utiliser des fichiers venant du serveur, ou de ton jar (lui même situé sur le serveur)

  9. #9
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par Regis.C
    Bonjour, le sujet m'interresse beaucoup, aussi j'aimerais quelque précisions:

    A-t-on accès aux .class d'une appli JWS exécutée en local ?
    Reste cette question...
    Les .class sont ils stockés en mémoire ?
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 95
    Points : 67
    Points
    67
    Par défaut
    Le jar est en local puisque tu peux utiliser le programme hors ligne. En décompressant le .jar avec winrar tu trouvera les .class et même les .java si le programmeur les a inclus.

    Le jar se situe lui aussi dans le cache (voir le chemin dans ma réponse au dessus)

  11. #11
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Bonsoir,

    Est-ce qu'une application JWS s'exécute dans une page html ? Si je veux l'utiliser à l'intérieur d'une page web comme une applet, est-ce que c'est possible ?

  12. #12
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Une application JWS c'est juste une application Java déployée via Java Web Start.
    Donc non elle ne s'insère pas dans une page HTML !

    Fait une applet dans ce cas !
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  13. #13
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Le jar est en local puisque tu peux utiliser le programme hors ligne. En décompressant le .jar avec winrar tu trouvera les .class et même les .java si le programmeur les a inclus.
    Le jar est aussi local dans le cas d'une applet, non ? par ailleurs, mettre les .java dans le .jar qu'on fournit, on ne le fait que si on veut que les sources soient accessibles.

    En principe, dans le déploiement, on "obfusque" les class, et on ne joint pas les sources ni les infos de débuggage...
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  14. #14
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Ca va être pratique pour assurer le support de ton application
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  15. #15
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Ca va être pratique pour assurer le support de ton application
    Mmmh, oui pourquoi ?
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  16. #16
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Citation Envoyé par Nemek Voir le message
    Une application JWS c'est juste une application Java déployée via Java Web Start.
    Donc non elle ne s'insère pas dans une page HTML !

    Fait une applet dans ce cas !
    Ok merci et +1.

    *****************

    L'applet n'a-t-elle pas plus de possibilité qu'une application JWS ? Par exemple si on a besoin de communiquer avec le serveur pour diverses raisons ? (Supposons que je veuille afficher des textes (cours, définitions...) en fonction des paramètres entrés par l'utilisateur).

  17. #17
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Citation Envoyé par BenWillard Voir le message
    Mmmh, oui pourquoi ?
    Bah t'es stacktrace vont être moisi :
    java.lang.IllegalArgumentException: id
    at a.a.a.A.a(Unknown source)
    at a.a.a.A.b(Unknown source)
    at a.a.a.A.c(Unknown source)
    at a.a.a.A.d(Unknown source)
    at a.a.a.B.a(Unknown source)
    at a.a.a.B.b(Unknown source)
    at a.a.a.B.c(Unknown source)
    at a.a.a.B.d(Unknown source)
    Citation Envoyé par Beginner. Voir le message
    L'applet n'a-t-elle pas plus de possibilité qu'une application JWS ?
    Une Applet peut interagir avec la page qui l'intègre puisqu'elle est exécuté à travers un plugin du navigateur. Ce que tu ne peux faire quand tu es dans une application à part entière.

    Citation Envoyé par Beginner. Voir le message
    Par exemple si on a besoin de communiquer avec le serveur pour diverses raisons ?
    Parce qu'une application Java ne peut pas communiquer avec un serveur ?

    Citation Envoyé par Beginner. Voir le message
    Supposons que je veuille afficher des textes (cours, définitions...) en fonction des paramètres entrés par l'utilisateur.
    Il suffit de faire un formulaire qui pointe vers une "page dynamique" qui va générer un JNLP customisé à partir des saisies de l'utilisateur.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  18. #18
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Juste pour info : il est tout à fait possible de déployer une applet via JNLP : http://www.oracle.com/technetwork/ja...707.html#USAGE


    a++

  19. #19
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Bah tes stacktrace vont être moisis

    Il y a toujours un conflit stratégique entre deux buts non corrélés, en l'occurrence :

    A) Pouvoir facilement régler un problème imprévu
    B) Augmenter le coût d'un désassemblage du code

    Toute stratégie de déploiement est un compromis entre ces deux buts.

    Soit on privilégie la protection des sources (B), et du coup forcément il y a moins d'indices côté client pour A, soit on privilégie le debuggage style "programme en cours de développement", et on diminue le coût du désassemblage.

    On peut aussi faire un log... Et en plus on peut toujours aussi renvoyer une version "debug" du .jar à un utilisateur déterminé, le jour où il a des soucis sérieux...

    En tout cas, un programme avec les sources et les informations de debuggage, amha ça ne peut pas être autre chose qu'une version de test, quelque chose de très provisoire, voire limité à mon ordi, mais en aucun cas "dans la nature".

    Juste pour info : il est tout à fait possible de déployer une applet via JNLP
    Là, pour le coup, je ne vois pas le but ?
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  20. #20
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Juste pour info : il est tout à fait possible de déployer une applet via JNLP : http://www.oracle.com/technetwork/ja...707.html#USAGE
    Est-ce qu'il s'agit réellement de Java Web Start ou juste la réutilisation du format JNLP comme descripteur de déploiement ?

    En tout cas dans la FAQ c'est indiqué qu'on peut lancer une Applet avec JWS mais ca s'ouvre dans l'AppletViewer qui ne couvre pas toute la spécification des conteneur d'Applet.

    Citation Envoyé par BenWillard Voir le message
    Il y a toujours un conflit stratégique entre deux buts non corrélés, en l'occurrence :

    A) Pouvoir facilement régler un problème imprévu
    B) Augmenter le coût d'un désassemblage du code

    Toute stratégie de déploiement est un compromis entre ces deux buts.

    Soit on privilégie la protection des sources (B), et du coup forcément il y a moins d'indices côté client pour A, soit on privilégie le debuggage style "programme en cours de développement", et on diminue le coût du désassemblage.

    On peut aussi faire un log... Et en plus on peut toujours aussi renvoyer une version "debug" du .jar à un utilisateur déterminé, le jour où il a des soucis sérieux...

    En tout cas, un programme avec les sources et les informations de debuggage, amha ça ne peut pas être autre chose qu'une version de test, quelque chose de très provisoire, voire limité à mon ordi, mais en aucun cas "dans la nature".



    Là, pour le coup, je ne vois pas le but ?
    Si tu fournies une application dont le code est relativement "critique", l'obfuscation peut-être à envisager mais cela ne fera que limiter (ou augmenter le cout) du désassemblage. Si quelqu'un estime que c'est économiquement valable il mettra les moyens qu'il faut et tu n'auras que fait perdre un peu de temps à une équipe d'ingénieur voir à un programme.
    Car il existe des programmes qui en analysant la structure d'un code, le réécrit proprement ; certes sans les commentaires et les bons noms mais ce n'est pas le plus long.

    Dans une bonne application les "logs techniques" (appelées "traces") sont stockés dans un fichier bien particulier. A la demande tu peux récupérer les logs et les traces (ex : Fonction d'envoi de rapport de bugs).

    Quand tu assures le support sur une application, tu as intérêt à avoir des informations précises afin d'être réactif. Sinon tu ne garderas pas longtemps ta clientèle.
    La robustesse (aussi bien la capacité à "résister" aux erreurs et à fournir des informations claires en cas d'erreur ou non) est un point critique pour une application distribuée au grand public !
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/09/2011, 11h35
  2. Réponses: 1
    Dernier message: 20/04/2010, 21h16
  3. java web start qui veut pas se lancer
    Par calvin dans le forum JWS
    Réponses: 4
    Dernier message: 30/06/2004, 11h42
  4. Différence entre majuscule et minuscule dans une requête
    Par Asdorve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/06/2004, 14h42
  5. [JNDI] Equivalent avec Java Web Start ?
    Par cameleon2002 dans le forum Java EE
    Réponses: 8
    Dernier message: 18/09/2003, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo