0

We are building an online appointment system for a client (hospital) which is located in multiple locations. All the locations are interconnected and are accessing the application installed locally connected to the database server in the main office over MPLS. There are sometimes where the MPLS link goes down between the main office and the branch office. The System should take the Appointments into the Local Database at the branch office and as soon as the connection comes back the data from the Branch office should be synchronized with the main office.

Also the doctors in various locations use various mobile devices and tablets with Android, IOS and Windows OS.

The doctors can also view their own appointments, book an appointment for their patients next visits or refer the patient to another doctor using the appointment engine by booking the appointment.

We need to build an application, which can work in an offline and online mode for the Branches as well as the Doctors mobile devices and tablets with an option to manage and resolve conflicts at the application level.

Please suggest us the best Database to use which can be a good solution for the above scenario.

1 Answers1

0

Single type database cannot support such a distributed system. It will depend upon amount of data , indexing, other features.

For eg: For MPLS you should go with Oracle or Microsoft SQl server as it will have enormous amount of data with fast indexing.

For the respective data you can go with freeware likes Mysql and on mobile platform you can go with light version of DB like SQLite.

As far as data synchronization between DB at branch level and MPLS is concerned you can use available JAVA replication frameworks like Daffodil Replicator (E) and SymmetricDS. These supports various features like heteregenous replication,security conflict detection and resolution. refer here Strategy for Offline/Online data synchronization

For data synchronization between mobile DB and MPLS I am afraid you have to built your custom middleware for replication and synchronization.

Community
  • 1
  • 1
shashankaholic
  • 4,122
  • 3
  • 25
  • 28
  • Thank you for answering the question, we are planning to use SQL Server 2008 R2 at the Main office and SQL Server 2008 R2 Express Edition at the Branch Office and the data synch will happen using the the Microsoft Sync Framework 2.1 as SQLite cannot cope up with the concurrency issues for the offline version at the branch office, we intend to use SQLite for the mobile devices and tablets and write a sync program for the mobile devices using QCDSync. Do you have any better solution than the one I have described in this Reply. – Ratan Kalwa Oct 11 '12 at 07:35
  • Dnt have knowledge on QCDSync. But If your are targeting to run mobile clients on both offline and online mode, then i dnt know how QCDSYnc will be able to handle the conditional sync and conflicts. I think SOA based services xml/json will best bet here. – shashankaholic Oct 11 '12 at 08:41
  • Thank you for the Answer, we will look into JSON implementation. – Ratan Kalwa Oct 11 '12 at 12:49
  • Do you think there is any way to implement the above which can be installed on any platform. Suggestions welcome and Please let me know if we can use Node.js along with Backbone.js to implement. – Ratan Kalwa Oct 11 '12 at 14:18
  • There are many JSON based API frameworks in almost every language(JAVa, .NET, Node.js,php, python,ruby). I will suggest you to adopt in which you are comfortable. – shashankaholic Oct 12 '12 at 06:14
  • its old but incase some is thinking you can use Couchbase – Muhammad Ibrahim Dec 01 '21 at 03:11