Sono un novizio totale nel mondo SOA. In quanto tale, sto osservando alcuni "framework/tecnologie SOA" e sto cercando di capire come utilizzarli per creare un sito web altamente scalabile (classe Facebook).SOA pratica per un novellino
Ci sono diversi "dolori" Sto cercando di risolvere qui:
(dipendenze + gestione, Pub/Sub)- Composability
- Lingua-indipendenza dei servizi
- scalabilità & prestazioni
- Alta disponibilità
Ho esaminato alcune tecnologie che rispondono a un sottoinsieme di i criteri di cui sopra:
- Thrift - cross-platform piattaforma di RPC di Facebook
- WCF - supporta SOAP, JSON & REST, in modo che possa essere considerato lingua-interoperabile. Genera file WSDL che possono essere utilizzati per generare proxy java.
- Microsoft DSS - l'ho appena inserito nel mio sondaggio, ma non sembra rilevante in quanto è altamente guidato dallo stato e specifico di .NET.
- Web Services
Ora, capisco come ottenere alcuni aspetti della componibilità e del linguaggio-indipendenza di cui sopra. Ma, non ho trovato molte informazioni concrete (non buzz) su come utilizzare gli strumenti sopra/altri per la scalabilità e l'alta disponibilità. Così finalmente arrivo alla mia domanda:
Come sfruttare le tecnologie SOA per risolvere i dolori che ho definito sopra? Dove posso trovare delle guide tecniche per questo? Sto cercando più di semplici diagrammi di sistema, ma piuttosto librerie reali, esempi di codice, APIS ...
WCF supporta anche la creazione di ciò che viene chiamato servizi RESTful - non solo SOAP. Si tratta di servizi basati su URI che possono essere richiamati da qualsiasi altra lingua, in realtà, e inviano le rappresentazioni XML dei dati nel formato AtomPub. Molto interoperabile. –
@ ripper234: Minor nit - WCF _is_ Web Services, oltre a molto altro ancora. È il sostituto per i servizi web ASMX. –