Quali sono i requisiti per un SOA di successo?

7

Sono un EA in un'organizzazione con più di 100.000 dipendenti. Strategicamente ci stiamo dirigendo verso SOA. Attualmente sto facendo ricerche su SOA e sulla creazione di una road map e sono venuto su molti blog che parlano di "SOA è morto". Siamo tutti d'accordo sul fatto che SOA non è solo servizi web.

Il problema è che non riesco a trovare alcuna informazione sul motivo alla base delle storie di failover SOA nelle aziende. Cosa è andato male e cosa è andato bene?

La mia domanda è: Quali sono gli errori SOA più comuni nelle aziende che fanno fallire la SOA a lungo termine? È la migliore pratica per SOA? Quali sono i requisiti più importanti per un SOA di successo in un'azienda?

Sarebbe un buon feedback per la nostra strategia SOA in questa organizzazione.

Ho cercato di restringere la domanda, ma è difficile a causa della natura della domanda.

    
posta Amir Rezaei 23.05.2012 - 13:37
fonte

1 risposta

2

Dalla mia esperienza con la strategia SOA, il problema più grande è renderlo comprensibile al business e alla sua governance. Le limitazioni non sono tecnologiche. Tipicamente quando si progetta un'architettura SOA bisogna essere client (quelli che consumeranno i propri servizi) agnostici. Tuttavia, in genere l'analista di business e gli utenti finali comprendono solo gli schermi con cui interagiscono. Quindi la tua sfida è rendere i tuoi servizi abbastanza generici da poter essere utilizzati da molte schermate in diversi client con flussi di lavoro diversi. Questo è difficile. per esempio. Abbiamo un servizio aziendale di base che viene utilizzato da un client desktop interno e un'applicazione web pubblica. Lo stesso servizio viene riutilizzato da entrambi, ma la progettazione di tali servizi è impegnativa poiché presentano gli stessi dati in modo diverso e hanno un flusso di lavoro diverso.

Devi anche controllare le dipendenze. Il progetto per client desktop può richiedere una modifica a un servizio che potrebbe essere interrotto per il client Web e che il progetto potrebbe non essere disposto a pagare per apportare le modifiche necessarie per il client Web. Ciò richiede una solida struttura di governance solida.

L'altra cosa da considerare è la granularità dei metodi web (stile CRUD o stile del documento), servizio Indipendenza, ecc. Dal punto di vista tecnico dell'hosting, dell'implementazione, del servizio versioining, delle policy di sicurezza, dell'interoperabilità (ad esempio per noi Java - WCF), del monitoraggio, ecc., Tutto deve essere pensato anche.

    
risposta data 23.05.2012 - 14:43
fonte

Leggi altre domande sui tag