Vra

My gut feel is daardie dokument gebaseer web dienste word verkies in die praktyk - is hierdie ander volkere ervaring? Is hulle makliker om te ondersteun? (Ek het opgemerk dat SharePoint gebruik Enige vir die "tipe dokument" in sy WSDL koppelvlak, ek dink dit maak dit dokument gebaseer).

Ook - is mense wat beide WSDL en Rest tipe dienste nou vir dieselfde funksie? WSDL is gewild vir kodegenerasie, maar vir front eindig soos PHP en Rails dit lyk asof hulle om te rus verkies.

Was dit nuttig?

Oplossing

Document versus RPC is net 'n kwessie as jy 'SOAP Web Services wat 'n diens beskrywing vereis ( WSDL ). REST web dienste nie gebruik nie WSDL omdat die diens nie beskryf kan word deur dit, en die gevoel is dat die rus is eenvoudiger en makliker om te verstaan. Sommige mense het voorgestel WADL as 'n manier om te rus dienste te beskryf.

Tale soos Python, Ruby en PHP maak dit makliker om te werk met rus. die WSDL gebruik word om C # kode ( 'n web diens proxy) wat maklik kan genoem word van 'n statiese taal op te wek. Dit gebeur wanneer jy voeg 'n Service Verwysing of Web Reference in Visual Studio.

Of jy verskaf SOAP of rus dienste hang af van jou gebruiker bevolking. Of die dienste is om gebruik te word oor die internet of net binne jou organisasie beïnvloed jou keuse. SOAP kan 'n paar kenmerke (WS- * standaarde) wat goed werk vir B2B of interne gebruik het, maar suig vir 'n internet diens.

Document / letterlike versus RPC vir SOAP dienste word beskryf op hierdie IBM DevelopWorks artikel . Dokument / letterlike word algemeen beskou as die beste om te gebruik in terme van interoperabiliteit (Java NET ens). Om te bepaal of dit makliker is om te ondersteun, dit hang af van jou omstandighede. My persoonlike mening is dat mense geneig is om hierdie dinge meer ingewikkeld as wat dit moet wees nie, en eenvoudiger benadering RUS se is beter.

Ander wenke

Soos reeds genoem is dit beter om die dokument Letterlike kies oor RPC ingebou waar moontlik. Dit is waar dat die ou Java biblioteke (Axis1, gom en ander prehistoriese dinge) ondersteuning net RPC geënkodeerde egter in vandag se mees moderne Java SOAP libs net dit nie ondersteun nie (e.x. AXIS2, XFire, CXF). Daarom probeer blootstel RPC geïnkripteer diens net as jy weet wat jy nodig het om te gaan met 'n verbruiker wat nie beter kan doen. Maar dan weer miskien net XML RPC kan help om hierdie nalatenskap implementering.

BiranLy se antwoord is uitstekend. Ek wil net dat dokument-vs-RPC voeg kan sowel afgekom om kwessies implementering. Ons het Microsoft gevind om Document-voorkeur vir wees, terwyl ons Java-gebaseerde biblioteke was-RPC gebaseer. Wat jy ook al kies, maak seker dat jy weet wat ander potensiële kliënte sowel sal aanvaar.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top