We have a legacy standalone Java application which we are trying to improve. This is a calculations based high performance application.
Here is the technology stack:
GUI - Java Swing
Server - Core Java (RMI Communication with GUI)
Cache - EHCache
DB - MS SQL Server
Engine used for computations - C++ (Gets the data from GUI and Cache from Java server)
Currently, the users install all the above software in their PC and run the application.
As a first step, we are looking for technology / design options to move the database to our environment so that the have the rest of the components in their pc and connect to our centralized database.
Could you guys suggest the best design / technology options for this scenario in terms of achieving this goal as well as from performance perspective.