An up coming project for a client involves using their MLS provider (which supports RETS) to list properties based on search criteria. I want to create a service (preferably in Java) which based on criteria inputted creates a single, or series of queries to make finding particular listing a little more intelligent then a direct translation to a query. (For example potentially searching for variations of a street name)
In research I've believe I've determined that in the past MLS data was gathered via periodic retrievals via ftp, but now RETS providers allow for a means to query for xml on a as needed bases. However a lot of the information I find seems to suggest that its commonplace to continue to sync with a provider periodically and maintain your own database from the information pulled.
This seems rather confusing to me, since why would you want to maintain the syncing of data between these two places, especially when one is a service you don't have control over?
What I would like to do is query for the rets provider per user request of information. And potentially insert entries directly to the service as well. Is this reasonable?
If not why not? (historical reasons or something I'm technically missing) and if so what would be a good starting point?
Please excuse my ignorance, I am an experienced applications developer and am used to dealing with databases and service APIs however I haven't developed any application using MLS or RETS before, and find the information I've googled rather confusing.