Cos'è la SOA? Orientato ai servizi ArchiPrincipi della tecnica

Cos'è la SOA (Service Oriented Architecnologia)?

Un servizio orientato Architecnologia (SOA) è un modello architettonico nella progettazione di software per computer in cui i componenti dell'applicazione forniscono servizi ad altri componenti tramite un protocollo di comunicazione, in genere su una rete. I principi di orientamento al servizio sono indipendenti da qualsiasi prodotto, fornitore o tecnologia.

La SOA semplifica semplicemente l'interazione tra i componenti software su varie reti.

I servizi Web che sono costruiti secondo l'architettura SOA tendono a rendere i servizi Web più indipendenti. I servizi Web stessi possono scambiare dati tra loro e, grazie ai principi di base su cui sono creati, non hanno bisogno di alcun tipo di interazione umana e nemmeno di modifiche al codice. Ciò garantisce che i servizi Web su una rete possano interagire tra loro senza problemi.

Orientato ai servizi ArchiPrincipi della architettura (SOA).

Esistono 9 tipi di principi di progettazione SOA menzionati di seguito

1. Contratto di servizio standardizzato

I servizi aderiscono ad una descrizione del servizio. Un servizio deve avere una sorta di descrizione che descriva di cosa tratta il servizio. Ciò rende più semplice per le applicazioni client comprendere cosa fa il servizio.

2. Accoppiamento allentato

Less dipendenza reciproca. Questa è una delle caratteristiche principali dei servizi Web che afferma semplicemente che dovrebbe esserci la minor dipendenza possibile tra i servizi Web e il client che invoca il servizio Web. Quindi, se la funzionalità del servizio cambia in qualsiasi momento, non dovrebbe interrompere l'applicazione client o impedirne il funzionamento.

3. Astrazione dei servizi

I servizi nascondono la logica che incapsulano al mondo esterno. Il servizio non deve esporre il modo in cui esegue le sue funzionalità; dovrebbe semplicemente dire all'applicazione client cosa fa e non come lo fa.

4. Riutilizzabilità del servizio

La logica è divisa in servizi con l'intento di massimizzare il riutilizzo. In ogni società di sviluppo la riutilizzabilità è un argomento importante perché ovviamente non si vorrebbe spendere tempo e fatica costruendo lo stesso codice ancora e ancora su più applicazioni che lo richiedono. Pertanto, una volta scritto il codice per un servizio Web, dovrebbe essere in grado di funzionare con vari tipi di applicazioni.

5. Autonomia del servizio

I servizi dovrebbero avere il controllo sulla logica che incapsulano. Il servizio sa tutto sulle funzionalità che offre e quindi dovrebbe avere anche il controllo completo sul codice che contiene.

6. Servizio Apolidia

Idealmente, i servizi dovrebbero essere apolidi. Ciò significa che i servizi non dovrebbero nascondere informazioni da uno Stato all’altro. Questa operazione dovrebbe essere eseguita dall'applicazione client. Un esempio può essere un ordine effettuato su un sito di acquisti. Ora puoi avere un servizio web che ti dà il prezzo di un particolare articolo. Ma se gli articoli vengono aggiunti a un carrello e la pagina web passa alla pagina in cui si effettua il pagamento, la responsabilità del prezzo dell'articolo da trasferire alla pagina di pagamento non dovrebbe essere assunta dal servizio web. Invece, deve essere fatto dall’applicazione web.

7. Rilevabilità del servizio

I servizi possono essere rilevati (solitamente in un registro dei servizi). Lo abbiamo già visto nel concetto di UDDI, che esegue un registro che può contenere informazioni sul servizio web.

8. Componibilità del servizio

I servizi scompongono i grandi problemi in piccoli problemi. Non si dovrebbero mai incorporare tutte le funzionalità di un'applicazione in un unico servizio, ma piuttosto suddividere il servizio in moduli, ciascuno con una funzionalità aziendale separata.

9. Interoperabilità dei servizi

I servizi dovrebbero utilizzare standard che consentano a diversi abbonati di utilizzare il servizio. Nei servizi web, standard come XML e la comunicazione su HTTP viene utilizzata per garantire la conformità a questo principio.