Framework is a platform created by Microsoft to develop applications. .Net framework provides Integrated
Development Environment (IDE) where Window application, Web applications, Web
services and mobile applications can be developed. .Net framework possesses tiered, modular, and hierarchal architecture. The .NET Framework is
partitioned into modules or layers each of which has its own distinct
responsibility and functions. NET languages are the top tier and the most
abstracted level. The common language runtime is the bottom tier, the least
abstracted, and closest to the native environment. These are the overall draft
architectures of .Net Framework. The detail construction style of .net
framework architecture is described below.
Framework architecture is composed of specific layers which have specific tasks
to perform. The layers of .Net framework architectures are listed below.
Interface Layer (ASP.Net, Window Forms)
Access Layer (ADO.Net, XML Web Services)
Language Runtime (CLR)
following figure presents the layers of .Net Framework’s architecture.
upmost layer is the language layer of .Net framework architecture. Many
programming languages can be used to develop applications in .Net Framework.
.Net Framework supports 61 programming languages and some are Visual Basic, C#,
C++, Python, COBOL, Jscript, Eiffel, Java, Haskell, Pascal, ML, Ada, APL, C,
C++, Perl, Small Talk, Oberon, Scheme, Mercury, Oz, RPG and others. Therefore,
.Net Framework is claimed to have language operability.Net framework contains
object-oriented programming languages like C#, C++ and Visual Basic. These languages
are compiled to the Common language Specification and can work together in the
same application. So, .net framework can also said to be language
independence. It also supports language
integration which offer functions of object-oriented languages like inheritance
of classes, catch exceptions and polymorphism across different languages. To be
able to do so, .net components must follow a specification called CTS (Common
Common Language Specification (CLS)
Language Specification is a set of language features supported by Common
Language Runtime (CLR) of the .Net framework. CLS was designed to support
language constructs commonly used by developers and to produce verifiable code,
which allows all CLS-compliant languages to ensure the type safety of code. CLS
includes features common to many object-oriented programming languages. It
forms a subset of the functionality of common type system (CTS) and has more
rules than defined in CTS.
represents the guidelines to the compiler of a language, which targets the .NET
Framework. CLS acts as a tool for integrating different languages into one
umbrella in a seamless manner by executing language instructions to compile
code from different languages with the specified CLS basic rules.
How does CLS support in code
developers can inherit from classes defined in VB.NET or other .NET compatible
languages because of CLS in Common Language Runtime (CLR) provide a series of
basic rules that are required for language integration. The CLS determines the
minimum requirements for being a .NET language. Compilers that conform to the
CLS create objects that can interoperate with one another. The entire Framework
Class Library (FCL) can be used by any language that conforms to the CLS.
User Interface Layer
Framework can generally offer technologies or platforms for user interfaces.
Applications can be developed in .net Framework using three different
technologies: Web Services, Web Forms, and Windows Forms.
is a software development platform.ASP.Net can let developers create dynamic,
data driven and interactive web pages over internet. It provides
a programming model, a comprehensive software infrastructure and various
services required to build up robust web applications for PC, as well as mobile
devices. It consists of a large number of controls such
as text boxes, buttons, and labels for assembling, configuring, and
manipulating code to create HTML pages. ASP.NET is a technology, which works on
the .Net framework that contains all web-related functionalities.
How ASP.Net work in code compilation?
ASP.NET web application is made of pages. When a user requests an ASP.NET page,
the Internet Information Server (IIS) delegates the processing of the page to
the ASP.NET runtime system. The ASP.NET runtime
transforms the .aspx page into an instance of a class which inherits from the
base class page of the .Net framework. Therefore, each ASP.NET page is an
object and all its components i.e., the server-side controls are also objects.
Web services include a number of classes that
support the development of lightweight distributed components which will work
even in the face of firewalls and NAT software. Because web services employ
standard HTTP and SOAP as underlying communications protocols, these components
support Plug and Play across cyberspace.
can use ASP.NET, XML Web services, and ADO.NET to easily create feature-rich
Web applications in .Net Framework.
Forms application is a program that is written to run under the Microsoft Windows operating system. All 32-bit Windows applications run in the 32-bit and 64-bit versions of Windows. .Net
framework supports multiple window form controls. For example, textboxes, Tool
Strip Text Box and Rich Text Box are provided for Text edition function. For
Text displaying function, label and status bar are provided. Combo box, check box and other controls are
also included for selection. So, .Net Framework provides many window form
controls for different functions.
Data Access Layer
Framework provides the following technologies to provide data access.
is a database technology of .NET Framework used to connect application system
and database server. ADO stands for ActiveX Data Object. It consists of a set
of classes used to handle data access. The
ADO.NET classes are easy to use and understand as they are object-oriented in
nature. ADO.Net includes DataSet class
(System. Data) and that class includes methods like Clear(), Create(),
CreateDataReader(), etc and events like Initialized, Diposed and MergeFailed.
How ADO.Net work?
data is accessed, ADO.NET makes a copy of the data using XML. ADO.NET only
holds the connection open long enough to either pull down the data or to make
any requested updates. This makes ADO.NET efficient to use for Web applications. It’s also decent
for desktop applications. It allows to users manipulate data using XML as the
XML Web service is simply a unit of programming functionality that is exposed
to client applications via the Internet. At its simplest, an XML Web service is
any programming component or object that makes information available via standard
Internet protocols such as HTTP. They can be also said as the new methods for
distributing web application functionality. It uses standard protocols like
HTTP and SOAP to provide services and functionalities to web applications. The
XML Web Services return data to the calling application in the form of XML
Communication Framework is Microsoft’s framework to make inter-process
communication easier. It let users do communication through various means,
plain old asmx web services, Remoting, MS Message Queuing, and a couple more. It is basically used to create a distributed and
interoperable Application. WCF Applications came into the picture in .Net 3.0
Framework. This is a framework, which is used for creating Service oriented
Applications. Users can send the data asynchronously from one end point to
another with the help of WCF.
WPF stands for
Windows Presentation Foundation. It is Microsoft’s latest approach to a GUI
framework that is used with the .NET framework. It is used to create user
interfaces for Windows operating system. The user interfaces are also known as
Windows client applications or Windows applications. Now, with the launch of
Windows 10, Windows apps means more than WPF based applications. It is
generally the engine that is responsible for creating, displaying, and
manipulating user-interfaces, documents, images, movies, and media in Windows 7
and later Windows operating systems. Physically, WPF is a set of libraries that
have all functionality you need to build, run, execute, and manage Windows
Base Class Library (BCL)
.NET Framework class library is a library of classes, interfaces, and value
types that provide access to system functionality. It is the foundation on
which .NET Framework applications, components, and controls are built. The base
class library is divided into namespaces to locate the specified functionality
easier. Within the namespaces, classes that perform certain functionality
related to name space exist. There are many name spaces and classes in BCL with
different functions. Some are as follow.
namespace contains fundamental classes and base classes that define
commonly-used value and reference data types, events and event handlers,
interfaces, attributes, and processing exceptions.
example: System. out. print();
System. Data namespaces contain classes for accessing and managing data from
diverse sources. The top-level namespace and a number of the child namespaces
together form the ADO.NET architecture and ADO.NET data providers.
System. Drawing parent namespace contains types that support basic GDI+
System. Printing namespaces contain types that support printing, that provide
access to the properties of print system objects and enable rapid copying.
System. Timers namespace provides the Timer component, which allows users to
raise an event on a specified interval.
are many other namespaces with their own classes and functions. Only a little
is described here.
Common Language Runtime (CLR)
works as a layer between Operating Systems and the applications written in .Net
languages that conforms to the Common Language Specification (CLS). The main
function of Common Language Runtime (CLR) is to convert the Managed Code into
native code and then execute the Program. The Managed Code compiled only when
it needed, that is it converts the appropriate instructions when each function
is called .The Common Language Runtime (CLR) ‘s just in time (JIT)
compilation converts Intermediate Language (MSIL) to native code on demand at
application run time.
operating systems, on which the .NET Framework will run, can be divided in two
groups: one that will run the .NET Framework with ASP .NET and one that will
run it without. This can also be sesen as the distinction between operating
systems that can be used as a server for .NET applications and operating
systems that should be used as clients running .NET applications. Note that all
of the versions of Windows NT 4.0, even the Server edition, should be regarded
as a client operating system for .NET applications.