La mia comprensione di un servizio Web e di un livello di servizio è la seguente:
Livello servizio : un livello di astrazione che espone un insieme di operazioni comuni che possono essere utilizzate da più utenti. Ad esempio, ho un database contenente i dati dei clienti. Più applicazioni potrebbero voler aggiungere / aggiornare / eliminare dati in questo archivio dati. Ogni applicazione avrà la logica per aggiungere / aggiornare / cancellare i dati nell'archivio dati - quindi la duplicazione della logica. Invece, vorrei fornire un livello di servizio che espone metodi per aggiungere / aggiornare / eliminare le informazioni sui clienti. Quindi la logica non è più duplicata e le applicazioni devono semplicemente usare il mio livello di servizio per svolgere queste attività. Il dominio specifico in cui opera il livello di servizio qui si trova sulle informazioni del cliente.
Webservices : qualsiasi macchina per il trasferimento dei dati sul Web può essere eseguita utilizzando i servizi web. L'implementazione del webservice può essere SOAP, REST, vanilla RMI, ecc. Ei dati possono essere serializzati come XML, JSON, binario, ecc ... Supponendo di esporre un webservice basato su SOAP per il caso d'uso elencato nel mio esempio sopra , Potrei fornire un'interfaccia basata su SOAP o REST per aggiungere / eliminare / aggiornare le informazioni sui clienti. Il dominio qui è anche il cliente.
Sulla base della mia comprensione, ritengo che i servizi web siano un sottoinsieme del livello di servizio. L'implementazione per il caso d'uso di esempio può essere fornita nella forma di un file java .jar o di una DLL che fornisce API pertinenti per eseguire l'attività. Tutte le applicazioni richieste dovranno scaricare il file .jar o DLL appropriato per eseguire azioni sui dati dei clienti. Mentre webservice è specifico per la comunicazione machine-machine sul web.
La mia comprensione è corretta?