No such thing as CONTENT

My headline is evidently not true. My point here is to show what happens, when the level of abstraction within a concept is too high. The consequences can be dramatic!

Somehow along the web-sites and portals in our language crept in a concept of CONTENT! This is a general term for almost anything. This is why its semantic value is next to zero.

Let’s start from the concept of book . This is a very general concept of any kind of organised text. As we know this concept has been very useful for centuries. It doesn’t separate the purpose of the text. It can be from science research report to poems. It can contain figures and pictures.

When web browser was created in Cern Switzerland, its usage was to extend classic book by adding navigation to pure hierarchical turning it into intensive network. For the reader this meant a possibility to jump quickly and meaningfully inside the text and return back again. However the technical solution of this jumping problem was not restricted only into the current document but anywhere in the net. This enabled it to be extended and used to collect a “virtual” document with parts with physically distributed locations. All this was fin and exploded the use of browsers as we all today know. The folder structure inside of the web-server looked like this:

The next step was actually the critical one that created a unwanted consequences of this development.

From the beginning of its extended usage there was an eminent demand for bidirectional activity, but this technology was completely designed for one-way traffic only and the return messages where purely navigational addresses what to show next. The protocol was extended to allow simple text fields and returning input from them. In this way an application crept into HTML, but the facilities around we primitive in one word lousy !

At this time client server and OO environments had already develop pretty nice rich user interfaces in distributed environments. Now this browser /HTML stuff forced us back to stone age and the whole development had to be restarted from the very bottom –by the way it has now arrived yet.

This history partly explains why current portal  ( even service portals) looks like a pile of papers rather than an application. In most cases what would be needed is a real application with its layers. Here the issue of client device and GUI are minor details. In this way the full picture is following:

We have two big obstacles to achieve this. The first is still existing poor browsers + HTML and the second is the poor backend systems that don’t meet their current requirements at all.

The ideal portal consists mainly of the blue application, which shows the real business applications’ current state rather than static “documents” and the yellow part is marginal and minimal. Today in most cases the situation is completely other way round.

Let’s take a couple of examples to illustrate this. The first example: You want to show your organisation structure and something of the people holding position in there in your portal. This is clearly a situation where one should go to domain objects instead of starting to write static pages. The next fragment of a domain class model gives you all the information you can need here:

Now your task is to select the information you want to show form these objects and route that to GUI.

Next example is a sales catalogue on a web shop:

The required extract from domain class diagram is the following:

This is the genuine resource of the product and pricing information and this is what should be shown to web-site visitors.

By the way these two class diagrams are examples of those few real domain patterns.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: