081 soluzioni open source GIOVE - Open Source Framework Guaranteed Insiel Open Versatile Enviroment per lo sviluppo ingegnerizzato e open source di Web Application in due parole GIOV E è il framework creato da Insiel per sviluppare applicazioni web OPEN SOURCE. L’architettura software flessibile, integrabile e totalmente open source, è frutto dell'utilizzo di componenti di nuova generazione, che rappresentano lo stato dell'arte nell'implementazione dei moderni pattern di ingegneria del software O.S. GIOVE assicura semplicità, velocità e manutenibilità nella realizzazione delle applicazioni web. L'uniformità del codice, garantita dai continui refactoring a cui il prodotto viene costantemente sottoposto, consente una realizzazione rapida dei singoli casi d'uso oltre che una stima più precisa dei tempi. Il disaccoppiamento dei singoli elementi che compongono il sistema permette di suddividere la realizzazione delle applicazioni web di grosse dimensioni in tanti “sottoprogetti” facilmente maneggiabili. g. h. caratteristiche a. Neutralità del framework, basata sull'iniezione delle dipendenze, sulla progettazione completa per interfacce e sull'utilizzo della programmazione orientata agli aspetti, oltre che agli oggetti b. Riusabilità: intensivamente ingegnerizzato, rispetta i canoni MVC ed è J2EE compliant c. Integrabilità: è largamente integrabile e quindi scalabile d. Indipendenza dalla piattaforma, sia hardware sia software (O.S.) e, mediante l'utilizzo di specifici connettori, anche dal database e. Facilità: l'approccio open source permette la comprensione completa e l'eventuale modifica di ogni parte del sistema, oltre alla veloce individuazione e pronta correzione di eventuali difetti. tecnicamente Le librerie e i framework utilizzati sono: a. Java Servlet 2.4: architettura base Java per la realizzazione di WebApplication b. JavaServer Pages 2.0: architettura base Java per la realizzazione di Pagine Web Dinamiche c. Java Standard Library 1.1: Tag Library Standard per JSP d. DisplayTag 1.1: Tag Library per la visualizzazione di tabelle e. InsielTag 1.0: Tag Library di Insiel per la visualizzazione di menu f. Tiles-struts 1.2.8: architettura per la costruzione i. j. k. l. m. dinamica di pagine tramite il riutilizzo di moduli di base XmlWriter 1.0: libreria Insiel per la scrittura di xml Spring 2.0: container leggero per applicazioni J2EE, che include: configurazione centralizzata e automatica iniezione delle dipendenze per lo sviluppo a componenti isolati, semplifica la progettazione e consente la realizzazione di test unitari per qualunque componente strato di astrazione per la gestione della transazionalità. Supporta la transazionalità distribuita multifase e non è 'colata' nel container, ma disponibile come componente separato iniettabile strato di astrazione per la gestione delle librerie JDBC per l'accesso al database a basso livello. Riduce il codice da scrivere e semplifica la gestione delle eccezioni di JDBC strato di integrazione con diversificate tecnologie di persistenza come Toplink, Hibernate, JDO e iBatis, che permette la compatibilità con i sistemi di persistenza più affermati funzionalità di Orientazione Agli Aspetti (AOP), consente di risolvere in maniera efficiente ed elegante (centralizzata e non invasiva) tutte le problematiche trasversali (sicurezza, transazionalità e jogging) Spring-WebFlow: per la cattura e definizione di flussi UI come moduli riutilizzabili in differenti situazioni. Ideale per la costruzione di web application che guidano la navigazione dell'utente attraverso un complesso processo di business Hibernate: framework per la realizzazione di persistenza orientata agli oggetti con indipendenza dal database JUnit: standard di fatto per la realizzazione di test di unità delle classi dbUnit: estensione di JUnit per la realizzazione di test di unità/integrazione dei componenti di accesso al database AcegiSecurity: implementazione open source per la gestione della sicurezza applicativa in ogni suo aspetto. Con modularità spinta permette l'integrazione con qualsiasi architettura preesistente in azienda per gestire autenticazione e profilazione.