|
You have left out a lot of information that might be useful for people who want to help you. And frankly, your post is hard to understand. For example: "I am studying the possibility of recording data in the database afterwards." After what? You didn't say.
You are describing your desired solution rather than your problem.
What is your Progress version and you current architecture, and what problems are you experiencing?
I experience no problem.
I would want to save data locally when a problem like network, appserver or otherwise problem occurs, so client data can't be write in database.
So when database access is available again, I am searching about software or programming to be able to update the database in simple more or less automated from data saved offside on client.
I contact Progress Software Support who advice me to post in this Community forum.
My Progress version is OE 11.1 client side on Windows Seven and Progress 11.0 server side on AIX.
It sounds like you are talking about one of two classic problems. One is a connection which is up most of the time, but is unreliable and one wants to keep working when it is down. The other is a connection which is mostly down, the classic being a salesperson working on their laptop unconnected and then resyncing in the evening. In both cases you need some kind of local storage or a guaranteed delivery mechanism like Sonic ... which itself needs local storage on your side of the connection. The classic hard part of this is that changes get made on both sides, so how do you resolve those changes when they relate to the same data.
I'm facing a very same sort of problem... and what I can tell you is that I'm about to proceed with something like this article you can find in the knowledge base:
"How to run a 4GL procedure in the background using widows to do some database locally processing periodically?"
combined with some I had to learn from my posting in
community.progress.com/.../15906.aspx
Hope it brings light in your search.
Greetings
"How to run a 4GL procedure in the background using widows to do some database locally processing periodically?"
That search doesn't return any articles in the KB. Can you provide a KBase ID or URL for the article?
I might note that I first thought this must be on the Mobile forum since it is a classic problem there.
footer on the printed page states:
P75991
(knowledgebase.progress.com/.../p)
I've never found how to get an article by number, and I posted that question back then..
funny indeed...
The very precise title of article won't be a hit in the search...
Searching on 75991 locates the article ... under a new number
Yes, it is odd that KB search didn't find that article.
Regardless though, I don't think that article helps with this problem, in as much as I understand it. Based on what has been said so far it seems the OP wants to design a reliable client/server application to run across an unreliable network.
The referenced article talks about connecting a batch-mode client to a local database via TCP. It doesn't discuss anything like client-side caching. And running in batch mode won't do anything to make an OpenEdge client more resilient to network drops.
In my experience, OE clients are pretty sensitive to network problems. If the client loses its connection to its database, it will raise a STOP condition.
If the network in this case can't be improved to make it more reliable, it may be better to put the application tier on the database server.
Reliable messaging, however, does allow one to run partially connected. If the line is mostly connected, it is very straightforward. If it is like the salesman setup I described, one has to recognize that messages processed at night may be posted against a DB which is in a different state than the rep's last image and you need to reconcile those issues. E.g. the rep can tell the customer that there are 1000 in stock so an order for 100 is no problem, but two orders for 500 may get processed before the reps order arrives.
I don't think integrity is my main problem.
It's a schedule management software, so entrance time and exit time are the only data I want to write locally.