Newsgroup: it.comp.programmare
Titolo: [PHP] Chi ha inventato AS/400? ;)

Ciao a tutta la ML!!!
Innanzitutto: so chi ha inventato as/400, il "problema" è che nessuno sa metterci le
mani sopra.
Oggi sono andato da un cliente per contrattare la realizzazione di un sito
"bello grosso". Questo cliente è un Tour Operator che vuole entrare in
internet. E fin qui nulla di trascendentale.
Il problema è che loro hanno un database di offerte su un server as/400 e
vorrebbero fare e-commerce dalla propria sede, usando un CDN.
Io conosco solo PHP. Avevo pensato che fosse
facilmente praticabile una soluzione di questo tipo:
- Installo linux+apache+php su un nuovo PC server connesso ad internet (e magari gli
faccio fare anche da firewall)
- Da linux mi connetto ai database sull'as/400 e faccio ciò che voglio fare
coi dati.
Con linux credo di dover utilizzare le interfacce specifiche per il database
remoto o al massimo odbc o mi sbaglio? Penso che sull'as/400 
possano girare o oracle o db2, vero? 
C'è qualcuno li fuori che sappia mettere le mani sopra un as/400 per
esportare i database e configurare la rete (ovviamente verrà pagato)?
O potete suggerirmi strade alternative?
Ciao e spero di non essere stato OT. In questo caso non esitate a farmelo
notare. Ovviamente potete anche postarmi in privato!

 
Se sull' As/400 hai db2 o Oracle non dovresti avere problemi, dal php
che gira sul linux apri una connessione remota col db su As/400 e fai
tutte le query che vuoi.
Ciriciao
	Gio'

 vero?
  Sicuramente DB2, che e` praticamente nativo per i sistemi mainframe e
minicomputer dell'IBM. Nota, pero`, che l'OS/400, il sistema operativo
dell'AS/400 (viva la fantasia) supporta lo stack TCP/IP e che esiste
almeno un web server IBM per questo sistema. Che non e` detto che
supporti il PHP, naturalmente, ma che puo` essere agevolmente utilizzato
come back-end per un sito esterno al sistema.
  Molte societa` offrono pacchetti, specialmente per quanto riguarda
l'e-commerce, interamente strutturati su OS/400, dalla base dati
all'interfaccia utente. Ma, come ti ho accennato prima, e` una soluzione
costosa. La stessa societa` che possiede la macchina ha probabilmente un
contratto di supporto sistemistico: potreste "tentare" una
collaborazione. ;)
	Alla prossima,
		Marco

 possano girare o oracle o db2, vero?
tipicamente db2, e quasi sicuramente sarà già predispospost per accesso
Jdbc ed Odbc via rete, con un sistemista dedicato o giù di lì
(altrimenti come lo usano?). Quelle adorabili macchine sono molto
capricciose, ed amano essere seguite...
Io con odbc+php non ho mai avuto problemi. 
--

esportare i database e configurare la rete
Esiste un modo semplice, se e' almeno un OS/400 V3, se supporta
STRTCPSVR e se e' in configurazione default.
Cioe' diciamo al 99% 8-)))
Se ti basta downloadare i database di tanto in tanto, allora si
puo' prelevarli via TCP/IP in formato nativo (BCD modificato in
codifica 390: tutto per fare stare "19" in un byte anziche' 2),
decodificarli in un formato un po' piu' complicato come questo:
INSERT INTO dLisMic VALUES ('000345','Offerta Pacco Natale',
	'AE00', 'ID04', 25900, 'S', 'S', 'N' );
INSERT INTO dLisMic VALUES ('000346','Panettone Casalingo',
	'AE01', 'ID04', 23500, 'S', 'N', 'N' );
...
...da cui poi un colpo di | mysql o psql -f - fa il resto.
Contro: NON E' INTERATTIVO. Puoi preparare una pagina in PHP, e
li' mettere un pulsantone AGGIORNA, piu' un cron job che, tutte
le mattine, preme il pulsantone ;-). L'aggiornamento di quattro
DB con circa sessantamila records impiega circa due minuti.
Il programma e' all'incirca:
#!/bin/sh
bunga()
{
	# Lancia la query da interfaccia di comando e recupera
	# i dati crudi
	/usr/local/bin/runqry QGPL $1 /tmp/ancl.$$
	# Ponza sui dati e li trasforma in ASCII fixed length
	/usr/local/bin/asfld -1 < /tmp/ancl.$$ > /tmp/ancl2.$$
	# Trasforma in qualcosa di commestibile dallo SQL
	/usr/local/bin/fld2sql /tmp/ancl2.$$ /tmp/ancl$$.sql
	# Puliscio disco
	psql valkris -c "DELETE FROM $2;"
	# Riempire il DB con dati freschi
	psql valkris -f /tmp/ancl$$.sql >> /var/log/assql.log
}
if /usr/local/bin/LifeGuard.pl; then
	logger "It would be A Bad Idea to update the DB now."
	/usr/local/bin/ErrorReport.sh \
		| mail -s "it almost hit the fan" 
ser...@tin.it
	exit
fi
bunga ANCL200Q Clienti
bunga ANFO200Q Fornitori
bunga ANPA200Q PianoConti
bunga ANPA200Q Articoli
bunga BORI200Q Bori
bunga BOTE200Q Bote
bunga ANMG200Q Magazzini
bunga ANMA200Q Movimenti
if /usr/local/bin/DeathGuard.pl; then
	logger "Update aborted by DeathGuard."
	if /usr/local/bin/Phoenix.pl; then
		logger "Database restored from its ashes."
	else
		logger "Adder's fork and blindworm's sting."
		/usr/local/bin/Disabler.sh \
			| mail -s "it hit the fan" 
ser...@tin.it
	fi
fi
Leonardo
".signature": bad command or file name

O potete suggerirmi strade alternative?
Prima di tutto devi sapere se l'as 400 in questione ha una versione di OS/400
(il sistema operativo) abbastanza avanzato da supportare TCP/IP .. poi, se 
ne hai
voglia, remare abbastanza, nel senso che devi mettere su Linux il DB2 per 
linux, poi attraverso dei "connector" strani, ruotare le query sul DB/400 ...
La strada migliore, a detta degli esperti, e' installare WebSphere sull AS,
(e' un bundle dato da Ibm con dentro Apache ed un Jserv integrato) e gestire
direttamente li' tutto quanto.
Forse ci sono delle alternative Open, ma penso che per non morire convenga
orientarsi verso le soluzioni proprietarie, a meno che non si conoscano
molto bene tutti e due gli ambienti !
Auguri
  Fulvio MALFATTO --- Open Tecnology Consulting --- 
mailto:
o...@fmal.com
     -Office : C.so Emilia, 3 - 10099 S. Mauro T.se (TO)  Italy
         Phone 
+39-011-2742019
  Fax 
+39-011-2740763
  GSM +39-0335-6611956
     -Home   : Via della Fornace, 36 - 10090 Castiglione T.se (TO) Italy
        Phone/Fax  
+39-011-9601668
 

molto bene tutti e due gli ambienti !
Dove posso studiare x capire come funzica l'as 400 ?
byez!

Dove posso studiare x capire come funzica l'as 400 ?
Per  chi conosce Unix e' molto facile, perche' e' un ambiente blindato, 
dove le cose che puoi fare
liberamente sono molto poche. L'unica e' farti dare i manuali operativi da 
qualcuno, purtroppo
sulla rete non c'e' molto, come per tutti gli ambienti proprietari . Puoi 
vedere se trovi qualche
Red Book al sito  
http://www.as400.ibm.com
O altrimenti trovare qualcuno della tua zona con cui dividere il lavoro ...
NB ::Se vuoi altre notizie scrivimi direttamente, perche' qui andiamo OT !!!
Ciao
   _____________________________________________________________________
  ! Fulvio MALFATTO - STS
  !  Office : Via Emilia, 3  -  10099 S. Mauro T.se (TO)  Italy
  !   Phone 
+39-011-2742019
  Fax 
+39-011-2740763
  GSM +39-0335-6611956
  !  Home   : Via della Fornace, 36 - 10090 Castiglione T.se (TO) Italy
  !   Phone/Fax  
+39-011-9601668
  !_________________________mailto:
f.mal...@fmal.com________________________

 Auguri
Grazie e... speriamo bene!

 
http://www.ziobudda.net/mailman/listinfo/php-it

 Auguri

Ciao a tutti,
	possiamo continuare sulla ML anche se siamo spudoratamente OT ?
byez!
----------------------------------------------------------
`Io non ho particolari talenti...
   sono solo appassionatamente curioso.`
                                            A.Einstein
----------------------------------------------------------

byez!
Non sto seguendo il thread per motivi di tempo!
Ma AS/400 è ancora parecchio diffuso (soprattutto nelle grandi società) 
percui l'interesse è alto!
Per me fate pure!
Ciao Dave
Fletto i muscoli e sono nel vuoto!

il loro software ....
Si quasi tutti hanno la versione 4, con il TCP
Comunque la domanda originaria era se si puo' interfacciare Apache-PHP
con DB/400. La risposta e' poco chiara, anche Rasmus Leerdorf non si e'
pronunciato, ma pare che via ODBC non si possa direttamente perche'
non ci sono sull'as le librerie per compilare php, allora bisogna comprare
db2 per Linux o AIX ed usare le utility di collegamento.
Se invece ti esporti i dati dall'as verso il tuo sql locale, sei a posto.
l'as ha delle utility per esportare le tabelle in csv o altri formati 
ascii, anche
se la macchina lavora in ebcdic.
  Fulvio MALFATTO --- Open Tecnology Consulting --- 
mailto:
o...@fmal.com
     -Office : C.so Emilia, 3 - 10099 S. Mauro T.se (TO)  Italy
         Phone 
+39-011-2742019
  Fax 
+39-011-2740763
  GSM +39-0335-6611956
     -Home   : Via della Fornace, 36 - 10090 Castiglione T.se (TO) Italy
        Phone/Fax  
+39-011-9601668
 




  persone non 'girano' molto sui newsgroup !!!
it.comp.os.as400 8-)
