Hi, I'm hoping to get advice from some sage Clarion programmers. I'm not a Clarion developer, so I appreciate your insight and opinion here...looking to use the right tool for the job.
A little background:
App "A" is a commercial Clarion app and App "B" is a web app on a linux box and has data access methods exposed via HTTP. For simplicity, let's say both applications are for managing a contact list. We want to synchronize the data.
The db is TopSpeed (.TPS) and we have been ensured by the Clarion developers that we can access the data either via a (new) custom Clarion app or via the ODBC driver (i.e. no encryption or other impediments). However, we do not have the source to the application itself, just the raw data.
The basic architecture we are looking at is to create a proxy app that monitors changes to the TPS files in App "A". The proxy app then notifies App "B" via HTTP calls containing the modified and new data.
App "B" will make calls to the proxy app remotely (likely via HTTP) when its data changes and the proxy app will have to update the TPS files directly.
It will need to be able to:
[ul][li]Effectively monitor data changes in TPS files[/li]
[ul circle]
[li]New records need to be identified[/li]
[li]Changes to existing records need to be identified[/li]
[/ul]
[li]Transmit data as an HTTP client at regular intervals[/li]
[li]Receive data as an HTTP server on-demand[/li]
[li]Write new data and update existing data in TPS files based on the received HTTP data[/li]
[/ul]
The assumption I have is that Clarion is obviously going to be well suited for the data access portion of the app, but less suited to the remote aspects. I see there are 3rd party HTTP libs and of course we could muck around with the w32api. Is Clarion suited for writing this sort of headless application?
Is the ODBC driver robust enough for inserts and updates to where we could depend on it if we wrote the proxy app in another language?
Thanks for your help!
- Will
A little background:
App "A" is a commercial Clarion app and App "B" is a web app on a linux box and has data access methods exposed via HTTP. For simplicity, let's say both applications are for managing a contact list. We want to synchronize the data.
The db is TopSpeed (.TPS) and we have been ensured by the Clarion developers that we can access the data either via a (new) custom Clarion app or via the ODBC driver (i.e. no encryption or other impediments). However, we do not have the source to the application itself, just the raw data.
The basic architecture we are looking at is to create a proxy app that monitors changes to the TPS files in App "A". The proxy app then notifies App "B" via HTTP calls containing the modified and new data.
App "B" will make calls to the proxy app remotely (likely via HTTP) when its data changes and the proxy app will have to update the TPS files directly.
It will need to be able to:
[ul][li]Effectively monitor data changes in TPS files[/li]
[ul circle]
[li]New records need to be identified[/li]
[li]Changes to existing records need to be identified[/li]
[/ul]
[li]Transmit data as an HTTP client at regular intervals[/li]
[li]Receive data as an HTTP server on-demand[/li]
[li]Write new data and update existing data in TPS files based on the received HTTP data[/li]
[/ul]
The assumption I have is that Clarion is obviously going to be well suited for the data access portion of the app, but less suited to the remote aspects. I see there are 3rd party HTTP libs and of course we could muck around with the w32api. Is Clarion suited for writing this sort of headless application?
Is the ODBC driver robust enough for inserts and updates to where we could depend on it if we wrote the proxy app in another language?
Thanks for your help!
- Will