Application server: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
+{{Interfacce web}}
 
(103 versioni intermedie di 67 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==
Un '''application server''' è un [[software]] che fornisce l'[[infrastruttura]] e le funzionalità di supporto, sviluppo ed [[Esecuzione (informatica)|esecuzione]] di [[Applicazione|applicazioni]] e componenti [[server]] in un contesto distribuito. Si tratta di un complesso di servizi orientati alla realizzazione di applicazioni per il [[World Wide Web|web]], multilivello ed enterprise, con alto grado di complessità.
=== Struttura modulare ===
 
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 taliquesti 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.
== 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 (databasebasi di dati)|transazioni]];
* [[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 duediverse: [[Microsoft .NET]] e, [[Java (linguaggio di programmazione)|Java]] di [[SunOracle MicrosystemsCorporation|SunOracle]], [[Zope]]. Essendo una specifica, quella Java annovera numerose [[Implementare|implementazioni]] sia commerciali che [[open source]]: [[GlassFish|Oracle GlassFish]], [[JBoss]], [[Oracle WebLogic Server|WebLogic]], [[WebSphere]], [[Geronimo Application Server|Geronimo]], ecc.
 
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 l'aziendale americanaaziende americane 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]].
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]].
 
=== I beneficiVantaggi ===
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 [[Modellomodello di sviluppo del software|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 (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.
* ''Estensibilità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 [[Algoritmo|algoritmi]] standard e ampiamente testati e collaudati sul web, come quelli offerti dal protocollo [[Secure SocketsTransport Layer Security|SSL]]. Il [[logging]] e il [[tracking]] degli [[Evento|eventi]] forniscono protezione dagli accessi non autorizzati.
 
{{U|==Server per applicazioni web}}==
{{Vedi anche|Server per applicazioni web}}
 
==Voci correlate==
* [[Java Naming and Directory Interface]]
 
== Collegamenti esterni ==
* {{en}}cita [web|http://java.sun.com/j2ee/ |Java 2 Platform, Enterprise Edition]|lingua=en}}
* {{en}} [http://www.jboss.org/ JBoss]: application server J2EE open source
* {{en}} [httphttps://www.ibm.com/websphere WebSphere]: application server commerciale di [[IBM]]
* {{en}} [http://www.beaoracle.com/framework.jsp?CNT=index.htm&FP=/contentus/products/weblogic&WTmiddleware/application-server/index.ac=topnav_products_weblogichtml WebLogic]: application server commerciale di [[Oracle Corporation]] (ex. [[BEA Systems]])
*[[GlassFish]] : Open Source Java Application Server
* {{it}} [http://www.oracle.com/lang/it/appserver/index.html Oracle AS 10g]: application server commerciale di Oracle
* {{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}}
[[Categoria: Software di rete]]
{{Portale|internet|telematica}}
 
[[Categoria:Framework per applicazioni web]]
[[ca:Servidor d'aplicacions]]
[[Categoria:Architettura del software]]
[[da:Applikationsserver]]
[[de:Application Server]]
[[en:Application server]]
[[es:Servidor de aplicaciones]]
[[fr:Serveur d'applications]]
[[hr:Aplikacijski poslužitelj]]
[[ja:アプリケーションサーバ]]
[[ko:웹 애플리케이션 서버]]
[[nl:Applicatieserver]]
[[pl:Serwer aplikacji]]
[[pt:Servidor de aplicação]]
[[ru:Сервер приложений]]
[[sv:Applikationsserver]]
[[vi:Máy chủ cho chương trình ứng dụng]]