Web application development using new Web Technologies such as Windows Communica
ID: 3722974 • Letter: W
Question
Web application development using new Web Technologies such as Windows Communication Foundation (WCF), Model-View-Controller (MVC), and Open Data Protocol (OData), is promoted as making programming more efficient, reliable, and scalable. Those advantages would definitely benefit a business' bottom line as lower development cost leads to increased profit. My multi-part question is this: What are some specific ways in which WCF, MVC, and OData, each benefit application development? Are there any disadvantages? If so, what are they?
Explanation / Answer
WCF Advantages:
-> WCF is a programming model and API. It allows communication not only via HTTP but also via TCP/IP, Named pipes etc.
-> It provides the benefit of writing service once and consuming through any client(like Java client using HTTP, .NET client using TCP etc)
-> It is extensible. You can define customer behaviors which influence WCF runtime and communicate through custom channels
WCF disadvantages:
-> Takes more time to learn
-> Not all features work in all ways of transport. You have to take some care and design it accordingly(ie. if your service needs transactions, it will allow your service to be accessed via HTTP)
MVC advantages:
-> MVC is an architectural pattern which follows separation of concern by separating Model, View and Controller. It allows it be easily maintainable.
-> development will be very fast as all developers can simultaneously work on Model,View and Controller parts
-> Code re-usability. Different views can use same controller and model logics.
-> Any changes in one layer will not impact entire architecture(i.e. any change in model will not impact view)
MVC disadvantage:
-> Bit hard to understand for the beginners
-> Not suitable for building small quick PoC's
-> Need multiple developers to work in Model, View and Controller
OData Advantages:
-> OData is open data protocol. It is based on REST Architectural principles
-> It has support for any kind of data source. Exposes data via JSON or XML formats.
-> You don't have to explicity program your CRUD operations. It support full CRUD operations using different HTTP methods like GET, POST, PUT and DELETE.
-> performance is faster as it is light weight
-> It supports custom logic implementation using function imports apart from CRUD operations
-> it supports many query operators like $count, $metadata, $top etc. for easy data access
oData disadvantages:
-> There is no way of having calculated columns in odata exposed entities which is a composition of other columns(i.e let's say one column is derived from other two columns in entity)
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.