NotANumber
Junior Member
Hi everyone,
I am a junior developer for a company that is developing a new budgeting/financial analysis product. We are coding the project in .NET and we make extensive use of Analysis Services. Initially, we coded with the intention that the software would run on a LAN and we could directly interact with various servers (SQL Server, Analysis Services, etc). Everything worked great.
Here?s the problem: Sales wants the product to be useable by a remote user over the Internet. The user should be able to fire up the application from their remote location, authenticate and authorize, manipulate some data, create and save some reports, and log off.
The solution agreed upon by the developers above me was to use a Web Service as a gateway between the Internet and the LAN containing the important servers. The idea was that regardless of whether the application was coming in locally or over the Internet, all calls go through the web service. Well, in practice, this approach creates enormous amounts of headaches and complexities with the main two being passing around credentials to various servers and having to manually serialize objects that were never designed to be passed over a web service.
Basically, all my instincts tell me that this approach is fatally flawed. One alternative that comes to mind is to use VPN to handle the remote user scenario and just code the app as if it was always running on a LAN. Unfortunately, our network admin said that requiring a company to set up a VPN to enable remote access is too big of a demand and we would thus alienate many customers.
What do you guys think would be a better solution to enable remote access for our application? VPN? Terminal services? Or is the web service approach a good idea but I?m just not seeing it?
Thanks.
I am a junior developer for a company that is developing a new budgeting/financial analysis product. We are coding the project in .NET and we make extensive use of Analysis Services. Initially, we coded with the intention that the software would run on a LAN and we could directly interact with various servers (SQL Server, Analysis Services, etc). Everything worked great.
Here?s the problem: Sales wants the product to be useable by a remote user over the Internet. The user should be able to fire up the application from their remote location, authenticate and authorize, manipulate some data, create and save some reports, and log off.
The solution agreed upon by the developers above me was to use a Web Service as a gateway between the Internet and the LAN containing the important servers. The idea was that regardless of whether the application was coming in locally or over the Internet, all calls go through the web service. Well, in practice, this approach creates enormous amounts of headaches and complexities with the main two being passing around credentials to various servers and having to manually serialize objects that were never designed to be passed over a web service.
Basically, all my instincts tell me that this approach is fatally flawed. One alternative that comes to mind is to use VPN to handle the remote user scenario and just code the app as if it was always running on a LAN. Unfortunately, our network admin said that requiring a company to set up a VPN to enable remote access is too big of a demand and we would thus alienate many customers.
What do you guys think would be a better solution to enable remote access for our application? VPN? Terminal services? Or is the web service approach a good idea but I?m just not seeing it?
Thanks.