Suggerimenti SOA - Affronta i colli di bottiglia della scalabilità con la cache distribuita

Di Iqbal Khan

Dopo l'esplosione delle applicazioni Web per soddisfare l'utilizzo ad alto traffico, la prossima grande ondata è diventata l'architettura orientata ai servizi (SOA). La SOA è destinata a diventare un modo standard per lo sviluppo di applicazioni estremamente scalabili e le piattaforme di cloud computing come Windows Azure rappresentano un passo da gigante nel muovere la SOA verso il raggiungimento di questo obiettivo.

La SOA consente agli utenti di distribuire le applicazioni in più sedi, più reparti all'interno di un'organizzazione e più aziende su Internet. Inoltre, consente il riutilizzo del codice esistente all'interno di un'organizzazione e, soprattutto, la collaborazione tra diverse unità aziendali.

Un'applicazione SOA viene in genere distribuita in una server farm in un ambiente con bilanciamento del carico. L'obiettivo è consentire all'applicazione di gestire tutto il carico che viene lanciato. La domanda diventa quindi: quali sono alcune delle considerazioni che dovresti tenere in mente per migliorare sia le prestazioni che la scalabilità della tua applicazione SOA?

Leggi l'articolo completo

Sebbene SOA, in base alla progettazione, abbia lo scopo di fornire scalabilità, ci sono molti problemi che devi affrontare prima di poter raggiungere veramente la scalabilità. Alcuni di questi problemi riguardano il modo in cui codifichi la tua applicazione SOA, ma i colli di bottiglia più importanti spesso riguardano il modo in cui memorizzi e accedi ai tuoi dati. Esplorerò questi problemi e fornirò alcune soluzioni in questo articolo.

Trova i colli di bottiglia della scalabilità

Una vera applicazione SOA dovrebbe essere facilmente scalabile per quanto riguarda l'architettura dell'applicazione. Un'applicazione SOA ha due componenti: componenti di servizio e applicazioni client. L'applicazione client può essere un'applicazione Web, un altro servizio o qualsiasi altra applicazione che si affida ai componenti del servizio SOA per svolgere il proprio lavoro.

Una delle idee chiave alla base della SOA è suddividere l'applicazione in piccole parti in modo che questi componenti possano essere eseguiti su più server come servizi separati.

Idealmente, questi servizi dovrebbero essere il più possibile apolidi. Apolide significa che non conservano alcun dato con sé durante più chiamate, consentendoti di eseguire i servizi su più computer. Non esiste alcuna dipendenza da dove si trovavano i dati l'ultima volta, quindi non vengono conservati dati su un server particolare tra più chiamate di servizio.

Leggi l'articolo completo
© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.