#1 is a more proven technology, not relying on 3rd party code, so I'd imagine it's more stable.
#1 is probably also faster. ODBC is usually faster in talking to filemaker than CWP in my limited testing on large data sets. The reasoning I believe is that ODBC communicates directly to the database core via a transmission layer for ODBC, whereas with CWP, you're passing through another service (WPE/web publishing engine) before communicating to the core. The extra step in CWP is barely noticeable for simple queries, but if you go into relatively complex queries with hundreds of thousands to millions of records, I'd imagine you'd see some difference in speed (but still could only be represented in a few seconds difference).
From what I understand, the existing ruby gems like ginjo-RFM all use the XML web publishing engine to communicate to filemaker. There still may be variables that could alter your decision, but from what I understand, the gem is just a convenience factor that takes care of some of the query writing for you to communicate to CWP.
Dear Mike, Thanks for your response. do you think that the Ruby Gem would slow down the Filemaker Server?
Why would I use the Ruby Gem?
thanks again for your help. Steven
You probably need to provide more details about your ruby application to get any better answers than what I already suggested.
As I noted, the gem would most likely be for convenience, as it already takes care of translating standard statements into filemaker's calls.
ODBC is done via a gem in ruby as well (ruby-odbc), so either way you'd technically be using a gem.
I'd recommend you stick with ODBC to begin with. It wouldn't really be that hard for you to fork your project once you've finished the ODBC connection and replace it with a CWP connection.
There's no reason you couldn't also use ODBC on linux as well. OS really isn't a factor since ruby apps and their supporting gems are usually cross platform capable.
One downside of using ODBC is that you can not run scripts on FMS. The gems that use the XML interface can.
So the best way is:
a. Call Ruby to start an action with an URL command
b. Let ruby execute the command with ODBC
c. When Ruby is done use the Gem to start the next script on Filemaker.
Is that right this would be the most effective way to build API's?
Do you need to run a script in FM when the interaction with the Ruby code is done? And if so should it run on the server or in the client that triggered the call to Ruby?
You are still not really giving us any idea on what you're solution needs to do with filemaker.
What does your Ruby application do?
What does it need to do with filemaker?
Also, if you're just looking to get data via URL from filemaker, it would be MUCH easier to use something like RESTfm instead. This turns FileMaker Server into a RESTful web service that can easily be accessed via other programs.
From your wording, it sounds like you're trying to just make an API on ruby that will access filemaker data, which has already been done via other ruby gems, like Ginjo.
One would be:
Going through thousands of records and verifying the emails.
So Ruby verifies them and then writes the answers into FM.
Where are the emails sourced from though? FileMaker?
If they're coming from filemaker why not validate them using one of the existing methods from filemaker? There's no need for an ODBC or CWP connection at all.
Still unclear what you're trying to achieve via this integration. Normally this type of connection would be made for filemaker to act as a backend data source for a frontend application written in Ruby. Say for instance to sync your ruby application database with a filemaker reporting system, or to have a ruby reporting application that pulls it's data from filemaker. Or a ruby registration application that sends registrations to filemaker.
The way you're making it sound is that you want plugin functionality from ruby for a solution based in filemaker, which doesn't really make sense.
Mike Thanks, we are verifiying emails in the cloud with the MX records etc. In any case I have all the data I needed from this answers. Thanks again.
You can do that (verify emails for valid domains) without using ruby, directly from filemaker.
If your solution is in filemaker and you'd like to know how, just let us know.