Introduzione a Java 2 Micro Edition Francesca Martelli

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione a Java 2 Micro Edition Francesca Martelli"

Transcript

1 Introduzione a Java 2 Micro Edition Francesca Martelli f.martel@di.unipi.it Stanza: 382 DB Tel:

2 Prima qualche domanda logistica Per poter andare in laboratorio, dobbiamo cambiare orario. Slot disponibili: Lunedì o Martedì Mercoledì o Giovedì o Venerdì mattina o pomeriggio Oppure: esercizi a casa con correzioni in aula Conoscenza di java? Conoscenza di HTML?

3 Cosa faremo Java 2 MicroEdition Introduzione alla programmazione J2ME J2ME Wireless Toolkit Il linguaggio XHTML

4 Cosa Serve (1) Documentazione J2ME MIDP 2.0, CLDC Qualsiasi tutorial che trovate su internet Queste slide che troverete su martel/didattica.html Libri (opzionali): James Keogh, J2ME: The Complete Reference, McGraw-Hill Roger Riggs, Antero Taivalsaari, Jim Van Peursem, Jyri Huopaniemi, Mark Patel, Aleksi Uotila, Programming Wireless Devices with the Java 2 Platform, Micro Edition, Second Edition, Addison Wesley

5 L Architettura Java Compilatore Java compiler: trasforma il linguaggio di programmazione Java in un insieme di bytecode Java Java Virtual Machine (JVM): interpreta il bytecodes Java per eseguire il programma Java Vantaggi di Java: Portabilità: write once, run anywhere Sicurezza: scaricando applicazioni da un ambiente potenzialmente inaffidabile, le chiamate di sistema vengono controllate dalla Java Native Interface (JNI) la possibilità di sfruttare le applicazioni in locale, residenti e funzionanti anche off-line l'interfacciamento con le piattaforme web che lavorano con JAVA (Servlet o JSP) è immediato

6 Le versioni di Java

7 Java 2 Java 1.2 diventa semplicemente Java 2, sebbene le versioni di JDK e JRE rimangono 1.2. La piattaforma Java viene divisa in 3 edizioni: Java 2 Standard Edition (J2SE): per lo sviluppo di applicazioni convenzionali da desktop Java 2 Enterprise Edition (J2EE): sovrainsieme di J2SE, rivolto alla programmazione di impresa, con particolare enfasi sullo sviluppo dal lato server, tramite l uso di Enterprise JavaBeans (EJBs), applicazioni web (servlets e JavaServer Pages), CORBA, e Extensible Markup Language (XML) Java 2 Micro Edition (J2ME): sottoinsieme di J2SE, orientato ai dispositivi portatili che non possono supportare un implementazione totale di J2SE Nonostante la sovrapposizione fra le tre versioni, questa divisione rende possibile l evolvere di Java in differenti direzioni per soddisfare differenti esigenze, mantenendo intatto lo spirito del linguaggio

8 Java 2 Micro Edition La mancanza di uniformità delle configurazioni hardware fra i vari piccoli dispositivi ha posto una grossa sfida per la comunità Java J2ME è nato proprio per superare questo limite, ed è uno standard che serve molti dispositivi a capacità limitate, come i telefoni cellulari, i personal digital assistant (PDA) e i dispositivi plug-in, che hanno diverse configurazioni hardware non standard La Java Community Process ha usato un duplice approccio: La definizione di un ambiente Java run-time (una JVM) e di un nucleo di classi che operano su ogni dispositivo (CONFIGURAZIONE). Ci sono due configurazioni: Una per i dispositivi portatili Una per i dispositivi plug-in La definizione di un PROFILO per ogni categoria di dispositivo

9 Configurazioni Una configurazione definisce l ambiente base di esecuzione: Limitata JVM Nucleo di classi derivate da J2SE Il punto chiave è che ogni configurazione è specifica per una famiglia di dispositivi con capacità simili Ad oggi, sono definite due configurazioni, entrambe che prevedono connettività alla rete, che sia fissa o wireless: Connected Device Configuration (CDC): TV set-top boxes, sistemi di navigazione per auto Connected Limited Device Configuration (CLDC): cellulari, PDA Non c è una netta linea di confine fra le due configurazioni

10 Configurazioni (2) Noi ci concentreremo sul CLDC Notare che il CDC è un sovrainsieme del CLDC, con in più alcune classi di J2SE e altre nuove CDC ha la virtual machine di J2SE, incluso il debugging a basso livello e le interfacce native, o meglio, una nuova virtual machine chiamata Compact VM, sviluppata appositamente

11 Profili Un profilo estende una configurazione, aggiungendo classi per specifici usi dei dispositivi, omesse nella configurazione di base (per esempio, classi per l interfaccia utente) Il Mobile Information Device Profile (MIDP) è basato sul CLDC Classi per la memorizzazione locale, una user interface, funzionalità per il networking

12 Profili (2) Altri profili sono: Personal Digital Assistant Profile (PDAP): estende CLDC per sfruttare le maggiori capacità dei PDA rispetto ai semplici dispositivi MIDP, come migliori display e maggiore memoria Foundation Profile: aggiunge classi J2SE al CDC, ma non quelle per l interfaccia utente; è la base (foundation) per costruire altri profili Personal Profile (con configurazione CDC): ridefinisce PersonalJava come profilo J2ME; estende il Foundation Profile per implementare una user interface sofisticata, capace di mostrare finestre multiple Personal Basis Profile: simile al Personal Profile (con configurazione CDC e Foundation Profile), ma implementa user interface più semplice Game Profile (con configurazione CDC): contiene le classi specifiche per sviluppare giochi RMI Profile (con configurazione CDC): aggiunge supporto RMI alle classi del Foundation Profile J2ME è in evoluzione In una stessa configurazione possono coesistere più profili

13 Connected Limited Device Configuration Per capire MIDP bisogna prima conoscere la configurazione CLDC, definita nel JSR-30 dalla JCP Per dispositivi things that you hold in your hand, caratterizzati da connettività wireless, banda ridotta, accesso discontinuo, batterie limitate e bassa potenza di calcolo e memoria Da 128KB a 512KB di memoria non-volatile (codice) 32KB di memoria volatile (runtime) Processori a 16-bit (o 32-bit) Possono non avere interfaccia utente I dispositivi CLDC usano la KJava Virtual Machine (KVM), versione molto ridotta della JVM

14 CLDC: Requisiti (1) No floating point: tipi e costanti floating-point, le classi di J2SE che trattano con valori floating-point non sono supportati (computazione pesante); i metodi che ritornano valori floatingpoint sono rimossi; con opportune librerie è possibile utilizzare il calcolo in virgola mobile No object finalization: il metodo finalize è rimosso da java.lang.object, per semplificare il compito del garbage collector, che semplicemente recupera tutti gli oggetti non referenziati (così si evita il risorgere degli oggetti); Errori a runtime: eccezioni sottoclassi di java.lang.error lanciate dalla virtual machine. Solo 3 classi di errori: java.lang.error, java.lang.outofmemoryerror, java.lang.virtualmachineerror Ogni altra situazione di errore è trattata in modo dipendente dall implementazione della VM, tipicamente la terminazione

15 CLDC: Requisiti (2) Interfaccia Nativa Java (JNI) non supportata: non è possibile chiamare funzioni native del sistema operativo ospitante per effettuare operazioni No reflection: non si possono usare le classi Reflection per ottenere informazioni sulla JVM in esecuzione No object serialization No gruppi di thread: la VM non supporta la classe ThreadGroup quindi non si possono lanciare (o fermare) più Thread in un solo colpo No application-defined class loader: il caricatore di classi subisce severi controlli e non può essere sostituito, ignorato o modificato. La verifica delle classi, computazionalmente pesante, è fatta separatamente in fase di preverifica su un server e non sul dispositivo. Sul dispositivo i file delle classi preverificate subiscono solo una semplice validazione dei risultati della preverifica.

16 CLDC: Requisiti (3) Le classi ereditate da J2SE devono essere un sottoinsieme delle classi di J2SE 1.3. I metodi possono essere omessi, ma nessun nuovo metodo public può essere aggiunto, per ovvie ragioni di compatibilità Le classi definite dal CLDC e i suoi profili stanno nel package o nei sottopackage di javax.microedition, per identificare facilmente le specifiche classi del CLDC Supporto minimo per internazionalizzazioni: il CLDC fornisce un supporto di base per convertire le codifiche dei caratteri da/per Unicode. Tuttavia, non ha capacità di localizzazione, per la visualizzazione di data, ora, valuta, ecc.

17 Connected Device Configuration Per dispositivi things that you plug into a wall, cioè collegati in rete, possibilmente always on, ad alta banda e con buona potenza di calcolo e memoria I dispositivi CDC usano un architettura a 32-bit, Hanno almeno 2MB di memoria disponibile Implementano la JVM con tutte le sue funzionalità Dispositivi CDC: TV set-top boxes digitali Apparecchi per la domotica Sistemi di navigazione Terminali del pagamento fai-da-te

18 Sruttura a livelli dell Architetturea J2ME OEM apps OEM classes MIDP J2ME APIs Configurazione Java Virtual Machine Sistema operativo Livello Configurazione: la JVM interagisce con il sistema operativo; lo strato configurazione gestisce le interazioni tra il profilo e la JVM

19 Sruttura a livelli dell Architetturea J2ME OEM apps OEM classes MIDP J2ME APIs Configurazione Java Virtual Machine Livello Profilo: insieme minimo di APIs Sistema operativo

20 Sruttura a livelli dell Architetturea J2ME OEM apps OEM classes MIDP J2ME APIs Configurazione Java Virtual Machine Sistema operativo Livello MIDP: APIs per le connessioni di rete, memorizzazione e interfaccia utente Interazione con l utente tramite la visualizzazione di comandi, sostanzialmente di tre tipi: Richiesta di elaborazione Richiesta di connessione alla rete Visualizzazione di un altra schermata

21 Sruttura a livelli dell Architetturea J2ME OEM apps OEM classes MIDP J2ME APIs Configurazione Java Virtual Machine Sistema operativo Applicazioni e classi original equipment manufacturer (OEM): Le classi sono usate da MIDP per usi specifici del dispositivo (spedire/ricevere un messaggio), o accedere a dati Le applicazioni sono programmi forniti dal produttore, come un address book

22 Le applicazioni per MIDP Sono dette MIDlet e devo essere realizzate per funzionare su qualsiasi dispositivo senza alcuna modifica Ciò è particolarmente difficile soprattutto per le interfacce utente I dispositivi hanno schermi di tutte le dimensioni, a toni di grigio ed a colori Inoltre i dispositivi di input sono molteplici: tastiere numeriche ed alfa-numeriche, soft key, mini joystick ed anche touch screen

23 Applicazioni multi-device Data la grande varietà di dispositivi ci sono due modi per creare applicazioni multi-device astrazione: specificare una UI astratta, relegando alla MIDP di crearla in concreto (ad esempio invece di dire visualizza la parola 'Avanti' sullo schermo sopra il soft key, si dice dammi il comando 'Avanti' da qualche parte in questa UI scoperta: l'applicazione scopre le caratteristiche del dispositivo a run-time e adatta la UI al volo (per esempio si scoprono le dimensioni dello schermo e si scala l'applicazione)

24 Applicazioni multi-device (2) L'API MIDP supporta entrambi i sistemi l'astrazione è il metodo preferito poiché permette di scrivere meno codice e delega tutto alla MIDP in alcuni casi (ad esempio i videogame) è invece necessario un approccio di tipo scoperta per conoscere con certezza le caratteristiche del dispositivo ed adattare il comportamento in modo adeguato L'API MIDP è progettata in modo tale da permettere facilmente anche il mix di queste due tecniche nella stessa applicazione

25 MIDlet e MIDlet Suite (1) Comunemente, MIDlets correlate sono raggruppate in una MIDlet suite (package), e verranno considerate come un gruppo unico in fase di installazione/disinstallazione Vantaggio: i membri di una MIDlet suite condividono Le risorse dell ambiente ospitante Le classi Java istanziate La JVM Svantaggio: condividere espone ad errori causati da accessi concorrenti nella lettura/scrittura dei dati Rischio ridotto dalle primitive di sincronizzazione per l accesso ai dati volatili e persistenti Se la MIDlet usa multi-threading, è responsabile per il coordinamento degli accessi ai dati

26 MIDlet e MIDlet Suite (2) I dati non possono essere condivisi tra MIDlets che non appartengono alla stessa MIDlet suite, perché il nome della MIDlet suite è usato per identificare i dati associati alla suite. Una MIDlet di una diversa MIDlet suite è considerata una sorgente non attendibile Una MIDlet suite è installata, eseguita e rimossa dall Application Manager (AM) che gira sul dispositivo, fornito dal produttore. L AM è responsabile degli accessi alle classi della JVM e CLDC da parte delle MIDlets. L AM inoltre mette il file Java archive (JAR) e il file Java application descriptor (JAD) a disposizione dei membri della MIDlet suite

27 JAD & JAR Le MIDlet Suite sono distribuite dalla coppia di file JAD & JAR: JAD, Java Application Description: contiene tutte le informazioni che descrivono le applicazioni, i requisiti per l'installazione, le propietà e gli eventuali parametri per l'esecuzione, permessi richiesti sulle API JAR, Java ARchive: contiene le classi dell'applicazione, le eventuali librerie di terze parti, risorse (file di testo, immagini, suoni, dati binari) necessari all'esecuzione dell'applicazione La coppia è generata automaticamente dal tool di sviluppo

28 JAR File Svolge lo stesso ruolo che ha in J2SE, con alcune differenze: deve contenere l'indispensabile per l'esecuzione dell'applicazione: il dispositivo potrebbe non essere in grado di salvare l'archivio e il costo di trasferimento potrebbe essere troppo oneroso non è possibile caricare classi e risorse da JAR file diverso da quello di avvio Specificità dei dispositivi: i terminali possono avere una limitazione sulla dimensione massima del JAR (ad esempio: 64K) alcuni terminali richiedono esplicitamente che il file JAR sia compresso

29 JAR File Tutti i file necessari per implementare una MIDlet suite devono essere contenuti nell archivio JAR, e sono: Classi delle MIDlet Immagini grafiche (se richieste) Il file Manifesto Il Manifest file contiene una lista degli attributi e relative definizioni usate dall AMS per installare i file contenuti nel JAR nel dispositivo Gli attributi sono nove, di cui tre opzionali; non includere i sei obbligatori nel manifest file induce l application manager a interrompere l installazione del JAR file. Il manifest file è un semplice documento di testo con estensione.mf

30 Attributi del Manifest File Attributo MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet-n MicroEdition-Profile MicroEdition-Configuration MIDlet-Icon MIDlet-Description MIDlet-Info-URL Descrizione Nome della MIDlet suite Numero di versione della MIDlet Nome del venditore della MIDlet Attributo per la MIDlet. I valori sono: nome della MIDlet, icona opzionale, e nome della classe MIDlet Identifica il profilo J2ME necessario per eseguire la MIDlet Identifica la configurazione J2ME necessaria per eseguire la MIDlet (Opzionale) Icona associata con la MIDlet, deve essere in formato PNG (Opzionale) Descrizione della MIDlet URL per maggiori informazioni sulla MIDlet

31 Esempio di Manifest File MIDlet-Name: Mia MIDlet MIDlet-Version: 2.0 MIDlet-Vendor: MiaSocietà MIDlet-1: MiaMIDlet, /images/miamidlet.png, Mia.MiaMIDlet MicroEdition-Profile: MIDP-1.0 MicroEdition-Configuration: CLDC-1.0 L ordine di comparsa degli attributi non è importante Ogni coppia deve terminare con un ritorno carrello

32 JAD File Contiene le informazioni sull'applicazione, mostrate all'utente prima che si proceda con il download e l'installazione del software Il JAD file fornisce all application manager maggiori informazioni sul contenuto del JAR file, per decidere se la MIDlet suite può essere implementata sul dispositivo (configurazione, profilo...) e se il bytecode proviene da un dominio autorizzato ad utilizzare certe funzionalità Può essere un modo per passare parametri a una MIDlet senza modificare il JAR file (il web service, ad esempio, potrebbe inserire dinamicamente delle informazioni nel JAD) Il JAD file è simile al manifest file come coppie attributo-valore Cinque attributi sono obbligatori: MIDlet-Name, MIDlet-Version, MIDlet-Vendor, MIDlet-n e MIDlet-Jar-URL

33 Attributi del JAD File Attributo MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet-n MIDlet-Jar-URL MIDlet-Jar-Size MIDlet-Data-Size MIDlet-Description MIDlet-Delete-Confirm MIDlet-Install-Notify Descrizione Nome della MIDlet suite Numero di versione della MIDlet Nome del venditore della MIDlet Attributo per la MIDlet. I valori sono: nome della MIDlet, icona opzionale, e nome della classe MIDlet Locazione del JAR file (Opzionale) Dimensione del JAR file in bytes (Opzionale) Dimensione minima (in byte) per la memorizzazione dei dati persistenti (Opzionale) Descrizione della MIDlet (Opzionale) Richiesta di conferma di rimozione della MIDlet suite (Opzionale) Invia lo stato dell installazione a un dato URL

34 MIDlet-Version: Esempio file JAD MIDlet-Vendor: Francesca Martelli MIDlet-Jar-URL: MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 MIDlet-1: Demo1, /image/img1.png, it.unipi.di.fmartel.labjavame.helloworld MIDlet-Jar-Size: MIDlet-Name: HelloWorld Attenzione! i valori degli attributi MIDlet-Name, MIDlet-Version e MIDlet-Vendor nel JAD file devono essere identici a quelli nel manifest. Se così non è, il JAR file non viene installato. Gli altri attributi, se diversi, verranno sovrascritti con i valori del descrittore l'indicazione della dimensione del file JAR deve essere esatta, altrimenti alcuni dispositivi non caricano l'archivio E' consigliabile che l'url del JAR sia assoluto

35 Rilascio delle MIDlet suite Il rilascio dell'applicazione per l'installazione su dispositivo può avvenire in tre modalità principali: Over-The-Air: l'applicazione è resa disponibile su un server WAP o WEB pubblico, attraverso il quale il terminale J2ME può scaricarla e procedere con l'installazione PC-based: si procede all'installazione attraverso software dedicato fornito dal produttore del dispositivo OBEX: il terminale J2ME riceve il file jar attraverso trasferimento OBEX (Push o FTP a seconda delle funzionalità del terminale e del PC di appoggio) e provvedere all'installazione in maniera autonoma

36 Processo di sviluppo di un MIDlet java sources compiler java bytecode library JAD preverifier JAR packaging tool Preverified java bytecode

37 MIDlet Scrivere una MIDlet è simile a creare un applicazione J2SE (applet), solo che è meno robusta Il nome deve essere conforme alla convenzione di nominazione delle classi Java Deve estendere la classe javax.microedition.midlet.midlet È un interfaccia tra i comandi dell applicazione e l ambiente run-time, controllato dall application manager.

38 Struttura del MIDlet L AM gestisce il ciclo di vita della MIDlet chiamando i metodi startapp(), pauseapp(), and destroyapp(), dichiarati abstract nella classe MIDlet: startapp(): comandi per l inizio dell esecuzione pauseapp(): comandi per la sospensione dell applicazione; per ripartire si richiama il metodo startapp destroyapp(): comandi per la terminazione I metodi startapp() e pauseapp() sono public e non hanno né valore di ritorno, né parametri Il metodo destroyapp() è pubblico e non ritorna valore, ma ha un parametro booleano settato a true se la terminazione della MIDlet è incondizionata, e false se la MIDlet può lanciare una MIDletStateChangeException, per dire all AM che non vuole essere distrutta in quel momento

39 Ciclo di vita di una MIDlet destroyapp() startapp() destroyapp() Paused Active Destroyed pauseapp() caricamento

40 MIDlet skeleton import javax.microedition.midlet.*; public class MyMIDlet extends MIDlet { //costruttore public MyMIDlet() { } //metodi base: public void startapp() { } public void pauseapp() { } public void destroyapp(boolean unconditional) { } }

41 Inizializzazione e avvio Una MIDlet è un applicazione event-based. Tutte le routine eseguite nella MIDlet sono invocate in risposta a un evento riportato dall AM. L evento iniziale occorre quando la MIDlet è lanciata e l AM invoca il metodo startapp() L'inizializzazione della MIDlet deve avvenire nel costruttore: creazione dell'interfaccia grafica (consigliata lazy initialization) allocazione delle strutture dati principali lettura parametri di piattaforma Il metodo startapp() può essere invocato più volte: esso, dunque, non inizializza alcun oggetto ma si occupa di: visualizzare l'interfaccia grafica: tipicamente schermata di dati e invito all utente a scegliere fra una o più opzioni avviare eventuali Thread

42 Sospensione Il metodo pauseapp() è invocato al sopraggiungere di una chiamata o altro evento per il quale è richiesto di sospendere l'applicazione Sospendere non significa andare in background! L'applicazione deve congelare il proprio stato (così da riprendere l'esecuzione alla successiva invocazione di startapp()), fermare i thread e chiudere eventuali connessioni di rete. Per sicurezza meglio salvare qualche dato sulla flash del dispositivo! :-(

43 Interazione con l'application Manager L'applicazione notifica all'application Manager eventuali variazioni nel suo stato, attraverso i metodi definiti nella classe MIDlet: notifypaused(): l'applicazione ha rilasciato le risorse ed è in stand-by resumerequest(): l'applicazione chiede all'application Manager di essere riavviata

44 Chiusura di una applicazione Il ciclo di vita di una MIDlet è gestito dall'application Manager: per questo motivo, l'applicazione non conclude la sua esecuzione con il classico System.exit(EXIT_CODE) bensì notificando all'application Manager che tutte le risorse sono state deallocate e l'applicazione è pronta per essere terminata: notifydestroyed()

45 J2ME Software Development Kits Gratis: J2ME Wireless Toolkit ( Third-party Borland JBuilder Mobile Set, Sun One Studio 4 (formerly Forte for Java) WebGain VisualCafe Enterprise Suite. Three software packages need to be downloaded from java.sun.com: Java Development Kit (1.3 or greater) (java.sun.com/j2se/downloads.html), Connected Limited Device Configuration (CLDC) (java.sun.com/products/cldc/) Mobile Information Device Profile (MIDP) (java.sun.com/products/midp/)

46 Creare un MIDlet con J2ME Wireless Aprire la Ktoolbar Toolkit Cliccare su New Project e specificare: Nome del progetto Nome del MIDlet iniziale Nella schermata successiva, specificare le metainformazioni sul JAR file: Da notare il tab MIDlets per aggiungere ulteriori MIDlet nello stesso JAR

47 Creazione del progetto (2) Nella cartella apps, apriamo la cartella HelloWorldProject bin: contiene il file JAR e il relativo descrittore res: cartella generica di risorse, tipo le immagini src: cartella di lavoro project.properties è il descrittore Alla prima compilazione verrà creata la cartella classes

48 Contenitori Il contenitore principale è il Display Manager implementato nella classe javax.microedition.lcdui.display Ad un Display è associato un oggetto Displayable che è un contenitore di oggetti grafici

49 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; HelloWorld.java public class HelloWorld extends MIDlet{ Display display; Form form; public void startapp(){ display = Display.getDisplay(this); //ottengo il display form = new Form("Hello World Program"); //creo il contenitore StringItem sitem = new StringItem(null,"Hello World!"); //creo il componente form.append(sitem); //aggiungo il componente al contenitore display.setcurrent(form); //imposto come displayable corrente } public void pauseapp(){} } public void destroyapp(boolean unconditional){ notifydestroyed(); }

50 Lanciamo il nostro primo progetto! Torniamo su Ktoolbar e clicchiamo su Build Se non ci sono errori, clicchiamo su Run che caricherà l'applicazione sull'emulatore selezionato La prima schermata sull'emulatore, è la lista delle MIDlet presenti nel progetto Selezionando la MIDlet e premendo il tasto Launch vediamo l'esecuzione vera e propria della MIDlet HelloWorld

51 Qualche consiglio pratico Sviluppare applicazioni per piccoli dispositivi è una bella sfida Molti metodi tradizionali non sono appropriati per costruire applicazioni che devono girare su dispositivi con limitate capacità computazionali Questo significa che bisogna rivedere l approccio, con qualche accorgimento per fronteggiare il problema delle risorse limitate

52 Qualche consiglio pratico (2) Differenze tra i dispositivi tradizionali e piccoli dispositivi: Alimentazione: i primi sono continuamente alimentati, i secondi si affidano a batterie Connessione di rete: i piccoli dispositivi mobili sono connessi via radio o infrarossi, la cui qualità varia a seconda della distanza col ricevitore e la potenza del segnale generato dal dispositivo Inconsistenza nella connessione di rete, tipicamente richiede all utente di sincronizzare dati e applicazioni con un desktop computer o un server frequentemente. Programmi e dati sono memorizzati nella memoria del dispositivo e vengono perse se cade l alimentazione. Se persi, devono essere ricaricati nel dispositivo. Quindi l applicazione J2ME deve affidarsi a dati memorizzati offline su un desktop computer o un server, piuttosto che sulla memoria primaria del dispositivo

53 Qualche consiglio pratico (3) Non aspettatevi di trasmettere/ricevere dati allo stesso rate di una connessione fissa, perché le tecnologie radio e infrarossi hanno bande molto limitate Molti utenti si aspettano che un applicazione J2ME abbia la stessa risposta che avrebbe su un dispositivo tradizionale. Quindi, bisogna disegnare l applicazione in modo da minimizzare/ottimizzare la trasmissione dei dati con altre sorgenti offline

54 Best Practices Mantenere l applicazione semplice: Pianificare l applicazione dividendola in oggetti con dati e metodi associati Esempio: un form di un ordine è un oggetto che ha un nome, un numero, un prodotto associato e altri dati; le funzionalità associate sono l inserzione di un nuovo ordine, la modifica di uno esistente, la cancellazione Pianificare l applicazione dividendola in piccoli pezzi Esempio: piuttosto che un oggetto menu, associare una MIDlet ad ogni opzione di menu, per ridurre le risorse di processamento Limitare l applicazione alle minime funzionalità richieste, mettendo ogni componente funzionale in una MIDlet (se possibile), e impacchettare le varie MIDlet nella stessa MIDlet suite. Questo facilita l application manager del dispositivo nel gestire meglio le MIDlets e le risorse che usano Mantenere l applicazione piccola La dimensione di un applicazione J2ME è un punto critico per svilupparla efficientemente. Rimuovere tutte le componenti non necessarie (tipo i suoni)

55 Best Practices (2) Limitare l uso della memoria Gestione globale della memoria: riduce la memoria totale necessaria all applicazione. Per ridurre il fabbisogno evitare di usare i tipi oggetto; meglio i tipi scalari. In ogni caso, usare sempre il tipo di dato minimo per memorizzare un certo dato (per i flag, meglio i boolean che gli int ) Gestione della memoria in un picco temporale: minimizza la quantità di memoria usata negli istanti di maggior uso del dispositivo. Dipende dal garbage collector, per facilitarlo Allocare un oggetto subito prima di usarlo Settare tutte le referenze agli oggetti a null quando non servono più all applicazione Riusare gli oggetti piuttosto che crearne di nuovi Ridurre la probabilità di eccezione, rilasciando tutte le risorse subito dopo il loro uso

56 Best Practices (3) Computazioni pesanti sui Server L applicazione deve fare il minimo calcolo possibile, ma se è necessaria una computazione pesante l alternativa è costruire l applicazione di tipo client-server: il calcolo pesante lo fa il server che poi invia i risultati al client web-services: tre livelli Livello client (presentazione): è dove l utente interagisce facendo la richiesta Livello della logica del servizio: è dove viene chiamato il software appropriato Livello del processamento Esempio: corriere insicuro di un indirizzo, interroga il database della sua azienda

57 Best Practices (4) Gestire l uso della connessione alla rete Fare trasmissioni brevi, trasferendo il minimo indispensabile per completare un compito Esempio: , invece di scaricare i messaggi, visualizzare prima i campi Da, Oggetto, Data per poi decidere quale leggere, quale cancellare Considerare l uso della tecnologia store-forwarding e un server-side agent che gira su un server che raccoglie la richiesta dal dispositivo mobile, va a prendere l informazione da una data sorgente, la tiene memorizzata finché il dispositivo mobile non ne fa richiesta, e quindi viene forwardata Esempio: corriere che non sa la strada per raggiungere un indirizzo, e vuole interrogare il sistema di tracking Prevedere sempre un meccanismo per ripristinare una connessione caduta Per esempio, tenere a disposizione le informazioni chiave sulla richiesta, in modo da ritrasmetterle automaticamente

58 Best Practices (5) Fare un interfaccia utente semplice Grande varietà di forme e configurazioni hardware fra i piccoli dispositivi, impossibile fare un interfaccia standard per tutti. Nel realizzare la propria user interface seguire i seguenti consigli: Dove possibile, sfruttare l interfaccia utente fornita dal dispositivo, piuttosto che disegnarla ex-novo Se viene creata, considerare prima i meccanismi di input disponibili (icone vs testo) Controllare le disponibilità dei caratteri della tastiera Limitare la quantità di input da parte dell utente, in modo da semplificare la selezione dal menu (regola del pollice)

59 Best Practices (6) Usare Variabili locali Da sviluppatori, non si può assumere che ci saranno risorse sufficienti in ogni piccolo dispositivo per eseguire l applicazione quindi questo è un punto critico per ogni routine di un applicazione Evitare le routine che aumentano l overhead di processamento se un altra routine fa lo stesso compito con minori risorse Memorizzazione dei dati: assegnare i dati ai membri di una classe aderisce perfettamente alla filosofia object-oriented, ma l accesso a questi dati è più oneroso in termini di processamento rispetto all uso di variabili locali Valutare se i benefici dell uso delle variabili locali rispetto ai benefici dell incapsulazione

Introduzione a Java 2 Micro Edition. Dr. Francesca Martelli f.martel@di.unipi.it http://www.di.unipi.it/~f.martel/ Stanza: 382 DB Tel: 050 2212 754

Introduzione a Java 2 Micro Edition. Dr. Francesca Martelli f.martel@di.unipi.it http://www.di.unipi.it/~f.martel/ Stanza: 382 DB Tel: 050 2212 754 Introduzione a Java 2 Micro Edition Dr. Francesca Martelli f.martel@di.unipi.it http://www.di.unipi.it/~f.martel/ Stanza: 382 DB Tel: 050 2212 754 1 Cosa sappiamo e cosa faremo Conoscenza di java? Conoscenza

Dettagli

Programmazione J2ME. Lezione 1. Le MIDlet. Di Blasi Gianpiero - D.M.I. - Università di Catania

Programmazione J2ME. Lezione 1. Le MIDlet. Di Blasi Gianpiero - D.M.I. - Università di Catania Di Blasi Gianpiero - D.M.I. - Università di Catania Programmazione J2ME Lezione 1 Le MIDlet Cosa impareremo oggi? Cosa è J2ME I profili MIDP ed i livelli di configurazione Il sistema di sicurezza di J2ME

Dettagli

Programmazione ad Oggetti. Java Parte I

Programmazione ad Oggetti. Java Parte I Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere

Dettagli

Informatica. Prof. A. Longheu. Introduzione a Java

Informatica. Prof. A. Longheu. Introduzione a Java Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su

Dettagli

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Ing. Giovanni Ponti DEIS Università della Calabria gponti@deis.unical.it La piattaforma Java mette a disposizione una serie

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Progetto: Servizio location based per la ricerca di punti di interesse

Progetto: Servizio location based per la ricerca di punti di interesse Mauro Gentile Matr. 701870 Progetto: Servizio location based per la ricerca di punti di interesse Il progetto consiste nello sviluppo di un servizio che fornisce informazioni relative a punti di interesse

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

PIATTAFORMA DOCUMENTALE CRG

PIATTAFORMA DOCUMENTALE CRG SISTEMA DI GESTIONE DOCUMENTALE DMS24 PIATTAFORMA DOCUMENTALE CRG APPLICAZIONE PER LE PROCEDURE DI GARE D AMBITO 1 AGENDA 1. Introduzione 2. I Livelli di accesso 3. Architettura di configurazione 4. Accesso

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. E stato previsto l utilizzo di uno specifico prodotto informatico (denominato

Dettagli

GUIDA AL PRONTUARIO MOBILE

GUIDA AL PRONTUARIO MOBILE GUIDA AL PRONTUARIO MOBILE 1 SOMMARIO Installazione...3 Configurazione...3 Utilizzo...3 Note...10 INDICE DELLE FIGURE Figura 1: schermata di presentazione...4 Figura 2: schermata di login...4 Figura 3:

Dettagli

e/fiscali - Rel. 03.03.03 e/fiscali Installazione

e/fiscali - Rel. 03.03.03 e/fiscali Installazione e/fiscali - Rel. 03.03.03 e/fiscali Installazione INDICE 1 REQUISITI... 3 1.1.1 Requisiti applicativi... 3 2 PROCEDURA DI INSTALLAZIONE... 4 2.0.1 Versione fix scaricabile dal sito... 4 2.1 INSTALLAZIONE...

Dettagli

Installazione di GFI WebMonitor

Installazione di GFI WebMonitor Installazione di GFI WebMonitor Requisiti di sistema di GFI WebMonitor Server Microsoft Windows 2000 (SP 3) o 2003. Microsoft ISA 2000 Server (non in modalità solo firewall) OPPURE Server Microsoft ISA

Dettagli

Guida all Utilizzo dell Applicazione Centralino

Guida all Utilizzo dell Applicazione Centralino Guida all Utilizzo dell Applicazione Centralino 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad

Dettagli

FOXWave 1.0.0 Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

FOXWave 1.0.0 Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA FOXWave 1.0.0 Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA Redatto da IZ1FAL Secco Marco Pagina 1 di 15 INDICE 1 1- INSTALLAZIONE... 3 1-1 Scaricare i pacchetti aggiornati... 3 1-2 Startup

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

IRSplit. Istruzioni d uso 07/10-01 PC

IRSplit. Istruzioni d uso 07/10-01 PC 3456 IRSplit Istruzioni d uso 07/10-01 PC 2 IRSplit Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Installazione 4 3. Concetti fondamentali

Dettagli

Introduzione a Java 2 Micro Edition. Francesca Martelli Stanza: 382 DB Tel:

Introduzione a Java 2 Micro Edition. Francesca Martelli  Stanza: 382 DB Tel: Introduzione a Java 2 Micro Edition Francesca Martelli f.martel@di.unipi.it http://www.di.unipi.it/~f.martel/ Stanza: 382 DB Tel: 050 2212 754 Cosa sappiamo e cosa faremo Conoscenza di java? Conoscenza

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Sistema inoltro telematico domande di nulla osta, ricongiungimento e conversioni Manuale utente Versione 2 Data creazione 02/11/2007 12.14.00

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

Ubiquity getting started

Ubiquity getting started Introduzione Il documento descrive I passi fondamentali per il setup completo di una installazione Ubiquity Installazione dei componenti Creazione del dominio Associazione dei dispositivi al dominio Versione

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

Studio Legale. Guida operativa

Studio Legale. Guida operativa Studio Legale Guida operativa Cliens Studio Legale Web Cliens Studio Legale Web è un nuovo strumento che consente all avvocato di consultare i dati presenti negli archivi Cliens del proprio studio, attraverso

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014)

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014) INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014) Se la Suite risulta già stata installata e quindi sono già presenti le configurazioni di seguito indicate, si prega di andare direttamente alla fine

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

SendMedMalattia v. 1.0. Manuale d uso

SendMedMalattia v. 1.0. Manuale d uso 2 SendMedMalattia v. 1.0 Pagina 1 di 25 I n d i c e 1) Introduzione...3 2) Installazione...4 3) Prima dell avvio di SendMedMalattia...9 4) Primo Avvio: Inserimento dei dati del Medico di famiglia...11

Dettagli

Installazione e caratteristiche generali 1

Installazione e caratteristiche generali 1 Installazione e caratteristiche generali 1 Introduzione SIGLA Ultimate e SIGLA Start Edition possono essere utilizzati solo se sono soddisfatti i seguenti prerequisiti: Microsoft.Net Framework 3.5 (consigliato

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore. CTVClient Il CTVClient è un programma per sistemi operativi Windows che permette la consultazione e la prenotazione delle ore dal tabellone elettronico del Circolo Tennis Valbisenzio. Per utilizzarlo è

Dettagli

Guida all Utilizzo del Posto Operatore su PC

Guida all Utilizzo del Posto Operatore su PC Guida all Utilizzo del Posto Operatore su PC 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad internet

Dettagli

BDCC : Guida rapida all utilizzo

BDCC : Guida rapida all utilizzo BDCC : Guida rapida all utilizzo 1 Sommario 1. Funzionamento del sistema... 3 1.1 Cos è e cosa contiene la BDCC... 3 1.2 Meccanismi di funzionamento della BDCC... 3 1.3 Organizzazione di contenuti all

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

Corso basi di dati Installazione e gestione di PWS

Corso basi di dati Installazione e gestione di PWS Corso basi di dati Installazione e gestione di PWS Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Cosa è PWS? Il Personal Web Server altro non è che una versione ridotta del

Dettagli

Client - Server. Client Web: il BROWSER

Client - Server. Client Web: il BROWSER Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare

Dettagli

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it Crotone, maggio 2005 Windows Ing. Luigi Labonia E-mail luigi.lab@libero.it Sistema Operativo Le funzioni software di base che permettono al computer di funzionare formano il sistema operativo. Esso consente

Dettagli

De Gaetano Andrea JAVA 4 EMBEDDED

De Gaetano Andrea JAVA 4 EMBEDDED De Gaetano Andrea JAVA 4 EMBEDDED Cosa e' J2ME? J2me e' la versione per dispositivi portatili di java. Permette di poter programmare midlet, piccoli programmi nell'ordine delle decine di kb, in grado di

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

Manuale Terminal Manager 2.0

Manuale Terminal Manager 2.0 Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette

Dettagli

MANUALE UTENTE. Computer Palmare WORKABOUT PRO

MANUALE UTENTE. Computer Palmare WORKABOUT PRO MANUALE UTENTE Computer Palmare WORKABOUT PRO INDICE PROCEDURA DI INSTALLAZIONE:...3 GUIDA ALL UTILIZZO:...12 PROCEDURA DI AGGIORNAMENTO:...21 2 PROCEDURA DI INSTALLAZIONE: Per il corretto funzionamento

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Smartphone Anno Accademico 2005/2006

Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Smartphone Anno Accademico 2005/2006 tesi di laurea Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Anno Accademico 2005/2006 relatore Ch.mo prof. Stefano Russo correlatore Ing. Massimo Ficco candidato Giorgio

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

1. Il Client Skype for Business

1. Il Client Skype for Business 1. Il Client Skype for Business 2. Configurare una Periferica Audio 3. Personalizzare una Periferica Audio 4. Gestire gli Stati di Presenza 5. Tabella Stati di Presenza 6. Iniziare una Chiamata 7. Iniziare

Dettagli

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata. Sommario A cosa serve InfoWEB?... 3 Quali informazioni posso comunicare o ricevere?... 3 Cosa significa visualizzare le informazioni in maniera differenziata in base al livello dell utente?... 4 Cosa significa

Dettagli

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

bmooble INFOMOBILITY demo environment

bmooble INFOMOBILITY demo environment bmooble INFOMOBILITY demo environment bmooble fornisce tecnologia abilitante per permettere l esecuzione di processi informativi accedendo ai dati di applicazioni esistenti dal proprio cellulare senza

Dettagli

Ambienti di Sviluppo

Ambienti di Sviluppo Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il

Dettagli

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO Windows è il programma che coordina l'utilizzo di tutte le componenti hardware che costituiscono il computer (ad esempio la tastiera e il mouse) e che consente di utilizzare applicazioni

Dettagli

Manuale per la configurazione di AziendaSoft in rete

Manuale per la configurazione di AziendaSoft in rete Manuale per la configurazione di AziendaSoft in rete Data del manuale: 7/5/2013 Aggiornamento del manuale: 2.0 del 10/2/2014 Immagini tratte da Windows 7 Versione di AziendaSoft 7 Sommario 1. Premessa...

Dettagli

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix Assegnamento di un indirizzo IP temporaneo a dispositivi Barix V 1.0 GUIDA RAPIDA Introduzione L obiettivo di questa guida rapida è fornire all utente un modo per poter assegnare un indirizzo IP temporaneo

Dettagli

Installazione del Software. per lo Sviluppo di Applicazioni Java

Installazione del Software. per lo Sviluppo di Applicazioni Java Installazione del Software per lo Sviluppo di Applicazioni Java Ing. Luca Ferrari ferrari.luca@unimore.it Tel. 0592056142 Installazione del Software per lo Sviluppo di Applicazioni Java 1 Il Compilatore

Dettagli

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. Release 5.20 Manuale Operativo ORDINI PLUS Gestione delle richieste di acquisto In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. La gestione

Dettagli

IL SISTEMA SMART RESPONSE

IL SISTEMA SMART RESPONSE IL SISTEMA SMART RESPONSE Intervideo Srl Via E. Fermi, 24 37026 Settimo di Pescantina (Vr) Tel: 045 8900022 Fax: 045 8900502 e-mail: info@intervideosrl.com 1 LO SMART RESPONSE Il sistema di risposta interattiva

Dettagli

View Mobile User s Guide

View Mobile User s Guide View Mobile User s Guide 1 - Descrizione del software Il software è stato realizzato per essere utilizzato su telefoni cellulari con supporto per le applicazioni Java. Tramite il software è possibile collegarsi

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

ROM Upgrade Utility (RUU) Prima dell aggiornamento fare attenzione se

ROM Upgrade Utility (RUU) Prima dell aggiornamento fare attenzione se ROM Upgrade Utility (RUU) Prima dell aggiornamento fare attenzione se 1. Il cavo USB è direttamente collegato al PC. 2. L adattatore di alimentazione è collegato al Mobile Device. 3. Le modalità Standby

Dettagli

GUIDA UTENTE MONEY TRANSFER MANAGER

GUIDA UTENTE MONEY TRANSFER MANAGER GUIDA UTENTE MONEY TRANSFER MANAGER (vers. 1.0.2) GUIDA UTENTE MONEY TRANSFER MANAGER (vers. 1.0.2)... 1 Installazione... 2 Prima esecuzione... 5 Login... 7 Funzionalità... 8 Anagrafica... 9 Registrazione

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Presentazione... 2 Installazione... 3 Prima esecuzione... 6 Registrazione del programma... 8 Inserimento Immobile... 9 Inserimento proprietario...

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

PRODUZIONE PAGELLE IN FORMATO PDF

PRODUZIONE PAGELLE IN FORMATO PDF Requisiti minimi: PRODUZIONE, FIRMA E PUBBLICAZIONE DELLA PAGELLA ELETTRONICA CON ALUNNI WINDOWS PRODUZIONE PAGELLE IN FORMATO PDF Argo Alunni Windows aggiornato alla versione più recente. Adobe PDF CREATOR,

Dettagli

Xerox Device Agent, XDA-Lite. Guida all installazione rapida

Xerox Device Agent, XDA-Lite. Guida all installazione rapida Xerox Device Agent, XDA-Lite Guida all installazione rapida Introduzione a XDA-Lite XDA-Lite è un software di acquisizione dati dei dispositivi il cui compito principale consiste nell inviare automaticamente

Dettagli

MODULO STAMPA BOLLETTINO PDF

MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF pagina 2 di 7 INTRODUZIONE Il modulo STAMPA BOLLETTINO PDF è una applicazione stand-alone, sviluppata in linguaggio Java, che permette di produrre

Dettagli

Guida rapida Polycom SoundStation IP6000

Guida rapida Polycom SoundStation IP6000 Guida rapida Polycom SoundStation IP6000 Indice Indice Introduzione 4 Panoramica del telefono 5 Gestione delle chiamate 8 Effettuare una chiamata 8 Rispondere a una chiamata 8 Concludere una chiamata 8

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

Sharpdesk V3.3. Guida all installazione Versione 3.3.04

Sharpdesk V3.3. Guida all installazione Versione 3.3.04 Sharpdesk V3.3 Guida all installazione Versione 3.3.04 Copyright 2000-2009 di SHARP CORPORATION. Tutti i diritti riservati. È vietata la riproduzione, l adattamento o la traduzione senza previa autorizzazione

Dettagli

JUG Sardegna Java Summer Meeting 16 Luglio 2005 1

JUG Sardegna Java Summer Meeting 16 Luglio 2005 1 JUG Sardegna Java Summer Meeting 16 Luglio 2005 1 J2ME Introduzione allo sviluppo di applicazioni per dispositivi mobili Stefano Sanna gerdavax@tiscali.it gerda@crs4.it JUG Sardegna Java Summer Meeting

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it Decreto Legislativo 196/2003 Codice in materia di protezione dei dati personali COOKIE POLICY La presente informativa è resa anche ai sensi dell art. 13 del D.Lgs 196/03 Codice in materia di protezione

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

Servizio on-line di Analisi e Refertazione Elettrocardiografica

Servizio on-line di Analisi e Refertazione Elettrocardiografica Servizio on-line di Analisi e Refertazione Elettrocardiografica Guida utente Scopo del servizio... 2 Prerequisiti hardware e software... 3 Accesso all applicazione... 4 Modifica della password... 7 Struttura

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Guida all installazione di Easy

Guida all installazione di Easy Guida all installazione di Easy ISTRUZIONI PER L INSTALLAZIONE DEL SOFTWARE EASY Requisiti di sistema Sistemi operativi supportati: Windows 2000 Service Pack 4; Windows Server 2003 SP2(consigliato per

Dettagli

Protezione. Protezione. Protezione. Obiettivi della protezione

Protezione. Protezione. Protezione. Obiettivi della protezione Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in

Dettagli