noob.spt
noob.spt

Reputation: 981

Whats great deal about ASMX Services

I have been working with webservices for over 2 years now. I have lot to say about services like Soap 1.2, WSDL, the way communication is taking place and 100 of other things.

I have seen people talking about their heavy ASMX background and web services expertize. But, when it comes to implementation I don't find anything but adding a web reference and calling few methods from C#. All the things that we talk about (serialization, deserialization, soap, blah blah) is taken care by Microsoft internally.

So I want to know if it is all we have to do while dealing with WebServices or is there anything more to it?

Rephrase: I wana know what an expert of ASMX must know about these services.

I'll appreciate if you can provide some good references, material or any comments on this.

Upvotes: 0

Views: 590

Answers (3)

John Saunders
John Saunders

Reputation: 161831

If you want to consider yourself an expert in ASMX, then you need to understand the SoapExtension class and the related SoapExtensionAttribute. I do not feel that it's necessary to understand SoapExtensionImporter and SoapExtensionReflector.

You should also understand XML Serialization, since that is what is used to serialize and deserialize between objects and SOAP in an ASMX service.

You should also understand that Microsoft now considers ASMX web services to be "legacy technology" (reference on request).

Upvotes: 1

Guy Starbuck
Guy Starbuck

Reputation: 21873

I think you are approaching this from a implementor/tools standpoint; yes, Visual Studio does a lot of the heavy lifting to make a developer feel like calling Web services is the same as calling any method -- but developers who use the tools blindly without knowing what code is being generated and how it all works are, as you suggest, not experts.

To say you are an expert, I think you would need to be able to talk about things like the following:

  • Pros and Cons of using services in your architecture (performance considerations, versioning issues, synchronous versus async, etc.)
  • Reasons you would want to use ASMX versus WCF
  • Internal implementaiton of the SOAP protocol, how SOAP headers can be used for security, etc.
  • Knowledge of the "internals", so you could potentially expose services for consumption by non-Microsoft clients (java, etc.)
  • Features of WSE, including the different versions
  • Security concerns -- how to secure access to a service, and how to secure the data being transferred back and forth

Upvotes: 3

Philippe
Philippe

Reputation: 4051

I would say that just knowing ASMX and/WCF basics doesn't make an expert out of you from a web service point of view.

It is true that all the plumbing is taken care of, but you generally have to go back to it at one point or another. It's always very easy to connect asmx to asmx, wcf to wcf, axis2 to axis2... But once you start to make these communicate together, problems start to show. Did you ever worked on a project using web services where at some point you had issues with the generated WSDL, or the generated proxy?

I would say that for someone to claim being asmx expert, he shouldn't look surprised if you start talking about soap 1.1 and 1.2, WS basic profile, WS-*, and all those things that apears to be abstracted away at first sight, but which you'll have to come back to at some point.

Upvotes: 0

Related Questions