Samoylov A., Kryukov R.

Southern Federal University, Russia

Comparison of the Internet technologies for

web-applications development

 

The interest to the global Internet grows every year, this interest is a reason of  prompt development of web-technology. Quite recently the majority of web-sites represented a set of static HTML pages, so-called sites cut-aways. Today practically all fields of activity of the person from business to entertainments are situated in the Internet.

In the course of transformation of the Internet into the instrument of business, technology of development of web-sites essentially changed - the majority of web-sites of the companies represents a set of web applications, services and even high-grade information systems. These web-sites possess interactivity, a handshaking with clients (for example, booking and payments), and also integration tools with "internal" corporate applications of the company. Development of such web-sites would be impossible with use only the HTML and CSS technologies.

The most widespread example of use of the Internet as instrument of business is the Internet – shop. The Internet shop is the shop which "show-window" is located on the Internet and which gives the chance to order the goods on the Internet. On a site of shop the detailed catalog of the goods with the prices on the basis of which the user forms the order is usually presented. Let's consider, what technologies can be used for Internet shop development.

Being guided by experience of colleagues, among modern technologies the most used for development of server parts of web-applications and the web-focused systems are:

Asynchronous JavaScript and XML (AJAX) are web-technologies. So if in a standard web application the server whereas the browser is responsible only for interaction with the user, transfer of inquiries and a conclusion of arrived HTML is engaged in processing of all information, in an Ajax-application between the user and the server there is one more intermediary - Ajax cursor. It defines, what inquiries can be processed "on a place" and for what it is necessary to address on the server.

             JavaScript is intended for writing of scenarios for active HTML pages. The program on JavaScript is built in directly a source text of the HTML document and interpreted by the browser in process of document loading. By means of JavaScript it is possible to change dynamically the text of the loaded HTML document and to react to the events connected with actions of the visitor or changes of a condition of the document or a window. Important feature of JavaScript - object orientation. Numerous objects, such, as documents, hyperlinks, forms, frames, etc. are available to the programmer. Objects are characterized by descriptive information (properties) and possible actions (methods).

        Common Gateway Interface (CGI) -  (Common Gateway Interface - "the general interface of a lock") is the oldest and widespread way of expansion of opportunities of the Web server - creation of the so-called CGI programs realizing the standard lock interface (Common Gateway Interface, CGI). Such programs are capable to obtain various data from visitors and to process them, addressing if necessary to databases and other system components.

The CGI programs can be made in various programming languages - C, C++, Perl, Pascal, Java, etc. The Perl language is especially convenient as, first, it contains a set of functions necessary for this work, and secondly, is available in various operating systems, including Linux, Solaris, Microsoft Windows NT/2000.

If you develop the CGI programs in language C++, you can use library of the standard STL templates (Standard Template Library). It considerably will facilitate work with such structures of data, as dynamically broadened massifs, dictionaries and lists.

The main problem of all CGI-applications is that at each client inquiry the server loads this application in separate address space, and then initiates its performance and unloading. This feature limits productivity of appendices and possibility of simultaneous processing of a large number of client inquiries.

           ISAPI and Apache DSO - arose as means for a solution of the problem of limited productivity of Web applications which are carried out in separate address space. It appendices in the form of the library which is loading into address space of the Web server and in need of remaining there for processing of the inquiries subsequent from other clients; naturally, in this case the Web server has to support loading of such libraries. Similar appendices for Microsoft Internet Information Service carry the name ISAPI (Internet Server Application Program Interface), and for very popular Web server Apache such libraries are called as Apache DSO (Dynamic Shared Objects). Let's note, however, that at creation as CGI, and ISAPI-applications it was quite difficult to separate problems of Web design from the tasks connected with realization of functionality and logic of appendices — similar appendices generate Web pages entirely therefore all data connected with design of these pages, have to contain generally in the executed file.

       ASP - Active Server Pages (ASP) constructed on the basis of ISAPI filter. The main idea of ASP consists in creation of Web pages with the fragments of a code introduced in them in scripting languages. However, unlike considered above means, application of scripting languages for expansion of functionality of the browsers, the specified fragments of a code are interpreted not by the browser, and the server (more precisely, intended for this ISAPI library), and the result of performance of these fragments of a code replaces a fragment of a code in that version of the page which is transferred to the user browser.

Being guided by experience of colleagues of developers of the web focused information systems, among modern technologies now the most used are:

PHP (Personal Home Pages) is technology which uses the CGI-applications interpreting a code introduced in HTML page in scripting language. PHP is scripting programming language of general purpose which is intensively applied to development of Web applications. Now the hosting - providers is supported by the vast majority and is one of leaders among programming languages thanks to the simplicity, speed of the performance, rich functionality, distribution of initial codes on the basis of the license PHP.

Enters into LAMP — a widespread set of the software for creation and a hosting of websites (Linux, Apache, MySQL, PHP).

ASP.NET is key technology in architecture of Microsoft.NET Framework. The main difference of this technology from ASP from the point of view of architecture of applications is that the code which is present on Web page, isn't interpreted, and is compiled and cache that, naturally, promotes increase of productivity of applications. By means of ASP.NET it is possible to create Web appendices and Web services which not only allow to realize dynamic generation of HTML pages, but also are integrated with server components and can be used for the solution of a wide range business - the tasks arising before developers of modern Web applications.

However, as shows experiment of our colleagues engaged in web development, and world experience as a whole, the most used technologies PHP and ASP.NET now are considered. Let's consider, than these technologies differ from each other, what advantages each of them has.

Let's consider, than these technologies differ from each other, what advantages each of them has.

Programming languages ASP.NET have strict typification of data. It is the advantageous moment in comparison with PHP: will be logic mistakes which very not easy to find and correct less. On the party ASP.NET the powerful advertizing Microsoft car, and also partner programs of this firm.

     However the appeared technology ASP.NET didn't force out the LAMP (PHP) technology. It is connected with those advantages which PHP have:

Small size of distribution kits. Distribution kits of LAMP are measured in mega bytes (instead of in DVD disks as Windows/IIS/Visual studio/MS SQL Server) and are available on sites of developers.

Lack of a payment. In our opinion, under the influence of LAMP the Microsoft company went on release of free versions (Express Edition) of the tools, the necessary ASP.NET-applications for creation. But on a site Microsoft only new versions which demand the last Windows versions are available, distribution kits of LAMP are noncritical to Windows versions that, certainly, also is advantage.

Lack of a binding to an operating system. Even under the Windows php operating system it can be established by simple copying, without writing down anything in the register, without demanding creation of special groups of users, etc. After reinstallation of an operating system you won't need to "lift" long PHP and projects, on them written. In Windows it is reasonable to establish Apache, PHP and MySQL on not system disk. Even after formatting of the system section and the Windows installations anew is required to you no more than three minutes for restoration: again to install Apache as service (the apache team - k install) and to renew the list of virtual hosts (the file %System32 %/drivers/etc/hosts). ASP.NET cooperates with an operating system (only Windows, and that not any) is very close.

Set of functions. PHP provides to the WEB DEVELOPER a large number of functions for the solution of standard tasks. Founders of PHP well know, what tasks are solved more often by the developer of WEB APPENDICES. Today PHP to realize small projects it is much simpler on PHP for this reason.

The open code, gives opportunity for code audit. That is especially important - programmers of the whole world are engaged in audit of a code, promoting elimination of vulnerabilities and other shortcomings.

          Now we will compare these technologies by criteria which in our opinion, are the most essential at creation the Internet - shop:

     1. Simplicity of development – is how difficult development the Internet - shop by means of each technology. Here it will be more effective PHP technology use because PHP provides a large number of functions for the solution of standard tasks.

     2. Development cost – how many money will leave on development payment. Here everything depends on complexity of the project, but it is necessary to add that thanks to a PHP technology free of charge creation cost the Internet of shop will be smaller as you shouldn't get licenses from Microsoft.

     3. Duration of development – this process depends on two components: qualifications of the developer and complexity of the project. Complexity of the project, in turn, depends on that, how this project is standard. As shows experiment of our colleagues developers, the PHP technology is more adapted for the solution of standard tasks.

     Now it is necessary to stipulate at once that fact that both technologies are limited to the HTTP protocol and language of a marking of HTML. HTTP is everywhere used now in the World wide web for obtaining information from web sites. HTML - «language of a marking of the hypertext» - standard language of a marking of documents in the World wide web. The HTML language is interpreted by browsers and displayed in the form of the document in a form convenient for the person. In other words, PHP, ASP.NET don't offer technological advantage to the WEB PROJECT. Distinctions are shown in cost and labor input of development and project operation.

     As a result, we draw a conclusion that for creation the Internet - shop is better to use the PHP technology. This conclusion is made on the basis of an assessment by criteria which, in our opinion, are essential at creation the Internet - shop. Advantages of the PHP technology such as a successful set of functions (respectively, there are less than costs of development of the project) and lack of a binding to an operating system do this technology more preferable to development web the focused systems.

     Thus, choosing PHP, you receive a freedom of choice of an operating system and the web server, free of charge, a successful set of functions and respectively, it is less than costs of development of the project.

 

References:

1.     N. Elmanova The short review of technologies for the Internet applications http://www.compress.ru/article.aspx?id=9825&iid=413;

2.     http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html;

3.     http://ru.wikipedia.org/wiki/HTTP;

4.     http://ru.wikipedia.org/wiki/HTML