2

We need to make our enterprise ASP.NET/NHibernate browser-based application able to function when connected to or disconnected from the customer's server. Has anyone done this? If so, how did you do it? (Technology, architecture, etc.)

Background:

We develop and sell an enterprise browser-based application used by construction field personnel to enter timesheet information. Currently, it requires a connection to the server back in the customer's office and we'd like to build an occasionally-connected version of the application for those clients without wireless Internet availability.

Our application is an ASP.NET application using NHibernate for O/R mapping. Being a Microsoft shop, the Microsoft Sync Framework is attractive, but we don't know whether it "plays well" with NHibernate.

Any insight would be greatly appreciated.

Dave T

Dave T
  • 23
  • 1
  • 3

2 Answers2

3

Maybe you could operate some kind of offline version using a small version database (I hear good things about vistadb - http://www.vistadb.net/ which I believe does play well with NHibernate). With a syncing tool to copy data in when they are back on line. A click-once launcher could handle installation and integration.

Want to be careful with anything involving syncing though - if it is just single user timesheets that might be OK - but if there are any chances of conflicts in the online-offline data you might be better considering the problem from a different angle for pain-avoidance...

Jennifer
  • 5,148
  • 2
  • 21
  • 19
  • We ended up implementing a solution very close to what you outlined. We install a SQL Server Express instance on the occasionally-connected workstation, along with a copy of our application that's aware it's on a mobile workstation. After experimenting with the Sync Framework for a few weeks, we abandoned it because it couldn't handle all of our synchronization rules. We wrote a custom synchronization engine that's executed from a Windows service. It's been working exceptionally well for almost a year now. – Dave T Dec 04 '10 at 23:21
1

Why not couple it with Google Gears? People put their data in while offline, and then they can sync it when they reconnect to the server.

In a modern world, using the HTML5 data store: http://www.webreference.com/authoring/languages/html/HTML5-Client-Side/

Chris K
  • 11,996
  • 7
  • 37
  • 65