Tales from the Machine Room


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

XML Che Passione!

UL - Come faccio a connettermi all'applicazione "X" da internet?
IO - Non puoi.
UL - Ma mi serve assolutamante!
IO - Non puoi assolutamente.
UL - Mi serve!!! Sul serio!!!
IO - Non puoi!!! Sul Serio!!!

Scenette di questo tipo capitano piu' o meno una volta al giorno. E qui ci va una piccola spiegazione.

Tempo addietro, i vari UL sentirono il bisogno di una applicazione per la "schedulazione delle risorse operative volta alla riorganizzazione delle attivita compartimentali" (questo e' quello che stava scritto sulla proposta...). Il che, tradotto in un linguaggio che ha qualche senso, significa "mi serve un coso che mi faccia vedere una tabellina con chi si suppone che stia facendo che cosa, cosi' posso spostare tutti i numerelli sulla griglia peggio del gioco del 15".

Il che non e' che cambia il fatto che se un programmatore si sta girando i pollici o sta cercando un sito da dove scaricare TheLordOfTheRing.mpg non stia effettivamente lavorando come da piano quinquennale... ma fa tanto "organizzazione"...

Ecco quindi SL prendere in pugno la situazione... abbiamo 10 programmatori che non stanno facendo un tubo... che si fa? Si contattano i soliti rimbambiti Yugoslavi e lo si fa fare a loro (ovviamente)... perche' i nostri programmatori costano troppo (sorvoliamo sul fatto che li paghi anche se non fanno un tubo).

Ora, non si sa bene perche', ma i bischeri di palude Yugoslavi decisero di 'esperimentare' un po'. Cosi', invece che una normale Web Application, decisero di creare una vera applicazione Java. Una cosa con le finestre, i pulsanti e tutto l'armamentario.

Questo ovviamente fece tanto "wow, siamo Microsoft!", pero' comporta alcuni problemi.

Per prima cosa, ogni volta che uno degli UL avvia quest'affare, l'applicazione apre non un a, non due, non tre, ma bensi' 10 connessioni al database! Perche' 10? Non lo so. Secondo me hanno preso il codice che gestisce il pool di connessioni delle web application e lo hanno riportato pari pari in questa chiavica. Il che significa che se 20 persone avviano st'affare mi ritrovo con 200 connessioni sul database. Il che non fa un gran bel vedere...

Il secondo problema e' che l'applicazione ha tutti i parametri di configurazione hard-wired nel codice. Quindi il giorno che decidiamo di spostare il database da un server ad un altro si tratta di mettere le mani nel codice...

Il terzo problema e' che, dato che non ho nessuna intenzione di piazzare il database server su internet, l'applicazione rimane usabile solo dalla rete interna, e di usarlo all'esterno non se ne parla. Si', in teoria, si potrebbe usare SSH o un altro software di tunnelling per accedere al database attraversando il firewall, ma questo e' un gran casino per via del punto (2) sopra citato, inoltre la capacita' dei vari UL non e' sufficiente a gestire cose come "tunnelling", e, per completare il tutto, gli un ici due posti da dove questo coso avrebbe un senso di essere usato sono gli uffici di $immensa_societa e gli uffici di $assicurazione, i quali BOFHs pero' non consentono nulla che non sia http attraverso il loro proxy.

Eccomi quindi a dover spiegare un paio di migliaia di volte all'UL di turno che se vuole usare quella chiavica deve venire in ufficio.

Tutto questo fino a stamattina, quando SL mi appare davanti al tavolo con la faccia e l'entusiasmo della domenica, il che vuol dire che ha scovato una qualche cazzata su una qualche rivista e gli sono venute delle strane idee...

SL - Riguardo l'applicazione "X"...
IO - Cosa?
SL - Sai che ci sono un sacco di richieste di poterla usare anche dall'esterno.
IO - Si che lo so, e ne abbiamo gia' discusso della cosa. Non e' possibile, per una serie di motivi di cui abbiamo gia' parlato.
SL - Ma mi e' appena venuta un idea strepitosa per poterlo fare!
IO - Hai di nuovo mangiato i cavolini di bruxelles a cena!

SL procede a cancellare la lavagna che ho in ufficio (cosi' non sapro' mai chi e' che deve ancora riportarmi il vecchio laptop) ed a spiegare il di lui piano...

SL - Allora, questa qui' e' l'applicazione (disegna uno scatolotto), noi facciamo un wrapper attorno all'applicazione (disegna uno scatolotto intorno allo scatolotto) in modo che possiamo inviare al wrapper dei comandi XML tramite un application server XML-compliant (disenga un altro scatolotto con frecce che vanno verso il primo) che viene installato su uno dei server in modo che ci si puo' connettere dall'esterno!

La mia faccia doveva esser qualche cosa tipo questa...

IO - Hummm... tu hai idea di cosa sia un "wrapper" vero?
SL - (guardando il suo schema) Be'...
IO - Ed hai idea di cosa vuole dire fare un application server XML-compliant?
SL - (facendo qualche ritocchino al disegno) ...dunque...
IO - E come lo risolvi il problema del login di quell'arnese?
SL - Login?
IO - Si'. Quando avvii quel coso ti chiede uno username ed una password, se fai un "wrapper" quello cosa fa? Avvia una nuova sessione ogni volta? O riusa quella che c'e'? Nel primo caso come distingue il wrapper una richiesta da un altra? Nel secondo caso come distingue l'applicazione un utente dall'altro?
SL - Hemmm... nell'XML...
IO - Lo sai che roba e' l'XML?
SL - ...hu....

Non credo che quell'arnese sara' disponibile ancora per lungo tempo...

Davide
06/10/2004 00:00

Previous Next

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.

No messages this document does not accept new posts

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