Introduzione a Java EE

J2EE è una piattaforma di sviluppo e deployment di applicazioni distribuite multilivello con una forte orientazione enterprise. J2EE aggiunge numerosi livelli di funzionalità al di sopra della piattaforma J2SE, la quale è invece orientata allo sviluppo e al deployment di applicazioni desktop tradizionali.

Le applicazioni J2EE sono semplicemente dei programmi software specifici per una data organizzazione, che forniscono funzionalità particolari per supportare alcuni dei processi generali che ne regolano l’operatività. Tramite la sua architettura multilivello distribuita e basata sulle componenti, facilita lo sviluppo di applicazioni particolarmente scalabili, costituite da elementi fisicamente distribuiti nelle reti.

J2EE  fondata su un’architettura multilivello nella quale le varie componenti che compongono un’applicazione vengono logicamente separate e distribuite su diversi livelli o strati dell’ambiente di elaborazione di rete. Queste architetture sono anche indicate come architetture n-tiered. In altri termini, i livelli rappresentano strati o livelli logici di funzionalità: le applicazioni multilivello raggruppano logicamente le componenti di un’applicazione secondo le funzioni che esse eseguono nel contesto dell’architettura globale.

È importante notare che i vari livelli di un’applicazione multilivello rappresentano un raggruppamento logico delle funzionalità e non un raggruppamento fisico. Le componenti che costituiscono un’applicazione J2EE, per esempio, possono essere distribuite (raggruppate o organizzate) logicamente nei livelli Client, Web, Business e EIS, i quali sono distribuiti fisicamente in molteplici sistemi di elaborazione.

API per sistemi enterprise

J2EE e la piattaforma J2SE sulla quale esso  sviluppato mettono a disposizione degli sviluppatori un vasto assortimento di API standard che rendono possibile l’integrazione con sistemi enterprise esistenti.

Ecco una breve rassegna delle API principali che facilitano l’integrazione con sistemi informativi aziendali, o EIS (Enterprise Information System), e sistemi legacy:

  • L’API J2EE Connector Architecture: fornisce un framework che consente l’integrazione e il packaging di resource adapter con qualsiasi applicazione J2EE. I resource adapter sono essenzialmente driver software che supportano la connettività con uno specifico tipo di sistema informativo aziendale. Attualmente esistono resource adapter per un vasto assortimento di sistemi applicativi enterprise molto diffusi, sebbene gli sviluppatori abbiano la possibilità di scrivere i propri resource adapter ad-hoc a seconda delle necessità.
  • Enterprise Java Beans (EJB): Gli EJB sono i componenti che implementano, lato server, la logica di business all’interno dell’architettura Java EE. Le specifiche per gli EJB definiscono diverse proprietà che questi devono rispettare, tra cui la persistenza, il supporto alle transazioni, la gestione della concorrenza e della sicurezza e l’integrazione con altre tecnologie, come JMS, JNDI, e CORBA.
  • L’API JDBC: fornisce alle applicazioni Java l’accesso a sorgenti di dati tabellari quali database SQL (Structured Query Language), fogli di calcolo e file che contengono tabelle di dati.
  • L’API XML: costituita da una famiglia di API orientate a XML che forniscono alle applicazioni J2EE un esteso supporto per XML. Utilizzando queste API, le applicazioni J2EE possono memorizzare, recuperare ed elaborare documenti XML, partecipare nei sistemi di messaging basati su XML ed effettuare o rispondere a chiamate di procedura remota basate su XML.
  • L’API JNDI (Java Naming and Directory Interface): fornisce funzionalità di naming e di directory ai programmi Java. JNDI supporta le comuni operazioni di naming e di directory che consentono alle applicazioni J2EE di memorizzare e recuperare oggetti Java nominati dai sistemi di directory enterprise.
  • L’API JMS (Java Message Service): fornisce alle applicazioni J2EE l’accesso a sistemi di messaging aziendale. Tali sistemi consentono alle applicazioni di comunicare affidabilmente tramite lo scambio asincrono di messaggi. JMS consente quindi alle applicazioni J2EE di creare, inviare, ricevere e leggere messaggi.
  • L’API JavaMail: consente di inviare e ricevere messaggi e-mail e pu˜ essere utilizzata dalle applicazioni J2EE per integrarsi con sistemi enterprise che supportano l’accesso basato su e-mail. Analoghi ai sistemi che comunicano tramite messaging, i sistemi basati sulla posta comunicano tramite lo scambio asincrono di posta elettronica.
  • L’API JTA (Java Transaction API): fornisce funzionalità transazionali alle applicazioni Java. Una transazione  un’unità di lavoro atomica che modifica dei dati quando viene eseguita. Le transazioni consentono l’accesso simultaneo a molteplici utenti agli stessi dati, quali le informazioni aziendali memorizzate in un database. L’API JTA facilita l’integrazione di applicazioni J2EE con sistemi transazionali per la gestione dei dati aziendali.
  • Le API Java IDLe RMI-IIOP: consentono alle applicazioni J2EE di accedere a sistemi basati su CORBA (Common Object Request Broker Architecture). CORBA definisce uno standard per la comunicazione fra applicazioni indipendentemente da dove esse risiedano o dal linguaggio in cui siano state scritte. Il supporto di Java per IDL (Interface Definition Language) offre alle applicazioni J2EE un meccanismo per definire le interfacce a oggetti remoti CORBA, che interagiscono fra di loro tramite un ORB (Object Request Broker). L’interoperabilità CORBA  fornita dal protocollo Internet IIOP (Internet InterORB Protocol) che pu˜ essere a sua volta utilizzato come protocollo RMI (Remote Method Invocation) attraverso l’API di Java RMI-IIOP.

Supporto per i Web Service

J2EE supporta i Web Service (descritti successivamente) con una varietà di API correlate basate su XML, che possono essere utilizzate per fornire un modello di programmazione client/ server disaccoppiato tipico delle architetture di servizio:

  • JAXP (Java API for XML Processing): fornisce le funzionalità fondamentali di elaborazione dei documenti XML, inclusa la possibilità di effettuare il parsing di documenti XML utilizzando il parser built-in DOM(Document Object Model), il SAX(Simple API for XML Parsing) o un altro parser da fornire. JAXP supporta anche lo standard XSLT(XLM Stylesheet Language Transformation) che fornisce alle applicazioni la possibilità di convertire documenti XML in altri formati, per esempio HTML, come frequentemente necessario quando si devono trasformare dei dati XML in un formato utilizzabile da un browser Web.
  • JAX-RPC (Java API for XML-based RPC): fornisce il supporto per le chiamate di procedura remota (RPC) dei servizi Web attraverso il protocollo SOAP/HTTP. JAX-RPC include le API che consentono ai client J2EE di accedere ai servizi Web e le API che supportano l’implementazione degli endpoint dei servizi Web.
  • SAAJ (SOAP with Attachments API for Java): fornisce alle applicazioni la possibilità di creare, inviare, accedere e manipolare messaggi SOAP. é possibile utilizzare SAAJ direttamente per creare e inviare messaggi SOAP nel caso in cui le funzionalità di pi alto livello fornite da JAX-RPC non fossero sufficienti.
  • JAXR (Java API for XML Registries): fornisce ai client J2EE l’accesso a server di registro basati su XML, come UDDI (Universal Description, Discovery and Integration) e ebXML.

Leave a Comment

Your email address will not be published.

*