ASP.net is a new technology and powerful web development language to build a web application much faster. Lately, we can always hear the news of ASP.net especially on the web developer sites. ASP.net is not only is the transformation from ASP, ASP.net can be said that is new era in the web development field. In this seminar, I will explain what is all about for ASP.net.
First of all, I will briefly explain what ASP.NET is and what are the main differences between ASP.net and ASP classic version. Describe how efficiency of ASP.net that can achieve compared to ASP classic and what are the features that ASP classic cannot archive in the ASP.net
Secondly, I will compared the different version of ASP.NET such as ASP.NET 1.x, ASP.NET 2.0 and ASP.NET 3.5. Among the different version of the ASP.NET, what and how much the improvement that latest version of ASP.net has bought it to us to develop a web application. I am also list out the advantages and disadvantages for the different version of ASP.net.
Introduction of ASP.NET
ASP.net is the new web programming tools from Microsoft. Why ASP.net is needed when the ASP classic version is working fine. ASP.net is not only is the next- era of ASP but it is a technology that improves much more than the ASP classic version and can increase the productivity.
ASP.net is look similar to the ASP classic version if we not see the functions that ASP.net provided. Some of the features and items look very similar in the ASP classic. ASP.net allows us to use 2 type of the programming language which is C# or VB.net to write the web application in the easy way. It is also provide a huge range to let different background of the programmers can use ASP.net to build their web applications. ASP.net concept like Web Services, Server controls and web forms is a power features to build a real web application.
What is ASP?
ASP is known as Active Server Pages which is produced by Microsoft Team in the early of year 1990. Microsoft Active Server Pages (ASP) is allowed us to build dynamic and interactive web applications. ASP classic is easily to let web application link to database inside the web application. The web application created by ASP does not affect by using different type of the web browser. The file extension for ASP is .asp. Example: http://www.asp.com/test.asp.
There are 2 type of compilation that available which is pre-compiled code and interpreted code.
Pre-compiled code is mean when the web developers are finish writing the code. Before start to use the code, the code is completely compiled. So, pre-compiled code is only need to compile once. It will make the performance is much faster. Pre-compiled is Machine dependence.
Interpreted Code compilation process is totally different from Pre-compiled code. That is because interpreted code will only compiled the coding when there have user to request the web pages and it compiled while the execution time is. Interpreted code compilation will only compiled the code when there is any request from the user. So, the performance will slower than Pre-compiled code. Interpreted code is machine independence.
.Net solves the problem by using a two-step process for compilation
The 2 step of the compilation is common intermediate language (CIL) and common language runtime (CLR). .Net is compiled all the code to CIL. Then change it to become machine independent language (CLR).
The CLR is to execute the web application code. When the web developers write a web application with the programming language such as VB .NET or C#, the web application source code will not compiled into machine code directly. Instead, the VB or C# compiler will convert the web application source code into another language called as MSIL (Microsoft Intermediate Language) or CIL (Common Intermediate Language).
CIL is quite similar to object-oriented assembly language. CIL is a platform-independent language. This is because when execute or running a web application, CIL code will only compiled the source code into machine code.
Below the diagram is to explain how the CIL and CLR work in the .Net framework.
First of all, the web developers using different type of programming languages to write their web application. After that, the code is compiled using their own compiler to convert into Common Language Infrastructure. .Net compatible language compile to a second platform-neutral language called Common Immediate Language (CIL). After the Common Language Runtime compiles the CIL to machine readable code that can be executed on the current platform.
What is Web server?
Web servers are the tool that can manage web application that built by the web developers and make all the web application available to the client web browser. It can success connected through a local network or over the Internet (two different machines or same machine). While there are many Web servers available which one of the common ones is Apache, Internet Information Services (IIS), and iplanet Enterprise Server. (DotNetNuke, 2009)
To test or run ASP.NET Web applications, you need a Web server
Internet Information Services (IIS)
IIS Web server comes bundled with Windows 2000, Windows XP Professional, and Windows Server 2003.
UltiDev Cassini Web Server
ASP.NET Development Server
How does ASP work?
An ASP page is stored at server-side. So, client cannot simply view an ASP page on the web browser. They need to request the ASP page through the web server which is supports for ASP. When a client request an ASP page through the web browser, the web server will locates the ASP file on the hard drive and interpret it. After that, it will remove all the ASP Script and replace them with HTML Text. Below is the diagram:
This is the ASP script for a page called ‘HelloWord.asp’
Web server locates the ASP file and replace with HTML text and send back to the web browser.
Problem with ASP Classic
ASP is using html controls to interact with the user. Although ASP is having few good functions to build web application, it still not perfect yet to satisfy web developer in some of the areas. For example, ASP needs to code all the things in a single web page including the functions and interface. It is not very convenience when need to modify or update some of the data on the web page.
Besides that, another disadvantages using ASP classic to build web page is lack of the performance and scalability, which means the web page that built by ASP classic will not auto fix the web pages with the web browser. The layout of the web page will out of the margin and the content cannot show as what web developer have designed for.
How does ASP.net work?
Think of ASP.NET web pages as normal HTML pages that have sections marked up for special consideration. When .NET is installed, IIS Web server on the local machine will automatically to check for files with the extension .aspx and it will use the ASP.NET module that have a a file called aspnet_isapi.dll to handle them.
First of all, the client requests the web page from the web server. Then the web server started to locates the instruction file. Meanwhile, the ASP.net code is sent to the Common Language Runtime for compilation. After that, the HTML stream returned to the web browser. After the web browser get the HTML code. It will processes the HTML code and display the content of the page to the client.
ASP.NET compared with ASP Classic
Now, I will differentiate the asp version between ASP.net and ASP classic. What are the changes in ASP.net instead of the ASP classic and what is the improvement from ASP classic. Besides, I am also focus on what are the new features in ASP.net.
First of all, the mainly ASP.net difference from ASP classic is ASP.net is ASP.net is support more language for scripting. For example, Asp.net supports visual basic language, C#, C++, Jscript and ADO.net as well. Support multiple languages will getting more web developer choose ASP.net as their first choice to develop a web page and web applications and let different background programmer can work together by using a same application.
Besides, there are few points to compare between ASP.net and ASP classic. One of the aspects is compilation. ASP classic is built up by Jscript and it only interpreted the Script line by line when the page is requested. Moreover, ASP.net compilation is totally different with ASP classic. ASP.net is automatically compiling all the code while the code is first time executed. The compiled code will store inside .NET classes within assembly. .NET classes are including the server-side coding and HTML code. So, when ASP.NET page is executed for first time, the compiled code will store inside the .NET classes. Next time will render the ASP.net page by execute the compiled code that has created. The performance for ASP.net will be increased because there are no longer like the ASP classic has the difference between the compiled code and the coding within the server-side languages within asp web page.
ASP.net performance is faster due to the compiled code but ASP classic is using the scripting languages like VBScript. VBScript is representing to machine code and did not require any additional parsing. That is why web developer is preferred to use ASP.net instead of using ASP classic.
On the other hand, the difference between ASP.net and ASP classic is the scalability factor. For ASP classic, the components inside the web pages are not easy to update, replace and maintain it. If want to update particular component, IIS is required to shut down then only can successfully replace or update the component. After done all the modification, IIS need to restart once.( Neel Sus. 2009).
For ASP.net, it was different with ASP classic which it is scalable and easy to do modification on the web pages. The term of ‘Xcopy’ command is used to build an efficiency ASP.net web application page. The ‘Xcopy’ term is to copy a file to another location. It is allow to do the modification without need of restart of web server. The web developer can do the changes on the web application and no web server restart is required to take effect. It will direct take effect once the web application is requested.(Bean Software. 2002).
Advantages of using ASP.NET
After compared the version between ASP.net and ASP classic, here is some of the advantages of using ASP.net. ASP.net has reduced the need of code to build a web application; it required lesser code to build a large web application. This will help web developer save time, and more efficiency to build a large web application.
Another new feature from ASP.net which does not include in ASP classic is the authentication function. Authentication is the processes to obtain and validate the information that provide by user are valid or not. If it is valid, the user will get the authorization and the authorization process will check the user whether have permission to access the particular resources on the web pages. It will increase the security of the web application and make sure all the user information is secured and not grab by someone. (MSDN. 2010).
Besides that, ASP.net file extension is ‘.aspx’ and it has a code behind page which is ‘.aspx.cs’. The difference between .aspx and .aspx.cs is .aspx is the interface for the web application. It stored all the html coding and some of the C# language label for some of the particular components. Meanwhile, ‘aspx.cs’ is a place to let web developer to code all the functionality for the button, and the business logic on that page.
Moreover, ASP.net is server-side technology. It means all ASP.net coding is executed and compiled on the server side before it send it back to the web browser. Below is the example of code behind on ‘aspx.cs’:
The ASP classic need to code a web application coding inside a same page including the HTML and the function code. It will become messy if web develop wanted to do the modification on the web pages. It need take some time to analyze the code first before doing any modification. (Steve Kozyk. 2008).
The disadvantages of using ASP.NET
One of the main disadvantages of using ASP.net application is it only support on Windows platform. That means other based Operating System is not allowed to use ASP.net to develop their web application. The limitation of the ASP.net will make some of the web developer abandon to use ASP.net to develop their web application and choose other more appropriate application to develop their web application such as PHP support in any platforms.
ASP.net 1.x compared with ASP.net 2.0
We move to the next topic which is the comparison between ASP.net 1.x and ASP.net 2.0. ASP.net 1.x release on year 2002-2003 and ASP.net 2.0 is released on year 2005.
Firstly, we compared the compilation models for this 2 version. ASP.net 1.x will only automatically compile few files such as asp page (.aspx), user control, http handler, web services and Global.asax class files. Others file that not automatically compile, web developer need to compile the rest of the files before publish the web application to the web server.
ASP.net 2.0 has increase the efficiency in the compilation process. ASP.net 2.0 will automatically compile the file types that include asp page file (.aspx), asp and asp page behind code (.cs). So, the web developer only need to create the web application and publish it. ASP.net 2.0 have a folder called App_Code which can keep the helper classes, business object inside but cannot put the asp pages (.aspx), Global.asax and other non-code files. ASP.net 2.0 will compile elements inside the App_Code folder and name as code.dll.
In ASP.net 1.x, when the web developer need to do the modification on the web application, they need to open the entire project file do modify and update it. After done the modification, they need to compile the entire project and publish it to web server again. But ASP.net 2.0 allows web developer just open the particular file that wants to modify. After done the modification, web developer just need to publish the file code to the web server and no need to recompile.
In ASP.net 1.x, the code behind page of web application are require an IIS virtual directory to run and the IIS is require to store inside the local computer which used to develop the web application. ASP.net 2.0 code behind page can access the local host IIS directly and the IIS has store inside the web server.
In ASP.net 1.x, the procedure to process the web application page is send the client request to the web server. First, the Init event is called. After that, called the Load event by the PreRender event is called net. Lastly, the Unload event is called and the generate output will sent it back to the client.
In ASP.net 2.0 has added few new attributes. The attributes will help web developers to have a control for the new framework features which is theming and personalization. Besides, ASP.net 2.0 Page class has provided new method, event, and properties. The 3 important script for the properties is ClientScript, Header.IPageHeader and Master. There are 3 new important methods such as GetValidators, setFocus, and RegisterRequiresControlState.
In ASP.net 2.0, there are few new events implements. First, PreInit is called before initial the web page. Then, InitComplete will be occur when the page is completely initial. Next, the PreLoad event is called immediately after the InitComplete event and before the web page begin to load. The LoadComplete event will occur after the page is load complete at the end. Last, PreRenderComplete event is occur and this event will store personalize data and page HTML is rendered. Web developers can use all these events to build up their web application in a dynamic way.
After compared the version between ASP.net 1.x and ASP.net 2.0. ASP.net 1.x is unable to open a particular page not inside the project but ASP.net 2.0 can modify particular page without open the entire project. We can know that the code behind pages is a efficiency way to write all the functions, logic to make the web development process become more efficiency and effectiveness. As the conclusion, ASP.net 2.0 has added more features to increase the performance and the secure of data. (Benoy Baskaran. 2006).
ASP.net 3.0 compared with ASP.NET 3.5
The ASP.net 3.0 is using a base of the ASP.net 2.0 but there are added several of the new features on it such as Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) and Windows CardSpace (WCS).
First of all, The Windows Presentation Foundation is one of the interface sub-system using at windows. Windows Presentation Foundation has using the Windows function like create, view and manage of the files, media and user interface (UI). Because it will make the web developers can create the more attractive, better impression on the interface and the different use experience on it. Windows Presentation Foundation (WPF) is built with 2 important parts which is display engine and the framework. The mainly function is to build the 3D graphic and use the Direct3D technology.
Next, Windows Communication Foundation (WCF) or name as Indigo. It is a service-oriented communication system. It has all the current .Net features like .Net remoting, ASMX,WSE and MSMQ. The WCF is built on the version of the .net Framework 2.0 and above. It also is a core of the Windows Vista. Windows XP and Windows Server 2003 operating system also support once install the WinFX Runtime Components.
Besides, Windows Workflow Foundation is the next features on the ASP.net 3.0. It is a new workflow development on the .net Framework. Windows Workflow Foundation include the namespace, workflow engine for Visual Studio 2005. It support in Windows XP, vista and Windows server 2003 as well.
Lastly, Windows CardSpace (WCS) is an application that stored the user information in a more secure way and in digital form. It has provide a unify interface to select which identity need to use for transaction. For example, use an identity to login to a specify website. As the conclusion of ASP.net 3.0 is a combination of ASP.net 2.0 and Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) and Windows CardSpace (WCS). (Mnaveenrao. 2009).
What is new in ASP.net 3.5
After we view the new features of ASP.net 3.0, let us see what other new features that will be added in ASP.net 3.5. ASP.net 3.5 is implementing inside the Visual Studio 2008 and it released on year 2007. The ASP.net 3.5 is using the same engine in the ASP.net 3.0 and it has added new features in it. So, let check out what are the new features in ASP.net 3.5.
First of all, one of the new features that added inside the ASP.net 3.5 is the ASP.net AJAX. Although ASP.net 2.0 can use the features of the ASP.net AJAX, it still needs to install the extension to ASP.net 2.0 and ASP.net 3.0 only can successfully use the features. It is totally different which ASP.net AJAX is integrated in ASP.net 3.5. So, it is help web developers to build a better quality user interface easily. (Suprotim Agarwal. 2009)
Next features that added in the ASP.net 3.5 is LINQ. LINQ (Language-Integrated Query) is to display the query that capability to the programming language such as C# and VB.net. The format of query in LINQ is something like the format of SQL. It is contains Select, From and Where keywords which have the same functions in the SQL. Here is the example of LINQ.
Int Rental = from house in Rent
where rental > 100
ASP.net AJAX have added several new controls that can easily to call a control that can link to the datasource. The first new control is called ListView. ListView control is consist of some of the features like can show the result of the datasource in different view such as Datagrid, Gridview, repeater and the controls that available in ASP.net 3.0. It allows web developers have the ability to insert data, edit data, delete data, sorting the data. These controls are flexible because the web developers can design how the data present the result.
After view the features of ASP.net AJAX, ASP.net 3.5 is added few new assemblies like System.Core.dll, System.Data.Linq.dll and System.xml.Linq.dll is an assembly to implementation for LINQ. System.Web.Extensions.dll is the implementation for ASP.net AJAX. ASP.net 3.5 allow different version of ASP.net store on the same computer.
Security in ASP.net
Securing an ASP.NET application requires a clear understanding of all the security options provided in ASP.NET, and show how the security subsystems interact each other.
Since ASP.NET is built on the Microsoft .NET Framework, the web application developers will has the full access to the full set of the built-in security features inside the Visual Studio .NET. For example, the code access security and role-based user-access security. It is important to know how the different security subsystems interact each other and how it will be able to make the web application more secure.
Before web developers configure the security for the web application, they need to configure the web application to implement the two security function that described in the following table.
It is a process of getting identification credentials from a user such as name and password, and to validate those credentials against some authority.
It is a process to control the access to the resources regarding on the authenticated identification credentials ( such as role ).
ASP.NET achieves the authentication security function by using the authentication providers, the security modules consist the code that able to authenticate the user credentials. To enable authentication security function in ASP.NET web application, the web developers need to create an authentication section entry first in the application root configuration file. The authentication session syntax are showing below:
Using ASP.NET Configuration Files
ASP.NET configuration file is written in a hierarchical structure format. Web.config is a file to store all the configuration data for the ASP.net web application. It also contain another file called Machine.config which is store configuration information as well. Web.config file and other web application files is located under same directory. But Machine.config file is located in the install root directory. All the sub-directory will inherit all the settings in the directory unless it has overridden by the Web.config file which located in the sub-directory. In Web.config file, it contains all the ASP.net functionality in the section. The Web.config file is written as below:
In the web.config configuration file, it is contains 3 sub-sections which are authentication, authorization, and identity. The values that set for these 3 section configuration file is to overriding the configuration file in the application root. All sub-directory will inherit those settings automatically. However, sub-directory can have their own web.config file that override the directory web.config settings. Besides, the web developers may use the syntax <location></location> to specify a particular file or directory.
Critical Evaluation on ASP.net
After the evaluation of the ASP.net, we can know that there are a lot of changes and improvement that involve in the latest ASP.net version. But there are still got competitor in the web development field. There are still got another language and platform to let web developers to choose their favorite web development tools to build their web application. One of the competitors for ASP.net is PHP.
Introduction of PHP
PHP is stands for Hypertext Preprocessor. PHP is open source language and it is a cross-platform because it compatibility with different operating system such as Windows, Unix system. PHP is a scripting language to build dynamic web site and it is run at the server-side. The PHP syntax is similar with the language of C, Java and Perl. So, it will help web developers build their web application efficiency and quickly. PHP allows web developer write the simple PHP syntax in HTML files directly, it can done this by eliminating the need of cgi programs. Moreover, PHP make web developers easy to supervise to the large web application by put all the components inside one html file.
For example, when creating the catalogue for online trading web site, the web developers must have to design all the design templates for all the catalogues web pages. In the early day, the web page design is written in the html format and shows all the data by using different type of design templates. In PHP, is only need one application to build all the web application pages that link to the database in the appropriate pages, correct location and related content. This is to avoid any redundancy web pages is created and easy to maintain and manage the web application.
As we know, PHP is a cross-platform scripting language. So, we not only can use the PHP code to build web application, but it can use all the PHP libraries and all the code written in PHP. One of the big features in PHP is it supports for numerous databases such as Oracle, MSSQL, MS Access and others. Besides, it is support networking, zip and consist a set of built-in functions. IT is free to download from the PHP website by everyone. PHP is a language easy to learn because most of syntax is similar to language C.
In my opinion, I think that ASP.net performance is higher than PHP. That is why I choose ASP.net as the web development tool in my project.
ASP.net application is developed using Visual Studio which produced by Microsoft. It is easy to build the web application interface and component easily added in the web application. It makes the coding part for the web application is much simpler and development more productivity.
Although PHP is an open source scripting language for all the web developers, it does not have own web development tool to build their web application. They need to use third party software to implement their PHP concept and coding inside. Some of the third party software like Adobe Dreamweaver is one of the software that can write PHP scripting language. Although there are free to charge in use of PHP scripting language, but some of the third party software may need to buy license to continue use for web development. So, it also needs to cause the cost of web development increased.
Besides, Visual Studio .NET is provides a huge of features to make the web development easier. Web developers also provide students to download a free scaled down Visual Studio version which can provide better features.
The features that come with the PHP is lesser and it was very simple features that use to build web application. It will make web developers have the limitation to build their web application. However, there are a lot of add-ons which available on the internet for web developers to download. With the PHP add-ons, it will make the PHP has some same function inside the Visual Studio. It is very troublesome to ask PHP web developers download the add-ons one by one and implement to PHP. It will waste a lot of efforts and time to download and install the add-ons. . For example, AJAX is not built in in PHP, web developers need to download themselves. So, ASP.net is better than PHP which the Visual Studio will come with a full set of the features that need to use in web development. It will make the web development process running smoothly and more productivity.
On the other hand, Jasir Javaz (2010) noted that PHP getting a huge support from the web developers. This is because the PHP is an open source and it is free to everyone. Besides, PHP version 5 has provide many object oriented development concepts to the web developers to build their web application in a better way. It will make the structure of the web application and the coding is easy to implement each other’s.
In ASP.net, it is different with PHP which is has better languages support. ASP.net able to let different language background web developers use Visual Studio.Net to build their own web application. The supported languages for ASP.net got VB.net, C#, J#, C++, COBAL.
PHP is run on Apache server and Apache also is an open source. ASP.net is run on IIS which is Internet Information Services. The benefits of using ASP.net are the user interface design and application coding part is separated to 2 parts. So, it is easy to let web developers to focus on design the overall web application interface. Besides, the code-behind pages also easy to manage and update if there have any changes or any new logic need to implement in it. So, ASP.net is more user friendly in use to design a web application design. This is one the reason I choose ASP.net in my project. It is not only provide more features and it is easy to let me design the web application interface and easy to manage and update.
As the conclusion, there are a lot of factors and reasons to make a web developer choose their own web development tool. A web developer chooses the suitable web application tools will make their more understanding on the application and use specialize programming language.
PHP is an open source and free to everyone. PHP also work on Linux OS which is open source as well. Using Linux OS, the performance will be higher, more secure than using Windows. It is low cost for whole web development. PHP is easy to learn especially for the beginners because the scripting language is similar to language C.
ASP.net is an powerful which full set of the features that easy to build up an efficiency and effectiveness web application. ASP.net is using the pre-compiled concept which I have mentioned above. Better programming language support and easy design for user interface and code-behind.
As the conclusion, I found out that ASP.net is one of the best web development platforms to build a web application. ASP.net has provide different type of the features to make ASP.net pages become more flexible, easy to maintain and easy to update. ASP.net allows you to code your web application in two different places which is user interface layer and the web application layer. The web developer can done the web application interface at the user interface layer and code it in web application layer (code-behind pages). The structure of the ASP.net can make the web application become flexible, scalable and easy to maintain.
Moreover, ASP.net is also offers different type of the programming languages can be used to build the web application. The more languages that support for the ASP.net, there are let different background of the web developers can working together without using different version of the Operating Systems. It also supports Object-oriented structure programming. ASP.net is
ASP.NET Server Controls
The server control provided by ASP.net has the similar functions to Windows controls. There are allows to create new server control, customized the server control directly in the web application. Besides, Windows server also provides a more secure for the web application. It also allows to use other features available in the ASP.net like authentication or authorization to make the web application security become stronger. With the ASP.net server controls, it can build more user friendly web application.
On the other hand, ADO.net is integrated inside the Asp.net which to allows the web application access to the database. Visual Studio .Net also provides the database design tools to let web developers use the appropriate view for the database. Visual Studio .Net not only support for ASP.net, HTML coding, but is also fully support the XML (Extensible Markup Language) coding and the CSS (Cascading Style Sheets).