Ajax - application in the browser
There is a new trend on the Internet: The browser content finally
becomes truly interactive - on a field level and with the feel of
desktop applications. This approach is called Ajax and it delivers
true application feel and behaviour to the Internet browser.
This page explains what Ajax is and how it works.
Elecat employs Ajax just like EleAIS
and Eleserver. Read here about the great impact of Ajax on the visitors
of your website.
Abstract for the non-technical decision
maker
Ajax is a new design approach for web applications and neither
a product nor a programming language. Ajax enables applications
inside the Internet browser by bringing true desktop behaviour
into the web browser including immediate responses to user
actions or entries. Existing web server software cannot be
converted to support Ajax. Ajax server software must be constructed
from scratch. Most currently used (old) programming languages
and tools are not well suitable for Ajax. This makes the developing
Ajax server software substantially more expensive than conventional
web software. Therefore, using standard products supporting
Ajax like Elecat and EleFamily is certainly the better and
more cost-effective solution.
The essential advantages of Ajax over conventional web server
design:
- Ajax makes applications in the browser truly interactive
on a field level, very similar to desktop software.
- The Ajax application responds immediately to any user
action in the browser where needed.
- An Ajax application behaves and feels like a desktop
software in the browser and the "batch feeling"
is gone.
- Updating single items (fields) in the browser results
in much better user guidance and higher user productivity.
- With Ajax, the server can 'push' data into the browser,
which is impossible for a conventional web server.
- Overall, Ajax enables delivering much more sophisticated
and user-friendly applications into the web browser.
|
Beware: Most of the following text is for the rather
technically minded reader!
What is Ajax
Ajax is a new design approach for web applications. Ajax is not
a new product or programming language. Ajax is a new form of constructing
websites with truly interactive and immediate behaviour that substantially
improves the user’s web application experience in delivering
the functionality as well as the look-and-feel of desktop application
software to Internet browsers.
"AJAX" stands for Asynchronous JavaScript and XML. Ajax
uses these proven techniques in most Internet browsers, including
the very popular and superior Mozilla Firefox and Microsoft's old
dog IE.
Theoretically, Ajax can be implemented in any of the conventional
programming languages although some are better suitable than others,
of course. For example, implementing Ajax in the most wide-spread
web server languages PHP or ASP (IBM) is much more cumbersome and
expensive than in truly object-oriented environments. (Let's
not discuss PHP5 here!)
In any case, Ajax needs a completely new design and "thinking"
of the web server software. Some easy conversion of existing applications
is generally impossible. This is also why Ajax doesn't come for
free - except in new web applications like Elecat, EleAIS or the
other web server enabled software products of EleFamily.
How does it work now - without AJAX?
A classic web application model (without Ajax) always follows these
steps:
1. Some user operations in the browser send some data input to the
web server by transferring the entire form
or frame.
2. The server does some batch processing
typically of several fields and input
values sent inside the transmitted
form.
3. And the server then returns the resulting HTML page
to the browser client (or frame at minimum).
Today, browsers and web servers use old-fashioned
batch communication
In this classical approach used by over 99% of today's websites,
the interaction between browser and server is always based on transferring
entire web pages or whole frames at minimum. This is stone-age technology
from the 70ies that was outdated by the mid 80ies. But due to today's
web servers this old-fashioned technique is still the standard practice
on today's Internet.
Classic web applications therefore have at least these great disadvantages:
- They are always refreshing the whole browser page or at least
entire frames in response to some user actions.
- There is no immediate and field-related processing, checking
or response from the server, because always the entire form or
frame is transferred to the server, sent back and refreshed in
the browser.
- Much of the traffic is redundant, because this approach always
need to transfer whole forms or frames.
- The communication between web browser and web server is a batch
transfer of several or many values similar to the old mainframe
approach that was the rule in the 70ies and early 80ies when dumb
terminals were is use and all actions and even the simplest checking
of user entries were performed by the server in a batch procedure.
What does AJAX improve and how?
Ajax delivers the much better approach
With Ajax, single web form elements, buttons or fields are processed
and updated individually and immediately,
so that there is no full-page or frame transfer anymore. Data
transfer to and from the server is on
field level and therefore in much smaller chunks of data
and with an immediate response for
the user.
The many benefits of Ajax
The Ajax approach provides many benefits apart from a much better
user experience:
- The server-side application can now be designed to compute answers
as singleton data and not as full pages to be redisplayed. This
allows for a much more granulated and and much better and cleaner
software design.
- Ajax makes applications in the browser truly interactive on
a field level very similar to desktop software.
- The application in the browser responds immediately to any
user action where needed.
- An application in the browser behaves and feels like a desktop
software and the "batch feeling" is gone.
- Updating individual items (fields) in the browser results in
much better user guidance and higher user productivity.
- With Ajax, the server can 'push' data into the browser, which
is impossible for a conventional web server.
- Ajax decreases the traffic between server and browser.
- Ajax divides this traffic into smaller chunks of data.
- Overall, Ajax enables delivering much more sophisticated and
user-friendly applications into the Internet browser.
More sophisticated server programming required
The bad news is: One cannot just convert an existing web server
application to deliver Ajax, because Ajax requires a fundamentally
different concept and design approach (very similar to desktop software).
Therefore, one must redesign and rewrite any conventional server
application from scratch to deliver Ajax functionality and in most
cases one will better use some different and more sophisticated
programming language and tools than those used for the old batch-type
websites.
(Of course, some vendors of Ajax tools claim just the opposite
but this is the usual marketing blah-blah and simply not true!)
Ajax server software is much more expensive
to develop
Because of these reasons, web server development in Ajax is more
expensive than conventional web server software and this is another
reason why it makes more sense to use standard software products
like Elecat, EleAIS or the other web server enabled products of
EleFamily. Another reason is, by the way, that many of the younger
and/or low-qualified developers of today's websites will have a
hard time or even fail, because Ajay is very demanding for the novice
or layman programmer. Therefore, you better have some real pros
to write Ajax web server software who know much more than some HTML
and PHP.
GMail (Google mail) is in Ajax
Ajax is not exotic, it's use is only still rather rare today. Probably
the most prominent example for the use of Ajax is Google mail.
Ajax in Elecat and EleFamily
In our case: full re-use of our EleFamily
desktop software library
Our design approach and our tools for implementing Ajax inside Eleserver,
our web server engine, are based on the ingenious advantage of being
able to fully re-use our very comprehensive
object-oriented EleFamily class (code) library and most of
the logic from which the EleFamily desktop software is constructed.
This is enabled by our development tools and our general design
approach. The architect of EleFamily has over 30 years of experiance
and has used object-oriented design since 1987! Therefore, almost
all of our web server engine Eleserver is constructed from existing
EleFamily components and it is, of course, all in purest object-oriented
design.
All it needs for Eleserver to turn our desktop application software
to delivering Ajax functionality to the Internet browser are some
relatively small changes to the user interface processing. About
90-95% of the existing logic is re-used.
Perfectly suitable for hyprid applications
This is also why Eleserver and EleFamily are perfectly suitable
for hybrid applications:
- For the "power user" on the desktop and in the office
inside a LAN (local area network)
- In the Internet browser for the occasional, or remote, or traveling
user.
Some more details - only for the more technically
minded reader
EleFamily and also Eleserver were developed and written in the
mother of all object-oriented languages and that is Smalltalk, the
most mature, most sophisticated, most complex and also most productive
software development environment today. A special class library
also written in Smalltalk delivers the user interface functionality
needed to construct and support Ajax.
We had intentionally constructed the user interface of EleFamily
(desktop) entirely in data from the very beginning. It was therefore
quite easy and very quick to re-use these data definitions of the
UI for generating the UI in HTML in Ajax style.
Only the way how the actual user interface is constructed from this
data differs between Eleserver (browser and Ajax) and EleFamily
(desktop) and so does, of course, the transportation media for the
UI consisting of HTML and JavaScript.
Full re-use of all of the application and
business logic - only one source for desktop and web server
All of the application logic, the business rules, the data model
definitions and even the UI definitions (in data) are fully re-used
by both "appearances" of our software and are therefore
identical on the desktop and inside the Internet browser. Additionally,
the multi-level class (code) inheritance mechanisms of EleFamily
are also re-used inside Eleserver.
Inside our software we just turn one switch and the desktop software
acts as a web server or vice-versa, because they are really the
one and the same class library with just a few subclasses that handle
the different behaviour as a web server.
Some special Ajax links
If you want to learn more about Ajax in general, we provide you
below with links to some websites discussing Ajax. However, linking
these websites does not mean that we stand behind all of what is
published there. We just want to assist you a little bit in getting
deeper into the subject by reading other people's opinions and experiances.
| Wikipedia |
Often not the best source (often manipulated)
but compact and correct in this case |
| Ajaxian |
A very technical website totally devoted to Ajax in the style
of blogs |
| |
|
| |
|
| An article about Ajax |
A descriptive and not uncritical article about Ajax in general. |
| |
|
| |
|
| |
|
| |
|
| |
|
|