- Journey of Dot Net
When I decided to take a detour from my usual software code writing time, I did not know that I will try myself with actually writing an article on something which I have been using. This is my first Article on Dot Net. This article’s objective is to see and understand in simple words the evolvement of Dot Net through the last few Years and to the eyes of a non Tech Savvy person.
Well, as we all know Microsoft brought DOT NET technology as advancement over windows programming and for evolution of the Internet. The concept of internet was so exciting that people wanted more and more through the internet with just a click of a button. But when it came to application development and distribution, they were limited with the extent of LAN and WAN. The Dot Net technology evolved and brought all things in software development much closer and tightly knit.
So what is basically .NET?
People realized that ‘Internet’ had become a true ‘extension’ of computer. So as we have files with .com, .exe, .doc ( Dot Commercial , Dot Executables, Dot Documents ) extensions , similarly .Net ( Dot InterNet ) extension came into existence.
All the data, information, software etc is on Net, Everything is now a Web Service. People are not limited to one computer /single Site /Service. We are now able to use the web services from anywhere at any time. For example through PC, mobile phone, handheld computer, public Kiosk etc. Since the data is not restricted to a local computer, it is on the Web now, so it can be accessed from anywhere.
Key Features of Dot Net
- Dot.Net migrates computing from desk-top-centric to Internet-Centric
- Under Dot Net there is generally no need to buy and install software; instead subscribe to it and access it on internet, where it will be hosted on remote server.
Your Data, preferences and your identity are all stored on the net.
- Everything has become a web Service. That includes your resources such as disk storage and applications.
- Accessible from everywhere – using any .Net enabled device – a PC, phone etc.
- Services on one site will combine with services on others, may involve interactions between multiple servers and services.
Dot NET Framework
It is an integral windows component that supports building and running of the next generation of applications and XML Web Services.
Its objectives are:
- Provide code execution environment to decrease deployment and versioning conflicts.
- Provide code execution environment for safe execution of code.
- Provide code execution environment to eliminate performance problems of scripted / interpreted environment.
- Provide same atmosphere for Windows based/ Web based
- Heterogeneous language support
- Mundane things are taken care by machine and therefore gives more managed thing
- No more crashing of windows
- Earlier scripted languages work on interpreters and hence are slower.
- Has two main parts :
CLR – Common language Runtime and
CL – Dot Net Framework Class Library
ASP.NET
It is a web Application framework developed and marketed by Microsoft to allow programmers to build dynamic Websites, Web Applications and Web Services.
It was first released in 2002 with version 1.0 Net Framework - it is a successor of Microsoft’s Active Server Page technology.
It is built on CLR and therefore it allows programmers to write ASP.Net code using any supported .Net language.
CLR- Common Language Runtime
It is the foundation of .Net Framework. It is an agent that manages code at execution time, provides core services such as memory management, thread management, remote Services. It enforces strict type safety and other code accuracy for security and robustness.
Concept of code management is fundamental principle of runtime.
Code that targets runtime is called Managed Code (e.g. ASP.Net) and the code that does not do so is called Unmanaged Code. (e.g. Internet Explorer).
Thread Support and Garbage collection come under Memory Management.
Features of CLR
Manages memory, thread execution, code execution, code Safety Verification, compilation and other system Services. All these services are intrinsic to managed code.
Security : varying degrees of trust and applied and enforced by CLR
Enforces Code access security. Executables embedded in webpage can play song, animation etc, but cannot access their personal Data.
Enforces code Robustness by implementing type-and-code- Verification infrastructure called CTS (Common Type System).
Inter portability between managed code and unmanaged code – E.g. both COM components and DLLs can be used.
Designed to increase Performance. Managed code is never interpreted. JIT (Just in Time) compiling enables managed code to run in native machine language of the system.
CL- Class Library
It is a comprehensive object Oriented collection of reusable types. It can be used from anywhere e.g. command Line or GUI Graphical Web forms / XML etc.
As the name suggests, it is a library of classes, interfaces, and value types. Applications, components, controls for applications are all built on this framework.
Classes and Structures are like basic building blocks for application development.
These classes are often described as API (Application Programming Interface) and form a boundary interface between application and Operating System.
These are organized into ‘namespaces’. A namespace is a container for functionality. Similar classes are grouped together in a namespace to define a parent-child relationship.
All namespaces stem from root namespace called ‘System’ namespace. The ‘system’ namespace contains all data types including ‘object’ Data type.
Class Library is a collection if reusable types which can be integrated with CLR.
Basically divided into two types :
BCL – Base Class Library and FCL – Framework class library.
Base Class Library :
It is a small subset of entire CL
Contains set of classes serving as basic API of CLR
E.g. mscorlib.dll, system.dll, system.core.dll
Framework class Library :
Superset of BCL classes.
Expanded set of library
E.g. Win forms, ADO.Net, etc
CIL Common Language Interface: Dot Net compatible languages compile to 2nd platform neutral language called CIL (Common Language Interface).
CLR Common language runtime: Platform specific CLR compiles CIL to machine readable code that can be used by current platform.
JIT Just in Time compiler; runs when the program is run for the first time but after that , existing JIT compiled code is used.
CTS: Common Type System
It is a system that defines rules concerning Data types and ensures code is executed in safe Environment.
Since all .Net applications are converted to IL (Intermediate language) b fore execution, all primitive data types are represented as .Net types. VB Integer is same as C# integer is same as system.Int32 in IL code.
Since both the languages use a common and inter convertible type system, therefore it is possible to transfer data between components and avoid conversion.
In all these languages (of Dot net), minimum set of coding must be met. This set of coding is called CLS – Common Language Specification.
The ‘CTS’ handles conversion of program language Data types into .Net compatible (MSIL) data types. The implicit benefit is being reduction of development time when attempting to coordinate data types between two sets of different program language code.
There are two general categories of types: Value type and Reference Type.
My next article will be on “Compilation and Execution”
No comments:
Post a Comment