Application server: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
+Da unire |
+{{Interfacce web}} |
||
(108 versioni intermedie di 72 utenti non mostrate) | |||
Riga 1:
In [[informatica]] un '''application server''' (a volte abbreviato con la sigla '''AS''') è una tipologia di [[server]] che fornisce l'[[infrastruttura]] e le funzionalità logiche di supporto, sviluppo ed [[Esecuzione (informatica)|esecuzione]] di [[applicazione (informatica)|applicazioni]] nonché altri componenti [[server]] in un contesto [[sistema distribuito|distribuito]]. Si tratta di un complesso di servizi orientati alla realizzazione di applicazioni ad [[Architettura multi-tier|architettura multilivello]] ed enterprise, con alto grado di complessità, spesso orientate per il [[World Wide Web|web]] ([[Applicazione web|applicazioni web]]). In altre parole su di esso gira la cosiddetta [[logica di business]] in un'architettura hardware/software di tipo [[multi-tier]] e può dunque essere definito un [[middleware]]. La sua gestione è opera dei cosiddetti [[sistemista|sistemisti]] applicativi dove oltre alle operazioni di [[installazione (informatica)|installazione]] e [[configurazione (informatica)|configurazione]] un'operazione tipica è quella di [[deployment]] dell'applicazione web.
{{U|Server per applicazioni web}}▼
==Descrizione==
=== Struttura modulare ===▼
L'application server è composto da [[modulo (programmazione)|moduli]] realizzati secondo [[Standard (informatica)|standard]] ben definiti ed accettati dalla comunità mondiale dei [[
▲== Struttura modulare ==
[[Hypertext Transfer Protocol|HTTP]], normalmente utilizzato per la [[trasmissione (telecomunicazioni)|trasmissione]] di [[informazioni]] sul [[web]].
▲L'application server è composto da [[modulo (programmazione)|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.
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:
* modulo [[web server]] che espone al [[client]] [[browser]] la logica di presentazione statica delle applicazioni e in diretta interazione con la sottostante [[business logic|logica di business]];
* contenitore di componenti [[lato server|server-side]] detti anche logica di business;
* gestore degli accessi degli utenti e della [[Sicurezza informatica|sicurezza]];
* gestione accesso a [[database]] o in generale a sorgenti di dati esterne;
* gestore [[Transazione (
* [[interfaccia (informatica)|interfaccia]] per l'accesso ad un [[sistema legacy]];
* altri componenti per massimizzare le prestazioni, come [[connection pool]], [[load balancing|load balancer]], [[Cache|caching]], ecc.
=== Tecnologie disponibili ===
Allo stato attuale delle cose, le [[Tecnologia|tecnologie]] su cui possono basarsi gli application server sono
Gli standard di Java non sono unicamente frutto prima della [[Sun Microsystem]] e adesso di [[Oracle Corporation]], ma sono il risultato di un rapporto sinergico tra
Nel mondo Java, gli application server compatibili con le specifiche della Sun sono detti [[application server J2EE]].
===
L'adozione di application server offre particolari benefici soprattutto nei settori dello sviluppo, dell'esecuzione e della gestione integrata dei [[Sistema (informatica)|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 [[
* ''Supporto'' di vari [[linguaggio di programmazione|linguaggi]], strumenti e [[piattaforma (informatica)|piattaforme software]]: a seconda dell'application server utilizzato, le applicazioni possono essere scritte nel linguaggio preferito dal [[programmatore]].
* ''Riusabilità del codice:'' la [[riuso di codice|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 [[Transazione (basi di dati)|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 [[controllo versione|commit]], [[rollback]] e [[recupero dati|recovery]].
* ''Alte prestazioni''. Gli application server offrono caratteristiche architetturali che permettono di erogare elevate prestazioni quali il [[multithreading]], il bilanciamento dinamico dei [[Carico di sistema|carichi]] di lavoro (''[[load balancing]]''), il caching e il [[pooling]] degli [[Oggetto (informatica)|oggetti]] e delle [[Connessione (informatica)|connessioni]] ai database.
* ''Scalabilità''. Gli application server supportano il partizionamento delle applicazioni e la distribuzione in [[Rete informatica|rete]] dei componenti. I sistemi [[multiprocessore]] e i [[computer cluster|cluster]] di application server assicurano la [[scalabilità]] necessaria a gestire anche un gran numero di utenti concorrenti.
▲* ''Alte prestazioni''. Gli application server offrono caratteristiche architetturali che permettono di erogare elevate prestazioni quali il [[multithreading]], 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.
* ''
* ''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 [[Algoritmo|algoritmi]] standard e ampiamente testati e collaudati sul web, come quelli offerti dal protocollo [[Transport Layer Security|SSL]]. Il logging e il [[tracking]] degli eventi forniscono protezione dagli accessi non autorizzati.
{{Vedi anche|Server per applicazioni web}}
==Voci correlate==
* [[Java Naming and Directory Interface]]
== Collegamenti esterni ==
* {{
* {{en}}
* {{en}}
* {{en}}
*[[GlassFish]] : Open Source Java Application Server
*
* {{cita web |1=http://jbossitalia.altervista.org |2=News e tutorial su svariati Application Server |accesso=16 febbraio 2019 |urlarchivio=https://web.archive.org/web/20161113003726/http://jbossitalia.altervista.org/ |dataarchivio=13 novembre 2016 |urlmorto=sì }}
{{Interfacce web}}
{{Portale|internet|telematica}}
[[Categoria:Framework per applicazioni web]]
[[Categoria:Architettura del software]]
|