问题
What is the difference between using a "Web Service" and calling a server page such as JSP/ASPX?
To me it looks like a Web Service is just a framework around the server pages. For e.g. I can have a JSP page that takes:
mypage.jsp?method=getupdate¶m1=23¶m=44 (I can also send these variables through POST)
In my JSP page I can call the appropriate method based on the value of "method" and return a value back to the caller client app. Is this the raw form how a Web Service actually works? OR is there more to a Web Service call like someone told me that when you call a page, it is rendered but a Web Service is not rendered. But What if I remove the HTML code from JSP page then?
So when we say XML Web Service, the difference is that the client and the server both wrap/unwrap the requests/responses using XML and POST it to the Web Service page.
回答1:
Web Services are a well defined set of standards defined by the W3C and other relevant bodies, which mostly define an architecture that runs over a network to communicate diverse applications while ensuring interoperability, discoverability and some other relevant criteria.
You can certainly create a server page just for your application without SOAP or XML-RPC. It's just that you shouldn't call it a "Web Service" unless it outputs SOAP or XML-RPC and provides a WSDL description for itself, because that leads to confusion and show you don't know what the "standard Web Services" mean.
回答2:
You are correct to say that web services are a layer on top of the server pages. One of the common types of web services are SOAP web services that wrap requests and response into XML to achieve interoperability between different platforms/frameworks.
回答3:
Sites like Facebook and Flickr that have much the same kind of public APIs are calling them 'web services' and I don't see that you're doing anything different.
Vinko seems to have some objection to polluting the 'Web Service' moniker but there's plenty of room under the W3 definition of a web service to include what you're doing.
As for Web services having to output SOAP or XML and provide a WSDL? I think there's a few REST advocates that would argue that point.
来源:https://stackoverflow.com/questions/1845461/can-a-server-page-jsp-aspx-be-used-as-web-service