Wednesday, September 26, 2007

MICROSOFT DOTNET TCHNOLOGY

Microsoft .NET is Microsoft's new Internet strategy.

.NET was originally called NGWS.

NGWS - Next Generation Windows Services
Before the official announcement of .NET, the term NGWS was used for Microsoft's plans for producing an "Internet-based platform of Next Generation Windows Services".
Steve Ballmer quote January 2000:
"Delivering an Internet-based platform of Next Generation Windows Services is the top priority of our company. The breakthroughs we’re talking about here include changes to the programming model, to the user interface, to the application integration model, the file system, new XML schema....."

Microsoft. NET
The Microsoft. NET strategy was presented by Microsoft officials to the rest of the world in June 2000:
.NET is Microsoft's new Internet and Web strategy
.NET is NOT a new operating system
.NET is a new Internet and Web based infrastructure
.NET delivers software as Web Services
.NET is a framework for universal services
.NET is a server centric computing model
.NET will run in any browser on any platform
.NET is based on the newest Web standards

.NET Internet Standards
.NET is built on the following Internet standards:
HTTP, the communication protocol between Internet Applications
XML, the format for exchanging data between Internet Applications
SOAP, the standard format for requesting Web Services
UDDI, the standard to search and discover Web Services

.NET Framework
The .NET Framework is the infrastructure for the new Microsoft .NET Platform.
The .NET Framework is a common environment for building, deploying, and running Web Services and Web Applications.
The .NET Framework contains common class libraries - like ADO.NET, ASP.NET and Windows Forms - to provide advanced standard services that can be integrated into a variety of computer systems.
The .NET Framework is language neutral. Currently it supports C++, C#, Visual Basic, JScript (The Microsoft version of JavaScript) and COBOL. Third-party languages - like Eiffel, Perl, Python, Smalltalk, and others - will also be available for building future .NET Framework applications.
The new Visual Studio.NET is a common development environment for the new .NET Framework. It provides a feature-rich application execution environment, simplified development and easy integration between a number of different development languages.

Additional Information
The .NET plan includes a new version of the Windows operating system, a new version of Office, and a variety of new development software for programmers to build Web-based applications.
The background for .NET is part of Microsoft's new strategy to keep Windows the dominant operating system in the market, as computing begins to move away from desktop computers toward Internet enabled devices, such as hand-held computers and cell phones.
The most visual components of the new .NET framework are the new Internet Information Server 6.0, with ASP.NET and ADO.NET support, Visual Studio.NET software tools to build Web-based software, and new XML support in the SQL Server 2000 database.
Bill Gates is supervising the .NET project.

SP.NET is the latest version of Microsoft's Active Server Pages technology (ASP).

What You Should Already Know
Before you continue you should have a basic understanding of the following:
WWW, HTML, XML and the basics of building Web pages
Scripting languages like JavaScript or VBScript
The basics of server side scripting like ASP or PHP
If you want to study these subjects first, find the tutorials on our Home Page

What is Classic ASP?
Microsoft's previous server side scripting technology ASP (Active Server Pages) is now often called classic ASP.
ASP 3.0 was the last version of the classic ASP.
To learn more about classic ASP, you can study our ASP tutorial.

ASP.NET is Not ASP
ASP.NET is the next generation ASP, but it's not an upgraded version of ASP.
ASP.NET is an entirely new technology for server-side scripting. It was written from the ground up and is not backward compatible with classic ASP.
You can read more about the differences between ASP and ASP.NET in the next chapter of this tutorial.
ASP.NET is the major part of the Microsoft's .NET Framework.

What is ASP.NET?
ASP.NET is a server side scripting technology that enables scripts (embedded in web pages) to be executed by an Internet server.
ASP.NET is a Microsoft Technology
ASP stands for Active Server Pages
ASP.NET is a program that runs inside IIS
IIS (Internet Information Services) is Microsoft's Internet server
IIS comes as a free component with Windows servers
IIS is also a part of Windows 2000 and XP Professional
What is an ASP.NET File?
An ASP.NET file is just the same as an HTML file
An ASP.NET file can contain HTML, XML, and scripts
Scripts in an ASP.NET file are executed on the server
An ASP.NET file has the file extension ".aspx"
How Does ASP.NET Work?
When a browser requests an HTML file, the server returns the file
When a browser requests an ASP.NET file, IIS passes the request to the ASP.NET engine on the server
The ASP.NET engine reads the file, line by line, and executes the scripts in the file
Finally, the ASP.NET file is returned to the browser as plain HTML

What is ASP+?
ASP+ is the same as ASP.NET.
ASP+ is just an early name used by Microsoft when they developed ASP.NET.

The Microsoft .NET Framework
The .NET Framework is the infrastructure for the Microsoft .NET platform.
The .NET Framework is an environment for building, deploying, and running Web applications and Web Services.
Microsoft's first server technology ASP (Active Server Pages), was a powerful and flexible "programming language". But it was to much code oriented. It was not an application framework and not an enterprise development tool.
The Microsoft .NET Framework was developed to solve this problem.
.NET Frameworks keywords:
Easier and quicker programming
Reduced amount of code
Declarative programming model
Richer server control hierarchy with events
Larger class library
Better support for development tools
The .NET Framework consists of 3 main parts:
Programming languages:
C# (Pronounced C sharp)
Visual Basic (VB .NET)
J# (Pronounced J sharp)
Server technologies and client technologies:
ASP .NET (Active Server Pages)
Windows Forms (Windows desktop solutions)
Compact Framework (PDA / Mobile solutions)
Development environments:
Visual Studio .NET (VS .NET)
Visual Web Developer
This tutorial is about ASP.NET.

ASP.NET 2.0
ASP.NET 2.0 improves upon ASP.NET by adding support for several new features.
You can read more about the differences between ASP.NET 2.0 and ASP.NET in the next chapter of this tutorial.

ASP.NET 3.0
ASP.NET 3.0 is not a new version of ASP.NET. It's just the name for a new ASP.NET 2.0 framework library with support for Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation; and Windows CardSpace.
These topics are not covered in this tutorial.

.NET BUILDING BLOCKS


.NET Building Blocks is a set of core Internet Services.

Web Services
Web Services provide data and services to other applications.
Future applications will access Web Services via standard Web Formats (HTTP, HTML, XML, and SOAP), with no need to know how the Web Service itself is implemented.
Web Services are main building blocks in the Microsoft .NET programming model.

Standard Communication
Official Web standards (XML, UDDI, SOAP) will be used to describe what Internet data is, and to describe what Web Services can do.
Future Web applications will be built on flexible services that can interact and exchange data, without the loss of integrity.

Internet Storages
.NET offers secure and addressable places to store data and applications on the Web. Allowing all types of Internet devices (PCs, Palmtops, Phones) to access data and applications.
These Web Services are built on Microsoft's existing NTFS, SQL Server, and Exchange technologies.

Internet Dynamic Delivery
Reliable automatic upgrades by demand and installation independent applications.
.NET will support rapid development of applications that can be dynamically reconfigured.

Internet Identity
.NET supports many different levels of authentication services like passwords, wallets, and smart cards.
These services are built on existing Microsoft Passport and Windows Authentication technologies.

Internet Messaging
.NET supports integration of messaging, e-mail, voice-mail, and fax into one unified Internet Service, targeted for all kinds of PCs or smart Internet devices.
These services are built on existing Hotmail, Exchange and Instant Messenger technologies.

Internet Calendar
.NET supports Internet integration of work, social, and private home calendars. Allowing all types of Internet devices (PCs, Palmtops, Phones) to access the data.
These services are built on existing Outlook and Hotmail technologies.

Internet Directory Services
.NET supports a new kind of directory services that can answer XML based questions about Internet Services, far more exactly than search engines and yellow pages.
These services are built on the UDDI standard.


.NET SOFTWARE


.NET is a mix of technologies, standards and development tools

Windows.NET
Today, Windows 2000 and Windows XP form the backbone of .NET.
In the future, the .NET infrastructure will be integrated into all Microsoft's operating systems, desktop and server products.
Windows.NET is the next generation Windows. It will provide support for all the .NET building blocks and .NET digital media. Windows.NET will be self-supporting with updates via Internet as users need them.

Office.NET
A new version of Microsoft Office - Office.NET - will have a new .NET architecture based on Internet clients and Web Services.
With Office.NET, browsing, communication, document handling and authoring will be integrated within a XML-based environment which allow users to store their documents on the Internet.

ASP.NET
ASP.NET is the latest version of ASP. It includes Web Services to link applications, services and devices using HTTP, HTML, XML and SOAP.
New in ASP.NET:
New Language Support
Programmable Controls
Event Driven Programming
XML Based Components
User Authentication
User Accounts and Roles
High Scalability
Compiled Code
Easy Configuration
Easy Deployment
Not ASP Compatible
Includes ADO.NET
You can read more about ASP.NET and ADO.NET in our ASP.NET Tutorial.

Visual Studio.NET
The latest version of Visual Studio - Visual Studio.NET - incorporates ASP.NET, ADO.NET, Web Services, Web Forms, and language innovations for Visual Basic. The development tools have deep XML support, an XML-based programming model and new object-oriented programming capabilities.

Visual Basic.NET
Visual Basic.NET has added language enhancements, making it a full object-oriented programming language.

SQL Server 2000
SQL Server 2000 is a fully web-enabled database.
SQL Server 2000 has strong support for XML and HTTP which are two of the main infrastructure technologies for .NET.
Some of the most important new SQL Server features are direct access to the database from a browser, query of relational data with results returned as XML, as well as storage of XML in relational formats.

Internet Information Services 6.0
IIS 6.0 has strong support for more programming to take place on the server, to allow the new Web Applications to run in any browser on any platform.

ASP.NET VS ASP


ASP.NET has better language support, a large set of new controls and XML based components, and better user authentication.
ASP.NET provides increased performance by running compiled code.
ASP.NET code is not fully backward compatible with ASP.

New in ASP.NET
Better language support
Programmable controls
Event-driven programming
XML-based components
User authentication, with accounts and roles
Higher scalability
Increased performance - Compiled code
Easier configuration and deployment
Not fully ASP compatible

Language Support
ASP.NET uses the new ADO.NET.
ASP.NET supports full Visual Basic, not VBScript.
ASP.NET supports C# (C sharp) and C++.
ASP.NET supports JScript as before.

ASP.NET Controls
ASP.NET contains a large set of HTML controls. Almost all HTML elements on a page can be defined as ASP.NET control objects that can be controlled by scripts.
ASP.NET also contains a new set of object oriented input controls, like programmable list boxes and validation controls.
A new data grid control supports sorting, data paging, and everything you expect from a dataset control.

Event Aware Controls
All ASP.NET objects on a Web page can expose events that can be processed by ASP.NET code.
Load, Click and Change events handled by code makes coding much simpler and much better organized.

ASP.NET Components
ASP.NET components are heavily based on XML. Like the new AD Rotator, that uses XML to store advertisement information and configuration.

User Authentication
ASP.NET supports forms-based user authentication, including cookie management and automatic redirecting of unauthorized logins.
(You can still do your custom login page and custom user checking).

User Accounts and Roles
AS .NET allows for user accounts and roles, to give each user (with a given role) access to different server code and executables.

High Scalability
Much has been done with ASP.NET to provide greater scalability.
Server to server communication has been greatly enhanced, making it possible to scale an application over several servers. One example of this is the ability to run XML parsers, XSL transformations and even resource hungry session objects on other servers.

Compiled Code
The first request for an ASP.NET page on the server will compile the ASP.NET code and keep a cached copy in memory. The result of this is greatly increased performance.

Easy Configuration
Configuration of ASP.NET is done with plain text files.
Configuration files can be uploaded or changed while the application is running. No need to restart the server. No more metabase or registry puzzle.

Easy Deployment
No more server restart to deploy or replace compiled code. ASP.NET simply redirects all new requests to the new code.

Compatibility
ASP.NET is not fully compatible with earlier versions of ASP, so most of the old ASP code will need some changes to run under ASP.NET.
To overcome this problem, ASP.NET uses a new file extension ".aspx". This will make ASP.NET applications able to run side by side with standard ASP applications on the same server.
.NET WEB SERVICES


Web services are small units of code built to handle a limited task.

What are Web Services?
Web services are small units of code
Web services are designed to handle a limited set of tasks
Web services use XML based communicating protocols
Web services are independent of operating systems
Web services are independent of programming languages
Web services connect people, systems and devices

Small Units of Code
Web services are small units of code designed to handle a limited set of tasks.
An example of a web service can be a small program designed to supply other applications with the latest stock exchange prices. Another example can be a small program designed to handle credit card payment.

XML Based Web Protocols
Web services use the standard web protocols HTTP, XML, SOAP, WSDL, and UDDI.
HTTP
HTTP (Hypertext Transfer Protocol) is the World Wide Web standard for communication over the Internet. HTTP is standardized by the World Wide Web Consortium (W3C).
XML
XML (eXtensible Markup Language) is a well known standard for storing, carrying, and exchanging data. XML is standardized by the W3C.
You can read more about XML in our XML tutorial.
SOAP
SOAP (Simple Object Access Protocol) is a lightweight platform and language neutral communication protocol that allows programs to communicate via standard Internet HTTP. SOAP is standardized by the W3C.
You can read more about SOAP in our SOAP tutorial.
WSDL
WSDL (Web Services Description Language) is an XML-based language used to define web services and to describe how to access them. WSDL is a suggestion by Ariba, IBM and Microsoft for describing services for the W3C XML Activity on XML Protocols.
You can read more about WSDL in our WSDL tutorial.
UDDI
UDDI (Universal Description, Discovery and Integration) is a directory service where businesses can register and search for web services.
UDDI is a public registry, where one can publish and inquire about web services.

Independent of Operating Systems
Since web services use XML based protocols to communicate with other systems, web services are independent of both operating systems and programming languages.
An application calling a web service will always send its requests using XML, and get its answer returned as XML. The calling application will never be concerned about the operating system or the programming language running on the other computer.

Benefits of Web Services
Easier to communicate between applications
Easier to reuse existing services
Easier to distribute information to more consumers
Rapid development
Web services make it easier to communicate between different applications. They also make it possible for developers to reuse existing web services instead of writing new ones.
Web services can create new possibilities for many businesses because it provides an easy way to distribute information to a large number of consumers. One example could be flight schedules and ticket reservation systems.
The paragraphs below describes W3Schools' vision about future Internet Distributed Applications.


CLIENT AND SERVER STANDARDS

The paragraphs below describes W3Schools' vision about future Internet Distributed Applications.Executables, C++ (and Java too) must die
Neither C++ nor Java can ever create standard components that can run on all computers. There is no room for these languages in future distributed applications. Executables are not standard. COM objects are not standard, DLL-files are not standard. Registry settings are not standard. INI-files are not standard. None of these components must be allowed to destroy your dream of a standard distributed application that will run on almost any computer in the world.

Clients must be Standard Internet Browsers
Application clients must be standard clients without any additional components. No part of the applications must be stored on client computers. The application must never use, or rely on, any components, dll- or ini-files, registry settings or any other non standard settings or files stored on the client computer. (Then you can start calling it a Thin Client). Our best suggestion is to let all clients use standard Internet browsers like Internet Explorer, Netscape, or Firefox running on Windows or Mac computers.

Servers must be Standard Internet Servers
Application servers must be standard Internet servers running standard software without any additional components. The application must never use, or rely on, any components, dll- or ini-files, registry settings or any other non standard settings or files stored on the server. Our best suggestion is to use a standard Internet server like Internet Information Services (IIS), with a standard request-handler like Active Server Pages (ASP), and a standard database connector like Active Data Objects (ADO). As your data-store you should use a standard SQL based database like Oracle or Microsoft's SQL Server.

Applications must use Internet Communication
Application clients and servers must not be allowed to communicate via any proprietary protocol. Clients must request servers via a standard Internet protocol and servers must respond via the same protocol. Clients must be able to use any service without having to maintain a permanent connection to the server. Our best suggestion is to let servers be requested with standard stateless Internet HTTP requests. Servers should respond with a standard stateless Internet HTTP response.

No comments: