Gli "Ospiti" della Sala Macchine


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register


Nota: i miei commenti (quando ci sono) sono in italico

Forse ho rubato le caramelle ad un bambino

Ultimamente in azienda c' molto fervore per un colossale progetto di CRM che, iniziato da $grande_softwarehouse_tedesca in outsourcing ora finalmente arrivato alle porte della produzione da noi, anzi, una parte in produzione lo gi con risultati ottimi per loro, un p meno per noi che ancora dobbiamo gestire a mano un tot di cose.

Comunque, questo progetto prevede fra le altre cose un caricamento di certi dati sull'applicativo partendo da un file XML estratto dalle basi dati dei server centrali.

Prima di procedere facciamo un breve excursus su come abbiamo iniziato ad essere coinvolti nel progetto.

Una bella mattina di inverno una collega (quella che era molto incinta e che ora, dopo la maternit tornata al lavoro ancora pi bella di prima) mi chiede cosa ne so di XML poich $Boss da noi e $Rimba1 dai crucchi, i $PL (no, non PirLa, ma Project Leader... ma poi la cosa non si riveler cos diversa....) le chiedono di produrre il file di interfaccia per alimentare il file XML.

Non che sia un mostro di nozioni XML, anzi, ma con qualche ricerca mirata su gurgle trovo quanto serve:

$IO - allora: fatti dare lo schema XML che vediamo com' in modo che scriviamo un bel programma che formatta in un file di testo con i dovuti separatori, virgole o altro. Questo file se lo potranno passare in un parser che far quello che deve fare.

Nota: Tenete presente che i dati di partenza sono tutti su mainframe con il vecchio OS/390 (lo z/OS secondo i soloni dei sistemi centrali troppo nuovo e non garantisce la necessaria garanzia), parte su DB2, parte su DL/I e parte su VSAM. Il linguaggio, ovviamente, cobol.

Un paio d'ore dopo entra $Collega_che_era_molto_incinta che mi d la ferale notizia:

$Collega - ehm... pare che vogliano direttamente il file XML come cavolo facciamo? $IO - Strano, ma va b, chiedi a $Boss di acquistare un parser decente e senti il collega della rete di prestarti un server che facciamo noi. $Collega - Sai, l'ho gi chiesto (sveglia la ragazza)... $Boss ha detto che dobbiamo fare tutto su host... in cobol!!! Sai, non abbiamo pi budget sul progetto...

(Tralascio la parte in cui cerco di lanciarmi su per le scale con il mio badile)

Questo il modo in cui il progetto partito da noi, lascio immaginare il proseguio. Dico solo che alla fine il programma di estrazione e formattazione in XML pronto ed pure abbastanza efficiente (cavolo quanto in gamba quella donna!). La situazione che si viene a creare la seguente: file di initial-load 11GB, file incrementali 1 GB al mese! Ognuno di questi grandi XML contiene n flussi XML pi piccoli: non possiamo fare n files perch l'host non per nulla flessibile.

Prodotti i file telefoniamo ai rimbambiti in Germania per mandare l'initial-load:

$IO - Ehi, abbiamo il file: un p grosso, ma il Connect non dovrebbe avere problemi
$Rimba1 - Connect? Non puoi mandarlo via FTP?
$IO - Certo, se avessimo la porta 21 aperta: non hai letto la parte sulla sicurezza?
$Rimba1 - Ah, gi... ma noi non abbiamo mai usato Connect... che cos'?
$IO - (alzando gli occhi al cielo) Vai a pagina 5 della documentazione di $Boss
$Rimba1 - Ah, ho capito: ti passo $Rimba2 che se ne occupa lui
$Rimba2 - Ciao $IO eccomi, sono pronto quanto il primo file?
$IO - 11GB. Hai abbastanza spazio?
$Rimba2 - Aspetta... si, ho 20 GB liberi sulla directory del Connect
$IO - Ok, parto

Click click.... ronf... ronf... (provate voi a trasferire 11GB su una linea da 8 MB)no grazie

$IO - $Rimba2, ci sei? Il Connect ha finito: hai il primo file.
$Rimba2 - ... click click.... ok, ti facciamo sapere.

Fast forward di 2 settimane (si, 2 settimane...)

Entra $Collega in ufficio con una faccia un p strana... seguita da $Boss... guai in vista!

$Collega - sai, mi ha chiamata Rimba1
$IO - alla buon'ora: gli mandiamo gli altri?
$Collega - no, non sanno splittare i file.
$Io - ma cosa cav... LORO, che ci vendono una roba in XML non sanno split...
$Boss (zittendomi bruscamente) - lo facciamo noi da host.
$Collega - ma $Boss, lo sai che il cobol rigido: se non sappiamo a priori quanti flussi sono da separare non possiamo farci nulla. No, scordatelo.
$Boss (guardandomi) - e qualche accrocchio in REXX?
$IO - lascia stare: semmai possiamo passare dallo unix e splittare l
$Boss - no, yadayadabubu... (non ci ho capito una fava, ma il concetto che il "sacro" unix dei dealers non deve essere "inquinato" dal CRM, e, siccome qualcuno lo penser, no, da noi linux non pu entrare per motivi di prestigio... per favore niente commenti... vabbe'sto'zitto...)
$IO - Ok, chiama i rimbambiti e fammici parlare.

Componinumero

$IO - Ciao Rimba1, mi spieghi il problema?
$Rimba1 - allora: noi riceviamo il file sul Connect dello unix, la cartella in cui arriva una share che il server winzozz vede come unit di rete. Il programma di caricamento del $CRM scoppia.
$IO - sistemate il programma
$Rimba1 - finitisoldi, ne vogliamo altri
$IO - usate il parser per spezzarlo
$Rimba1 - finitisoldi, ne vogliamo altri
$IO - fate un programmino in java per spezzarlo
$Rimba1 - finitisoldi, ne vogliamo altri
$IO - usate lo unix del connect per spezzarlo con un csplit
$Rimba1 - lo unix non nostro
$Boss - Senti Rimba1, quanto ci costa farvi sistemare il programma o acquistare un parser adeguato?
$Rimba1 - costerebbe come minimo $cifrone (ma che razza di parser vogliono?)
$Boss (incazzato nero) - ok, ti facciamo sapere

E sbatte gi il telefono.

$IO - Boss, sono dei pirla, e tu pure: per $cifrone / 20 te lo risolvo io il problema, ci stai?
$Boss - Figurati, se non ci sono riusciti loro....
$IO - Ci stai o no?
$Boss - Sempre testardo vero? ok fammi sapere...
$IO - Aspetta.... tu firma la mia proposta (click click .... swirr.. stampadocumento)
$Boss - uff.. che fiscale che sei... ecco: fammi sapere...
$IO - no, aspetta che ti d la soluzione

Scarico GNUWIN32 (1 minuto), installo (2 minuti), scrivo un bello scriptino .bat con csplit per winzozz che spezza l'input ad ogni TAG finale (5 minuti fra preparazione e test con files di esempio), scrivo 2 righe di documentazione (che alla fine erano tipo copia questo di qu, doppio click, avanti, avanti, ok) e passo il tutto ai rimbambiti via e-mail $Boss diventato paonazzo, $Collega ride a crepapelle, dei rimbambiti, che intanto hanno richiamato, non vedo la faccia per telefono, ma me li immagino in stato catatonico. Par che funzioni tutto. Ed in effetti il mattino dopo il file caricato e predisponiamo i batch per mandare mensilmente i files incrementali. $Boss andato con il mio documento firmato al personale... vediamo se mantengono l'impegno.

B, io e $Collega tutto sommato ci siamo divertiti, ma io mi sento un p in colpa: stato come rubare le caramelle ad un bambino...

tu lo sai vero che adesso dovrai mantenerlo all'infinito quel bat?

Daniele Levi
04/03/2007 00:00

Previous elenco Next

le storie degli ospiti sono in ordine sparso, quindi 'precedente' e 'successiva' possono portare su storie di altri autori

Comments are added when and if I (or the story's author) has the time to check them and after removing junk, phishing and so on. So don't hold your breath. Besides, if your comment doesn't get posted, don't write me about it. Evidently it wasn't worth it.

2 messages this document does not accept new posts

Antonino Russo

Domanda By Antonino Russo posted 22/07/2010 12:18

Ma alla fine $Boss ha pagato? -- Antonino Russo

Daniele Levi

@ Antonino Russo By Daniele Levi posted 23/07/2010 08:28

> Ma alla fine $Boss ha pagato?
>
>
In effetti no: non ha pagato ed il mio script è tutt'ora funzionante...

(Però nel bonus di fine anno ha compensato)

Previous tales' list 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