Categories
c/c++ java web

Back-End Java Service – Improving Computation Performance by C/C++

Application user experience is a key part of overall user satisfaction. The worst part of a user experience is waiting for a result. I want to share how I dramatically improved performance of the Java back-end service that provides map data for my service LLmaps.

LLmaps works like any other web-based service. You visit a page with your web-browser, enter required data and wait for a result. Data are sent via REST-based API to Java web-server that runs a computation based on pre-computed map data. The initial architecture is on the following diagram:

Categories
java web

Convert Image to JPEG in Java with Custom Compression Quality

Converting image to JPEG in Java is quite easy task if you use javax.imageio.ImageIO class. You just call:

BufferedImage image = ...;
OutputStream output = ...;
ImageIO.write(image, "JPEG", output);
Categories
java web

HTTPS-Enabled Java Web Application Using nginx

Today, I’d like to share my approach to secure Java web application using nginx server. Recent industry shift to a secure internet basically require all websites to provide HTTPS access. It improves search ranking and especially privacy of your visitors. So, I will share my approach how I made it for my LLmaps application. This tutorial applies for Linux, specifically Debian or Ubuntu.

Our architecture is laid out on the following diagram. Our clients are accessing nginx server that forwards decrypted calls to Java application.

Categories
java

How to Reference a File Relative to a JAR Archive

Few weeks ago I was dealing with a task how to reference a file that is relatively placed to an application JAR file. Directories are organized in the following way:

project/
├── lib/
│   └── application.jar
└── config/
    └── config.json
Categories
java

Asynchronous and Synchronous Code Patterns in Java

Enterprise applications usually connect to various systems. They can be either asynchronous (like messaging) or synchronous (like HTTP). This brings in a problem of communication between asynchronous and synchronous systems.