Hey all...I'm pretty experienced LabVIEW programmer but I'm in somewhat new territory here with communicating with a server/website.
We are going to have an online SQL database that stores all data that we record for our application. That database is going to have a web-based front end that will allow users to add/edit records.
On the other end, we are going to have a LabVIEW application running on a PC that will allow its users to acquire/input data, and also add/edit records for the SQL database as well. So basically a web-based client and a LV application client, which will most likely differ in functionality.
There are going to be multiple PCs running LabVIEW client
applications (let's assume upwards of 20 for now). The idea would be
that the user could:
- Query the SQL database for an existing entry, and then view/edit that entry or add records to it.
- Create an entirely new record.
I have played around with the database connectivity toolkit and was able to communicate with the SQL databases online, no problem. But, I'm not sure if that is the best way to do this yet because....
Here are our challenges/constraints/specifications:
Well we need this to be as low bandwidth intensive as possible as each LV client will be using a GPRS(cell phone) data connection to the internet which is pay per use. Here are my thoughts on this so far:
- Having local copies of often accessed records on each machine with incremental updates to the server to minimize bandwidth for queries.
- Send data to the server in a tagged format (XML maybe?) and then have a server-side application that parses the data and updates it to the database.
- When updates are made using the website front-end...we would like at a minimum to be able to notify the LV client that an update has been made (like a Push data/notifier service).
- How to implement?
- POP3 e-mail for each LV client might be an option but is there something better?
The data types that we are working with include all standard types (numeric, text, timestamps) and also includes images (jpg) and sound files (mp3) and potentially video in the future.
Thanks and I'm looking for any and all feedback. Let me know if the problem is still fuzzy...I will try to describe in better detail.
-Aaron