Ciò che rende scalabile Java EE è ciò che rende scalabile lo : separazione dei problemi. A mano a mano che le esigenze di elaborazione o di I/O aumentano, puoi aggiungere nuovo hardware e ridistribuire il carico in modo semitrasparente (per lo più trasparente per l'app, ovviamente meno per le scimmie di configurazione) perché i problemi isolati e separati non sanno o non importano se sono " ri sullo stesso hardware fisico o su diversi processori in un cluster.
È possibile rendere le applicazioni scalabili in qualsiasi linguaggio o piattaforma di esecuzione. (Sì, anche COBOL sugli antichi mainframe di System 370). Quali framework applicativi come Java EE (e altri, naturalmente - Java EE è praticamente unico al riguardo!) Ti danno la possibilità di facilmente (relativamente parlando) fai questo facendo molto del pesante sollevamento per te.
Quando la mia app Web utilizza, ad esempio, un bean per eseguire una logica di business, tale bean può trovarsi sullo stesso core della CPU, su un core diverso nella stessa CPU, su una CPU diversa interamente o, in casi estremi, forse anche attraverso il pianeta. Non lo so e, per la maggior parte, purché lo spettacolo sia lì, non mi interessa. Allo stesso modo, quando invio un messaggio sul bus dei messaggi per essere gestito, non so né mi interessa dove va quel messaggio, quale componente esegue l'elaborazione e dove si svolge tale elaborazione, sempre finché la performance rientra nel mio esigenze. Questo è tutto per le scimmie di configurazione. La tecnologia consente questo e gli strumenti sono in atto per valutare quali pezzi devono andare dove ottenere prestazioni accettabili mentre il sistema si dimensiona.
Ora, quando provo a consegnare tutto questo, parto subito dai problemi. Se non penso a tutto il proxy, la programmazione e la distribuzione e così in anticipo, quando la mia app si espande oltre i limiti della gestione di una singola macchina, ora ho delle grosse riscritture mentre sposto alcune delle applicazioni in un'altra casella. E poi ogni volta che le mie capacità crescono devo farlo ancora e ancora.
Se penso a tutto questo in anticipo, sto scrivendo un bel po 'di codice per ogni applicazione che fa piccole variazioni di tutte le stesse cose. I può codice cose in un modo scalabile, ma voglio fare questo ogni. dannato. tempo. Scrivo un'app?
Quindi, ciò che Java EE (e altri framework) portano in tavola è la piastra di prova pre-scritta per i requisiti comuni di rendere le applicazioni scalabili. Scrivere le mie app non garantisce che sarebbero scalabili, ma i framework rendono la scrittura di queste app scalabili molto più semplice.
Mi piacerebbe vedere quelle "varie fonti" affermando che è scalabile. :) – cletus
Sito Web di Sun: "Con semplicità, portabilità, scalabilità e integrazione legacy, la piattaforma J2EE è la piattaforma per le soluzioni aziendali". http://java.sun.com/j2ee/overview.html – Uri
Bene, Sun non è affatto un avvocato imparziale. :) – cletus