Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310

    web application con as/400

    ho una ditta che ha un magazzino di più di 100.000 prodotti (mi hanno riportato cosi, ma mi sembra un attimo eccessivo , ma vabbè, non è questo il punto) e voglion rifare il sito.

    Perfetto, nessun problema

    Hanno tutta la gestione su un as 400 VVoVe:

    Vorrebbero una area riservata dove determinati clienti con user e password (a quanto pare dati già esistenti all'interno del as 400) accedono e acquistano dei prodotti. Niente pagamento online, niente gateway etc etc, ma solo (alla fine della procedura, in quanto clienti già registrati) visualizzare dati bancari e qualcosa di simile.
    Ovviamente, se aggiornano qualcosa sul as400 dovrebbe essere visibile nell'area riservata dove ci sono i clienti

    Ora, io non ho la più pallida idea di come sia strutturata questa macchina, qualcuno può darmi qualche dritta? Tipo:

    1) dovrei esportare (si può? :master: ) e infilare tutto in un mysql db e usare quello per la web application. Però come gestisco le rimanenze del magazzino? Diventa un casino

    2) posso "lavorare" direttamente sul as400? Ho detto una boiata?

    Sto leggendo un po in rete, nel frattempo spero che qualcuno, che magari si è trovato nella mia situazione, possa darmi qualche indicazione.
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  2. #2
    Ciao,

    io posso esserti d'aiuto

    Ho lavorato (purtroppo) più volte con macchine AS400, anche non recenti, ed il problema non è tanto interfacciarsi con loro che si fa tramite ODBC (su linux unixODBC) ma è far funzionare correttamente PHP+unixODBC+driver as400 per unixODBC su linux

    In ogni caso ti sconsiglio di lavorare direttamente su AS400 perché ti ritroveresti a dover fare un sacco di lavoro via rete (SITO WEB <=> LORO RETE) e ti ritroveresti bloccato se non hanno più internet per qualsiasi motivo (blackout, telecom/provider impazzisce, scoppia una centrale e cosi via)

    Per i problemi dell'aggiornamento basta far effettuare gli update a pranzo e la sera, o volendo anche solo la sera, tanto le spedizioni, al massimo verranno fatte ogni giorno e quindi le quantità cambieranno massimo una volta al giorno. Se proprio vogliono, lanciano la procedura di aggiornamento manualmente.

    La procedura di aggiornamento non deve fare altro che leggere i dati (usando delle query non bufferizzate ... cursori forward-only) dall'as400, splittarli via php per come serve, raggrupparli tramite delle insert di gruppo (cosi da immettere, ad esempio, 500/1000 prodotti in un colpo) e lanciare le query. Non pensare a fare un eventuale passaggio di ricerca per aggiornare solo le variazioni perché il carico di rete e sui server (remoto e locale) sarebbe per 3 volte!!! Meglio un truncate lanciato a inizio procedura e via ... al massimo scrivi su una tabella, anche quella di config, un valore per indicare che stai aggiornando, cosi da bloccare temporaneamente il sito, e fai un lock per svolgere le operazioni.

    Per quanto riguarda eventuali informazioni aggiuntive che hai necessità di associare ti crei delle tabelle a parte e usi gli ID dei prodotti, il codice, il seriale ... quello che vuoi per associarli.

    Considera che come tempistiche ci vogliono pochi minuti:
    - leggere da un informix 2 milioni e mezzo di dati, sempre tramite odbc, ristrutturarli e upparli ad un server remoto mysql, richiedeva circa 15 minuti, scrivendo il codice bene (ergo drop delle chiavi, truncate, lock, query estese ecc ecc ecc)
    - leggere un AS400 circa 20 mila record, su odbc, senza ristrutturazione, e upparli in una macchina in rete, richiedeva meno di 2 minuti

    Se poi hai possibilità, invece di usare PHP per il componente che fa gli aggiornamenti, utilizzi qualche linguaggio più performante (C# su .NET/Mono o python compilato) ridurrai considerevolmente i tempi

    Se per dopo pasqua ti dovesse servire, in ufficio ho un pò di documentazione su come interfacciarsi agli AS400 da linux e poi come farlo via ODBC con php
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da daniele_dll
    Ho lavorato (purtroppo) più volte con macchine AS400, anche non recenti, ed il problema non è tanto interfacciarsi con loro che si fa tramite ODBC (su linux unixODBC) ma è far funzionare correttamente PHP+unixODBC+driver as400 per unixODBC su linux
    perchè dici purtroppo?

    macchine as400? Quindi as400 è una macchina come quella nel mio primo link? A me ne hanno parlato come se fosse un software :master:

    Originariamente inviato da daniele_dll
    In ogni caso ti sconsiglio di lavorare direttamente su AS400 perché ti ritroveresti a dover fare un sacco di lavoro via rete (SITO WEB <=> LORO RETE) e ti ritroveresti bloccato se non hanno più internet per qualsiasi motivo (blackout, telecom/provider impazzisce, scoppia una centrale e cosi via)

    Per i problemi dell'aggiornamento basta far effettuare gli update a pranzo e la sera, o volendo anche solo la sera, tanto le spedizioni, al massimo verranno fatte ogni giorno e quindi le quantità cambieranno massimo una volta al giorno. Se proprio vogliono, lanciano la procedura di aggiornamento manualmente.

    La procedura di aggiornamento non deve fare altro che leggere i dati (usando delle query non bufferizzate ... cursori forward-only) dall'as400, splittarli via php per come serve, raggrupparli tramite delle insert di gruppo (cosi da immettere, ad esempio, 500/1000 prodotti in un colpo) e lanciare le query. Non pensare a fare un eventuale passaggio di ricerca per aggiornare solo le variazioni perché il carico di rete e sui server (remoto e locale) sarebbe per 3 volte!!! Meglio un truncate lanciato a inizio procedura e via ... al massimo scrivi su una tabella, anche quella di config, un valore per indicare che stai aggiornando, cosi da bloccare temporaneamente il sito, e fai un lock per svolgere le operazioni.

    Per quanto riguarda eventuali informazioni aggiuntive che hai necessità di associare ti crei delle tabelle a parte e usi gli ID dei prodotti, il codice, il seriale ... quello che vuoi per associarli.
    quindi consigli di esportare il tutto, infilarlo in un mysql db, usare quello per il sito, e una volta al giorno fare la "sincronizzazione" tra i due db tramite uno script? Non si rischiano collisioni?

    Originariamente inviato da daniele_dll
    Se poi hai possibilità, invece di usare PHP per il componente che fa gli aggiornamenti, utilizzi qualche linguaggio più performante (C# su .NET/Mono o python compilato) ridurrai considerevolmente i tempi
    purtroppo non conosco c, io personalmente lavoro con php & mysql

    Originariamente inviato da daniele_dll
    Se per dopo pasqua ti dovesse servire, in ufficio ho un pò di documentazione su come interfacciarsi agli AS400 da linux e poi come farlo via ODBC con php
    se mi facessi avere questi documenti, te ne sarei grato, se non altro per schiarirmi le idee
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  4. #4
    Originariamente inviato da blekm
    perchè dici purtroppo?
    perché far funzionare correttamente il backend di unixodbc su linux è al quanto complicato ... se poi ci aggiungi che, almeno con la 5.2.6 presente su ubuntu 8.10 server, c'erano memory leak con la combinazione php+estensione odbc+unixodbc e veniva fuori roba strana ... è stato un pianto

    macchine as400? Quindi as400 è una macchina come quella nel mio primo link? A me ne hanno parlato come se fosse un software :master:
    Gli AS400 sono una categoria di server della IBM, su poi ci sta il loro so ... il db (spesso DB2) e cosi via

    da wikipedia
    I sistema AS/400 (Application System/400) è un minicomputer sviluppato dall'IBM per usi prevalentemente aziendali, come supporto del sistema informativo gestionale. Nasce nel giugno 1988 come successore del system/38 e dopo oltre 20 anni è ancora in produzione con il nome commerciale di iSeries e dal 2004 di System i. Oggi si chiama semplicemente I.

    quindi consigli di esportare il tutto, infilarlo in un mysql db, usare quello per il sito, e una volta al giorno fare la "sincronizzazione" tra i due db tramite uno script? Non si rischiano collisioni?
    collisioni in che senso? prima lanci un trancate e poi ci butti dentro gli insert con i gruppi di dati

    purtroppo non conosco c, io personalmente lavoro con php & mysql
    mmm parlavo di C#, cosa ben lontana da C, ma semplice e performante cmq in php va bene pure

    se mi facessi avere questi documenti, te ne sarei grato, se non altro per schiarirmi le idee
    appena finiscono le feste li recupero e te li mando
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da daniele_dll
    appena finiscono le feste li recupero e te li mando
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  6. #6
    ciao, scusami ma sono a casa che non sto tanto bene :\
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #7
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da daniele_dll
    ciao, scusami ma sono a casa che non sto tanto bene :\
    passato bene le feste, via

    no problem, fammi sapere qualcosa quando rientri al lavoro
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  8. #8
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    up
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  9. #9
    scusa la parecchio lunga attesa

    dunque, qui ci sono 2 link al sito dell'ibm
    http://www-03.ibm.com/systems/i/soft...kit/index.html
    http://www-03.ibm.com/systems/i/soft...dows/casp.html

    Il primo, come il secondo, riguardano windows, ma ti possono essere utili per testare velocemente possibili configurazioni per linux (ovviamente devi installare il client access sulla tua macchina windows)

    ora passiamo alla roba utile

    Innanzi tutto
    http://ubuntrucchi.wordpress.com/200...series-access/

    devi installare il client access dell'iseries su linux, li trovi le indicazioni necessarie

    Poi per convigurare unixODBC vai a quest'indirizzo
    http://ubuntrucchi.wordpress.com/200...ries-via-odbc/

    Infine, se vuoi fare dei test dalla macchina linux e non vuoi fare esperimenti
    http://ubuntrucchi.wordpress.com/200...on-openoffice/

    Tecnicamente puoi seguire la guida anche su windows, con open office, se ti installi il client access

    Se hai problemi a trovare il pacchetto suggerito li l'ho scaricato e l'ho qui, quindi te lo posso uppare da qualche parte.

    E' in formato RPM quindi se usi Debian, Ubuntu o simili/derivate devi convertirlo ( http://ubuntrucchi.wordpress.com/200...tti-rpm-e-deb/ ). Lui butta tutto dentro /opt/ibm/iSeriesAccess/, come indicato nella guida, quindi non è importante la distro che alla fine usi. Il pacchetto si chiama iSeriesAccess-5.4.0-1.6.i386.rpm.

    Altra roba utile la trovi pure qua
    http://blog.flocca.com/?p=9

    Due consigli:
    - utilizza dltest, come suggerito sull'ultimo link, perché se ci sono problemi con le librerie non te ne accorgi tanto facilmente
    - se vedi che non funziona ... abilita il logging di unixodbc che, anche se crea una MAREA di roba, ti semplifica la vita
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.