Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

BiografiaBiologiaBotanicaChimicaComputerComunicazioneCostruzioneDiritto
EducazioneElettronicaFisicaGeografiaGiochiGrammaticaIngegneriaLetteratura
LibriMarketingMatematicaMedicinaMusicaNutrizionePsicologiaRicette
SociologiaStoriaVarie

Comunicazione fra J2ME e un application server J2EE

computer



+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

JBoss e utilizzo di J2EE e J2ME

Comunicazione fra J2ME e un application server J2EE

Introduzione
In questo articolo vedremo la facilità con cui è possibile far comunicare un dispositivo portabile wireless ed un application server j2ee. Per lo sviluppo dei vari componenti utilizzeremo le api midp1.0.3 e j2ee1.3 rilasciate dalla SUN Microsystem. Da cellulare compatibile j2me inviaremo dei dati ad una servlet java caricata su un application server Jboss3.0.4. L'architettura avrà un aspetto simile a questo:

  

Ambiente
Per prima cosa abbiamo bisogno di una tabella sulla quale effettuare l'inserimento dei dati. Supponiamo che la nostra tabella si chiami ANAGRAFICA e contenga i campi ID, NOME e COGNOME. Ecco lo skin completo:

ANAGRAFICA

ID

PK

INT

NOME

VARCHAR

COGNOME

VARCHAR

Per questo esempio useremo un database opensource di tipo MYSQL scaricabile al link https://www.mysql.org e vi navigheremo con un tool anch'esso opensource di nome MySQL-Front.

Una volta realizzata la tabella, dobbiamo preoccuparci di creare una web application contenente la servlet in grado di inserirvi i dati. La struttura della nostra web-app sarà simile a questa:

  

Andiamo quindi a scrivere il codice per le varie risorse. Ecco la servlet che inserisce i dati nel DB:

//Importiamo i package necessari.
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;

public class Insert extends HttpServlet


protected void service(
          HttpServletRequest request,
          HttpServletResponse response)throws IOException
catch(Exception e)
          finally
          catch(Exception e)
          

Fai il download di Servlet.zip

Adesso mappiamo la servlet con un url-pattern nel file descrittore di deploy web.xml:

<?xml version='1.0'?><!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN' 'https://java.sun.com/j2ee/dtds/web-app_2_2.dtd'>
<web-app>
          <servlet>
            <servlet-name>alias</servlet-name>
            <servlet-class>
Insert</servlet-class>
          </servlet>
          <servlet-mapping>
            <servlet-name>alias</servlet-name>
            <url-pattern>
inserisci</url-pattern>
          </servlet-mapping>
</web-app>

Possiamo testarne il funzionamento utilizzando un semplice file html che invia i dati alla servlet in modalità POST:

<html>
<body>
<h2>Pagina di registrazione</h2>
<hr>
          <table>
            <form action='
inserisci' method='post'>
            <tr>
            <td>
            Nome
            </td>
            <td>
            <input type='text' name='
nome'>
            </td>
            </tr>
            <tr>
            <td>
            Cognome
            </td>
            <td>
            <input type='text' name='
cognome'>
            </td>
            </tr>
          </table>
          <hr>
            <input type='submit' name='registra' value='inserisci'>
          </form>
</body>
</html>

Come è possibile notare, ho inserito un form con l'impostazione action='inserisci' che invia i dati in POST alla servlet. Una volta eseguiti tutti i passaggi, impacchettiamo l'applicazione in un war ed effettuiamo il deploy su un application server compatibile j2ee. Per questo esempio ho utilizzato Jboss3.0.4. Ecco il risultato:

  

Il comando inserisci invierà i dati presenti nella form alla servlet in modalità POST, ed il server risponderà con una pagina in formato testo:

  
Quando visualizzeremo il contenuto della tabella ANAGRAFICA vedremo i dati prima inseriti nelle caselle di testo:

  

Lo scopo di questo articolo è quello di eseguire le stesse operazioni viste sopra utilizzando, come client, un dispositivo wireless compatibile j2me. Vediamo dunque come configurare il nostro sistema.

Per prima cosa dobbiamo scaricare i vari componenti dal sito https://java.sun.com.
Per una guida dettagliata sul download e l'installazione consultare il link https://www.javaportal.it/docs/midlet1.htm .

Una volta installata la suite j2me, utilizziamo il nostro Wireless toolkit per creare un nuovo progetto assegnandogli un nome globale ed un nome per la prima midlet:

  

Il progetto appena creato ha una struttura di questo tipo:

  

che verrà creata nella directory apps, all'interno della directory di installazione del nostro toolkit.

Es: C:j2me1.0.3apps


Esaminiamo insieme il codice della Midlet incaricata del trasferimento dei dati alla servlet.La midlet verrà inserita nella directory src del nostro progetto:


//Importiamo i package necessari.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;

/*
Estendiamo la classe MIDLet ed implementiamo l'interfaccia CommandListener che ci permette di gestire gli eventi generati dai vari componenti utilizzando il metodo commandAction()
/**/

public class Inserimento extends MIDlet implements CommandListener


/*
Ecco i metodi per la gestione del ciclo di vita della midlet.
Notare come nel metodo startApp() appendiamo il form sul display del dispositivo.
/**/

public void startApp()
public void pauseApp()
public void destroyApp(boolean unconditional)

//Metodo per la gestione degli eventi.
public void commandAction(Command c, Displayable s)
catch (Exception e)
      
/*
Se l'utente seleziona il comando
esci vengono invocati i metodi destroyApp() e notifyDestroyed() che permettono l'uscita dall'applicazione.
/**/

      }else if (c == esci)
      
}

/*
Il metodo che effettua la connessione alla servlet passandogli i parametri.
/**/

private void callServlet() throws IOException
else if(length == 0)
        else
      
      }else
      
       }catch (Exception e)
       finally

       }
}

Fai il download di Midlet.zip

Completata la midlet, effettuiamo la compilazione utilizzando il tarso Build del Wireless toolkit:

  

Se la compilazione è andata a buon fine, passiamo alla fase di impacchettamento e preverifica, anch'essa effettuata dal Wireless toolkit alla voce di menu Project/Package:

  

Durante questa fase viene creato un pacchetto .jar posizionato nella directory bin. Tale pacchetto può essere portato su dispositivo wireless per essere poi eseguito. Se non si dispone di tale dispositivo è possibile utilizzare uno degli emulatori messi a disposizione dalla SUN Microsystem all'interno del Wireless toolkit.
Per testare l'applicazione ho utilizzato l'emulatore MediaControlSkin, ma un qualsiasi altro andrà bene. Ho lanciato il test cliccando sul tasto Run:

  

Il lancio dell'applicazione avviene cliccando nel tasto launch del cellulare. Le librerie grafiche che vengono utilizzate dai componenti della j2me sono nativi del dispositivo, quindi potremmo notare delle differenze a livello grafico fra i vari dispositivi. Ecco come si presenterà l'applicazione:

  

Dopo aver inserito i valori nei campi, invochiamo la servlet con l'apposito comando chiama.

  

Se la chiamata va a buon fine dovremmo trovarci davanti un risultato di questo tipo:

  

Per una ulteriore verifica, possiamo interrogare il DB e noteremo l'arrivo dei nuovi dati.

  

Partendo da questa basilare architettura possiamo sviluppare componenti ben più complessi, che ci permettono, utilizzando un dispositivo wireless, di muovere la logica applicativa su un application server. Dobbiamo sempre tener presente che dal nostro 'cellulare java' è possibile comunicare con un server utilizzando vari protocolli di trasmissione dati.

L'idea di questa applicazione mi è venuta leggendo il libro 'Core J2ME tecnology & MIDP' di John W. Muchow ,che vi consiglio caldamente.
Ciao a tutti! Enrico.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 686
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved