Web Developer's Virtual Library: Encyclopedia of Web Design Tutorials, Articles and Discussions


WDVL Newsletter

Active Server Pages
JSP/Java Servlets
Microsoft SQL Server
Daily Backup
Dedicated Servers
Streaming Audio/Video
24-hour Support    

jobs.webdeveloper.com

Hiermenus


e-commerce
Partner With Us















Developer Channel
FlashKit.com
JavaScript.com
JavaScriptSource
Developer Jobs
ScriptSearch
StreamingMediaWorld
Web Developer's Journal
Web Developer's Virtual Library
WebDeveloper.com
Webreference
Web Hosts
XMLfiles.com

internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


Of Lego Blocks and Puzzle Pieces

May 31, 1999

"It seems to me that my job as a webmaster has continually been about fitting together a zillion little puzzle pieces. This piece talks to that piece and that piece talks to this piece. It is easy to get overwhelmed." - anonymous reader

I have heard this statement about a hundred times in one form or another.

I guess I can see why someone would say that building web applications is like putting a puzzle together. The myriad of web application development technologies could certainly look like a jumble of puzzle pieces.

However, understanding web application development in terms of a puzzle metaphor is just about the worst thing you could possibly do for yourself! This metaphor only leads to confusion and if you adopt this metaphor, you'll quickly find yourself becoming overwhelmed with the myriad of technologies.

Web application development technologies are definitely NOT puzzle pieces.

Puzzle pieces fit together in specific, "correct" ways. That is, although puzzle pieces look similar in many ways, every piece is very different from every other piece. One piece cannot be substituted for another piece unless you want the final picture to look really weird.

With a puzzle, there is always a single, overarching, "right" way to put the pieces together and each piece is unique.

In web application development however, there is no right way to solve a problem and no truly unique technology. Rather, there are multiple possible configurations of essentially redundant tools, each which solves the same set of problems.

For example, as we will see later, CGI, ASP and Servlets all serve the same basic function. They perform server-side processing. Similarly CORBA, DCOM and enterprise Java Beans specify how to talk to distributed objects. Likewise XML, HTML, SGML, XSL and CSS are all similar tools for marshaling and displaying data across a network.

As such, web technologies within the same categories, can be used interchangeably in MOST situations. Choosing one or the other may often be more of a bureaucratic/administrative/standards decision than a technical one.

Rather than using a puzzle metaphor, I like to think of web application development in terms of legos. With legos, there is no overarching "right" way to solve a problem. There are just a whole bunch of block categories (6 hole, 4 hole, 2 hole) which can be put together in an infinite number of ways.

Certainly there is variety within the categories (some 6-holed pieces are red; others are blue), but all lego blocks, regardless of their individuality within a category, are still equivalent as members of their category.

The lego metaphor provides a way for you to make sense of the forest of existing technologies and the forest of future technologies. Rather than understanding each technology on its own, you need only understand the categories into which individual technologies fall. Once you understand where a technology fits into the scheme of a web application, you already understand 60% of that technology.

Past that, you simply need to invest in a good reference manual for help with syntax and API issues.

And so that is what I hope to do in this tutorial. I would like you to go away from this tutorial with a firm understanding about how web applications work generically, so that you will have a framework in which to understand all existing technologies you come across and all future technologies which come out. We will survey technologies in terms of which categories they fit into and how to understand the requirements and functions of those categories.

Introduction to the Web Application Development Environment (Tools)
Introduction to the Web Application Development Environment (Tools)
The Thick of Things


Up to => Home / Authoring / Tools / Tutorial




Jupiter Online Media: internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and Jupiter Online Media

Jupitermedia Corporate Info


Legal Notices, Licensing, & Permissions, Privacy Policy.

Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers