Il CFML (ColdFusion Markup Language), è il linguaggio a tag disegnato nel 1995 da J.J Allaire specificatamente per scrivere applicazioni per il Web e le intranet. Il CFML è supportato attualmente non solo da Macromedia ColdFusion ma anche da molti altri J2EE application server
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.
Supporto di vari linguaggi, strumenti e 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 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.
Alte prestazioni. Gli application server offrono caratteristiche architetturali che permettono di erogare elevate prestazioni quali il multithreading, il bilanciamento dinamico dei carichi di lavoro (load balancing), il caching e il pooling degli oggetti e delle connessioni ai database.
Estensibilità. 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.