Original Post
I had a dicussion with one of my friends who is an indy software developer. He is asked to write some ideas down for an app he maybe get to write. The app should become a special cellphone retailer app. HEre is the problem:
In several shops spread out over the country cellphones are being solded. If a shop sells a cellphone and a subscription to a service they get a bonus. Depending on the subscription and the cellphone the bonus varies. However, several shopkeepers fraud with this system. Either by selling cellphones on paper but still have them in the store, and maybe never even sell them and return them to the main office, or by using existing numbers. Don''t ask me how it works, I don''t have the full details.
So, he said he was going to write 2 apps. One server, and a client. When a shop sells a phone + subscription, the sales representative inserts all this data into the app: Buyer''s personal data(address, name, etc.), phone serial, PUCK code, service subscripted to. Then the app adds some shop specific data and sends it immediatly to the server for processing. 1 sale, 1 transaction. The transactions are running over the internet(I assume he''ll use encryption for that). The server receives the packet, processes it and allows the people in the DC see the stock levels of the shop, and know immediatly which shop gets what bonus.
Now, I said to him, all shops are on ISDN, that his approach was kinda expensive. The ISDN line has to dial-in everytime to the net, send a small packet and disconnect. And what happens if 20 shops try to connect at the same time? So, I said to him, buffer to disk. Every transaction gets written in a database. When the shop is getting closed down, it puts all the data into a EDI packet and sends this all at once to the server. Means less data transfer so lower costs. His arguments against this would be 1000 shops trying to report in all the data at once would cause errors and maybe there is a case of a hard disk failure. My arguments against his idea would be no internet connection possible, so no sales. Then he said, I buffer. There comes the HD crash thingie again. So, what do you guys think:
* At each sales contact the server and send the data
OR
* Send all at once at the end of the day
OR
* something in between
Sand Hawk
----------------
(Inspired by Pouya)
(Inspired by Pouya)