Ben a parte il fatto che Java EE è iniziato come interfaccia per CORBA e in quanto tale sarà sempre contaminato dalla temuta "maledizione di CORBA".
Esistono numerose anomalie con i server Java EE. Sì, dovrebbero essere più veloci e sì dovrebbero essere più facili da usare e sì dovrebbero essere più affidabili, ma per la maggior parte non lo sono. Se si è bloccati in attesa di minuti per un server di e-Commerce per rispondere (Air France e BBVA vengono in mente), è probabile che il back-end sia stato realizzato con Java EE.
Ci sono dei motivi.
Le prime API Java EE erano orribili (gli EJB in particolare) consumavano enormi quantità di tempo per i programmatori e creavano migliaia di righe di codice tecnico che non avevano nulla a che fare con l'applicazione aziendale in mano. I programmatori erano così contenti di avere qualsiasi cosa appaia sul browser a cui importava quanto fosse pessimo.
Poi c'è la cultura Java dell'over engineering - perché definire Pi come una costante quando si può avere una factory costante astratta che legge un file di configurazione XML indicando dove trovare il file XML con il valore di Pi.
Hardware proprietario, la maggior parte delle aziende si è standardizzata su Solaris o AIX quando Java EE è arrivato e ha quindi costruito la nuova infrastruttura basata sul Web su ciò a cui erano abituati. Anche se queste macchine costano almeno il doppio rispetto a commodity x86, la maggior parte di questi siti non può trarre vantaggio da sistemi di x86 x86 economici e di grande perfomance, senza una significativa reingegnerizzazione.
PHP funziona! Come COBOL o VB prima di esso, è estremamente antipatico per i puristi del linguaggio ma decine di migliaia di applicazioni aziendali di successo sono state costruite usando questi "brutti" linguaggi.
La sorpresa non è il motivo per cui più siti usano Java ma perché più siti non usano Python. Anche se c'è una proliferazione di server web e framework, sono praticamente tutti eccellenti. YouTube, Google ecc. Sono piuttosto impressionanti come clienti di riferimento. Per non parlare ha un fattore kool serio.