Make my desktop application communicate over the web...

lidds

Well-known member
Joined
Oct 19, 2004
Messages
122
Programming Experience
Beginner
I have developed a desktop application that connects to a MS SQL server over a network. One of my clients wants a third party company to be able to use my desktop application but connect to the MS SQL database in my client’s office. Obviously my client could open the ports to the SQL server to make this accessible from the web, but this is a huge security issue and obviously not one I want to even recommend. Is there a way that I can make my desktop application securely communicate over the web to the SQL database?

I know probably making my application web based would be the most common answer however this would be a huge amount of development and also my client needs this relatively quickly.

Any help and advice would be appreciated.

Thanks

Simon
 
If your application makes a direct connection to the database then, to use the application as is, it must connect directly to the database. If you want it to do otherwise then you will have to change the way the app works and redeploy.

The obvious option is a web service. You write a web service that exposes methods that retrieve and save the required data. The web service connects to the database on the same network or even the same machine and the application connects to the web service.
 
Another quick question so I can understand the concept.

1) Install my desktop application and a my webservice (called clientService)
2) Then on the server that has the SQL database install another custom webservice (called serverService)
3) When a command is executed in my desktop application it must communicate to the clientService which intern needs to communicate with the serviceService over the internet to execute the SQL command. Then the serverService sends the data back to my clientService and then to my desktop application.

I guess this is the way that it would work?

Or does my Desktop application just connect to the serverSerive directly using a http:\\myWebsite\serverService.asmx etc..

As you can tell I have never looked at Web Services before and any advise / info would be appreshiated

Thanks

Simon
 
Back
Top