32 messaggi dal 20 dicembre 2001
www.dinuzzo.it
Nell'articolo si fa confusione tra REST e WebServices.
REST è una linea guida per sviluppare correttamente servizi internet. Detto questo, si dovrebbero seguire i principi rest per sviluppare bene siti web e web services. Non c'e' invece una differenza tra Rest e WebServices proprio perchè Rest non è uno standard come invece sono gli standard WS-*. Quando si progetta un WebServices seguendo le linee guide Rest, è sempre consigliabile definire contratti, schemi e descrizioni. L'articolo invece suggerisce una vaga differenza tra un servizio Rest (che comunque non esiste proprio perchè non esiste uno standard rest) e un "normale" web services dicendo erratamente che quest'ultimo è più rigoroso. Articolo da rivedere.

Ciao
Riccardo
riccardone_70 ha scritto:
Nell'articolo si fa confusione tra REST e WebServices [...] L'articolo invece suggerisce una vaga differenza tra un servizio Rest (che comunque non esiste proprio perchè non esiste uno standard rest) e un "normale" web services dicendo erratamente che quest'ultimo è più rigoroso. Articolo da rivedere.


La discriminante è data da come viene interpretato "REST": da un punto di vista puramente teorico e formale (definizione iniziale di REST da parte di Fielding, anno 2000) è infatti vero che un WS *è* REST ma nell'accezione comune (che poi è quella che interessa lo sviluppatore) REST è visto come *alternativa* ai Web Services tant'è che "REST have become synonymous of non-SOAP services" (fonte: w3c.org, per chi ha voglia di leggersi una quarantina di slides sull'argomento: http://www.w3.org/2005/Talks/1115-hh-k-ecows/).
In particolare (come giustamente detto nell'articolo) è un'alternativa più "semplice", quindi più immediata ma anche meno formale e rigorosa.
Questo concetto è esplicitato anche su Wikipedia: Many of the statements below refer to REST in the specific context of Web Services, as opposed to SOAP. REST was originally defined in Fielding’s dissertation in the context of information and media access. Fielding did not originally contrast REST with RPC.

Basta una ricerca sul web con le keyword "REST vs Web Services" (quasi un milione di risultati su Google) per rendersi conto che è la norma contrapporre i WS SOAP a REST, quindi, in definitiva (IMHO) hai torto tu e ha ragione Daniele - soprattutto nell'ottica dell'articolo - che intendeva porre l'accento sulle diverse modalità di erogazioni dei servizi di Windows Live.

Matteo Casati
GURU4.net
infatti non intendevo parlare di standard, quanto di differenti scelte implementative (ed architeturali). se è vero che utilizzando un servizio (WCF o web services asmx che siano, rimanendo nell'ambito del .NET Framework) puoi scegliere di sfruttarlo in chiave REST, è pur vero che non è necessario per forza, in un'ottica REST, sviluppare con un servizio. ne sono un esempio le mille mila API che si trovano in giro sui sistemi di social networking che utilizzano POX RESTful, non hanno schemi, contratti o WSDL, ma semplicemente una documentazione a corredo. ed a scanso di equivoci, ho inteso, come comunemente si fa, con il termine web service quei servizi basati su SOAP.

infine, non è detto che bisogna seguire per forza REST per fare un sito web o un servizio in maniera corretta e soprattutto non è detto che un servizio debba per forza usare REST. quello che ci si dimentica è che il binding di un servizio non è per forza HTTP, anzi spesso in ottica SOA non lo è affatto, se le performance contano.

infine, in chiave Windows Live questo fa ancora meno differenza, perchè di fatto nella maggior parte dei casi le API sono fornite con REST/POX. quello che si intedeva sottolineare è che nella maggior parte dei casi non si userà SOAP, quindi non si sfrutterà un servizio come si è abituati a fare usando un web service, ma lo si dovrà fare andando a recuperare nella documentazione.
se ne è già discuso tempo, ti invito a leggere i commenti di Alessandro Catorcini, Lead Architect in Live Search, a questo post.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
32 messaggi dal 20 dicembre 2001
www.dinuzzo.it
Le slide da te suggerite a mio parere confermano quanto dico. Nella prima parte si dice come nell'accezione comune (che non necessariamente interessa lo sviluppatore se questa accezione comune crea confusione) si tende a contrapporre REST ai WS. Mentre nella seconda parte si spiega come invece i WS possono essere creati seguendo le linee guida architetturali REST.
REST è "solo" un modello di riferimento che dice in estrema sintesi come sia più facile rendere accessibili i contenuti utilizzando un certo path e un semplice GET piuttosto che mischiando tutto in un unico endpoint come spesso si fa con un WS. Dopo di che', chi fa WS può studiarsi queste linee guida e cambiare i suoi WS adeguandoli. Contrappnendo WS vs REST il messaggio che arriva allo sviluppatore sembra essere quello di scegliere una strada piuttosto che un'altra.

Ciao
Riccardo
32 messaggi dal 20 dicembre 2001
www.dinuzzo.it
Daniele Bochicchio ha scritto:
se ne è già discuso tempo, ti invito a leggere i commenti di Alessandro Catorcini, Lead Architect in Live Search, a questo post.


Lo farò grazie.
Per il resto, prendi il mio intervento come un feedback che non sempre deve essere positivo. L'impressione che ho avuto io è quella che ho ribadito anche nel mio ultimo intervento. Ci mancherebbe che si debbano per forza usare WS per rendere fruibili i contenuti, quindi ben venga REST per semplificare la vita allo sviluppatore quando non è necessario un WS. Quando invece è necessario (vedi sicurezza e altri servizi offerti dai vari WS-*) meglio imparare a disegnare il WS seguendo l'architettura REST.

Ciao
Riccardo
riccardone_70 ha scritto:
Per il resto, prendi il mio intervento come un feedback che non sempre deve essere positivo.


ci mancherebbe, ma prendi la mia risposta come una precisazione, visto che tutto il mondo usa il termine REST per indicare quello che intendiamo noi. d'accordo sul resto, ma questo è vero solo nelle implementazione che offre il .NET Framework. con altre tecnologie parti *prima* e scegli WS* o REST come stile architetturale.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.