Java

  • Print

Java come piattaforma di sviluppo
Java è la piattaforma di sviluppo che ci ha permesso, nel corso degli ultimi 10 anni, di realizzare diversi progetti di classe Enterprise presso numerosi clienti. Utilizziamo Java soprattutto per applicazioni con interfaccia Web, ma alcune applicazioni operano come servizi che elaborano grandi volumi di dati dati a supporto del ciclo passivo.

Tecnologie e Framework
Il nostro application server preferito è JBoss, che utilizziamo principalmente come container nelle applicazioni JEE. In questo caso, normalmente, altre componenti tecnologiche sono JPASeam, Drools e JSF. Le applicazioni che presentano un grado inferiore di complessità sono invece realizzate utilizzando Spring e soluzioni di front-end basate su Freemarker o su  altri tool di templating. In genere le nostre applicazioni sono intrinsecamente database indipendent, ma, quando dobbiamo scegliere un Database Manager la nostra preferenza va a PostgreSql.

Java, i Big Data e le applicazioni Mobile
All'interno di Mate, Java costituisce uno dei punti di contatto tra l'area che si occupa dei Big Data e l'area che si occupa di Mobile. Infatti Hadoop, uno dei principali prodotti Open Source in ambito Big Data, è scritto e programmabile in Java, mentre le applicazioni native in Android sono realizzate anch'esse con questo linguaggio, sia pure utilizzando feature presenti solo nello specifico contesto. 

Il futuro
Da alcuni mesi stiamo sperimentando l'integrazione di back-end basati su Java con front-end sviluppati in ExtJs 4, un framework Javascript molto potente proposto da Sencha, che ne ha realizzato anche una versione per applicazioni mobili. In questo modo riusciamo a fornire ai nostri clienti la solidità di un back-end Java, la disponibilità dell'applicazione via Web o via smartphon/tablet e la comodità d'uso di un'interfaccia utente che richiama quelle normalmente presenti su applicativi Desktop. Il tutto utilizzando il paradigma RIA (Rich Internet Application) che rende semplice lo sviluppo e la manutenzione applicativa.