Un’applicazione distribuita è un programma pensato per essere eseguito su più computer contemporaneamente e può essere archiviato su un server o nel cloud computing. Questo è comunemente usato all’interno di una rete che ha una relazione client-server in cui un computer client accede a un programma dal server e il server esegue tutta l’elaborazione. Ogni computer che accede normalmente all’applicazione è realizzato per uno scopo specifico. Sebbene ci siano molte diverse applicazioni distribuite, quelle comuni sono programmi generali, software di collaborazione, sistemi in tempo reale e sistemi computazionali. L’utilizzo di un’applicazione distribuita in genere è vantaggioso, ma ciò può rappresentare un problema se il server è debole o lento.
I sistemi applicativi distribuiti possono essere utilizzati su molti tipi di rete diversi, ma sono più spesso presenti nelle reti client-server. In questo tipo di rete, il computer client, o il computer utilizzato dalle persone, accede a programmi e informazioni dal server. Non solo l’applicazione viene utilizzata dal server, ma il server è responsabile di eseguire tutte le elaborazioni affinché il programma funzioni. Anche il cloud computing può essere utilizzato per questo, nel qual caso il programma viene archiviato su un server cloud e i computer client accedono al programma.
Mentre ogni computer o persona può utilizzare l’applicazione distribuita per scopi generali, il computer o la persona sono normalmente specializzati o incaricati di eseguire un’attività specifica. Ad esempio, un computer può essere utilizzato o ottimizzato per creare un’immagine mentre un altro viene utilizzato per il testo. L’utente può anche ricevere istruzioni per eseguire una determinata attività, piuttosto che eseguire solo attività generiche.
Esistono molti diversi tipi di applicazioni distribuite, ma esistono quattro categorie principali. I programmi generali sono programmi comuni che si trovano su un computer, solo che sono fatti per funzionare su più computer contemporaneamente. Il software di collaborazione è realizzato in modo che più persone possano lavorare contemporaneamente su un singolo progetto; ogni utente lavora in genere su una sezione diversa del progetto. I sistemi in tempo reale sono programmi di chat e ticket in cui gli utenti rispondono alle domande dei clienti online. I programmi di calcolo sono realizzati per elaborare il codice e l’utilizzo di più computer contemporaneamente ottimizza e accelera l’elaborazione.
L’utilizzo di un’applicazione distribuita è generalmente vantaggioso, perché rende più semplice per molti utenti l’accesso e l’utilizzo di un programma contemporaneamente, anche se può verificarsi un problema se il server non è potente. Il server è comunemente responsabile dell’esecuzione dell’elaborazione, quindi questo mette a dura prova il server. Se il server è debole o lento, ciò può causare ritardi o problemi più seri sui computer che accedono al programma.