Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Applet, quello che possono e che non possono fare

    Vorrei farvi una domanda molto particolare sulle Applet che mi serve per capire se posso risolvere un problema utilizzando questa tecnologia che già conosco oppure se devo rassegnarmi a studiare un nuovo mattone di java che è la programmazione di siti dinamici "in stile php".
    In futuro è mia intenzione imparare a programmare siti dinamici in java e la soluzione che adotterei sarebbe solo temporanea e avrebbe come unico beneficio quello di essere una soluzione immediata ovvero in breve tempo potrei avere l'applicazione software che mi serve per risolvere una specifica problematica. Detto in altro modo posso realizzare questo software fin da subito senza dover aspettare ancora.

    Fatta questa premessa vi spiego il problema. Vorrei realizzare un Applet con una serie di JTextField e un bottone (il programma è un po' più complesso ma ve lo riassumo per non farvi impazzire) dove l'utente lo riempe con numeri e stringhe e poi preme invio. Una volta che l'utente ha premuto invio l'Applet dovrebbe scrivere i contenuti di tutte queste JTextField in un file txt o database o altro che risiede in un punto accessibile solo a me come ad esempio uno spazio web.

    Le domande sono sostanzialmente queste:
    1) Offuscamento a parte, è possibile proteggere il codice dell'Applet che fa questo oppure no?
    2) Tralasciando il fatto che le Applet stanno andando in disuso è tecnicamente possibile ed agevole fare questo oppure molto più complesso di quello che penso?
    3) Per scrivere su uno spazio web è necessario fornire url, user e password o serve altro?
    4) C'è qualche classe o tecnologia che permette di "loggarsi" al server in modo semplice?
    5) C'è il rischio che accedendo al codice dell'applet l'utente venga a conoscenza dei parametri di accesso al server pur decriptando i dati di accesso al server?

    Vi prego di non aggredirmi, sono solo un principiante alle prima armi smanioso di vedere qualche beneficio dalle proprie letture...

    A presto e sempre grazie per il vostro splendito supporto

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    1 e 2) L'applet non essendo lato server gira sul pc dell'utente. Java inoltre non è nativo, quindi oltre all'offuscamento non puoi fare molto.
    3) che intendi per "scrivere su uno spazio web"? Comunicare con un db? O che altro in particolare?
    4) non puoi "loggarti in modo semplice"; l'unica strada è l'autenticazione normale al server. Quindi stabilisci una connessione con i Socket. C'era un modo per mantenere i cookie (per avere la sessione insomma) sul pc, ma sinceramente ora come ora non ricordo come avevo fatto, sono trascorsi anni.
    5) l'utente non vede ovviamente il codice "in chiaro" dell'applet, in quanto si tratta di bytecode.

    Mi permetto di indirizzarti verso JNLP, è utilizzata ad esempio negli esempi della Oracle.
    http://it.wikipedia.org/wiki/Java_Web_Start
    http://docs.oracle.com/javase/6/docs.../contents.html

    E' comunque sempre eseguito dal browser. http://docs.oracle.com/javase/tutori...nts/table.html Clicca sul bottone "launch" più sotto.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    1) Offuscamento a parte, è possibile proteggere il codice dell'Applet che fa questo oppure no?
    In generale no. L'offuscamento comunque è già un buon deterrente nella maggior parte dei casi. Per progetti abbastanza grandi già è difficile comprendere tutto quanto pur avendo i sorgenti "originali" .... figuriamoci se li decompili e sono offuscati ....
    Per progettini piccoli (come immagino il tuo), anche se offuscato il codice potrebbe risultare ancora comprensibile.

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    2) Tralasciando il fatto che le Applet stanno andando in disuso è tecnicamente possibile ed agevole fare questo oppure molto più complesso di quello che penso?
    Possibile sì lo è. E non ci sarebbero nemmeno particolari problemi di sicurezza se il "sito" a cui vuoi connetterti è lo stesso da cui proviene la applet. (le applet hanno pesanti restrizioni, se non sono firmate; possono aprire connessioni solo verso l'host da cui provengono)

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    3) Per scrivere su uno spazio web è necessario fornire url, user e password o serve altro?
    Dire "scrivere" su uno spazio web è vago .... bisogna vedere come. Tramite FTP? Allora certamente in genere c'è da autenticarsi. Tramite HTTP ad esempio con un POST? Qui in generale se e come autenticare è compito tuo stabilirlo.
    In altro modo? Allora precisa meglio.

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    4) C'è qualche classe o tecnologia che permette di "loggarsi" al server in modo semplice?
    Anche qui "loggarsi" è vago. Dipende con che protocollo e eventualmente a che livello.

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    5) C'è il rischio che accedendo al codice dell'applet l'utente venga a conoscenza dei parametri di accesso al server pur decriptando i dati di accesso al server?
    Se li "cabli" nella applet, anche se fossero ben occultati, magari criptati o in forma "strana", l'eventualità che ci sia qualcuno più furbo e/o in gamba di te c'è sempre ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Quando dico "scrivere su uno spazio web" intendo dire scrivere su un file qualsiasi (txt, database, file excel, ecc... quello che volete) purché la soluzione sia semplice ed immediata. Non mi importa il formato dei file tanto poi in separata sede io convertirò questo file in excel. Premetto che l'I/O non mi spaventa, io con java so scrivere su txt, sql ed excel quello che mi spaventa è scrivere su di un server invece che sul classico pc dell'utente. Mi avete chiesto se voglio scrivere su ftp o su http e rispondo la prima perché ogni dato inserito da una persona deve essere noto solo alla persona che li ha scritti e non al resto dei votanti. Per entrare nell'ottica del problema pensate al classico sondaggio. I dati che raccolgo li processerò a parte con altri strumenti/software...
    L'applet che vedo in questo sito:
    http://docs.oracle.com/javase/tutori...nts/table.html
    si avvicina a quello che mi serve ma permette di scrivere su server?

  5. #5
    Ho leto la definizione di JNLP e credo sia quello che serve a me ma ho alcune domande da porvi:

    1) JNLP permette di costruire la GUI con SWING?
    2) JNLP permette di scrivere sul server da cui parte l'applicazione usando l'ftp?
    3) E' facile imparare ad usare il JNLP oppure no? (Vi ricordo che il fascino delle applet deriva dal fatto che so qualcosa sulle applet e che posso fare qualcosa con esse in tempo breve non perché ritengo sia una buona tecnologia. Detto in altro modo se usare le JNLP fosse più complesso che fare un sito dinamico in java sceglierei senza dubbio la seconda soluzione.)
    4) JNLP funziona anche su smartphone?

    Grazie per vostre info, sto trovando molti spunti utili

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Mi avete chiesto se voglio scrivere su ftp o su http e rispondo la prima perché ogni dato inserito da una persona deve essere noto solo alla persona che li ha scritti e non al resto dei votanti.
    A meno che il server sia di tua proprietà e/o in una tua infrastruttura fisica (dove chiaramente puoi fare quello che ti pare), gli hosting "reali" di norma danno al massimo le credenziali FTP a te, sviluppatore e proprietario del sito/dominio ...... e non per fornirle ad altri (cosa che sicuramente non gradirebbero, se lo sapessero) anche se le fornissi cablate in una applet e in forma "occultata".

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Per entrare nell'ottica del problema pensate al classico sondaggio. I dati che raccolgo li processerò a parte con altri strumenti/software...
    Non posso ovviamente conoscere tutti i sondaggi gestiti su internet ..... ma credo che nessuno invii i dati al server tramite FTP.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    1) JNLP permette di costruire la GUI con SWING?
    Sì, esattamente come per le applet.

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    2) JNLP permette di scrivere sul server da cui parte l'applicazione usando l'ftp?
    Anche le applicazioni avviate con Java Web Start, hanno restrizioni, praticamente come per le applet. (come già detto per le applet, a meno di fornire i necessari permessi).

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    3) E' facile imparare ad usare il JNLP oppure no?
    L'unica cosa davvero necessaria in più è il fatto di dover scrivere un file XML (con estensione .jnlp) che "descrive" la applicazione.

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    4) JNLP funziona anche su smartphone?
    Sicuramente no.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    a) E' più facile/immediato capire come scrivere questo file XML con estensione .jnlp oppure fare un sito dinamico a tutti gli effetti?

    b) Inoltre mi sembra di capire che il problema di scrittura su server sia di fatto impossibile, giusto?
    Ultima modifica di giannino1995; 19-12-2013 a 21:41

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    a) E' più facile/immediato capire come scrivere questo file XML con estensione .jnlp oppure fare un sito dinamico a tutti gli effetti?
    Stai comparando due cose radicalmente diverse .... come dire "meglio andare al bar a comprare una brioche o preparare il pranzo di Natale?"
    E comunque, ovviamente la prima che hai detto. Un file .jnlp se va male sono 50, 60 righe o giù di lì. Non ho mai visto file jnlp più grossi. Sul mio sito ho due piccole applicazioni Java e nelle relative pagine ho messo un pulsante (potevo anche farlo con un semplice link) collegato al file .jnlp. I miei file jnlp sono di 25 righe, non ci ho messo granché, giusto il minimo per poter avviare l'applicazione.

    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    b) Inoltre mi sembra di capire che il problema di scrittura su server sia di fatto impossibile, giusto?
    No, ripeto che innanzitutto dire "scrivere sul server" è vago. Per comunicare con un server, in generale, si usa un "protocollo di comunicazione". Su internet i protocolli sono tantissimi (se consideriamo anche posta elettronica, newsgroup, messaging, ecc...). Per i siti web il protocollo è HTTP. Quindi un qualunque "client" (browser standard ma anche una applicazione in un qualche linguaggio) può comunicare con un "server" HTTP. Se il server permette di eseguire codice in uno dei possibili linguaggi server-side, es. Java, PHP, C#/.NET, Perl, Python, Ruby (e sicuramente altri), allora puoi realizzare applicazioni web "dinamiche".
    Punto, tutto qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    Quindi come risolveresti il punto (b) usando JNLP? A me serve un file finale che contenga tutte le votazioni e che questo file non sia leggibile da nessuno al di fuori che me. Mi accontento anche, se proprio non si potesse fare diversamente, che questi dati fossero accessibili da tutti ma nascosti (esempio: un file .txt messo in qualche sottocartella di qualche altra sottocartella...) Qualunque soluzione mi va bene, visto la difficoltà non ho più nessun tipo di pretesa purché sia JAVA il linguaggio da usare perché è l'unico che conosco al momento.

    A presto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.