DISABILITARE ADBLOCK

ADBlock sta bloccando alcuni contenuti del sito

ADBlock errore

DOMANDA

Ho un progetto imminente in cui dovrò connettere il nostro sito Web ( PHP5 / Apache 1.3 / OpenBSD 4.1 ) al nostro sistema back-end in esecuzione su un iSeries con OS400 V5R3 in modo che può accedere ad alcune tabelle memorizzate lì. Ho fatto qualche controllo ma sto incontrando alcuni blocchi stradali.

Da quello che ho visto le estensioni DB2 e il software DB2 di IBM funzionano solo su Linux. Ho provato a compilare le estensioni con tutto il software di IBM e ho anche provato la loro estensione ibm_db2 precompilata senza fortuna. IBM supporta solo Linux, quindi ho attivato l'emulazione Linux nel kernel ma questo non sembra aiutare nulla.

Se qualcuno si fosse imbattuto nel far funzionare tutto nativamente sotto OpenBSD sarebbe fantastico, ma quello che penso che dovrei fare è impostare un secondo server che esegue CentOS con DB2 installato (molto probabilmente tramite ZendCore per IBM poiché sembra per fare tutto questo per me) e il driver in modo da poter configurare un piccolo server di transazioni su cui posso inviare e ottenere una rappresentazione JSON dei dati DB2 di cui ho bisogno.

La seconda opzione sembra eccessiva o qualcun altro ha idee migliori?

SOLUZIONE

Hai esaminato la connessione al server utilizzando unixODBC ? Se ricordo bene, ha il supporto per IBM DB2 e si compila su OpenBSD. Scopri http://www.php.net/odbc per ulteriori informazioni sul lato PHP.

Se non riesci a farlo funzionare, l'opzione per configurare un servizio web su un server Linux potrebbe essere tutto ciò che puoi fare.

ALTRI SUGGERIMENTI

Invece di impostare una seconda casella, perché non guardi in PHP Connector per iSeries? I miei ragazzi del mainframe hanno detto che è stato molto facile da configurare sul nostro iSeries qui.

Abbiamo scritto un semplice server in PHP che carica i modelli di dati dai dati DB2, li serializza e li restituisce al chiamante. Questo approccio significa che solo un'altra app PHP può consumare il servizio, ma è molto più veloce su entrambe le estremità per serializzare l'oggetto e inviarlo nella pipe.

Ecco un PDF di IBM sull'argomento: http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

Al secondo @John Downey, ho ottenuto la connettività per lavorare con PHP su un AS / 400 con unixODBC.

Controlla phpinfo () per vedere se unixODBC è disponibile in esso. Non ho dovuto compilarlo su SLES 10.

Sembra che un servizio web sarà la risposta per me. In una scatola di produzione preferirei non dover completare la compilazione e il mantenimento della mia installazione speciale di PHP poiché è necessario compilare il supporto ODBC, secondo la documentazione di PHP.

Un servizio web è quasi sicuramente la strada da percorrere. Sono sicuro che ci hai già pensato, ma dal momento che stai facendo PHP su entrambi i lati, puoi abbreviare un po 'le cose usando serialize () per costruire i tuoi dati di risposta invece di creare un documento XML adeguato. È meno flessibile nel lungo periodo, ma probabilmente ti farà funzionare più rapidamente.

In effetti, un servizio web sembra un ottimo modo per risolvere il problema. Un modo per evitare di avere un sistema operativo completamente separato sarebbe quello di scrivere il servizio web in Java sopra gli strumenti AS400 per Java (che sono piuttosto belli, a proposito). Ciò dovrebbe almeno permetterti di eseguire il tuo livello di servizio anche sulla casella OpenBSD.

Puoi connetterti direttamente anche usando un driver ODBC standard. La versione IBM di solito offre più funzionalità come la possibilità di chiamare programmi e cose del genere. Se hai solo bisogno di SQL e stored procedure, ODBC dovrebbe funzionare.

Perché non usare DOP da PHP? Devo indovinare qui dal momento che non sono riuscito a trovare un elenco pubblico di tutte le porte disponibili per OpenBSD, ma dal momento che esiste una porta per FreeBSD, NetBSD ecc., Potresti anche essere fortunato.

(Immagino che anche se OpenBSD si collega al manuale del facchino di FreeBSD, Freshports non è applicabile al tuo sistema ?)

Se PDO non è disponibile e poiché spero che tu usi le porte e secondo il seguente link è disponibile php5-ODBC:

Quindi supponendo che tu gestisca il tuo sistema attraverso le porte, ci sono i tuoi puntatori.

Spero che ti aiuti!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow