suda Senior Java EE Develope specialises in Pdf forms , Fonts, application servers and Image manipulation, meditates in spare time.

Are you a Java Developer working with PDF files?

Find out why you should be using JPedal

Choosing a Java Application Server

1 min read

As you maybe aware of recently Oracle has stopped commerical support for future releases of the Glassfish server. You can read the official announcement here and see a whole range of comments on the Internet here with the usual selection of views ranging from ‘no big deal’ to ‘end of the world’. As a result GlassFish users may be considering moving to different application servers or at least looking at their options.

So I thought this was a good opportunity to share some technical information you may need to know prior to your server selection process. If you have the expertise knowledge on server side technologies, please feel free to skip this article.

1. Number of concurrent users the system should support 

This refers to the number of active users (Users interaction until the session has expired) who interact with the application server periodically.


When to move to on demand cloud access or increase the processing power ?

As you know, on demand cloud access is a little more expensive than the usual dedicated cloud/servers; However they can provide a high level of performance throughout the peak times; This point in above chart indicates when optimal performance is reached and beyond which throughput starts to degrade; So this would be the better time to move to an on demand access.

2. Average think time between requests

The average time a user spends for submitting one form to another. Think time may vary based on users for example web service clients have less think time than human users, therefore  the average calculation is recommended to resolve the formula given next paragraph.

3. Average Response Time

The Response time refers to the amount of time an Application Server consumes to return the results of a request to the user.

The calculation for his can be summarized as a formula given below:

Tresponse = n/r – Tthink

n = Number of concurrent users (i.e 10,000)

r = number of requests per second the server receives (i.e 2000)

Tthink = average user think time in seconds (2)

Example: Tresponse = 10000/200 – 20 = 3sec

4. Requests per Minute

Once we know the response time and the thinking time then the request per minute can be revealed easily by working out the formula and multiplying the answer by 60, Requests per minute are inversely proportional to response time after the break even point is reached.

r = n/(Tresponse + Tthink)

so Request per minute = r*60 ;


Other factors

5. Modularization/ componentized server

Good Application servers are expected to ensure that only those features required by the applications actually deployed when the server are initiated.

6. IDE tooling and GUI support

We always prefer visual components over scripts and IDE integration over custom ant tools.

Other Important factors included:

7. Technical support and documentation

8. Parallel developments with Java EE components

9. Security and authentication

For more details on this you can refer to the oracle technical documentation site.

Our software libraries allow you to

Convert PDF to HTML in Java
Convert PDF Forms to HTML5 in Java
Convert PDF Documents to an image in Java
Work with PDF Documents in Java
Read and Write AVIF, HEIC, WEBP and other image formats
suda Senior Java EE Develope specialises in Pdf forms , Fonts, application servers and Image manipulation, meditates in spare time.