Answer the question
In order to leave comments, you need to log in
Why WCF is needed?
Please explain in simple terms what is and when is WCF used? I know about REST and API services - for data exchange between applications, including cross-platforms - but is WCF the same or not? In a word, explain on the fingers.
Answer the question
In order to leave comments, you need to log in
Yes and no. Also for data exchange between applications, but not necessarily using the REST architecture.
WCF is more about classic web services based on XML and SOAP. Although WCF has the ability to create HTTP REST services, it's hard to say that WCF is tailored for them.
Basically, this framework is focused on developing applications based on the WS-* standards group, such as WSDL, WS-Addressing and WS-Security. These are large standards written to allow classic web services to interoperate (see level zero, swamp of POX in the Richardson Maturity Model ).
Previously, these standards were more popular due to the great desire to integrate with each other all kinds of information systems spread around the world. Many of these systems are currently working in production, but not all new projects are developed based on WCF.
Classical web services were disliked by many, in particular because:
a) REST usually does not smell, HTTP was usually used exclusively as a transport for RPC: instead of GET/PUT/POST/DELETE/.. always called POST with request parameters in its body. Quote from link:
b) the standards of the WS-* group are very complex, all technologies based on them simply cannot be simple (as well as WCF in particular). Yes, there are advantages like "I can call anything from anyone using whatever protocol you want", but such flexibility was not always really needed.
For a long time, there has been a shift in many new systems towards a REST architecture, as one that is more scalable and easier to consume by the client, and hence the HTTP protocol is used for its intended purpose, and not stupidly as a message transport. And where REST is inconvenient / redundant and where RPC is better, it’s easier to take a more lightweight protocol for this or even raise your own based on some kind of protobuf, as they do in many game projects.
Accordingly, WCF is less often chosen for the development of new projects today. for him, HTTP REST services are a bit "native". It is more convenient to take other frameworks like ASP.NET Core or Nancy.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question