What exclusive traits Java has that other languages/platforms don't, that makes it so popular for SOAs?
Non c'è molto nella stessa Java che lo rende particolarmente adatto agli SOA. Certo, offre garbage collection e caricamento dinamico del codice e simili, e sono tutti utili, ma sono caratteristiche difficilmente uniche di Java.
Ciò che ha fatto la differenza è stata la specifica di Enterprise Bean (che si è evoluta in EJB e JEE). Si trattava fondamentalmente di un adattamento di concetti che esistevano da un bel po 'di tempo nello spazio di grandi dimensioni (monitor delle transazioni, quel genere di cose) a un modello OO, insieme all'aggiunta di stato d'animo in modo tale che alcuni tipi di modelli erano un molto più facile da esprimere. La cosa interessante è che EJB era uno sforzo multi-vendor; Sì, Sun l'ha promosso molto, ma c'erano molti venditori commerciali che ne facevano implementazioni nei loro prodotti abbastanza presto nel ciclo di vita delle specifiche. Ciò ha incoraggiato un sacco di adozione; l'esperienza nei monitor di transazione basati su Java è diventata improvvisamente una buona abilità trasferibile.
Una volta stabilita la base, è cresciuta (ad es. con un eccellente supporto per gli strumenti SOAP, che ha sostituito l'uso di CORBA in molte implementazioni) e Java è stato davvero cementato. La cosa che mantiene Java come il re dello spazio SOA per ora è l'enorme ecosistema di librerie di terze parti che rendono facile lavorare nell'area purché tu usi Java (o una delle altre JVM lingue basate su Groovy o Scala). È del tutto possibile avere tali librerie in altri linguaggi, in altri ambienti - mi aspetto che C # e .NET facciano abbastanza bene su questa metrica - ma in genere devi scrivere una porzione molto più grande del livello di supporto da te stesso, e parte di questo è sia difficile e noioso da fare bene; sfruttare Java ha molto senso se ti consente di concentrarti sulla logica di business dell'applicazione e non sul framework di supporto.
In breve, Java è buono per SOA per te perché è buono per SOA per molte altre persone (e sì, è auto-rinforzante e suona tautologico); sono gli effetti di rete.