Performance of Enterprise Java Applications is a requirement and usually a challenge. Business requirements on systems can be stiff, successful systems can easily be overloaded and complex application architectures can add a burden too. Improving performance by tuning the application after it has been built seldomly renders huge improvements. By taking a step back – or even two – and regarding the application and the performance from a distance, it becomes possible to really design and architect for performance according to the ISYITF-method: it is staring you in the face. Order of magnitude improvements are attainable through logical reasoning and careful application of multi-tier architecture principles and JEE platform facilities.
This is the abstract for the session Thinking Through Java Enterprise Performance that I will be presenting on Tuesday October 2nd at JavaOne 2012 (BOF 4712 4:30 PM – 5:15 PM – Parc 55 – Cyril Magnin I.
The Outline
– definition: what is performance/what are the business requirements behind requirements; how should it be measured
– discussion: improving performance by tuning existing code? Take a step back!
– performance == (perceived) response time; (perceived) response time can be improved in several ways (these are introduced through real life examples like the supermarket, the kitchen and road system, and subsequently translated to the JEE architecture of Java enterprise applications):
– do not do it…
.. at all
… more often than is necessary
… on your own
… immediately
… as per request (push)
… in too big or too small steps
… in a convoluted way
… in a suboptimal place
– architecture overview – recapping the 8 strategies for reducing response time and the architectural and infrastructural facilities available to achieve it (cache, server push, concurrency, jobs & asynchronicity, role of database, specialized engines, AJAX & Post Load, client-goes-internet, piggy-backing, JSON)
The presentation itself: