Servizi Web e liste di codici

5

Il nostro team discute pesantemente sui problemi relativi alla gestione dell'elenco di codici in una definizione di servizio Web. L'obiettivo di progettazione è descrivere un'API del provider per interrogare un sistema utilizzando vari valori. Alcuni di loro sono cataloghi liste di codici. Un catalogo o un elenco di codici è un insieme di coppie di valori chiave. Esistono diversi sistemi (almeno 3) che mantengono liste di codici possibilmente diverse. Ogni sistema dovrebbe implementare l'API del provider, mentre ciascun sistema potrebbe avere un elenco di codici diverso per la stessa entità aziendale, ad es. pensa ai colori Un sistema conosce [(1, 'rosso'), (2, 'verde')] e un altro conosce [(1, 'verde chiaro'), (2, 'verde scuro'), (3, 'rosso')] ecc. .

L'accesso alle diverse implementazioni dell'API del provider verrà incapsulato da un servizio di query, ma esiste già un candidato che potrebbe utilizzare direttamente almeno un'API del provider.

Le attuali opzioni per progettare l'API discussa sono:

  1. utilizzare un elenco di codici astratto nella definizione dell'interfaccia: l'interfaccia del servizio Web definisce un gruppo ben noto di elenco di codici che dovrebbero essere utilizzati per l'interrogazione e la restituzione dei dati. Ogni implementazione del provider API deve mappare i valori di richiesta e di risposta da quella lista codici astratta a quella specifica del sistema.
  2. consente al componente di query di gestire l'elenco di codici: il servizio di query incapsulante conosce l'insieme di elenchi di codici di ciascuna implementazione dell'API del provider e si occupa di mappare l'input e l'output agli elenchi di codici specifici del sistema del sistema interrogato.
  3. non utilizzare affatto elenchi di codici nella definizione della query: basta interrogare gli elenchi di codici con una stringa semplice e lasciare che l'implementazione dell'API del provider determini il valore corretto. Ciò potrebbe comportare una perdita di informazioni e probabilmente molti falsi positivi, poiché la stringa di input non può essere mappata come canonica a un valore di lista di codici (ad esempio verde - verde o verde chiaro - verde scuro o entrambi)

Quali sono le tue esperienze resp. soluzioni a tale problema? Potresti dare qualche consiglio?

    
posta 0x0me 30.10.2013 - 00:22
fonte

2 risposte

1

Sono andato con l'opzione 2 in passato, è meno doloroso per i clienti e per l'aggiunta di nuovi consumatori: puoi comporre codici e significati, in modo da rendere indolore l'aggiunta di un altro cliente, e in questo senso è il più modo utile.

Avrai bisogno che ogni cliente fornisca un dizionario e magari qualcuno da ciascuna parte per trovare le equivalenze ogni volta che c'è confusione (che, per la mia esperienza, può essere molto spesso).

    
risposta data 30.10.2013 - 01:49
fonte
0

Come si mappa ciò che il client potrebbe inviarti ai dati richiesti dall'API?

Voglio dire se ho capito bene la domanda, si tratta di fornire un servizio web che avvolge diverse altre API, ad esempio un servizio di consegna della pizza che trasmette le richieste a Tony's o John's pizza, solo Tony fa Deep Pan e Thin Crust e John fa tradizionale, crosta ripiena e integrale.

Potresti implementare un metodo che restituisce queste opzioni al client, in modo che possano chiedere "quali sono le opzioni disponibili" e quindi possono utilizzare queste opzioni nelle chiamate successive.

    
risposta data 27.06.2014 - 09:43
fonte

Leggi altre domande sui tag