Qual è la relazione tra diversi servizi nella progettazione / architettura del software?

-2

Solo negli ultimi 3 anni sono entrato in contatto con l'architettura aziendale e la sua terminologia. Più ne ho letto più mi sono confuso riguardo al termine "servizio" che sembra avere una moltitudine di significati.

Ad esempio, nel contesto del Domain-Driven Design (DDD) ci sono servizi di dominio, servizi applicativi e servizi di infrastruttura . C'è il termine livello di servizio e, naturalmente , c'è Architettura orientata ai servizi e microservizi .

Quello che continuo a pensare è quale di questi termini descriva concetti intersecanti e quali no. I servizi sono forniti dalla parte DDD del (i) livello (i) di servizio o il livello di servizio termine si applica solo se fornisce necessariamente l'accesso a qualche tipo di client di rete? Il termine "servizio" nel livello di servizio, SOA e microservizi si riferisce a questo stesso concetto o è un sottoinsieme dell'altro?

Aggiorna

Sono abbastanza certo ora che il modo in cui ho posto questa domanda rende facile fraintenderlo. Non si è mai dovuto essere una domanda generica sul termine "servizio" ma sulla relazione tra i termini dati nel secondo paragrafo (ad es. Quali si intersecano? Quale è (o potrebbe essere) un sottoinsieme dell'altro? di astrazione a cui appartengono questi concetti? Ci sono potenzialmente-una relazione tra questi concetti? ecc.)

Aggiornamento 2

Questa risposta SE e questo post del blog rispondi alla mia domanda.

    
posta Antimon 28.03.2018 - 23:16
fonte

2 risposte

2

Anche se sono d'accordo con @RobertHarvey, penso di capire anche cosa sta cercando l'OP. Penso che il modo più semplice per descriverlo sia così:

Un servizio DDD offre funzionalità trasversali all'interno di un determinato software.

Un servizio in rete (ad es. servizio web) è esso stesso un software che fornisce funzionalità trasversali ad altri software.

Si noti che un servizio DDD potrebbe facilmente essere una facciata per un'applicazione per accedere a un servizio di rete.

    
risposta data 29.03.2018 - 03:08
fonte
3

Il significato fondamentale della parola "servizio", che riguarda specificamente i contesti di Ingegneria del software, è lo stesso significato della parola "servizio" quando applicato a qualsiasi altro contesto:

A system supplying a public need, such as transport, communications, or utilities such as electricity and water.

Tutti i servizi (inclusi servizi pubblici e servizi informatici) hanno alcune caratteristiche e considerazioni comuni:

  • Controlli di accesso
  • Fatturazione
  • Capacità
  • Interfacce
  • Manutenzione
  • misurazione
  • Qualità del servizio
  • regolamento
  • Risorse

E così via.

Nel caso di un servizio di elaborazione, il pubblico ha bisogno spesso di dati, ma può anche essere storage, infrastruttura, applicazione, elaborazione o risorse computazionali.

    
risposta data 28.03.2018 - 23:32
fonte

Leggi altre domande sui tag