Java – Looking to build a 2 java applications. should it be web-based application or standalone application

cloud computingjavajava-eetcpweb-applications

The first application (web-based) will be located at site1 and once the information is processed, it will be sent to the second application(web-based) located at site2. Application2 needs to be able to do the same thing as application1. Because of this, there has to be a way to share the database to keep data in sync. I wanted to go web-based for these two applications, but the issue arises, what if the internet is down? If application1 goes down due to a blackout or lost of internet, application2 should still be able to do what it needs to. I was thinking the database/server will be on Amazon EC2.

Even if I go with a standalone application for site1 and site2, it still needs some sort of internet connection to talk to a shared database/server right, possiblity through tcp connection? Because of this, I dont see why it shouldn't just be a web-based applicatin then. This the disagreement I'm having with my team.

I want to know the pros and cons of making these two application either being a stand-alone or web-based.

Best Answer

Before going web or standalone, figure out your business domain.

  • How often app talks to server(synchronizing user-workspace, fetch data, updating data, etc.)
  • How frequently user will be accessing the app (1 or 100 times a day).
  • How much time user will spend on the app (5 mins or 2 hrs).

pros and cons of making these two application...

There can be a huge list, but here are just few points for standalone:

pros:

  • work-offline(big plus).
  • No need to conside issues like cross-browser compatability.
  • No need to get into one more JEE Layer(KISS principle)
  • Simpler security model(e.g. no need to bother about xss attack, etc.).

cons:

  • accessbility(have to install on seperate machines e.g. home, office).
  • availability(not avilable on other devices, like tablets, smartphones).
  • upgrading