#jetty

JAVAPROjavapro
2025-12-01

๐ŸŽ„Heute รถffnet sich Tรผrchen 1 unseres Adventskalenders. 24 Tage voller Features, Deep Dives & Architektur-Einblicke.

Warum ein eigener URL-Shortener?
Jetzt lesen: javapro.io/de/url%e2%80%91shor
Autor: SvenRuppert

Introduction to the URLโ€‘Shortener Advent Calendar 2025

December 2025 is all about a project that has grown steadily in recent months: the Java-based URL Shortener, an open-source project implemented entirely with Core Java, Jetty, and Vaadin Flow. The Advent calendar accompanies users every day with a new feature, a technical deep dive, or an architectural improvement โ€“ from the basic data structure and REST handlers to UI components and security aspects.

  1. Motivation: Why your own URL shortener?
  2. What can users expect in the Advent calendar?
  3. Reasons for the choice of technology
    1. Core Java (Java 24)
    2. Jetty as an embedded web server
    3. Vaadin Flow for the UI
    4. EclipseStore as a persistence solution
  4. Reference to previously published articles
  5. Why, as an Advent calendar?

Motivation: Why your own URL shortener?

The entire project is developed openly on GitHub. There, users will not only find the current state of the code, but also all historical development steps, patches, branches, and PRs discussed in the context of the Advent calendar. The source code can be viewed at https://github.com/svenruppert/url-shortener.

Commercial URL shorteners are practical โ€“ but often non-transparent. They collect usage data, offer proprietary APIs, or block essential functions behind paywalls. The goal of this project is therefore a completely self-powered, transparent, and secure shortener suitable for internal networks, development teams, companies, and hobby projects alike.

The project pursues three central basic principles: transparency, in which every decision is documented in the code in a comprehensible way; didactics, as the project is not only intended to be a tool, but above all a learning platform; and extensibility, because each feature is designed to be modular and can therefore be easily adapted or expanded.

What can users expect in the Advent calendar?

The technical journey through Advent is visible both in terms of content and directly in the repository. Each day is created as its own Git branch, starting with feature/advent-2025-day-01 and continuing until the final Christmas door. This allows the projectโ€™s development to be traced in small, clearly defined steps โ€“ including all refactorings, architectural adjustments, and new functions. In the same structure, the Advent Calendar presents a precisely outlined feature every day, which is reproduced using the associated patch or PR. Supplementary code excerpts from the core and UI modules, architectural explanations and references to typical anti-patterns deepen the understanding. Each door is rounded off with suitable visualisations and a compact summary, so that the projectโ€™s development becomes transparent and tangible step by step.

Reasons for the choice of technology

For the URL shortener, technologies were deliberately chosen that are both practical and didactically valuable. Every decision supports the projectโ€™s goal: to create a modern yet easy-to-understand system that requires no unnecessary dependencies.

Core Java (Java 24)

The projectโ€™s basis is pure Core Java. The reasons for this are:

The use of pure core Java enables maximum transparency: Without any framework magic, users can see exactly how data models, handlers, error handling or serialisation are structured. By deliberately avoiding additional libraries, the attack surface is reduced, and the risk of supply chain problems is minimised. At the same time, this approach makes it very clear to developers how robust and comprehensive the JDK already is today: Many tasks that used to require external dependencies can now be easily solved with onboard tools.

Jetty as an embedded web server

A deliberate alternative to Spring Boot or Jakarta EE:
Jetty is characterised by its lightweight design and rapid launch time, which are especially beneficial in development scenarios. At the same time, Jetty offers complete control over routing and servlets, so that HTTP mechanics can be precisely demonstrated and implemented in a targeted manner. Thanks to its modular structure, Jetty is ideal for small, well-defined microservices while remaining a stable, proven technology whose long production history speaks for high reliability.

Jetty offers just the right balance between simplicity and technical relevance for this open source project.

Vaadin Flow for the UI

The project uses Vaadin Flow to implement an entirely server-side, Java-focused UI that does not require an additional JavaScript or TypeScript stack, making it particularly suitable for developers who want to focus entirely on Java. Instead of relying on a complex front-end ecosystem, Vaadin enables end-to-end development in a language, significantly reducing the cognitive load and flattening the learning curve. The component-based architecture enables a productive and structured way of working, in which user interfaces can be clearly modelled and reused. At the same time, server-side rendering eliminates the need for direct REST calls from the browser, increasing security and reducing attack surfaces. Despite this technical simplicity, Vaadin offers modern styling and a user experience that is reminiscent of the professionalism of enterprise applications. This makes the framework ideal for internal tools, administrative interfaces and corporate projects where security, robustness and long-term maintainability are paramount.

EclipseStore as a persistence solution

EclipseStore replaces classic databases with an object-oriented persistence approach that deliberately does not require ORM layers, entities, table models or complex abstractions. Instead of having to convert data into a relational structure, it remains in its natural form: Java records, lists and other object structures are directly persisted. This eliminates the usual mapping logic, significantly reducing the complexity of the persistence layer and making the architecture more straightforward to understand.

EclipseStore shows its strength especially in small, focused services. Persistence fits seamlessly into the domain model without forcing developers to adapt their data structures to a relational mindset. This direct approach not only leads to more elegant modelling but also to excellent performance. Since EclipseStore manages in-memory-compliant object graphs, data access is high-speed and does not require any additional caching mechanisms or complex optimisations. The result is a lightweight yet powerful persistence system ideal for a modern, compact Java service.

Didactically, EclipseStore provides valuable insight into how persistent data models can operate when not constrained by relational database constraints. Developers gain a deeper understanding of what object lifecycles, data flows, and modelling decisions look like in an environment that is designed entirely from the Java world. This makes EclipseStore particularly suitable for this URL shortener.

Reference to previously published articles

Before we get into the Advent calendar, itโ€™s worth taking a look at the previous publications, which already present the basics, architecture and the first UI concepts of the project. These articles form the foundation on which the content of the Advent calendar is built:

These items offer a first technical introduction and are perfect as preparation for the individual doors of the Advent calendar.

Why, as an Advent calendar?

A project like a URL shortener doesnโ€™t happen in a weekend โ€“ it consists of many small steps, refactorings, decisions and improvements. An Advent calendar offers the perfect format for this: short, daily, understandable bites that come together to form an overall understanding.

It is, at the same time, a review of the projectโ€™s journey and a motivating start to the new year: a project that users can run, expand, change, or completely rethink.

#eclipsestore #java #jetty #urlshortener #vaadin

A diagram illustrating the process of a URL shortener, showing the transformation from a long URL to a short URL.
Paul HouleUP8
2025-12-01

Jetty protecting the harbor immediately south of Portsmouth, NY seen from Odiorne State Park

A short obelisk with a triangular sign and probably a light is on the edge of a thine jetty of light colored boulders just below the horizon of a slightly choppy sea with languid clouds stretched horizontally above
2025-11-30

JETTY is an incredible film chronicling of Rockaway Beach culture and ecological engineering (you can purchase it for $7 directly from the filmmaker).

It's a meditation on Rockaway and the jetties they're building, Rockaway Beach culture glorious (and sobering). With music by Animal Collective.

criterion.com/current/posts/87

#jetty #rockawaybeach #SamFleischner #animalcollective

Erik C. Thauvinethauvin
2025-11-26

Scaling the Web: Jetty, Multi-Core, Performance Myths

youtube.com/watch?v=fJvg5zTKHeE

2025-11-20
Weathered wood and restless skies over the Southern Ocean.

Esperance, Western Australia.

ยฉ ๐“๐“ต๐“ต ๐“ก๐“ฒ๐“ฐ๐“ฑ๐“ฝ๐“ผ ๐“ก๐“ฎ๐“ผ๐“ฎ๐“ป๐“ฟ๐“ฎ๐“ญ ๐“ซ๐”‚ ๐“š๐“ฎ๐“ฟ ๐“Ÿ๐“ฎ๐“ฒ๐“ป๐“ฌ๐“ฎ.

#photo #photography #australia #westernaustralia #Esperance #TankerJetty #BlackAndWhitePhotography #BnW #Monochrome #CoastalVibes #MoodySky #Jetty #OceanView
A black and white photograph of the historic, partially dilapidated Tanker Jetty in Esperance, Western Australia.  The remains of the jetty stretch out into the ocean under a dramatic, cloudy sky. In the foreground, large rocks and some coastal grass frame the image.
2 Peeps And A Camera2peepsandacamera
2025-11-19

Esperance's coastal charm under a dramatic, cloudy sky.

Esperance, Western Australia.

Photo and edit by Kev.

ยฉ ๐“๐“ต๐“ต ๐“ก๐“ฒ๐“ฐ๐“ฑ๐“ฝ๐“ผ ๐“ก๐“ฎ๐“ผ๐“ฎ๐“ป๐“ฟ๐“ฎ๐“ญ ๐“ซ๐”‚ ๐Ÿ ๐“Ÿ๐“ฎ๐“ฎ๐“น๐“ผ ๐“ช๐“ท๐“ญ ๐“ช ๐“’๐“ช๐“ถ๐“ฎ๐“ป๐“ช.

(๐’Ÿโ„ด๐“Š๐’ท๐“โ„ฏ ๐“‰๐’ฝโ„ฏ ๐’ซโ„ฏโ„ฏ๐“…๐“ˆ, ๐’นโ„ด๐“Š๐’ท๐“โ„ฏ ๐“‰๐’ฝโ„ฏ ๐“…โ„ฏ๐“‡๐“ˆ๐“…โ„ฏ๐’ธ๐“‰๐’พ๐“‹โ„ฏ!)

A wide angle landscape photograph of the Esperance Tanker Jetty area on a cloudy, overcast day.

In the foreground, a pile of large, reddish-orange granite boulders forms a natural barrier leading up to a paved walking path on the left.

The water is calm, meeting a small sandy beach patch with seaweed. A long, low white jetty extends into the water toward the center.

In the background, industrial elements of the working port are visible, including a large green crane and port buildings, backed by distant hills under a vast, gray sky.
2025-11-16
Where the Nullarbor meets the sea. Weathered timber and endless ocean at the historic Eucla Jetty.

Eucla, Western Australia.

ยฉ ๐“๐“ต๐“ต ๐“ก๐“ฒ๐“ฐ๐“ฑ๐“ฝ๐“ผ ๐“ก๐“ฎ๐“ผ๐“ฎ๐“ป๐“ฟ๐“ฎ๐“ญ ๐“ซ๐”‚ ๐“š๐“ฎ๐“ฟ ๐“Ÿ๐“ฎ๐“ฒ๐“ป๐“ฌ๐“ฎ.

#photo #photography #australia #westernaustralia #Eucla #Nullarbor #LandscapePhotography #jetty #OldPier
A close up, low angle color photograph capturing the decaying wooden structure of the Eucla Jetty in Western Australia. 

The foreground is dominated by dark brown seaweed covering the wet sand. The main focus is on the four weathered wooden piles supporting a cross -beam, with one diagonal support angled towards the viewer.

The rest of the jetty structure recedes into the distance over the shallow turquoise and dark blue ocean under a bright blue sky.
2025-11-14
A long walk to the sea. Solitude and light on the jetty.

Elliston, South Australia.

ยฉ ๐“๐“ต๐“ต ๐“ก๐“ฒ๐“ฐ๐“ฑ๐“ฝ๐“ผ ๐“ก๐“ฎ๐“ผ๐“ฎ๐“ป๐“ฟ๐“ฎ๐“ญ ๐“ซ๐”‚ ๐“š๐“ฎ๐“ฟ ๐“Ÿ๐“ฎ๐“ฒ๐“ป๐“ฌ๐“ฎ.

#photo #photography #australia #southaustralia #EllistonJetty #JettyLife #BlackAndWhitePhotography #Monochrome #Seascape #OceanView #jetty
A black and white photograph of the Elliston Jetty extending straight into the ocean under a bright sky.  The wooden planks and metal railings lead the eye towards the distant horizon.  Solar powered lights line the jetty, casting long shadows. Several seagulls rest on the railing and the deck.
2025-11-13
Esperance's coastal charm under a dramatic, cloudy sky.

Esperance, Western Australia.

ยฉ ๐“๐“ต๐“ต ๐“ก๐“ฒ๐“ฐ๐“ฑ๐“ฝ๐“ผ ๐“ก๐“ฎ๐“ผ๐“ฎ๐“ป๐“ฟ๐“ฎ๐“ญ ๐“ซ๐”‚ ๐“š๐“ฎ๐“ฟ ๐“Ÿ๐“ฎ๐“ฒ๐“ป๐“ฌ๐“ฎ.

#photo #photography #australia #westernaustralia #Esperance #Jetty #CoastalPhotography #Harbour #Overcast #LandscapePhotography
A wide angle landscape photograph of the Esperance Tanker Jetty area on a cloudy, overcast day.  In the foreground, a pile of large, reddish-orange granite boulders forms a natural barrier leading up to a paved walking path on the left.  The water is calm, meeting a small sandy beach patch with seaweed. A long, low white jetty extends into the water toward the center.  In the background, industrial elements of the working port are visible, including a large green crane and port buildings, backed by distant hills under a vast, gray sky.
2025-11-12
Waiting for the sun at Middleton Beach.

Albany, Western Australia.

ยฉ ๐“๐“ต๐“ต ๐“ก๐“ฒ๐“ฐ๐“ฑ๐“ฝ๐“ผ ๐“ก๐“ฎ๐“ผ๐“ฎ๐“ป๐“ฟ๐“ฎ๐“ญ ๐“ซ๐”‚ ๐“š๐“ฎ๐“ฟ ๐“Ÿ๐“ฎ๐“ฒ๐“ป๐“ฌ๐“ฎ.

#photo #photography #australia #westernaustralia #MiddletonBeach #AlbanyWA #CoastalVibes #LandscapePhotography #OceanView #Jetty #TurquoiseWater #Seascape
A wide angle landscape photo of a calm turquoise coloured ocean with a long wooden jetty extending from the right foreground.

The jetty leads out toward a small red object floating in the water. The beach runs along the left side of the frame, backed by low coastal scrub and houses under a heavily clouded, grey sky.
2025-11-12
Walking the line between land and sea.

Esperance, Western Australia.

ยฉ ๐“๐“ต๐“ต ๐“ก๐“ฒ๐“ฐ๐“ฑ๐“ฝ๐“ผ ๐“ก๐“ฎ๐“ผ๐“ฎ๐“ป๐“ฟ๐“ฎ๐“ญ ๐“ซ๐”‚ ๐“š๐“ฎ๐“ฟ ๐“Ÿ๐“ฎ๐“ฒ๐“ป๐“ฌ๐“ฎ.

#photo #photography #australia #Esperance #WesternAustralia #BeachLife #CoastalPhotography #WoodenPier #Jetty #OceanView #TravelAustralia #AustralianBeaches #WeatheredWood #Seascape
A wide angle, low perspective photograph of a heavily weathered wooden pier or jetty leading out into the ocean from a sandy beach.

The aged wood shows deep grooves and texture, dominating the foreground as it angles sharply from the lower left towards the center.

Gentle waves wash onto the wet sand on either side. In the background, the sea is a deep blue-green, meeting a clear blue sky dotted with white clouds.

Several small, rocky islands are visible on the distant horizon.
2025-11-11
A walk to the horizon: Black and white drama on the Australind jetty.

Australind, Western Australia.

ยฉ ๐“๐“ต๐“ต ๐“ก๐“ฒ๐“ฐ๐“ฑ๐“ฝ๐“ผ ๐“ก๐“ฎ๐“ผ๐“ฎ๐“ป๐“ฟ๐“ฎ๐“ญ ๐“ซ๐”‚ ๐“š๐“ฎ๐“ฟ ๐“Ÿ๐“ฎ๐“ฒ๐“ป๐“ฌ๐“ฎ.

#photo #photography #australia #Australind #Jetty #BlackAndWhitePhotography #Monochrome #WesternAustralia #LandscapePhotography #DramaticSky
A striking black and white photograph of a wooden jetty extending straight out over a large body of water.

The weathered wooden planks of the jetty, framed by a white railing on the right side, create a strong leading line that draws the eye toward the distant shore and center.

The water is dark and choppy, and the sky is filled with dramatic, bright clouds that add texture and contrast to the scene.

The distant shoreline is dark, providing a strong horizontal line.

The bottom right corner is watermarked "ยฉ Kev Peirce."
blueHOMES AG Europa Immobilienbluehomes
2025-11-10

Plot of land on the Ebro River ๐Ÿ›ถ

For sale a plot of with electricity and water/waste water with access to the - a is available as well as a toilet house with shower and office .

The contains about 3000 m2 of land with over 20 trees and two trees ๐Ÿซ’

110.000 โ‚ฌ
Plot: 2.585mยฒ
๐Ÿ‡ช๐Ÿ‡ธ

bluehomes.com/PE0891/en/Plot-o

Plot of land on the Ebro RiverPlot of land on the Ebro RiverPlot of land on the Ebro RiverPlot of land on the Ebro River

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst