A Service-Oriented Distributed Framework—WCF
Wei Zhang
College of Computer and Information Engineering
Shanghai University of Electric Power
Shanghai, China
zhangweismile@163.com
Guixue Cheng
College of Computer and Information Engineering
Shanghai University of Electric Power
Shanghai, China
richie_cc@126.com
Abstract—WCF(Windows Communication Foundation) ,one of
Microsoft's revolutionary products, represents a new step in
distributed programming. In this paper, after the concepts of
WCF are introduced, its pillars(SOA, interoperability and
integration, unification) are discussed and layered architecture
is explored, then the difference between WCF and Web
services is summarized . Finally, current state of popular
technologies is given, and the future importance of WCF is
pointed out.
WCF , SOA, interoperability, integration, unification, Web
services, distributed development
I. INTRODUCTION
In recent years, distributed system has made considerable
progress, with the increasing popularity and scale of
computer application. Meanwhile, more demands are put
forward to it, such as openness, security, scalability,
concurrency, transparency and so on. Especially, the
applications need to work together, need to exchange since
they are seldom totally independent. And generally they run
on different hardware, different operating systems, and
different platforms. After all, each hardware type, operating
system, and platform can have its own type system, memory
management scheme, transports, and protocols. Recognizing
the need to bridge the gap between various environments,
Microsoft developed what is known as the Windows
Communication Foundation (WCF).And regards it as one of
Microsoft's revolutionary products.
It says WCF which was code-named Indigo is a unified
programming model for building service-oriented
applications. It enables developers to build secure, reliable,
transacted solutions that integrate across platforms and
interoperate with existing investments[1].Because of the
exciting features, WCF has aroused widespread concern.
II. T
HREE PILLARS OF WCF
A. Addressing the SOA (Service-Oriented Architecture)
needs
For years, software development has focused on how to
best reuse the code that we write. Object-oriented
development put forward the idea of building reusable
classes from which could be inherited in order to reuse the
base class functionality. But it was language-based reuse and
didn’t facilitate the dynamic evolution of software at
runtime. Later, component-orientation overcame the
challenges. It provided interchangeable, interoperable binary
components, so possibility for cross-language
interoperability, and forced the developer to think about the
external facing interface of the application, which enabled us
to build systems that dynamically load and bind to new
functionality at runtime[2]. But tight coupling is its
important limitation. Distributed applications built with it
need a common platform and operating system, and have to
version simultaneously. Such characteristics make it
unsuitable for a variety of network environment. Now,
service-orientation offers a tremendous leap forward. It is a
collection of well-defined services, where each individual
service can be modified independently of other services to fit
the ever-evolving business[3].The communication is
reflected in the publishing and consumption of services by
the message-based approach based on open standards.
Overall, SOA adheres to the following four tenets of service-
orientation, which help ensure that the services are extremely
flexible and resilient to change, thereby reducing long-term
maintenance costs. And WCF takes SOA concepts of
message passing, schema, contract, and policy, and
implicitly applies it to all of the services. As such, WCF
provides the SOA programming model.
Tenet 1:Boundaries are explicit. It specifies that the
messages must be able to cross explicit and formal
boundaries regardless of what is behind those boundaries,
which means a service can be deployed anywhere and be
easily and freely accessed by other services, rather than
considering the environment or development language of the
other services
[4]
.With WCF, the attribute-based programming
enables developers to explicitly define external service
contracts. Without explicitly defining these, no functionality
will be exposed publicly.
Tenet 2: Services are autonomous. It states that each
service must be managed and versioned differently so as to
not affect other services in the process, which supports the
inevitable evolution of the service’s implementation over
time. It is obvious since the underlying implementation
details are hidden from the consumer, any change to the
implementation will not affect the service as long as the
contract does not change[3].
2009 International Conference on Web Information Systems and Mining
978-0-7695-3817-4/09 $26.00 © 2009 IEEE
DOI 10.1109/WISM.2009.69
302