MokaByte 81 - Gennaio 2004 
La piattaforma J2ME ed il MIDP 2.0
MIDP cresce e si completa
di
Andrea Lagomarsini
Il mercato dei cellulari al terzo trimestre 2003 ha fatto segnare un incremento del 21,2% rispetto allo stesso periodo del 2002. Approfonditi studi di importanti società mondiali attestano che nel mondo sono stati venduti 130,1 milioni di cellulari, segnando una crescita del 14% rispetto al secondo trimestre 2003.Questa notevole espansione del mercato è da attribuirsi all'apertura di nuove aree commerciali quali Russia ed India e alle nuove caratteristiche dei terminali di ultima generazione come fotocamera e display a colori, che spingono gli utenti a cambiare gli apparecchi. Nel mondo dall'inizio del 2003 sono stati venduti 360 milioni di cellulari.Una stima del Gartner Group prevede un ulteriore incremento di 60 milioni di terminali entro la fine del 2003. Sotto la spinta di un mercato in fervente espansione, i vendor e il consorzio capitanato da Sun Microsystem, hanno prodotto una nuova versione della ben nota MIDP 1.0.

Le nuove specifiche MIDP 2.0 sono basate sulla versione 1.0 e forniscono piena compatibilià con la precedente in modo che le vecchie midlet possano essere eseguite anche su terminali di ultima generazione. Disegnata e pensata per operare su la "Connected, Limited Device Configuration 1.0 " (CLDC ), MIDP 2.0 funzionerà anche su CLDC 1.1 e presumibilmente sulle nuove versioni che verranno. Le novità presenti in MIDP 2.0 rigurdano:

o Delivery e billing delle applicazioni
o Ciclo di vita (definizione della semantica di una Applicazione MIDP e del suo controllo)
o Utilizzo dei suoni e modello di sicureza a dominio
o Transazioni sicure Http (https)
o Registrazione di Midlet secondo la specifica PUSH (server push model)
o Networking
o Salvataggio persistente di informazioni
o Suoni
o Timers
o Interfaccia Utente (UI) (inclusi display and input).

Lo scopo fondamentale di MIDP è permettere agli sviluppatori di accedre allo sviluppo di applicazioni per terminali portatili, soggetti a continue evoluzioni, nel modo più rapido e trasparente possibile. Proprio perchè MIDP 2.0 nasce per soddisfare i limiti di MIDP 1.0 e per sfruttare le evoluzioni Hardaware dei terminali, essa necessita di requisitimi minimi più evoluti della precedente, in particolare di uno schermo da 96x54 pixel, il sistema di input deve essere di tipo "tastiera a singola mano", "tastiera a due mani" o "touch screen", la memoria minima occupata per l'implementazione di MIDP è di 256 kilobytes e di 8 kilobytes per la gestione della persistenza delle applicazioni.
Le più interesanti evoluzioni di MIDP sono un' evoluta gestione delle User Interface (UI), una più profiqua gestione della multimedialità e delle funzionalità di gioco, un sistema più completo per la gestione delle connettività, oltre ad una più efficace sistema di provisioning OTA ( over-the-air ) e l'implementazione del protocollo https per le transazioni sicure via http. Questo insieme di caratteristiche e funzionalià rendono MIDP un ambiente completo per lo sviluppo di applicazioni evolute e complesse, di più facile , produttivo e sicuro utilizzo. Per ciascuno dei punti appena citati, cerchiamo di estrapolare le novità e modifiche più salienti per offrire una panoramica più specifica di MIDP 2.0. Dopo una attenta analisi delle esigenze degli utenti finali, sono state aggiunte molte nuove funzioni agli oggetti Sreens e Items al fine di rendere le applicazioni più interattive e facili da usare. Possiamo quindi trovare un nuovo "ChoiceGroup", il quale permette la visualizzazione del dato selezinato in un determinato campo, liste scorrevoli e altri generi di "popup". Gli Items posseggono finalmente un loro set di istruzioni tramite i quali possono essere richiamati e forniscono la possinilità di definire nuovi comandi.Gli StringItem e gli ImageItem possono essere resi più interattivi aggiungendo comandi astratti e settando opportunamente le caratteristiche, visualizzati come collegamenti ipertestuali o bottoni.Anche gli Alert Screen possono essere dotati di comandi astratti tramite i quali poter esplicitare domande ed è possibile aggiungere ad essi oggetti di tipo Gauge. Una gestione del layout perfezionato e più flessibile garantisce una maggiore portabilità delle applicationi garantendo lo stesso standard di visualizzazione, lo stesso Form implementa un maggior controllo del layout in grado di adattare la disposizione dei campi al suo interno alle caratteristiche del terminale in uso e di definire per ciscuno di essi una grandezza minima ed una raccomandata.

Per aumentare le potenzialità dell'interfacce utente è stato aggiunto il Custom Item, usando il quale si possono creare oggetti propietari evoluti per la gestione e la visualizzazione delle mappe o definire campi personalizzati.Una delle maggiori novità introdotte con MIDP 2.0 è "Audio Building Block" (ABB) tramite il quale si possono sfruttare a pieno le funzionalità multimendiali e gestire il sonoro. L'ABB, già parte integrante del package opzionale Mobile Media (MMAPI), fornisce alle applicazioni la possibilità di gestire i toni singoli ,le sequenze di toni e file audio complessi in formato Wav, senza dover importare il package MMAPI stesso. Anche sulle periferiche che implementano già un MMAPI propietario, gli sviluppatori hanno comunque a disposzione nuove funzionalità come la gestione degli Straming Video.
Visto l'intenza adozione di MIDP per lo sviluppo di giochi, tra le librerie che definisco MIDP 2.0 sono state introdotte le Game API, le quali assieme al supporto nativo delle MMAPI, garantiscono salde fondamenta per lo sviluppo di applicazioni di gioco sempre più complesse e accattivanti.All interno di queste API, sono stati inseriti metodi e classi per la gestione degli "sprite" e della trasparenza delle immagini, eliminando alcuni dei più grandi limiti della precedente versione.Il package contiene inoltre, una set di istruzioni atte a strutturare le applicazioni stesse rendendole di più facile sviluppo, garantendo elevate performance e un'ottima usabilità. Con MIDP 1.0 era possibile creare e gestire connessioni remote utilizzando ed estendendo oggetti di tipo Socket. Una delle più note ed utilizzate estensioni riguarda la connettività Http, tramite la quale si può accedere in modo semplice e diretto ad internet.
Questo potente sistema di comunicazione possedeva tuttavia una notevole limitazione, l'impossibilità di accedere in modo sicuro a sistemi http protetti, in altre parole non era implementato lo standard HTTPS, fiore all'occhiello della versione 2.0.
Oltre a questa importante novità è possibile gestire connettività in modalità datagram e comunicare con eventuali porte seriali e Irda, unitamente alle già note Socket e Server Socket. Le potenzialità di integrazione con applicazioni esistenti e l'estensione dei sistemi produttivi risentiranno favorevolmente di questi nuovi strumenti messi a disposizione dato che le Midlet perderanno definitivamente la loro connotazione di applicazioni atomiche avulse dal contesto aziendale. L'adozione dell'architettura di tipo Push abilita MIDP ad affrontare, in modo semplice, problematiche che prima di essa erano di difficile risoluzione. Tramite il modello server push le applicazioni possono effettuare operazioni dopo il ricevimento di informazioni da un server come ad esempio l'attivazione e la registrazione della stessa.Una più attenta gestione delle configurazioni e dei settaggi,commistione di informazioni provenienti dal'utente e dalla periferica in uso, permettono di determinare se una data midlet può essere eseguita con o senza specifica richiesta dell'utente o si possono definire i limiti di esecuzione della stessa sancendo che non possa essere eseguita durante l'uso di un'altra. Il modello permette di sfruttare la sincronizzazione delle funzionalità di rete e la gestione degli eventi di sistema per inserire messaggi informativi o di notifica, gestire messaggi di brodcast ed errore.


Un'altra tra le maggiori novità presenti in MIDP 2.0 e la capacita di deployare e aggiornare le applicazioni "over-the-air". Questo sistema di approvvigionamento detto OTA che nella versione precedentemente risultava essere solo una pratica raccomandata è entrato a far parte a pieno titolo di MIDP 2.0. Grazie a OTA è possibile definire come una midlet viene rintracciata, installata, aggiornata e rimossa dalle periferiche mobili. Permette ai Server Provider di determinare quali suite funzioneranno correttamente su un determinato terminale e di controllare lo stato delle operazioni eseguite.
L'OTA permette di eliminare le interminabili problematiche inerenti all'installazione delle applicazioni sui differenti terminali. In passato, non era possibile determinare in modo chiaro le motivazioni per le quali su un dato terminale non fosse possibile installare o eseguire una specifica applicazione, non era neppure standard la metodologia attraverso la quale i differenti terminali eseguivano l'installazione delle applicazioni stesse.
Con l'inserimento di questo strumento standardizzato oggi è possibile affrontrare le operazioni di gestione delle applicazioni sui terminale in modo deterministico e controllato garantendo uno standard comune adottato da tutti i vendor. Per concludere affrontiamo il problema della sicurezza.
Importanti passi in avanti sono stati fatti in questo senso, sono state curate le transazioni End-to-end, supportando specifici modelli basati su standard aperti per la protezione della rete come SSL e WTLS che permettono la trattazione di dati criptati.In MIDP 2.0 una più attenta gestione dei domini, resi sicuri e certificati, non consente più l'accesso incondizionato e non autorizzato ai dati, alla rete e alle risorse della periferica da parte delle differenti suite di Midlet presenti su un terminale. Dato che di default le suite Midlet non sono trusted, esse vengono assegnate a domini non sicuri, operazione che blocca l'accesso alle funzionalità che richiedono accesso privilegiato.
Per garantire l'accesso privilegiato al terminale una data suite deve essere assegnata ad dominio sicuro definito all'interno della periferica e deve essere opportunamente certificato tramite lo standard di sicurezza X.509 PKI. Installare e scaricare applicazioni all'interno di questi domini deve essere accompagnata da permessi specifici.
L'insieme delle evoluzioni di MIDP colmano definitivamente quelle importanti lacune, che rendevano lo sviluppo di applicazioni per periferiche mobili spesso un processo complicato e fastidioso e soddisfano le attese degli sviluppatori più esigenti ed attenti
Come abbiamo potuto notare dopo questra breve analisi,MIDP2.0 si presenta come naturale compimento della precedente versione, ribadendo le importanti potenzialità di essa e colmando le grosse manchevolezze che sono state tema di lunghi dibatiti e hanno dato vita ad una corrente di scetticismo nella comunità degli sviluppatori mondiali. Ad oggi MIDP 2.0 è in grado di fornire tutti gli strumenti necessari allo sviluppo di applicazioni su periferiche portatili che non hanno nulla da invidiare alle tradizionali applicazioni.


MokaByte® è un marchio registrato da MokaByte s.r.l. 
Java®, Jini® e tutti i nomi derivati sono marchi registrati da Sun Microsystems.
Tutti i diritti riservati. E' vietata la riproduzione anche parziale.
Per comunicazioni inviare una mail a info@mokabyte.it