Case history Siroc / Resec
-
Upload
mario-cartia -
Category
Technology
-
view
882 -
download
1
Transcript of Case history Siroc / Resec
Case HistoryCase HistorySviluppo di una applicazione J2EE 5 Sviluppo di una applicazione J2EE 5 per la gestione di una centrale di per la gestione di una centrale di controllo di antifurti satellitaricontrollo di antifurti satellitari
Relatore: Domenico GiordanoRelatore: Domenico Giordano
JugSicilia JugSicilia MeetingMeeting
Ragusa, 14/06/2008Ragusa, 14/06/2008
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Siroc s.r.l.
La Siroc s.r.l. nasce dalla unione di due diverse realtà operanti entrambi nell'ambito dell' Information Technology. Una operante prevalentemente in ambito di sviluppo software gestionali per il settore turistico-alberghiero, l'altra con competenze focalizzate nel settore della Sicurezza informatica.La Siroc s.r.l. ha da sempre adottato Java come partner tecnologico sia per lo sviluppo di applicazioni client-server che per applicazioni web-based
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
La commessa RESEC
●Client di centrale su cui un operatore possa leggere i log relativi alle periferiche montate sugli autoveicoli.●Software di interfaccia con le periferiche per l'invio della programmazione e la lettura dei parametri●Software gestionale per la registrazione degli abbonamenti, archivio clienti e gestione del magazzino.●Le sedi della società sono due: sede commerciale e tecnica a Milano, centrale di controllo ubicata a Ragusa.
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS
Dati provenienti da sorgenti differentiDifferenti settori interessati alla produzione e
recupero delle informazioni (commerciale, amministrativo, magazzino, centrale di controllo, collaudatori, ecc...)
Gestione della comunicazione con le periferiche attraverso i più comuni protocolli di comunicazine (GSM dati, GSM SMS, ISDN, GPRS)
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS e Java Enterprise Edition 5
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS – Tecnologie adottate
Java Standard Edition per la comunicazione basso livello con i modem per l'interfacciamento con le periferiche
Java Enterprise Edition 5 per la definizione del object/relational model e della logica di business
Glassfish come Application Server che soddisfi i requisiti di J2EE 5
NetBeans quale IDE di sviluppoTopLink come persistence providerJSF con i componenti visuali del progetto opensource
Woodstock per il modulo di presentazine WEB
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS – Modulo Caronte
Si colloca fra le periferiche e l'applicazione enterpriseSi occupa della comunicazione diretta con i dispositivi in
base ai protocolli standard di comunicazione (GSM dati, GSM SMS, ISDN, GPRS)
Logica di livello più alto che gli permette di comunicare, secondo un protocollo proprietario, con Ermes, inviando ad esso i dati raccolti e ricevendo da esso i comandi che dovrà recapitare ai dispositivi
un'applicazione multi-threads
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS – Modulo Caronte HA
Per garantire un'alta affidabilità è prevista una configurazione di Caronte-Master e di N (1 o +) Caronte-Slave installati su macchine differenti. Ogni Caronte-Slave sa su quale macchina gira il Master così lo contatta e si registra ad esso. Il Master allora, invia, ad ogni slave riconosciuto, una copia di OGNI pacchetto che manda ad Ermes.Un'istanza di un Caronte-Slave attiva così un sottoinsieme dei moduli attivati dal Master, e questo perchè alcuni moduli - come quello di comunicazione con i dispositivi - devono essere gestiti solo dal Master. In caso di crash del Master viene scelta una delle istanze di Caronte-Slave in base ad una priorità definita nella configurazione iniziale.
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Glassfish
Application Server opensource sviluppato da una comunità di oltre 1100 tecniciNato nel 2005 come rilascio dei sorgenti del Sun Java System Application ServerPrimo Application Server in grado di soddisfare tutte le specifiche EJB3Potenzialità e stabilità paragonabile ad altri prodotti commercialiVantaggio di essere un prodotto opensource
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
EJB 3.0
Logica di businessComponente server-sideAnnotazioni su classi Java (POJO)Configuration by defaultDipendency injection
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
EJB 3.0 - Componenti
Session Bean: effettuano tutte le operazioni legate alla logica di business (stateless, statefull)Message driven bean: permettono ad una applicazione enterprise di processare messaggi in maniera asincronaEntity bean: rappresentano i dati di business persistenti
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS e JMS - ERMES
JMS è una API standard di J2EE che consente alle applicazioni di inviare e ricevere messaggi in maniera asincrona.JMS providerJMS clientJMS producerJMS consumer
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS e JMS - ERMES
ERMES è singleton, attivo all’interno dell’Application Server, che ha il compito di trasformare le informazioni pervenute dai dispositivi, attraverso Caronte, in oggetti Entity Bean, renderli persistenti ed inviarli in broadcast via JMS Topic a tutti client autorizzati.Un utente che entra in gestione di una periferica, riceverà esclusivamente i dati da questa sino a quando non rilascia la risorsa.
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS e JPA
JPA: Java Persistence API garantisce un livello di astrazine rispetto al ”dialetto” del RDBMS utilizzato.Entity Bean sono dei POJO con annotazioni. Ciascun entity rappresenta una tabella sul DB, ciascuna istanza della classe rappresenta una riga nella tabella. Le proprietà della classe POJO rappresentano campi persistenti sul database
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS e JPA
Object/Relational mappingRelazioni di tipo: one-to-many; many-to-one; one-to-one; many-to-manyNavigabilità delle relazioniEreditarietà
Single tableJoin tableTable-per-concrete-class
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS e JPA - TopLink
Persistence Providere OpenSource della OracleIn origine sviluppato dagli “The Object People” in Smalltalk (da cui la parte del nome TOP) agli inizi degli anni 90Acquistato dalla Oracle che donò il codice sorgente al progetto GlassFish della SunPerfetta integrazione con l'AS utilizzato per il progetto NESS
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Sistema NESS – ERP
Due sedi dati e appplicazioni condivisiGestione settore commerciale e post-vendita; amministrazione, magazzinoRealizzazione di una web application utilizzando come framework JSF
JugSicilia MeetingJugSicilia MeetingRagusa, 14/06/2008Ragusa, 14/06/2008
Java Server Faces
Tecnologia descritta dalle specifiche JSR 127basata sul design pattern architetturale Model-View-Controller (MVC)Lo scopo è quello di facilitare lo sviluppo di interfaccia utente di una web applicationFacilita la gestione dello stato dei componenti