Comments & Opinions

Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Login/Register


Do you remember the "client-server"? It was the '90, I was working on a nice MONOCROME monitor, a thing that was about 35Kg and with a nice amber color that was kinda scary. At that time, if you were "cool" you had an EGA color monitor. Olivetti was still making typewriters and Google didn't existed.

In fact, INTERNET was still "experimental". In the offices you had either Novell or TokenRing (and you were cursing in any case).

Then, somebody started talking about "client-server" way. And what the fuck was it?

The story is that in the beginning, computers were very big and very expensive, as such a 'serious' company was buying ONE of them and it was for everybody. Those were the "Mainframe", and it was good if they supported 4 users at the same time. So if peoples wanted to "collaborate", they needed to have a software for that. And software for mainframes were very expensive, so nope, you don't.

Then IBM decided that they wanted more money and invented the "PC". The problem was that the "pc" was completely isolated from everything, so if you wanted to "pass stuff" to somebody you had to, really, "pass stuff", as in "pass a diskette" to somebody else.  But IBM was also selling the bigger Mainframe, so they had the idea to connect the PC with the mainframe.

But.. How was it going to work?

Basically there were 2 way, the "the Mainframe is God and the PC can barely squint at its majesty", so the pc was basically nothing more than a "dumb terminal" and the other way was that PC and mainframe should, somehow, 'cooperate'. So to have some sort of software on the pc that could access the data of the mainframe and manage them as "local".

To this we should add that the "network" was evolving, Internet was getting out of the shadow and it started eating up all the old BBSes. And so, somebody had the idea: CLIENT-SERVER!

You build a software that "run" on the server (mainframe or whatnot) and it does the "number crunching" and the "big data management", on the PC you have a second program (the Client version) that interact with the first to request the data and do the visualization for the user. This split the job in two and give to each one their right share.

Then... Then what the fuck happened? The client-server has been around like a failed idea for some years, and then it disappeared in the mist. Nobody even talk about it anymore and nobody cares, like the "paperless-office" or Windows Vista. But why?

For several reasons actually. First of all, everybody that had a "PC" had already decided that the best way to use it is to do their own things. Everybody had their own "sheet" made in Lotus 1-2-3 (there was no Excel at that time) and documents made in Wordstar (there was no Word either). And when the "network" was introduced, what everybody wanted was a 'shared something'. An easy way to chuck all the 'sheet' and all the 'documents' into a single big wastebasket where everybody could pick wathever they needed and the toss it back in when done.

The "server" was not seen like something that should "do" stuff, the question wasn't "what can it do" but "how many documents can we stuff in it".

Then somebody came out with the "WodWidWeb" and a thing that could show cats' picture on the screen.

And to cap it off, the rest of the world realized that a) write SERVER application is fucking difficult and b) write CLIENT application is a royal pain in the ass. That means EXPENSIVE. While any barely competent monkey can write a webpage.

Hold on, if you're going to write a comment on the like of "but the web is client-server.." STOP RIGHT THERE. The Web IS NOT client-server, the concept of 'web' and the concept of 'client-server' are VERY, VERY different.

The original idea was to have the DATA-PROCESSING and ARCHIVING parts on the server, basically a huge database with ad-hoc code built in to do the heavy data processing. The "client" was supposed to be an ad-hoc application, relatively light (note the 'relatively'), that was supposed to perform the interaction with the user, so input checking and display of the result. The server was supposed to provide the "raw" data to the client, as much as 'raw' as possible, and the client was to perform the refining and display.

In the case of Web, the client is a stupid thing that only need ot show whatever the server sent on the screen, as much as possible as whoever wrote the page meant. If there is "input", the input is sent to the server as-it-is and the server has to check or manage that.

So everybody thought "client-server? Yeah, sure, nice, now how big is the 'shared drive'?".

And obviously, everybody went after the money.

Novell, that was very capable to build Application Server, did as much as they could to make their customer to forget about it. The important thing was "we have shared drives! And shared printers!" and since Novell was the "best" at the time, everybody else did the same. At the point that even UNIX! I mean, a SERVER OS, had to have NFS shares!

I remember years ago a consultant, a so-called "database expert" came to ask the credentials to RDP in the database server, and when I asked him what for, he replied "how can I connect with the database otherwise?". Because he was an "expert", but had no idea that his CLIENT, installed on HIS COMPUTER could very easily connect with the server. His concept of "use the server" was to RDP in the server and use the client directly on the server.

And today? Today, that it's almost 2020 and more than 30 years have passed, when we talk about "network", we meant the Web and all the fucking "shared drives". And the maximum we did was to add a thin layer of "web" paint on everything. While I curse because my users decided that the best way to work is to have a shitload of Excel sheet with a bazillion of cells each and all connected to each other, so when you change the value in ONE cell the whole thing start churning and after 45 minutes spent recalculating the universe, tells you that the answer is 42.

What is the difference between today and the '90s? That Lotus 123 isn't here anymore. That's it.

Davide Bianchi
25/10/2018 14:01

Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.

7 messages post new
MaxR By MaxR - posted 26/10/2018 09:34 - reply

...e la citazione alla Guida Galattica era obbligatoria :\)

Che tristezza, in effetti.

Buon WE a tutti



Messer Franz By Messer Franz - posted 26/10/2018 13:00 - reply

OK, bell'articolo, tutto a posto, ma ti assicuro che quando ho iniziato a leggerlo mi aspettavo che finisse con una disavventura PHP.

Eviterò i commenti "no, non va come prima, adesso i programmi sono migliaia di volte più pesanti (vi ricordate che il win '95 era da 16 mega?)" ma aggiungo: non importa la tecnologia, quando l'utente non sa cos'ha davanti, il tecnico vuole spiegarglielo ed il capo dice "chissenefrega, tanto va bene anche come lo vuole usare lui" ed il tecnico passerà il resto della sua vita tormentata a rimediare agli errori dell'utente che fa cose che non dovrebbe fare e che SAPREBBE DI NON DOVER FARE SE IL TECNICO GLIELO AVESSE POTUTO SPIEGARE, le cose possono solo peggiorare.

Ma siamo noi che non capiamo di management.

Quello che gestisce le Aziende d'oggi in modo moderno ed agile, quelle che sono in crisi e che causano la recessione mondiale o almeno la peggiorano.

Sì, proprio quelle.

ps: DB, fà il partito "tecnologia, democrazia e calci in culo a chi merita" e io ti voto 3 volte per ogni elezione.

Messer Franz

Aleritty By Aleritty - posted 27/10/2018 22:24 - reply

Beh, per il Ueb oggi c'è Uebsockets che funziona più o meno come dici tu (o almeno può farlo).

Con Node.js e mongodb io lo uso esattamente come hai descritto tu... Client Server...

Solo che oggi i client contemporanei sono TANTI ed i server anche, ed ecco cosa è cambiato oggi rispetto a ieri


Mirko Schiavolin By Mirko Schiavolin - posted 29/10/2018 11:59 - reply

Io lavoro per un'azienda (tedesca) che sviluppa un software client-server... con application server e tutto quanto. Una mosca bianca?

Mirko Schiavolin

Anonymous coward By Anonymous coward - posted 29/10/2018 17:05 - reply

Io ho avuto a che fare con dei consulenti di una nota azienda mmerigana (quella che inizia con A e finisce per ccenture...) che mi hanno chiesto di installare su Red Hat "l'interfaccia grafica" e VNC server per potercisi collegare da remoto... Per fare cosa? Lanciare uno script bash. :|

Anonymous coward

Anonymous coward By Anonymous coward - posted 02/11/2018 12:35 - reply

<D> E per concludere, il resto del pianeta si rese conto che a. scrivere programmi Server e' fottutamente difficile e b. scrivere programmi client e' una rottura pazzesca. Il che significa COSTOSO. Mentre qualunque babbuino semisenziente e' capace di scarabocchiare una pagina Ueb'.

Secondo me anche scrivere una BUONA interfaccia web è difficile e costoso, ed infatti gli applicativi web fatti bene sono una rarità....

Se non si fosse diffuso il web, oggi avremmo programmi client-server che usano giga di ram -sia sul client che sul server- per processare "hello world"

Anonymous coward

Massimo M. By Massimo M. - posted 06/11/2018 21:18 - reply

Io dico spesso che siamo passati da un mainframe e terminali stupidi, a un server web con client semi-stupidi. Alla fine non tutto il concetto di "grosso sistema con tutti i dati sopra, e N terminali stupidi che vi accedono" era cosi' sballato.

Massimo M.

7 messages post new

Previous Next

This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.

This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project
Powered By Gojira