Java server-side and web application
Hi I'm looking at starting a development project which will require:

 1. Cross OS (linux and windows) 
 2. server side application which will be running 100% of the time (will be doing analysis tasks, and calculations)
 3. Web interface to show progress and statistics from server application. Also accept new criteria and tests

From the research I have done I think this all needs to be written in Java as to be acceptable for (1). To achieve (2) and (3) what is the best way? 

My thoughts go out to applications such as jet-brains teamcity. From what I understand the app is written in Java and has both a web application layer and a server side layer. My app would need to follow a similar process.

I'am a beginner when it comes to java but have deep knowledge in other languages. From what I understand, the best way to do this is use server-side java application (2) which will also host a java web application (3). I understand how to write a Java application and have it run. What I don't quite get is the best way to get this running all the time and with constant communication to a webapp. Also how should the web App be written? HTML/javascript? is there a better alternative? is there a way I can write one application which will run locally and also host a web app? so one code base...

Efficiency is of course important. I'm looking for a standard way people do this. I do not want to do anything "hacky".

Thanks in advance for any help.
Java server-side and web application
===

Hi I'm looking at starting a development project which will require:

 1. Cross OS (linux and windows) 
 2. server side application which will be running 100% of the time (will be doing analysis tasks, and calculations)
 3. Web interface to show progress and statistics from server application. Also accept new criteria and tests

From the research I have done I think this all needs to be written in Java as to be acceptable for (1). To achieve (2) and (3) what is the best way? 

My thoughts go out to applications such as jet-brains teamcity. From what I understand the app is written in Java and has both a web application layer and a server side layer. My app would need to follow a similar process.

I'am a beginner when it comes to java but have deep knowledge in other languages. From what I understand, the best way to do this is use server-side java application (2) which will also host a java web application (3). I understand how to write a Java application and have it run. What I don't quite get is the best way to get this running all the time and with constant communication to a webapp. Also how should the web App be written? HTML/javascript? is there a better alternative? is there a way I can write one application which will run locally and also host a web app? so one code base...

Efficiency is of course important. I'm looking for a standard way people do this. I do not want to do anything "hacky".

Thanks in advance for any help.