Made to Order Software Corporation Logo

AJAX, CSS, HTML, XML, SOAP, LAMP… and now Web 2.0?

Dear reader,

Yes. With all these terms, it is quite easy to get lost.

As a developer, my skills are quite extensive. I started with Logo, learned assembly language, BASIC, C, C++… and all these other languages in between, those that most people pass by such as Ada, Eiffel, Icon… And the languages you kind of have to learn because you’re in it: Bourne Shell, configuration files for 100 different software, Makefile, etc.

And once you know all of these languages, you think you’re done. Well… Not quite!

The web has got it’s own set of languages! It started a while back with SGML. A simple markup language primarily used to describe documents with simple formatting or features. SGML used tags like HTML. HTML strengthen the language so it could be extended, was easier to write, and less prone to errors. Then came XML. This is like HTML with one more aspect: every tag must be closed or marked empty. So <br> became <br/> and <td> must be closed with </td>.

A few years later, people working with HTML, XML or XHTML, noticed that the HTML language should be about the content, not the styles. Thus, they created CSS, the cascading style sheet. Yet another language! But how powerful. Now you can create UIs (User Interfaces) just like in your GUI (Graphical User Interface) desktop applications.

But to really create applications, you needed some back-end languages. Each one tried their own language. We already had many languages, BASIC, C/C++, Ada, Lisp, Logo… but somehow no one used these languages, except BASIC. Microsoft bought a company producing a BASIC language a long time ago and decided to use that for their back-end (the ASP system is powered by Visual Basic.)

Thus, new languages appeared: ASP, Perl, PHP, Ruby, for the best known. But I also used Bourne Shell and C++!

And like most other languages, they evolved from very simple systems to complex object oriented monsters.

And this was not quite enough yet. You need some local functionality so your software runs smoothly. This is done using different languages on the client system. One of the most used is Javascript. The other is, again, that MS BASIC converted to an object oriented Basic and integrated in Internet Explorer (what is that called already?!)

On top of that, we have many other plugs in such as Flash, audio & movie players, Java, Toolbars, and many many others. (notice that Java has been just a plug-in for ages, not a language you could use inside your code.)

Of note: In the last few months, we started to see plug-ins to integrate all the back-end languages on the client machines! In other words, now you can run PHP and Ruby in Firefox. This is quite exciting! It means we may some day be able to avoid code duplication in Web Applications.

And of course, you need a server. Many people use Microsoft servers with IIS and many others use Apache. These are the best known web servers, although there are many others. Among the others, some offer much better support for specialized needs (small memory, fast database access, high security, you name it.) And these servers have configuration files that use yet another language.

With all these technologies taken together, you can create AJAX, SOAP, LAMP… the list goes on.

AJAX requires the client machine to send messages to the web server under the hood. Meaning that the client does not see anything happening on their web page. That communication can take place at any time for whatever event you want. It is used a lot by Google when you login, FaceBook for most everything, WordPress to save your blog content if you take hours to write a blog entry.
LAMP are backend configurations (Linux, Apache, MySQL, Perl.) Very frankly, I do not use LAMP but LAPP (Linux, Apache, Postgresql, PHP.) And I’m probably the only one to use that acronym.

SOAP is a common XML definition used to transmit messages in a way that most everyone can reuse easily. It can also be used to save data on disk.

Okay, I know all of that stuff… so what?

Well. Simple. Web 2.0 is a mix of all of these technologies used together to generate a smooth feeling using your website (or web applications as some people say.)

And now that I know all of that, I can even tell you that we already have two examples of Web 2.0 applications at Made to Order Software Corporation: our new cart (August 2008) and Order Made!® running with our Instant Cart technology.


Post new comment

The content of this field is kept private and will not be shown publicly.
This question is for testing whether you are a human visitor and to prevent automated spam submissions.