Page 235 - DCAP312_WEB_TECHNOLOGIES_II
P. 235
Unit 11: Web Services in Visual Studio .NET
11.2.4 Technologies used to Build Web Applications Notes
Originally, the Internet was designed to serve “static” pages. A rudimentary technology based
on CGI was developed to allow information to be passed back to a web server. During the last
ten years, four main technologies have emerged to replace CGI and the basic CGI technology
has been further refined, using Perl as the primary programming language. This has lead to 5
competing technology stacks that differ in the following attributes:
• Programming languages (Lang)
• Operating system (OS). This can be Linux (L), Unix (U) or Windows (W).
• Web server (Server)
• Database support (DB)
• Sponsoring companies (Sponsors)
The following is a more detailed explanation of each of these technology stacks:
CGI/Perl: CGI is the granddaddy of interfaces for passing data from a submitted web page to
a web server. Perl is an open-source language optimized for writing server-side applications.
Together, CGI and Perl make it easy to connect to a variety of databases. Apache tends to be
the web server used because it runs on all major operating systems and is highly reliable. Other
open-source languages such as C and Python can also be used. For high-end applications,
especially e-commerce sites like amazon.com this technology is used because it is so powerful.
However other technology stack can be implemented more easily and quickly.
Macromedia: Sells a collection of products that make it easy to build small and medium-sized
web applications. The primary tools provided by Macromedia are ColdFusion, which is an engine
that lets one program in CFML (Cold Fusion Markup Language) and Dreamweaver, which
is a development tool for making web applications. Because Macromedia is a smaller player,
they have focused on trying to make their products compatible with components from other
technology stacks. Macromedia also sells Flash and has tools for using this in web applications.
Java/J2EE: Is a robust, well-developed method for creating medium to large web applications.
It has support from a number of large industry players. Sun Microsystems provides the Java.
IBM (Web sphere) and BEA Systems (Web logic) are two major suppliers of web application
servers and associated software to make it easy to create and manage these applications. There is
a large body of Java programmers available to write the code. This technology stack works with
a variety of databases and is particularly well-tuned to mainstream commercial databases like
Oracle and DB2. IBM has developed a development environment called Eclipse that is making
it easier to write applications, but in general, Java is associated with powerful applications built
by capable programmers.
LAMP (Linux, Apache, MySql, PHP): Is a relatively new technology stack for building web
applications that has been adopted for many small and medium-size web tasks because: (a) the
entire technology stack is available through open-source; (b) it works well; (c) it is easy to learn;
(d) it allows one to build a web application quickly; and (e) there are many open source code
samples that can be bolted together to make a full solution. LAMP relies on CGI for data exchange
between the server and browser, but the CGI commands are hidden from the developer. LAMP
does not have all of the capabilities of J2EE, but it gains ground every year. Sites that use PHP
can be seen by the “.php” as part of the page name in the URL. LAMP has become especially
popular with ISVs (Independent Software Vendors) because they can create an application and
sell it without having to pay for the underlying (open source) software.
Microsoft .NET: Microsoft is using their .NET strategy to take over the server market the way in
which Windows, Office, and Internet Explorer have taken over the desktop. The stack comprises
LOVELY PROFESSIONAL UNIVERSITY 229