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 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 1.1 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 (http://java.sun.com/javame/downloads/index.jsp) 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

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

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

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Esiste la versione per Linux di GeCo? Allo stato attuale non è prevista la distribuzione di una versione di GeCo per Linux.

Esiste la versione per Linux di GeCo? Allo stato attuale non è prevista la distribuzione di una versione di GeCo per Linux. FAQ su GeCo Qual è la differenza tra la versione di GeCo con installer e quella portabile?... 2 Esiste la versione per Linux di GeCo?... 2 Quali sono le credenziali di accesso a GeCo?... 2 Ho smarrito

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO Precisione del riconoscimento Velocità di riconoscimento Configurazione del sistema Correzione Regolazione della

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

Configurazioni Mobile Connect

Configurazioni Mobile Connect Mailconnect Mail.2 L EVOLUZIONE DELLA POSTA ELETTRONICA Configurazioni Mobile Connect iphone MOBILE CONNECT CONFIGURAZIONE MOBILE CONNECT PER IPHONE CONFIGURAZIONE IMAP PER IPHONE RUBRICA CONTATTI E IPHONE

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 Download Si può scaricare gratuitamente la versione per il proprio sistema operativo (Windows, MacOS, Linux) dal sito: http://www.codeblocks.org

Dettagli

CATTURARE LO SCHERMO INTERO O LA FINESTRA ATTIVA

CATTURARE LO SCHERMO INTERO O LA FINESTRA ATTIVA CATTURARE LO SCHERMO INTERO O LA FINESTRA ATTIVA Supponiamo di voler eseguire una istantanea del nostro desktop, quella che in gergo si chiama Screenshot (da screen, schermo, e shot, scatto fotografico).

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode

Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode Aggiornamento del firmware per iphone con connettore Lightning compatibile con AppRadio Mode Istruzioni sull aggiornamento per i modelli di navigazione: AVIC-F40BT, AVIC-F940BT, AVIC-F840BT e AVIC-F8430BT

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java Riassunto Rassegna API - 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 17 3 maggio 2015! Programmazione

Dettagli

Guida rapida Vodafone Internet Key K4607-Z. Progettata da Vodafone

Guida rapida Vodafone Internet Key K4607-Z. Progettata da Vodafone Guida rapida Vodafone Internet Key K4607-Z Progettata da Vodafone Benvenuti nel mondo della comunicazione in mobilità 1 Benvenuti 2 Impostazione della Vodafone Internet Key 4 Windows 7, Windows Vista,

Dettagli

Manuale tecnico Stazione Meteo Eolo Davis

Manuale tecnico Stazione Meteo Eolo Davis Descrizione Generale Manuale tecnico Stazione Meteo Eolo Davis EOLO DAVIS rappresenta una soluzione wireless di stazione meteorologica, basata su sensoristica Davis Instruments, con possibilità di mettere

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Risoluzione Problemi Chiavetta Internet Veloce MOMODESIGN MD-@

Risoluzione Problemi Chiavetta Internet Veloce MOMODESIGN MD-@ Risoluzione Problemi Chiavetta Internet Veloce MOMODESIGN MD-@ Installazione Modem USB Momo Gestione segnale di rete Connessione Internet Messaggi di errore "Impossibile visualizzare la pagina" o "Pagina

Dettagli

Manuale d uso. Congratulazioni per aver scelto e-tab. Ti ringraziamo per la Tua fiducia e la decisione di comprare il nostro prodotto!

Manuale d uso. Congratulazioni per aver scelto e-tab. Ti ringraziamo per la Tua fiducia e la decisione di comprare il nostro prodotto! Manuale d uso Congratulazioni per aver scelto e-tab. Ti ringraziamo per la Tua fiducia e la decisione di comprare il nostro prodotto! Giacchè noi costantemente aggiorniamo e miglioriamo il Tuo e-tab, potrebbero

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Manuale di installazione e d uso

Manuale di installazione e d uso Manuale di installazione e d uso 1 Indice Installazione del POS pag. 2 Funzionalità di Base - POS Sagem - Accesso Operatore pag. 2 - Leggere una Card/braccialetto Cliente con il lettore di prossimità TeliumPass

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

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

1 EJB e Portal Component Object http://desvino.altervista.org

1 EJB e Portal Component Object http://desvino.altervista.org 1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un

Dettagli

FileMaker Server 13. Guida introduttiva

FileMaker Server 13. Guida introduttiva FileMaker Server 13 Guida introduttiva 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive. https://nonconf.unife.it/

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive. https://nonconf.unife.it/ Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive https://nonconf.unife.it/ Registrazione della Non Conformità (NC) Accesso di tipo 1 Addetto Registrazione della Non Conformità

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

In questo manuale, si fa riferimento a ipod touch 5a generazione e iphone 5 con il solo termine iphone con connettore Lightning.

In questo manuale, si fa riferimento a ipod touch 5a generazione e iphone 5 con il solo termine iphone con connettore Lightning. In questo manuale, si fa riferimento a ipod touch 5a generazione e iphone 5 con il solo termine iphone con connettore Lightning. Per collegare un iphone con connettore Lightning ad SPH-DA100 AppRadio e

Dettagli

Guida alla configurazione dell'e-mail di altri provider sul cellulare Galaxy S.

Guida alla configurazione dell'e-mail di altri provider sul cellulare Galaxy S. Guida alla configurazione dell'e-mail di altri provider sul cellulare Galaxy S. All accensione del Tab e dopo l eventuale inserimento del codice PIN sarà visibile la schermata iniziale. Per configurare

Dettagli

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa di Ilaria Lorenzo e Alessandra Palma Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa Code::Blocks

Dettagli

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI di Luca Carnini Tesina presentata per la discussione del diploma di laurea in Ingegneria informatica Politecnico di Milano sede

Dettagli

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi.

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi. I server di stampa vengono utilizzati per collegare le stampanti alle reti. In tal modo, più utenti possono accedere alle stampanti dalle proprie workstation, condividendo sofisticate e costose risorse.

Dettagli

C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D

C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D Se avete un tablet android, ma non avete la minima idea di come accenderlo, usarlo e avviarlo, seguite queste nostre indicazioni 1. ATTIVAZIONE

Dettagli

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory.

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory. @ PC (Personal computer): Questa sigla identificò il primo personal IBM del 1981 a cura di R.Mangini Archiviazione: Il sistema operativo si occupa di archiviare i file. Background (sfondo): Cursore: Nei

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

COPERTURA WI-FI (aree chiamate HOT SPOT)

COPERTURA WI-FI (aree chiamate HOT SPOT) Wi-Fi Amantea Il Comune di Amantea offre a cittadini e turisti la connessione gratuita tramite tecnologia wi-fi. Il progetto inserisce Amantea nella rete wi-fi Guglielmo ( www.guglielmo.biz), già attivo

Dettagli

Problema: al momento dell autenticazione si riceve il messaggio Certificato digitale non ricevuto Possibili cause: 1) La smart card non è una CNS e

Problema: al momento dell autenticazione si riceve il messaggio Certificato digitale non ricevuto Possibili cause: 1) La smart card non è una CNS e Problema: al momento dell autenticazione si riceve il messaggio Certificato digitale non ricevuto Possibili cause: 1) La smart card non è una CNS e non contiene il certificato di autenticazione: è necessario

Dettagli

Attiva la APP di GoToMeeting. Clicca su ATTIVA APP

Attiva la APP di GoToMeeting. Clicca su ATTIVA APP Questo breve manuale ha lo scopo di mostrare la procedura con la quale interfacciare la piattaforma di web conferencing GoToMeeting e la tua piattaforma E-Learning Docebo. Questo interfacciamento consente

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Scopo di questo corso, vuole essere quello di fornire ad ognuno dei partecipanti, indipendentemente dalle loro precedenti conoscenze informatiche, l apprendimento

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

Riferimenti ed Oggetti

Riferimenti ed Oggetti Riferimenti e oggetti Riferimenti ed Oggetti In non si possono definire variabili di tipo oggetto ma solo di tipo riferimento a oggetto. I riferimenti sono assimilabili ai tipi base. Allocazione statica

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

Caratteristiche raccomandate del Network in un progetto di Home Automation

Caratteristiche raccomandate del Network in un progetto di Home Automation Caratteristiche raccomandate del Network in un progetto di Home Automation Uno degli aspetti progettuali più importanti di un sistema Control4 è la rete. Una rete mal progettata, in molti casi, si tradurrà

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Il Tutorial per BlueJ

Il Tutorial per BlueJ Il Tutorial per BlueJ Versione 1.4 per BlueJ Versione 1.2.x Michael Kölling Mærsk Institute University of Southern Denmark Tradotto in italiano da Vito Di Viggiano, Orlando Demauro, Gianluca Leo, Gianpaolo

Dettagli

DVR Icatch serie X11 e X11Z iwatchdvr applicazione per iphone /ipad

DVR Icatch serie X11 e X11Z iwatchdvr applicazione per iphone /ipad DVR Icatch serie X11 e X11Z iwatchdvr applicazione per iphone /ipad Attraverso questo applicativo è possibile visualizzare tutti gli ingressi del DVR attraverso il cellulare. Per poter visionare le immagini

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

IDom. Omnicon SRL Via Petrarca 14 20843 Verano Brianza (MB) info@omnicon.it

IDom. Omnicon SRL Via Petrarca 14 20843 Verano Brianza (MB) info@omnicon.it IDom MANUALE UTENTE Omnicon SRL Via Petrarca 14 20843 Verano Brianza (MB) info@omnicon.it 2 COPYRIGHT Tutti i nomi ed i marchi citati nel documento appartengono ai rispettivi proprietari. Le informazioni

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

Software Emeris Communication Manager

Software Emeris Communication Manager ecm Software Emeris Communication Manager Manuale operativo Fantini Cosmi S.p.A. Via dell Osio 6 20090 Caleppio di Settala MI Tel 02.956821 - Fax 02.95307006 e-mail: info@fantinicosmi.it http://www.fantinicosmi.it

Dettagli

ASTA IN GRIGLIA PRO. COSA PERMETTE DI FARE (per ora) Asta In Griglia PRO:

ASTA IN GRIGLIA PRO. COSA PERMETTE DI FARE (per ora) Asta In Griglia PRO: ASTA IN GRIGLIA PRO Asta in Griglia PRO è un software creato per aiutare il venditore Ebay nella fase di post-vendita, da quando l inserzione finisce con una vendita fino alla spedizione. Il programma

Dettagli

Inter-Process Communication

Inter-Process Communication Inter-Process Communication C. Baroglio a.a. 2002-2003 1 Introduzione In Unix i processi possono essere sincronizzati utilizzando strutture dati speciali, appartenti al pacchetto IPC (inter-process communication).

Dettagli

MANUALE D USO G.ALI.LE.O GALILEO. Manuale d uso. Versione 1.1.0. [OFR] - Progetto GALILEO - Manuale d uso

MANUALE D USO G.ALI.LE.O GALILEO. Manuale d uso. Versione 1.1.0. [OFR] - Progetto GALILEO - Manuale d uso [OFR] - - G.ALI.LE.O Versione 1.1.0 MANUALE D USO pag. 1 di 85 [OFR] - - pag. 2 di 85 [OFR] - - Sommario 1 - Introduzione... 6 2 - Gestione ALbI digitale Ordini (G.ALI.LE.O.)... 7 2.1 - Schema di principio...

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Guida all utilizzo del dispositivo USB

Guida all utilizzo del dispositivo USB Guida all utilizzo del dispositivo USB 30/04/2013 Sommario - Limitazioni di responsabilità e uso del manuale... 3 1. Glossario... 3 2. Guida all utilizzo del dispositivo USB... 4 2.1 Funzionamento del

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

DEFT Zero Guida Rapida

DEFT Zero Guida Rapida DEFT Zero Guida Rapida Indice Indice... 1 Premessa... 1 Modalità di avvio... 1 1) GUI mode, RAM preload... 2 2) GUI mode... 2 3) Text mode... 2 Modalità di mount dei dispositivi... 3 Mount di dispositivi

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

FileMaker Server 13. Guida di FileMaker Server

FileMaker Server 13. Guida di FileMaker Server FileMaker Server 13 Guida di FileMaker Server 2010-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

Mail da Web. Caratteristiche generali di Virgilio Mail. Funzionalità di Virgilio Mail. Leggere la posta. Come scrivere un email.

Mail da Web. Caratteristiche generali di Virgilio Mail. Funzionalità di Virgilio Mail. Leggere la posta. Come scrivere un email. Mail da Web Caratteristiche generali di Virgilio Mail Funzionalità di Virgilio Mail Leggere la posta Come scrivere un email Giga Allegati Contatti Opzioni Caratteristiche generali di Virgilio Mail Virgilio

Dettagli

Guida all'installazione ed uso dell'app RXCamLink

Guida all'installazione ed uso dell'app RXCamLink Guida all'installazione ed uso dell'app RXCamLink Questa guida riporta i passi relativi all'installazione ed all'utilizzo dell'app "RxCamLink" per il collegamento remoto in mobilità a sistemi TVCC basati

Dettagli

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A

MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A MANUALE UTENTE DEL SOFTWARE DI GESTIONE DEGLI ART. SDVR040A/SDVR080A/SDVR160A Leggere attentamente questo manuale prima dell utilizzo e conservarlo per consultazioni future Via Don Arrigoni, 5 24020 Rovetta

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

Come installare e configurare il software FileZilla

Come installare e configurare il software FileZilla Come utilizzare FileZilla per accedere ad un server FTP Con questo tutorial verrà mostrato come installare, configurare il software e accedere ad un server FTP, come ad esempio quello dedicato ai siti

Dettagli

Windows Compatibilità

Windows Compatibilità Che novità? Windows Compatibilità CODESOFT 2014 é compatibile con Windows 8.1 e Windows Server 2012 R2 CODESOFT 2014 Compatibilità sistemi operativi: Windows 8 / Windows 8.1 Windows Server 2012 / Windows

Dettagli

Introduzione a Puppy Linux: installazione su una chiavetta USB

Introduzione a Puppy Linux: installazione su una chiavetta USB Introduzione a Puppy Linux: installazione su una chiavetta USB Alex Gotev 1 Contenuti Che cos'è Puppy Linux? Come posso averlo? Come si avvia? Che programmi include? Installazione su Chiavetta USB Domande

Dettagli

CA Asset Portfolio Management

CA Asset Portfolio Management CA Asset Portfolio Management Note di rilascio Versione 12.8 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente (d'ora in avanti indicata

Dettagli

BlackBerry Torch 9800 Smartphone

BlackBerry Torch 9800 Smartphone BlackBerry Torch 9800 Smartphone Manuale dell'utente Versione: 6.0 Per accedere ai manuali dell'utente più recenti, visitare il sito Web www.blackberry.com/docs/smartphones SWDT643442-941426-0127010155-004

Dettagli

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 -

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 - Progetto SINTESI Comunicazioni Obbligatorie Modulo Applicativo COB - Versione Giugno 2013-1 Versione Giugno 2013 INDICE 1 Introduzione 3 1.1 Generalità 3 1.2 Descrizione e struttura del manuale 3 1.3 Requisiti

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli