MokaByte
MokaByte n. 94 - Marzo 2005
Accesso ai database in J2EE
j2ee

Accesso ai database in J2EE

Come configurare Tomcat e JBoss per l'accesso ai database da applicazioni web ed EJB

Grazie alle funzionalità offerte dall' non si deve più preoccupare della connessione ad una sorgente dati Fra i compiti di un application server J2EE vi è quello di gestire la connessione al database: indirezione e intermediazione sono i benefici di questo approccio

Leggi tutto »
Comunicazione Java-Flash. Parte I
javaflash

Comunicazione Java-Flash. Parte I

Tutto ciò che c’è da sapere sulla comunicazione tra una applet Java e un movie Flash. Scopriamo la teoria e vediamone una implementazione.

Leggi tutto »
In questa seconda parte vine preso in considerazione la mappatura di proprietà non elementari e viene visto come Hibernate gestisce le relazioni tra classi
hibernate

In questa seconda parte vine preso in considerazione la mappatura di proprietà non elementari e viene visto come Hibernate gestisce le relazioni tra classi

Introduzione II parte – Le relazioni

In questo articolo si completa l'operazione di mapping del modello in esame e ne vengono messi in evidenza gli aspetti legati alle relazioni tra le classi.

Leggi tutto »
Interoperabilità fra strumenti di ingegneria del software
javaoodb

Interoperabilità fra strumenti di ingegneria del software

Proiezione java di un database Obiect Oriented

Nell'ambito dello studio dei database a oggetti,non sempre si ha la possibilità di poter utilizzare linguaggi di progettazione e ambienti di sviluppo eterogenei ma in grado di interagire senza problemi, al fine di progettare e implementare strutture dati orientate agli oggetti. L'obiettivo consiste nel mostrare la forte integrazione dei vari strumenti e linguaggi utilizzati, applicando di volta in volta le più note caratteristiche di una progettazione di tipo agile

Leggi tutto »
Java 5
java5

Java 5

IV parte: le annotazioni

Questo mese ci occuperemo di una nuova funzionalità di Java 5 che permette di espandere la gamma dei modificatori Java con delle apposite annotazioni create ad hoc. Come vedremo si tratta di un costrutto simile per certi versi alle interfacce, non particolarmente difficile da usare, ma che per la sua natura è riservato a pochi casi concreti d'utilizzo. Si invita il programmatore a leggere questo articolo senza particolare apprensione, dal momento che quanto scritto tornerà di certo utile per conoscenza, ma non verrà probabilmente mai usato, per ragioni che verranno spiegate.

Leggi tutto »
La Java Server Pages Standard Tag Library
jstl

La Java Server Pages Standard Tag Library

Formattazione di numeri e date

La JSTL comprende funzionalità per la formattazione dei dati da visualizzare e la gestione dell’internazionalizzazione. Esaminiamo i principali tag che svolgono queste funzioni.

Leggi tutto »
La piattaforma J2ME ed i Web Services
j2me

La piattaforma J2ME ed i Web Services

Introduzione ai Web Services Come spesso accade, una tecnologia è figlia di una necessità. L’inizio del nuovo millennio è sicuramente caratterizzato dall’ingresso di Internet nella vita di ciascuno di noi. Le persone che non utilizzano questo nuovo strumento o che non dispongono di almeno un indirizzo di posta elettronica sono davvero poche. Non esiste azienda che non abbiamo un proprio indirizzo www. Al boom di questo fenomeno culturale si è associata una esplosione di tecnologie per la realizzazione di quelle che si chiamano applicazioni Web. Dall’utilizzo di semplici applicazioni attraverso una interfaccia CGI (Common Gateway Interface) e linguaggi come il C/C++ si è passati all’utilizzo di linguaggi interpretati come PHP e PERL per poi arrivare al concetto di application server come ambiente per la realizzazione di applicazioni enterprise scalabili e di elevate prestazioni. Ecco che tecnologie come Java e .Net si sono affermate come principali scelte nella realizzazione di applicazioni web di notevoli dimensioni. Conseguenza di questo fermento è stato comunque la realizzazione di moltissime applicazioni realizzate con tecnologie molto diverse tra loro in ambienti e sistemi operativi differenti. Inizialmente le necessità delle aziende era comunque quella di realizzare applicazioni denominate B2C (Business to Consumer) e che avevano come ultimo utilizzatore l’utente che, da casa o dall’ufficio, accede, attraverso una connessione telefonica o attraverso rete aziendale, a servizi di vario genere. Successivamente è nata invece la necessità, da parte delle diverse aziende, di comunicare tra loro, di effettuare quello che si chiama B2B (Business to Business). Il rivenditore deve quindi comunicare con il fornitore per ordinare i prodotti del proprio catalogo. Nel caso di più fornitori, il rivenditore potrebbe avere la necessità di conoscere quale di questi siano per lui più conveniente. Ma come fare per semplificare la comunicazione tra i due sistemi informativi? Come si potrebbe procedere nel caso in cui le tecnologie e sistemi utilizzati siano molto differenti tra loro? La risposta è molto più semplice di quello che sembra ed è legata alla parola “standard”. HTTP ed XML come standard di comunicazione In effetti una applicazione Web, qualunque sia la tecnologia utilizzata, ha come caratteristica fondamentale quella di pubblicare delle informazioni in formato testuale attraverso un protocollo request/reply che si chiama HTTP (HyperText Transport Protocol). Il browser compone una richiesta HTTP in grado di incapsulare alcune informazioni nella modalità previste dal protocollo e di inviarle ad un server il quale elabora le informazioni e ritorna un risultato incapsulato all’interno di una risposta HTTP. Come detto, solitamente il risultato è un documento HTML. Ma se l’interazione con una qualunque applicazione Web avviene attraverso il protocollo HTTP perché non pensare ad un meccanismo che utilizzi lo stesso protocollo per far comunicare Web Application diverse? L’utilizzo del protocollo HTTP è possibile con una applicazione Web realizzata in Java, con una realizzata in .Net, con PHP o PERL. Lo sarebbe addirittura con una applicazione che utilizza la CGI. Ovviamente la comunicazione non può avvenire attraverso documenti HTML i quali hanno la caratteristica di descrivere sia un insieme di informazioni che la modalità con cui le stesse vengono presentate graficamente. Al nostro amico rivenditore interessano solamente i dati puri e strutturati, relativi ai diversi prodotti. Sarà il proprio sistema che avrà eventualmente la responsabilità di gestire eventualmente la presentazione dei prodotti acquistati. Nasce quindi l’esigenza di un modo standard per il trasporto dei dati. Da qui all’utilizzo di documenti XML il passo è breve. Attraverso un documento XML è quindi possibile descrivere un insieme di informazioni strutturate che possono essere trasmesse attraverso un protocollo di trasporto come può essere l’HTTP. Un documento XML ha infatti la fondamentale caratteristica di essere del “semplice testo” le cui informazioni possono essere estratte con gli strumenti ormai disponibili per tutti i linguaggi. L’operazione di estrazione delle informazioni contenute all’interno di un documento XML si chiama parsing e viene effettuata da alcuni componenti, di diverso tipo, che prendono il nome di parser a cui accenneremo successivamente.

Leggi tutto »
La programmazione concorrente
multithread

La programmazione concorrente

La programmazione concorrente è un insieme di tecniche per gestire un ambiente di esecuzione caratterizzato da una moltitudine di flussi di esecuzione attivi in contemporanea. Esso si contrappone alla programmazione sequenziale, in cui il flusso di esecuzione è unico. Come si può facilmente intuire, la programmazione concorrente presenta problematiche molto diverse da quelle della programmazione sequenziale: questo mese verrà svolta una breve, ma necessaria, panoramica sulla teoria sottostante. Sarà quindi possibile introdurre le principali classi di supporto alla programmazione concorrente e illustrare un esempio funzionante. Il multi tasking Ogni computer moderno è in grado di mandare in esecuzione più di un programma alla volta, nonostante disponga, nella maggioranza dei casi, di un solo microprocessore. La tecnica attraverso la quale un computer esegue in parallelo più programmi si chiama time sharing (condivisione di tempo): il processore viene assegnato dal sistema operativo ad ogni programma a turno per una frazione di secondo, in modo da dare l’illusione di simultaneità. La cosa sorprendente è che ciascun programma viene eseguito senza apparente perdita di prestazioni, una cosa che potrebbe sembrare paradossale. Se si lanciano dieci programmi contemporaneamente, ci si aspetterebbe che questi vengano eseguiti ciascuno ad un decimo della velocità massima.

Leggi tutto »
MIDP2.0, Evoluzione in-game
j2me

MIDP2.0, Evoluzione in-game

Il passaggio da MIDP1.0 a MIDP2.0 ha apportato notevoli mutamenti all'armamentario disponibile per la creazione di giochi. In questo articolo di occupiamo di una panoramica sintetica di alcune nuove caratteristiche introdotte. In particolare, osserviamo quattro Tipi di notevole interesse: GameCanvas, Layer, TiledLayer, LayerManager

Leggi tutto »
Nuvole nel cielo
cloudscape

Nuvole nel cielo

Derby: il database Java di Apache

Al LinuxWorld del 2004, IBM ha annunciato l'intenzione di donare il proprio database Cloudscape all'Apache Software Foundation. Con il nome di Derby, il progetto è stato accolto nell'incubatore della fondazione, in attesa di essere promosso a progetto di primo livello all'interno dell'Apache DB Project

Leggi tutto »
Sviluppare applicazioni J2EE di grandi dimensioni
huge

Sviluppare applicazioni J2EE di grandi dimensioni

un approccio concreto e affidabile

Divide et impera, dicevano gli antichi Romani, cioè affrontiamo una realtà articolata e complessa suddividendola in elementi più piccoli e facilmente gestibili. Possiamo applicare questa regola alla progettazione e sviluppo di grandi applicazioni J2EE?

Leggi tutto »