3

We have about ~20 Lotus Notes database applications that is offering offline capabilities to the users. Users are able to work with the application offline (not connected to the network). When they comeback online, data gets synchronized automatically.

I am looking for alternative technology platform to achieve such offline capabilities.

Here are basic features/traits of the applications:

  1. Database oriented applications with moderately complex data entry forms.
  2. Easy way to attach document to the database records.
  3. Able to take the application offline and automatically synchronize when connecting is established.
  4. Secure data while it is offline.
PeeHaa
  • 71,436
  • 58
  • 190
  • 262
Kaushik
  • 83
  • 2
  • 7

3 Answers3

2

My first thought is using CouchDB as a back-end, although admittedly I have no experience using it. I do know, however, that it was created by an ex-Iris employee, Damien Katz, and he was inspired by many of the strengths of Lotus Notes when he designed it. One of its strengths is replication - it is made to be used in a distributed architecture.

It will also feel somewhat familiar because it is a document-centric database, like Notes, rather than an RDBMS. That said, I can't speak to the front-ends available to use with CouchDB.

Ken Pespisa
  • 21,989
  • 3
  • 55
  • 63
  • I looked at the CouchDB and I am greatly impressed. I also like its combined model of web server + database server. Replication service is really great. Many of my applications can go schema-less. One thing I am missing is the middle tier (aka. application server) support. Where do I write busines logic in CouchDB/CouchApp? – Kaushik May 25 '11 at 14:27
  • I'd suggest posting that as another question on this site, and tag it as CouchDB. There are many answers with that tag already: http://stackoverflow.com/questions/tagged/couchdb – Ken Pespisa May 25 '11 at 14:29
2

I would second Ken’s suggestion, especially as CouchDb has a strong mobile presence also. In terms of a front-end to Couch, take your pick. It works with most things, and new APIs are cropping up all the time.

As an aside, I have had some interesting work lately using the offline capabilities of HTML5 combined with the SQLite database found in Safari. I would only recommend this sort of thing for simple applications, but it's interesting how powerful this stuff actually is.

Ben
  • 7,548
  • 31
  • 45
  • I like the CloudDB solution. Where would you write business logic for a moderately complex applications? – Kaushik May 25 '11 at 14:33
  • Wherever's most comfortable for you. Like I say, there are APIs for talking to CouchDb from most mainstream web app frameworks / platforms now. – Ben May 25 '11 at 15:09
0

Microsoft have a whole raft of solutions for this scenario - not surprising since that nice Mr Ozzie went over a few years back.

I've used SQL Express and the Sync framework to build apps similar to the ones you describe - http://msdn.microsoft.com/en-us/sync/bb736753.

This stuff works best with MS development tools - we used C# and winforms - though you could, if you really wanted to, also use Java or Delphi.

Neville Kuyt
  • 29,247
  • 1
  • 37
  • 52
  • I did look at the Microsoft solution and they are very promissing. We did use SQL Express and Sync. However, I have to make a point that this solution is bit heavy on client side. We had manage multiple pieces of software on the clinet (SQL Express, InfoPatn, WinForm solutions), their upgrade and deployment was a burden. Compared that to the our existing Lotus Nodes solution was much easier - single software to install and upgrade (Lotus Notes client), integration with Email and Calendar, seamless synch. – Kaushik May 25 '11 at 14:40
  • We also looked at SharePoint Workspaces and found it vary capable in its out-of-the-box usage. However, it had lots of limitations for customized development. – Kaushik May 25 '11 at 14:43
  • Personally I'd be leery of going from one proprietary fat client to another. If you're going to invest in moving off Notes, it would make sense to move to something that is going to provide plenty of flexibility (and client OS options of course!) – Ben May 25 '11 at 20:03
  • I agree that managing the client side is a pain in the backside - though you might update your question to say that this is a priority for you. It's managable with a whole bunch of other infrastructure, but as Ben says, that takes you deeper into proprietary world... – Neville Kuyt May 26 '11 at 09:02