views:

249

answers:

5

In an electric company where I was hired temporarily, we have to implement an upgrade of the billing and payments system ( the current system is a dbaseIII system). The company's programmer and I have decided to use VB.Net and MySQL.

The company served several towns and have billing and payments centers in selected towns. Every billing period, the meter readers would read the readings for every electric meters and then write the readings in the sheet. Every 5 pm, an employee from the centers would collect the sheets and then travel to the main center where the readings are encoded.

The billings are printed in the main center, and then distributed to the branches.

During discussions with General Manager and heads of the company, the two of us are tasked to take advantage of the internet because those towns where the centers are located have internet connectivity, and for those none, we can use the mobile internet.

The new system will allow users to enter the readings, and then send the data to the main server in the main branch. They also have the ability to download and print the billings.

Our problem now is what type of system we have to implement. Should it be web based or a desktop application that will connect to our database server through vpn.

+1  A: 

If this is a fixed price project, and the client will accept either web or desktop, go with desktop over VPN. You'll save A TON of time, and have something that is more responsive (from a user perspective).

However, if you think the client will eventually need to use the product on mobile devices or the web, you're shooting yourself in the foot by going winforms.

Jess
A: 

I think that the answer depends on the type / frequency of database queries you need to make. Querying a DB from a thick client through VPN can be SLOOOOOWWWWWW. In a web app, the application logic runs close to the DB, maybe even on the same machine, so DB queries are fast. The downside is that UI can be slower. But it is probably easier to design a responsive web-based UI than make VPN fast.

Chris Lawlor
A: 

I do not know the situation of the client... but what about giving them the best of both worlds? Considering it sounds like you will be programming on a windows based system, and have deployment access to windows server based hardware, why not either build a Silverlight application, or build a WPF application that's hosted in an IE window? That could give you the best of both worlds?

Richard B
A: 

what instrument your bill collector will use ? 1>Laptop with Mobile InetConnection 2>Or specialized hand held tool that read the bill and send to Service center ?

1> If it is Laptop then you can create website where only authorized person can loggin and then he can insert a database. You can use HTTPs for better security.

A: 

Having had some experience with using a thick client through VPN, I'd say go with some kind of web app. If done wrong, a thick client can become really painful to use through a VPN because of data churning. A web app concentrates all of that on the server, which makes it much better from that point of view.

Other benefits:

  • no deployment hassle

  • no direct access to the database from the user machine.

Evidently it also depends on your skills, and on how much time/budget you have...

Denis Troller