SOA: dovrei sempre considerarlo? [chiuso]

0

Mentre penso a come orientare lo sviluppo futuro:

Mini-introduzione

Come regola fissa, comincio con SOA (e REST come protocollo) quindi lavoro sulle interfacce (e quell'interfaccia è un cliente del mio servizio, e di solito è un progetto separato). Presumo che la mia deviazione sia perché sono prima di tutto uno sviluppatore back-end ( con scarse capacità di disegno ).

Considerando:

  1. I BIG stanno facendo un grande sforzo per creare strumenti facili e veloci da utilizzare per la creazione di interfacce. (Mi riferisco a progetti come bootstrap, angular, android studio e molti altri) ; Questo è un sollievo per coloro che sviluppano piattaforme, apre le porte a molte nuove applicazioni per le loro piattaforme.
  2. MV *, JSON, Javascript stanno diventando uno standard nella costruzione (anche) di applicazioni complesse; Non importa se le interfacce sono tutte uguali, il boilerplate oggi ha raggiunto un livello che può essere considerato virale.
  3. Il sempre più comune repository di moduli (ad esempio NPM), consente anche ai programmatori meno esperti l'utilizzo e l'implementazione di API esterne con estrema facilità.
  4. fate può sempre baciare i nostri prodotti e questo potrebbe diventare il nuovo facebook (con questo mi riferisco al fatto che un prodotto, anche se richiesto come standalone, può facilmente attrarre l'interesse di molti, e è molto probabile che nuove interfacce siano richieste al di fuori della pianificazione iniziale.

Domande:

  1. SOA è un approccio che gli architetti (e i programmatori) dovrebbero incoraggiare e considerare come iniziare un nuovo design?
  2. SOA è l'architettura più adatta per reagire a espansione non pianificata ?
posta marcocs 27.01.2014 - 02:43
fonte

1 risposta

1

Is SOA an approach that architects (and programmers) should encourage and consider starting new design?

L'architettura orientata ai servizi (SOA) è un approccio che vale la pena considerare, ma non è una metodologia completa. Né è mai stato veramente destinato a essere nonostante il marketing troppo zelante. SOA è utile in ambienti di grandi dimensioni in cui è possibile avere un elevato ordine di interazioni n:n da varie applicazioni e altri servizi. Utilizzando un approccio SOA in questo caso, è più semplice incapsulare la tua offerta e schermare i suoi interni dalla visualizzazione pubblica.

Ma in altri ambienti SOA è non l'approccio giusto. Ad esempio, uno sviluppatore incorporato potrebbe non essere in grado di permettersi il sovraccarico di SOA all'interno del chipset selezionato.

Is SOA the most suitable architecture to react to unplanned expansion?

Forse; forse no. Dipende da dove si insinua il cambiamento.

SOA fa un ottimo lavoro di masking change che è interno al servizio. Finché l'interfaccia del servizio o l'API vengono mantenute, i chiamanti non si preoccupano di come sia effettivamente implementato.

Nei casi in cui la modifica coinvolge l'interfaccia, la SOA non svolge un ottimo lavoro nel mascherare tali modifiche. Poiché i servizi sono progettati per essere progettati senza molta / nessuna conoscenza del chiamante, può essere più difficile implementare una modifica a livello di interfaccia. Un approccio non SOA ha una maggiore conoscenza dei chiamanti e questo rende più facile identificare quali aree aggiuntive devono essere modificate o testate in base alle modifiche.

Parte della sfida qui è che API pubbliche sono per sempre .

    
risposta data 27.01.2014 - 15:31
fonte

Leggi altre domande sui tag