SOA con forme dinamiche

0

Quando si costruisce un'architettura orientata ai servizi (poiché i servizi saranno utilizzati dai sistemi automatici o da altri utenti), come posso creare un frontend Web semplice e dinamico basato su moduli per tali servizi.

Ad esempio: un servizio richiede 10 valori di input e restituisce un insieme di elementi corrispondenti. Per ottenere i valori di questi 10 input, per gli utenti finali umani una forma simile a una procedura guidata è l'approccio migliore. Questa forma è altamente dinamica, il che significa selezionare 10,5 in un campo di selezione che ridurrà l'elenco dei valori disponibili nel prossimo elenco a discesa.

Questa è una conoscenza specifica del dominio che il frontend non dovrebbe / non può avere.

Ma: trasferire questa conoscenza ai servizi sembra anche essere sbagliato perché riguarda la modalità di visualizzazione dei dati, non i dati WHAT che vengono visualizzati.

Ho pensato di creare un middleware, ma ho appena diviso la conoscenza del dominio e devo sempre chiedermi "questo è per il servizio o il middleware?"

Esistono approcci ben collaudati su come creare un frontend altamente dinamico (in particolare moduli) e "sposare" quello con un'architettura di servizio che non dovrebbe sapere come vengono visualizzati i suoi dati?

    
posta Florian Peschka 25.10.2017 - 10:45
fonte

1 risposta

1

When building a Service Oriented Architecture (because the services will be used by automated systems or other consumers), how can I go about creating a simple, dynamic form-based web frontend for said services.

Perché vorresti farlo?

Ciò di cui i tuoi clienti hanno bisogno è un proxy [classe] che consente loro di chiamare il tuo servizio in modo programmatico.

Tale proxy può essere generato dal WSDL (Web Service Definition Language) per il servizio, che dovresti essere in grado di recuperare. In questo modo strumenti come Visual Studio creano cablaggi di test per WebServices.

This is domain-specific knowledge that the frontend should not/can not have.

Se il cliente ha nessuna conoscenza del contratto o dell'interfaccia di un servizio, allora non può usare quel servizio!

È necessario procurarsi il WSDL del servizio e interpretarlo.

    
risposta data 26.10.2017 - 09:08
fonte

Leggi altre domande sui tag