Application server la base per mettere l’impresa sul Web

I server applicativi sono i motori delle aziende che fanno business via Tcp/Ip. Due i ruoli cardine: la gestione delle pagine dinamiche e la produzione di oggetti e script per il middleware. Forte la dicotomia fra Java e Com+. Facciamo una panoramica sulle soluzioni principali.

All’interno di una classica architettura a tre livelli, un application server è il fulcro a cui spettano sia l’esecuzione delle elaborazioni, volta a sgravare di questo onere il pc con i browser, sia l’interfaccia con i server al centro del sistema informativo dell’impresa (database, mainframe e così via). Un server di applicazioni, quindi, deve offrire tante funzioni: dall’interfaccia con un server Http per la pubblicazione dei dati in Html, al motore di esecuzione, dall’interfaccia con i database, gli Erp, i sistemi centrali, l’Eai (Enterprise application integration), ad alcune utility di gestione degli utenti, di ripartizione del carico, di pooling di connessione, di disaster recovery, fino all’ambiente di sviluppo, di manutenzione e di amministrazione delle applicazioni.


Ma gli application server, spesso, si concentrano nell’assicurare due funzioni distinte: server di pagine dinamiche (o di script) e server di oggetti. Quando si limitano a fornire pagine Web dinamiche, sono apprezzati per la semplicità di implementazione. Nel momento in cui un utente clicca su un collegamento a una pagina dinamica, il server Http affida lo script associato a un server di pagine dinamiche, che l’esegue e genera le pagine Html.


Esistono varie soluzioni per lo sviluppo di pagine dinamiche, come l’interfaccia Cgi (Common gateway interfacce con programmazione in Perl o C su sistemi Unix o Windows), l’ambiente Asp di Microsoft (Active Server Pages con sviluppo in VbScript su Windows), l’ambiente Jsp di Sun (Java Server Pages con sviluppo in Java), l’ambiente PhP4 (con Linux) e ColdFusion di Macromedia (sviluppato in ambiente proprietario con Windows e Linux).


I server di oggetti si differenziano dai precedenti per la capacità di eseguire elaborazioni all’interno di un contesto transazionale sicuro, per esempio utilizzando funzioni di monitoraggio, e gestiscono un modello di sviluppo a oggetti. Quello che fondamentalmente distingue un application server a oggetti da un server di pagine dinamiche è la capacità di proporre un’architettura evolutiva, flessibile e ad alte prestazioni grazie all’impiego di standard riconosciuti e alla possibilità di implementare moduli distribuiti.


Alcuni server applicativi in ambiente Java propongono l’implementazione di servlet. Questi non gestiscono l’insieme delle funzioni tipiche di un server a oggetti (Ejb, Corba e così via). Eseguono, invece, transazioni classiche e sono spesso utilizzati per preparare un insieme di dati che sarà trasmesso a un server Http. In questo caso il loro funzionamento si avvicina molto a quello di un server di pagine dinamiche.


La maggior parte degli application server integra sia una funzione di generazione e di esecuzione delle pagine dinamiche sia un server a oggetti. È per questo motivo che l’offerta Java utilizza un motore Ejb accoppiato a un motore di servlet e di Jsp. Con Windows, l’ambiente Com+ è associato alle Asp.

Creazione e collegamento


La standardizzazione dei server di applicazioni si esercita su due livelli: sviluppo e interfacciamento. A livello di sviluppo, la compatibilità con le specifiche J2Ee (Java 2 Enterprise edition) di Sun e dei suoi componenti Ejb è una realtà per la maggior parte dei fornitori. Microsoft e qualche altro vendor, come Macromedia, hanno adottato modelli referenziali differenti e proprietari.


La società di Bill Gates, infatti, utilizza il modello Com+, disponibile unicamente in ambiente Windows. Questo scelta presenta qualche vantaggio: in primo luogo il costo contenuto e, secondariamente, il fatto che i differenti mattoni che compongono il server di applicazioni sono rilasciati con Windows 2000 (versione Advanced Server).


A livello di interfaccia vengono sempre più utilizzati standard come Http, Xml e Soap. Sun fornisce J2Ee, una specifica dell’insieme delle Api Java che mette in mostra uno sviluppo spinto, implementato su un qualsiasi server di applicazioni dichiarato conforme, facilitando in questo modo la migrazione delle applicazioni realizzate. J2Ee è composto da tredici set di Api, tra i quali si ritrova Jdbc (accesso agli Rdbms), Jndi (accesso alle directory), Ejb, Jsp e i servlet, Jts (accesso al monitoraggio transazionale) e così via.


L’aspetto dello sviluppo non è direttamente collegato alle caratteristiche di un application server, ma lo stesso deve essere preso in considerazione. Al di là delle capacità offerte dai singoli software, l’integrazione ai server applicativi è molto importante (debugging, deployment degli oggetti e così via).


La presenza di un ambiente di sviluppo, di un editor di pagine Html, di un debugger, di applicazioni di sviluppo in team, di funzioni di gestione delle versioni e di un software di modellizzazione sono argomenti essenziali nella scelta di una soluzione. D’altra parte, l’amministrazione gioca un ruolo essenziale per la gestione delle applicazioni, in particolare per il pooling di connessione e per la parametrizzazione della ripartizione del carico.


I server di applicazioni che funzionano secondo un’architettura centralizzata devono gestire numerosi accessi utente simultanei e offrire la massima disponibilità alle applicazioni. La gestione dell’aumento del carico può essere eseguita tramite funzioni di ripartizione del carico a monte delle applicazioni (ciascun utente è diretto verso un’istanza di applicazione) o attraverso ripartizioni di elaborazione (l’applicazione può essere scissa in più parti, ciascuna delle quali può essere posizionata su macchine differenti). A questo riguardo esistono due possibilità: la più semplice consiste nell’assicurare il funzionamento delle applicazioni in continuo. In caso di guasto, l’utente perde il lavoro in corso di svolgimento, ma l’applicazione è accessibile. Un livello più avanzato permette il disaster recovery sull’incidente a livello di sessione o di utente. Se interviene un blocco, l’utente non perde il lavoro in corso perché questo è automaticamente recuperato dall’application server.


L’architettura J2Ee di Sun è diventata il punto di riferimento dei server di applicazioni per quanto riguarda lo sviluppo. La caratteristica principale sta nel fatto che il porting di un’applicazione di un application server J2Ee verso un altro server può essere fatta a costi contenuti. La conformità e la certificazione sono fornite da Sun al termine di una serie di test. Secondariamente, la serie di test di compatibilità del server di applicazioni con le Api di J2Ee è molto più completa. Non esistono server applicativi senza connessione al sistema informativo. Per le applicazioni Web transazionali (intranet, Internet ed extranet) si riscontrano due tipi di necessità. La prima riguarda l’accesso ai database, elemento essenziale di qualsiasi sito o applicazione transazionale. Per questo, gli application server devono avere due funzioni: un’apertura standardizzata alle soluzioni software e una gestione di pooling di connessione avanzata (numero di connessioni all’avvio, numero massimo supportabile e così via). La seconda necessità riguarda l’accesso agli Erp, al mainframe, alle soluzioni di terze parti e anche l’interconnessione con le soluzioni di Eai.


Per fornire un panorama completo sull’attuale offerta in tema di application server, proponiamo un breve riassunto delle funzionalità dei più diffusi prodotti.

Apple


WebObjects (ora in versione 5) è una delle offerte più mature in tema di server di applicazioni. L’architettura fisica è basata su un server di pagine dinamiche, su servlet e su un server a oggetti Java, ma non ha una stretta aderenza agli standard. Le utility di sviluppo proposte sono costituite da WebObject Builder per le interfacce Html, di Project Builder per lo sviluppo in Java o WebScript e Eo Modeler per la modellizzazione. È adatto per progetti in cui il carico transazionale è consistente e per quelli destinati a grandi sistemi informativi aziendali.

Atg


L’application server Dynamo è destinato principalmente al funzionamento di software di commercio elettronico e di Crm basati su piattaforme Java. La sua architettura tecnica permette sia l’implementazione di una tecnologia proprietaria per le pagine dinamiche (Dynamo Server Page) sia la realizzazione di un ambiente standard basato su J2Ee. Con il Map (Mobile application program) la piattaforma mette a disposizione funzioni di sicurezza degli accessi e consente la gestione del Wml (Wireless markup language). Tramite il Dai (Dynamo application integrator) Atg propone una piattaforma integrativa (Eai) che consente l’implementazione di siti di commercio elettronico e di Crm basati su piattaforme legacy, Erp e database. Questo servizio è analogo a quelli forniti da WebMethods, Vitria, Ibm Mq Series e Tibco. C’è di più: il Dai incorpora proprio un motore di integrazione Tibco.

Bea


WebLogic Server è ormai uno standard in materia di server di applicazioni Java. In origine specialista di monitor transazionali (Tuxedo), Bea ha trasferito la propria esperienza in questo prodotto, frutto dell’acquisizione del servlet di applicazioni Tengah di WebLogic. L’architettura tecnica si basa su un server di servlet/Jsp e su uno a oggetti Corba/Ejb. Lo sviluppo è stato realizzato a partire da una serie di utility raggruppate nell’offerta WebGain Studio: Dreamweaver per le interfacce Html e Jsp, Visual Cafè per Java, Structure Builder e TopLink per la modellizzazione e il mapping. L’interfacciamento con i sistemi esistenti passa sia attraverso dei driver integrati sia il server di Eai eLink.

BlueStone


Sapphire/Web di BlueStone, infine, è stato recentemente acquistato da Hp e ribattezzato Total-e-server 7.2 dopo l’aggiunta di qualche funzione legata al commercio elettronico e all’accesso a dei terminali mobili. L’architettura tecnica è basata su un motore di servlet/Jsp e un server a oggetti J2Ee (Corba). L’ambiente di sviluppo integra Java, C e C++.

Borland


Borland AppServer 4.5 costituisce un ambiente di sviluppo e di deployment destinato a progetti aperti. È uno dei server più maturo per quanto riguarda le tecnologie Corba e lo sviluppo di interfacce Java. L’architettura tecnica è basata su Jsp e i servlet per le pagine dinamiche e su un server a oggetti Corba/Ejb. Per quanto riguarda lo sviluppo, Jbuilder è ben integrato al server. È inoltre associato a Dreamweaver per lo sviluppo di pagine Web e alle utility di Rational Rose in tema di modellizzazione e di aiuto dello sviluppo.

Ibm


WebSphere di Ibm è disponibile in versione standard gratuita (motore di servlet), Advanced (server a oggetti Ejb e a ripartizione del carico) ed Enterprise (integrazione di messaging). Questa soluzione presenta un’architettura tecnica servlet/Jsp, Corba/J2Ee a cui Ibm aggiunge una ricca offerta software complementare, che garantisce la durata nel tempo e la compatibilità legacy. Lo sviluppo della parte Html e Jsp è stato realizzato con l’aiuto di WebSphere Studio, mentre sono stati impiegati VisualAge e Java per i componenti e i servlet. L’interfaccia con l’esistente è stata creata tramite i connettori Jdbc e il server Mq Series. Questo prodotto è destinato soprattutto alla realizzazione di progetti complessi e all’evoluzione dei siti esistenti. La nuova versione 4.0 gestisce i servizi Web (Xml, Soap e Udd).

Iona


Nella vasta offerta della casa irlandese, riassumibile sotto il cappello dell’Eai (che in Iona, però, chiamano "total business integration"), il server applicativo non è che un elemento, per quanto importante. Iportal Application Server (ora in versione 3.0) è indirizzato ad architetture su grande scala e basate sull’utilizzo di Java. Il server di Iona, infatti, è certificato J2Ee, integra funzioni di e-business integration, supporta gli Ejb 1.1, incorpora funzionalità di Web container, Jsp e servlet, e garantisce l’interoperabilità con il protocollo Iiop (Internet inter Orb protocol). Iportal è costruito sull’architettura proprietaria Art (Adaptive runtime technology), che, tra le altre cose, fa girare le applicazioni J2Ee in clustering su più host.

Iplanet-Sun


Iplanet è un mosaico di prodotti acquisiti da Sun: iPlanet Application Server (Ias) 6.0 riprende il motore di Netscape Application Server (ex-Kiva) al quale è stato aggiunto il connettore NetDinamics e la gestione Xml di Forté Fusion. Ias gestisce i Jsp, i servlet, un server a oggetti Ejb. iPlanet Application Builder, l’utility di sviluppo integrata, è essenzialmente centrata su Html. Lutris Enhydra 3.5 di Lutris è un server di applicazioni open source che permette di avere accesso a un codice sorgente. La versione 3.1 è scaricabile gratuitamente ed è completata dalla versione 3.5, più potente e a pagamento. Questa proposta gestisce gli standard Java, Html, Xml e le diverse versioni di Linux. Enhydra implementa Java e i servlet ma anche Ejb (nella versione 4.0).

Macromedia


Dopo l’acquisizione di Allaire, Macromedia ColdFusion è essenzialmente centrato sulle pagine dinamiche e rappresenta il punto chiave nell’offerta della società. L’architettura tecnica del server utilizza Html per la presentazione e markup specifici Cfml (ColdFusion markup language) per le elaborazioni. Il tool di sviluppo ColdFusion Studio permette di creare script Cfml e pagine Html. La connessione ai database avviene via Odbc o nativa per database come Oracle o Db2.

Microsoft


L’offerta della casa di Redmond è costituita da un server di pagine dinamiche Asp e da un server a oggetti Com+. Questo è stato integrato nella versione Advanced Server di Windows 2000, mentre la versione Server non è collegata che con il server di pagine Asp. FrontPage può essere impiegato per la creazione di pagine Html e Visual InterDev per quella di pagine dinamiche. Gli script sono sviluppati in VbScript o Jscript, le componenti con Visual C++ o Visual Basic. L’insieme di queste utility e di altre complementari viene commercializzato con il nome di Visual Studio. Le funzioni di interfaccia con l’esistente sono in parte integrate (Ado, MsMq, Odbc) e in parte si trovano su server specializzati (His, Biztalk).

Oracle


Oracle 9i Application Server presenta un’architettura tecnica basata su diversi motori di presentazione (servlet, Jsp, Perl, Pl/Sql Server Page), un motore di interpretazione delle procedure di storage Pl/Sql e un server a oggetti Ejb/Corba. L’ambiente di sviluppo Java utilizzato è Jdeveloper (di Jbuilder). Questa soluzione è adatta a Oracle Jdeveloper.

SilverStream


SilverStream propone Application Server 4.5, architettura tecnica con un motore di servlet e di Jsp. Il prodotto integra un server a oggetti J2Ee/Corba e si interfaccia anche con componenti Com di Microsoft. Dispone di un ambiente di sviluppo Html e Java, mentre per la creazione di componenti ci si può interfacciare con utility come Visual Café e Jbuilder.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome