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