Application server: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Amux (discussione | contributi)
m da unire|Application Server
Ft1 (discussione | contributi)
voci unite
Riga 1:
Un '''Applicationapplication server''' è un’un [[applicazionesoftware]] che fornisce l’infrastruttural'[[infrastruttura]] e le funzionalità di supporto, asviluppo integrazione,ed [[deployEsecuzione (informatica)|esecuzione]] ed esecuzione di [[Applicazione|applicazioni]] e componenti [[server]] in un contesto distribuito. SonoSi tratta di un complesso di servizi orientati alla realizzazione di applicazioni per il [[World Wide Web|web]], multi-tieredmultilivello e di tipoed enterprise, con alto grado di complessità.
{{da unire|Application Server}}
Un '''Application server''' è un’[[applicazione]] che fornisce l’infrastruttura e le funzionalità di supporto a integrazione, [[deploy]] ed esecuzione di applicazioni e componenti [[server]] in un contesto distribuito. Sono orientati alla realizzazione di applicazioni [[World Wide Web|web]] multi-tiered e di tipo enterprise, con alto grado di complessità.
 
== Struttura modulare ==
I moduli normalmente presenti in un Application Server sono:
L'application server è composto da [[Modulo|moduli]] realizzati secondo [[Standard (informatica)|standard]] ben definiti ed accettati dalla comunità mondiale dei [[Programmatore|programmatori]]. Un esempio di tali standard è il [[Protocollo di rete|protocollo]] [[HTTP]], normalmente utilizzato per la [[trasmissione]] di [[informazioni]] sul web. Al suo interno, un application server disporrà quindi di componenti che consentono ad un'applicazione di lavorare facilmente con lo standard HTTP.
* contenitore di componenti server-side;
* gestore degli accessi degli utenti e della sicurezza;
* gestione accesso a database o in generale a sorgenti di dati esterne;
* gestore [[transazione (database)|transazioni]];
* interfaccia per l’accesso a sistemi [[legacy]];
* altri componenti per massimizzare le prestazioni, come [[connection pool]], [[load balancer]], [[caching]], ecc..
 
I moduli normalmente presenti in un Applicationapplication Serverserver sono:
Nel mondo [[Java]], gli Application Server compatibili con le specifiche della [[Sun]] sono detti [[Application Server J2EE]].
* contenitore di componenti server-side;
* gestore degli accessi degli utenti e della [[Sicurezza informatica|sicurezza;]]
* gestione accesso a [[database]] o in generale a sorgenti di dati esterne;
* gestore [[transazioneTransazione (database)|transazioni]];
* [[interfaccia]] per l’accessol'accesso a sistemi [[legacy]];
* altri componenti per massimizzare le prestazioni, come [[connection pool]], [[load balancer]], [[Cache|caching]], ecc..
 
== Tecnologie disponibili ==
Allo stato attuale delle cose, le [[Tecnologia|tecnologie]] su cui possono basarsi gli application server sono due: [[Microsoft .NET]] e [[Java (linguaggio)|Java]] di [[Sun Microsystems|Sun]]. Tra le due, Java è nettamente più diffusa e accettata, e annovera numerose [[Implementazione|implementazioni]] sia commerciali che [[open source]]: JBoss, WebLogic, Geronimo, ecc.
 
Gli standard di Java non sono unicamente frutto della Sun, ma sono il risultato di un rapporto sinergico tra l'azienda americana e la partecipazione libera di 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 Applicationapplication Serverserver compatibili con le specifiche della [[Sun]] sono detti [[Applicationapplication Serverserver J2EE]].
 
== I benefici ==
L’adozioneL'adozione deglidi Applicationapplication Serverserver offre particolari benefici soprattutto nellenei areesettori dello sviluppo, dell’esecuzionedell'esecuzione e della gestione integrata dei [[Sistema (informatica)|sistemi]]. I principali vantaggi possono essere così riassunti:
* ''Semplificazione delle attività di sviluppo:'' gli Applicationapplication Serverserver 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 [[Modello|modelli]] e strumenti di ausilio per sviluppare le applicazioni, riducendo i tempi di realizzazione e messa in esercizio dei programmi negli ambienti distribuiti.
* ''Supporto'' di vari [[linguaggio di programmazione|linguaggi]], strumenti e [[piattaforma|piattaforme]]: a seconda dell'application server utilizzato, le applicazioni possono essere scritte nel linguaggio preferito dal programmatore.
* ''Riusabilità del codice:'' la riusabilità del codice deriva sia dalla [[programmazione orientata agli oggetti]] spesso utilizzata in questi casi, sia dall'utilizzo dell'approccio a componenti. Una volta sviluppata la logica applicativa, essa può essere condivisa e riutilizzata.
* ''Gestione delle [[transazioneTransazione|transazioni]]''. L’ApplicationL'application Serverserver facilita la gestione delle operazioni basate su transazioni, assicurando l’integritàl'integrità transazionale e gestione affidabile dei [[Backback-end]] multipli per le risorse e i [[dati]]. Il sistema di gestione delle transazioni gestisce le interazioni con i [[Databasedatabase]] e le funzioni di [[Commitcommit]], [[Rollbackrollback]] e [[Recoveryrecovery]].
* ''Scalabilità''. Gli Applicationapplication Serverserver supportano il partizionamento delle applicazioni e la distribuzione in [[Rete informatica|rete]] dei componenti. I sistemi multi-[[CPUmultiprocessore]] e i [[Clustercluster]] di Applicationapplication Serverserver assicurano la scalabilità necessaria a gestire anche grandiun gran quantitànumero di utenti concorrenti.
* ''Alte prestazioni''. Gli Applicationapplication Serverserver offrono caratteristiche architetturali che permettono di erogare elevate prestazioni quali il [[Multithreadingmultithreading]], il bilanciamento dinamico dei [[Carico|carichi]] di lavoro (''load balancing''), il caching e il [[pooling]] degli [[Oggetto (informatica)|oggetti]] e delle [[Connessione|connessioni]] ai database.
* ''Estensibilità''. L’architetturaL'architettura modulare degli Applicationapplication Serverserver e il supporto per i Serverserver 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’architetturaL'architettura basata susui componenti degli Applicationapplication Serverserver e il bilanciamento dinamico dei carichi assicurano l’altal'alta [[disponibilità]] dei sistemi. I componenti del Serverserver e la logica applicativa possono essere riconfigurati, aggiunti o rimossi senza interruzioni nell’erogazionenell'erogazione dei servizi agli utenti. Queste caratteristiche sono particolarmente importanti per garantire l’altal'alta disponibilità del sistema, requisito necessario per il buon esito delle operazioni Missionmission-critical aziendali.
* ''Sicurezza''. Gli Applicationapplication Serverserver offrono delle funzioni specifiche di sicurezza [[Endend-to-end]], necessarie per l’esecuzionel'esecuzione delle applicazioni aziendali che richiedono particolari misure di sicurezza e riservatezza dei dati. Per le comunicazioni tra [[Clientclient]] e Serverserver, vengono impiegati [[Algoritmo|algoritmi]] standard e ampiamente testati e collaudati sul Webweb, come quelli offerti dal protocollo [[SSL]]. Il [[Logginglogging]] e il [[Trackingtracking]] degli [[Evento|eventi]] forniscono una protezione dagli accessi non autorizzati.
 
== Collegamenti esterni ==
* {{en}} [http://java.sun.com/j2ee/ Java 2 Platform, Enterprise Edition]
* {{en}} [http://www.jboss.org/ JBoss]: application server J2EE Openopen Source]source
* {{en}} [http://www.ibm.com/websphere WebSphere]: Applicationapplication Serverserver commerciale di [[IBM]]
* {{en}} [http://www.bea.com/weblogic Weblogic]: Applicationapplication Serverserver commerciale di BEA]
 
 
 
[[Categoria:Programmazione]]
[[Categoria:Piattaforme Computer]]
 
[[Categoria: Programmazione]]
[[Categoria: Piattaforme Computer]]
 
[[ende:applicationApplication serverServer]]
[[en:Application server]]
[[fr:Serveur d'application]]
[[nl:Applicatieserver]]
[[pl:Serwer aplikacji]]
[[ru:Сервер приложений]]
[[sv:Applikationsserver]]