views:

32

answers:

1

Is it possible to embed an external application inside the browser (IE, Chrome, Safari, Firefox) so it will look like a native web application but actually having access to the USB ports of the client machine? I have heard that I need to make an ActiveX control. I would like to use the .Net framework, but if that is not possible, maybe using Java or C++ will be fine.

I have to make an application that will allow to the users to connect an external device to an USB port, this device will take a backup of the information contained in a SIM card and send it to the user's account online agenda. So the user can restore it later using the same application. This should be a web application or at least look like one.

If the first is not possible. Is there any way to launch an external application from all the browsers, and then pass information to the browser window to allow it to refresh after the backup has been made?

Thanks for your help in advance.

A: 

First off this seems to be a big security issue and hence this is the reason why you might be finding it tricky.

What I would do is look at it from a different angle; what am I trying to achieve? How is the user going to use the data? Where is the user going to use the data?

From you question I have answered those questions with the following; I hope I've not miss interpretted anything.

  • I want to copy the data from an external sim card to a central location
  • I want the user to see this data from the central location; preferablly from a web application.
  • The user is going to see and use the data from the web app

Assuming all of these things are true; one design option is the following:

1 - Have a client based application which can read stuff from the usb device

2 - Have a secure webservice which the client based application can upload the data too

3 - Have a web application which can view this data and see refreshes

Let me go into bit more detail for each step.

1 - If you write a small client application it is installed or at least runs on the client computer. Due to this it can access the local client resources such as usb and interface with them. This will mean they can read the sim data throuogh this app, buut also potentially save it locally as well as upload the data. To access the web service they would enter their username/password so you could authenticate them for the upload.

2 - This web service would do the authentication from the client application, but also receive the data submitted from the client app. Acessing web services from .net now a days is really straight forward. Using this web service the client application could also do some checking to make sure the data has been updated and it could handle re-tries if the network dropped etc.

3 - The web front end of the system would interface to the same data source. This site would take the username / password to authenticate them on the site, but also let them see the uploaded data. As for the refreshes; if the user is logged in and looking at the data you could have a javascript timer polling an action/service to see when new records have been added etc. This could then display a message through jQuery or similar to notifiy the user. This could be similar to the notifications which StackOverflow gives when you visit for the first time or get a new badge etc.

Hope this helps :-)

WestDiscGolf
thanks for your response, I was aware of the security issues, but I just want to make sure I was not missing something. I will discuss with the client the changes that you suggest. Thank you again.
roy riojas