Application server

Da Wikipedia, l'enciclopedia libera.

Un application server è una tipologia di server che fornisce l'infrastruttura e le funzionalità di supporto, sviluppo ed esecuzione di applicazioni nonché altri componenti server in un contesto distribuito. Si tratta di un complesso di servizi orientati alla realizzazione di applicazioni ad architettura multilivello ed enterprise, con alto grado di complessità, spesso orientate per il web (applicazioni web).

Descrizione[modifica | modifica sorgente]

Struttura modulare[modifica | modifica sorgente]

L'application server è composto da moduli realizzati secondo standard ben definiti ed accettati dalla comunità mondiale dei programmatori. Un esempio di questi standard è il protocollo HTTP, normalmente utilizzato per la trasmissione di informazioni sul web. Al suo interno, un application server dispone di componenti che consentono ad un'applicazione di lavorare facilmente con lo standard HTTP.

I moduli normalmente presenti in un application server sono:

Tecnologie disponibili[modifica | modifica sorgente]

Allo stato attuale delle cose, le tecnologie su cui possono basarsi gli application server sono diverse: Microsoft .NET, Java di Sun, Zope. Essendo una specifica, quella Java annovera numerose implementazioni sia commerciali che open source: Apache Tomcat, JBoss, WebLogic, WebSphere, Geronimo ecc.

Gli standard di Java non sono unicamente frutto della Sun Microsystem, ma sono il risultato di un rapporto sinergico tra l'azienda americana e la partecipazione libera di sviluppatori in tutto il mondo. Gli standard su cui si fonda la tecnologia .NET sono invece stabiliti direttamente da Microsoft.

Nel mondo Java, gli application server compatibili con le specifiche della Sun sono detti application server J2EE.

Vantaggi[modifica | modifica sorgente]

L'adozione di application server offre particolari benefici soprattutto nei settori dello sviluppo, dell'esecuzione e della gestione integrata dei sistemi. I principali vantaggi possono essere così riassunti:

  • Semplificazione delle attività di sviluppo: gli application server creano un ambiente nel quale si possono utilizzare gli strumenti di sviluppo più diffusi sul mercato, consentendo di produrre e distribuire rapidamente applicazioni transazionali altamente scalabili. In generale, questi ambienti comprendono modelli e strumenti di ausilio per sviluppare le applicazioni, riducendo i tempi di realizzazione e messa in esercizio dei programmi negli ambienti distribuiti.
  • Gestione delle transazioni. L'application server facilita la gestione delle operazioni basate su transazioni, assicurando l'integrità transazionale e gestione affidabile dei back-end multipli per le risorse e i dati. Il sistema di gestione delle transazioni gestisce le interazioni con i database e le funzioni di commit, rollback e recovery.
  • Scalabilità. Gli application server supportano il partizionamento delle applicazioni e la distribuzione in rete dei componenti. I sistemi multiprocessore e i cluster di application server assicurano la scalabilità necessaria a gestire anche un gran numero di utenti concorrenti.
  • Estendibilità. L'architettura modulare degli application server e il supporto per i server e per i moduli applicativi che possono essere caricati dinamicamente, consente alle aziende di estendere facilmente le funzionalità dei loro sistemi e delle relative applicazioni.
  • Robustezza. L'architettura basata sui componenti degli application server e il bilanciamento dinamico dei carichi assicurano l'alta disponibilità dei sistemi. I componenti del server e la logica applicativa possono essere riconfigurati, aggiunti o rimossi senza interruzioni nell'erogazione dei servizi agli utenti. Queste caratteristiche sono particolarmente importanti per garantire l'alta disponibilità del sistema, requisito necessario per il buon esito delle operazioni mission-critical aziendali.
  • Sicurezza. Gli application server offrono funzioni specifiche di sicurezza end-to-end, necessarie per l'esecuzione delle applicazioni aziendali che richiedono particolari misure di sicurezza e riservatezza dei dati. Per le comunicazioni tra client e server, vengono impiegati algoritmi standard e ampiamente testati e collaudati sul web, come quelli offerti dal protocollo SSL. Il logging e il tracking degli eventi forniscono protezione dagli accessi non autorizzati.

Server per applicazioni web[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi Server per applicazioni web.

Collegamenti esterni[modifica | modifica sorgente]