2009-03-24 13 views
7

Ho un cliente che desidera utilizzare Filemaker per alcune cose nel proprio ufficio e potrebbe costringermi a creare un'app Web.MySQL AND Filemaker Pro?

L'ultima volta che ho usato, o pensato o addirittura sentito parlare, Filemaker era circa 10 anni fa, e mi sembra di ricordare che non voglio usarlo come back-end di una sofisticata web app, quindi sto pensando di provare a venderli su MySQL.

Tuttavia, il loro database Filemaker parlerà con MySQL? Qualche idea sul modo migliore per discuterli da Filemaker?

risposta

9

Potresti avere difficoltà a parlarne con FileMaker, perché in realtà era uno strumento abbastanza intelligente per creare piccole applicazioni di database interne e aveva una base di utenti molto fedele. Ma hai ragione - non è un buon strumento per creare un'applicazione web.

Ho avuto un problema simile con un client che stava ancora utilizzando un'applicazione dBase IV personalizzata. Fortunatamente, l'archivio CPAN di Perl ha moduli per parlare con di qualsiasi cosa. Così ho scritto uno script che ha esportato l'intero database dBase IV ogni notte e l'ho caricato in MySQL come un insieme di tabelle di sola lettura.

Sfortunatamente, questo richiedeva l'interruzione di MySQL per 30 minuti ogni notte. (Era un grande database, e dovevamo convertire il testo in formato libero in HTML.) Così passammo a PostgreSQL e eseguimmo l'intero aggiornamento del database come una singola transazione.

E se fosse necessario l'accesso in lettura e scrittura al database FileMaker? In questo caso, hai diverse scelte, la maggior parte delle quali male:

  1. Costruire a bi-directional synchronization tool.
  2. Sbarazzarsi completamente di FileMaker. Se i database FileMaker del client sono banali, questo potrebbe essere relativamente facile. Comincerei scrivendo un clone dei loro database più importanti e lo sto dimostrando in un browser web.
  3. Il client potrebbe essere effettivamente servito da un'applicazione Web basata su FileMaker. In tal caso, refer them to Google.

Ma come si vende il cliente in una determinata scelta? Probabilmente è meglio definire i costi e i benefici di ciascuna scelta e lasciare che sia il cliente a decidere quale sia la soluzione migliore per la propria attività. Potresti perdere il lavoro, ma manterrai la reputazione di un consiglio onesto e non sarai coinvolto in un progetto che è particolarmente adatto al tuo cliente.

5

Sono stato affrontare problemi simili e ha trovato un paio di soluzioni che emk non ha menzionato ...

  1. FileMaker può collegare a origini dati SQL esterne (ESS) in modo da poter utilizzare per la connessione ODBC su un database MySQL (o altro) e condividere dati. È possibile trovare ulteriori informazioni here. l'abbiamo provato e abbiamo scoperto che è piuttosto lento ad essere sinceri
  2. Syncdek è un prodotto che dichiara di consentire di eseguire la replica dei dati e la trasmissione dei dati tra Filemaker, MySQL e altre fonti strutturate.
  3. È possibile utilizzare il servizio Instant Web Publishing di Filemaker come servizio Web che l'app può quindi trasferire e trasferire dati.Abbiamo trovato un paio di wrapper per questo in python e php
  4. è possibile inserire un trigger nel database FileMaker in modo che ogni volta che si modifica un record (o parte di un record di interesse) è possibile chiamare un servizio Web che aggiorna una versione MySQL o memcached dei dati a cui il tuo sito web può accedere.

Ho trovato persone come FileMaker perché offre loro un'interfaccia molto visiva sui loro dati - è molto facile realizzare applicazioni autonome abbastanza grandi senza troppe conoscenze di sviluppo. Tuttavia, quando si tratta di collaborare con molti utenti o di presentare questi dati in un formato diverso dall'applicazione FileMaker, abbiamo riscontrato che le prestazioni rappresentano un problema reale.

8

Sviluppiamo soluzioni sia con FileMaker che con PHP/MySQL. La nostra raccomandazione è di fare l'app Web in una tecnologia ottimizzata per app Web come MySQL.

Detto questo, FileMaker ha una solida API PHP, quindi se l'app web ha richieste relativamente leggere (ad esempio in uso domestico), usala e risparmia il problema della sincronizzazione.

tecnologia ESS di FileMaker ha lasciati FileMaker usare un db SQL come origine dati di back-end, che ti dà 2 opzioni:

  1. Usa ESS come un bel modo stretto per sincronizzare destra all'interno di FileMaker - in questo modo si aveva disporre di un'origine dati "nativa" con cui lavorare all'interno della soluzione FileMaker di per sé.

  2. Utilizzare ESS per consentire a FileMaker di essere utilizzato come query di reporting/data mining/query casuale e strumento di modifica direttamente nelle tabelle MySQL: funziona in modo ottimale.

Abbiamo trovato la costruzione di una sofisticata applicazione in FileMaker con ESS/MySQL backend ad essere molto difficile, quindi se si seleziona 1 o 2 dall'alto dipende in servizio quanto sofisticata e pesante che l'uso di FileMaker è.

In caso contrario, SyncDek ha una buona reputazione come soluzione di terze parti per l'automazione della sincronizzazione.

Problemi correlati