1. COM (Component Object Model)
DCOM (Distributed COM)
COM+
.NET Remoting
Web Services
WCF (Windows Communication Foundation)
Object Orientation
Monolithic Applications
5/30/2013 WCF Evolution by Sunny Kumar 1
2. Monolithic Applications
• Fox Pro and MS-Access application (Data and
code at same place).
• SQL Server/ Oracle were used on network but
the application was still a monolithic one.
• Problem: Takes lot of time and no reusability.
5/30/2013 WCF Evolution by Sunny Kumar 2
3. Object Orientation – (1980’s)
• Polymorphism
• Encapsulation
• Sub-Classing (Inheritance)
• Problem: it by itself didn’t facilitate the dynamic
evolution of software at runtime. Once an
application was built, it was static. There wasn’t an
easy way to infuse new code into an application.
5/30/2013 WCF Evolution by Sunny Kumar 3
4. COM (Component Object Model)
• Write code once and use in multiple applications.
• Location Transparent
• Tight Coupling
• Runtime Metadata (Self Describing System)
• Problem: worked well on single machine (using
method invocation on an object reference) we hit
scaling problems when we tried to stretch it out
and apply it as a substrate for distributed software
integration(across machines)
5/30/2013 WCF Evolution by Sunny Kumar 4
5. DCOM (Distributed COM)
• Network version of COM – Sharing COM over a
network.
• Biggest Failure of Microsoft as not at all reliable
and scalable.
5/30/2013 WCF Evolution by Sunny Kumar 5
6. COM+
• DCOM +MTS (Transaction Services)
• Object Pooling and Just In Time Activation
5/30/2013 WCF Evolution by Sunny Kumar 6
7. .NET Remoting
• Option for .NET developers for distributed
application development.
• Best option only when both client and server are
on the same network.
5/30/2013 WCF Evolution by Sunny Kumar 7
8. Web Services
• Provides Object Functionality over HTTP.
• Data is exchanged over the network in XML format.
• SOAP is the protocol used for communication.
5/30/2013 WCF Evolution by Sunny Kumar 8
9. WCF (Windows Communication Foundation)
• Next Generation of web services with
enhancements.
• Supports sending messages not only using HTTP
but TCP, Named Pipe and MSMQ.
• Support for sending messages using formats other
than SOAP including REST and PLAIN OLD XML
(POX).
• Facility of Managing Transactions and reliable
sessions which are NOT in Web Services.
5/30/2013 WCF Evolution by Sunny Kumar 9