Zpřístupněte stávající linuxové desktopové aplikace v prohlížeči bez jejich přepisování. Zjistěte, jak Linux Web Launcher využívá Wayland, XWayland a infrastrukturu relací Webswingu k zobrazení jejich původního rozhraní.
Podniková aplikační portfolia se málokdy omezují na jedinou technologii. Vedle desktopových aplikací v Javě mnoho organizací využívá také linuxové editory, prohlížeče souborů, terminály, diagnostické nástroje a specializované aplikace, které zůstávají důležitou součástí každodenní práce.
Samotné aplikace mohou být stále spolehlivé. Problém často spočívá ve způsobu jejich zpřístupnění: různé přístupové metody, oddělená infrastruktura, další licence, roztříštěná podpora a pracovní postupy, při nichž uživatelé musí přecházet mezi nepropojenými prostředími.
Přístup Webswingu Linux Desktop to Web má tuto mezeru překlenout. Aplikace dál běží ve svém původním linuxovém prostředí na serveru, zatímco její uživatelské rozhraní je dostupné prostřednictvím prohlížeče. Umožňuje to Linux Web Launcher (LWL), postavený na vlastním kompozitoru Wayland a integrovaný se stávajícím frontendem Webswingu, serverem, správou relací a administrační infrastrukturou.
Na stránce Linux Apps najdete běžné příklady použití, možnosti nasazení a demo v prohlížeči.

Aplikace zůstává ve svém původním linuxovém prostředí
Linux Desktop to Web nevyžaduje přepis aplikace ani samostatnou konverzi každé sady nástrojů pro tvorbu uživatelského rozhraní. Linuxová aplikace běží na serveru v prostředí, pro které byla vytvořena. Mění se vrstva, která aplikaci zpřístupňuje uživateli.
Linux Web Launcher poskytuje zobrazovací prostředí, které aplikace potřebuje, zachycuje její vykreslený výstup a předává ho do zavedeného mechanismu Webswingu pro zobrazení v prohlížeči. Uživatelské vstupy se přenášejí zpět do aplikace. Prohlížeč tak slouží jako přístupový bod, zatímco software zůstává ve svém původním běhovém prostředí.
Tento přístup je zvlášť užitečný, pokud má aplikace pro organizaci hodnotu, ale její nahrazení je obtížné, rizikové nebo jednoduše zbytečné.
Proč Webswing pracuje na úrovni zobrazovacího serveru
Linuxové desktopové aplikace mohou využívat různé technologie uživatelského rozhraní, všechny však potřebují zobrazovací server. Jeho vrstva proto představuje praktický společný bod integrace.
Kompozitor Wayland zajišťuje správu připojení aplikací a jejich grafických ploch, skládání výsledné scény, směrování vstupních událostí a izolaci jednotlivých klientů. Linux Web Launcher pro tuto roli implementuje vlastní kompozitor. Podporuje nativní aplikace pro Wayland a aplikace pro X11 prostřednictvím XWaylandu, takže architektura není vázána na jedinou sadu nástrojů pro tvorbu aplikací.
Práce na této úrovni má tři důležité důsledky:
Webswing zachycuje skutečný výstup aplikace, místo aby její rozhraní znovu vytvářel po jednotlivých ovládacích prvcích.
Aplikace mohou na serveru běžet bez fyzického displeje a přitom mít k dispozici plnohodnotné zobrazovací prostředí.
Integraci lze využít pro různé linuxové desktopové aplikace, místo aby se znovu vytvářela pro každý framework uživatelského rozhraní.

Jak do sebe zapadají části architektury Linux Web Launcheru
Architekturu lze popsat jako čtyři spolupracující vrstvy.
1. Linuxová aplikace
Aplikace běží na serveru jako klient Waylandu, případně u aplikací pro X11 prostřednictvím XWaylandu. Zachovává si vlastní logiku uživatelského rozhraní a předává aktualizace svých grafických ploch v souladu s běžným modelem linuxového desktopu.
2. Vlastní kompozitor a middleware pro zachytávání výstupu
Vlastní kompozitor Wayland spravuje okna aplikací, skládání grafických ploch a vstupy. Aktualizuje scénu a vykresluje výsledný výstup do vyrovnávací paměti. Základ pro vykreslování pod ním poskytují standardní linuxové grafické komponenty, například Mesa 3D, DRM/KMS a linuxové jádro.
Middleware pro zachytávání výstupu čte vykreslený obsah z grafické vyrovnávací paměti. Komponenta pro odesílání snímků následně řadí aktualizace do fronty, odstraňuje duplicity, podle potřeby kóduje snímky a sestavuje zprávu, která se odešle prostřednictvím Webswingu.
3. Server Webswing a vrstva relací
Správce připojení odešle aktualizaci přes WebSocket. Server Webswing zprávu přijme a dekóduje, zatímco směrovač relací určí správnou uživatelskou relaci a předá jí aplikační data.
Tato vrstva využívá infrastrukturu, kterou Webswing již obsahuje: frontend v prohlížeči, správu relací na serveru a Admin Console pro konfiguraci a monitorování aplikací. Zpřístupnění linuxových aplikací se tak stává součástí stejného provozního modelu a nevyžaduje samostatný technologický celek.
4. Prezentační vrstva v prohlížeči
V prohlížeči přijme aktualizaci připojení WebSocket. Dispečer ověří a dekóduje přenesená data, vykreslovací pipeline seskupí požadavky na vykreslení a odstraní duplicitní práci. Vykreslovací komponenta potom provede operace ve správném pořadí grafických ploch. Webové rozhraní použije výsledné aktualizace a zachytává uživatelské vstupy.
Od aktualizace linuxové grafické plochy do prohlížeče: životní cyklus ve třech fázích
Celá cesta výstupu je rozdělena do tří fází: kompozice, přenos a prezentace.

Kompozice
Linuxová aplikace předá aktualizaci grafické plochy. Kompozitor aktualizuje graf scény a stav výstupu a vykreslí nový výstup do vyrovnávací paměti. Middleware přečte vykreslenou plochu a komponenta pro odesílání snímků zařadí aktualizace do fronty, sloučí je a odstraní duplicity. Následně zakóduje snímek a sestaví odchozí zprávu.
Přenos
Správce připojení odešle zakódovanou aktualizaci přes WebSocket. Server Webswing ji přijme a dekóduje a směrovač relací předá uživatelská data do správné relace v prohlížeči. Směrování podle relací je důležité, pokud stejné prostředí Webswingu sdílí mnoho uživatelů nebo instancí aplikací.
Prezentace
Prohlížeč přijme zprávu a převede ji na pokyny pro vykreslování. Dispečer zkontroluje přenesená data, vykreslovací pipeline seskupí práci a vykreslovací komponenta provede operace s ohledem na pořadí grafických ploch. Webové rozhraní aktualizuje zobrazení v prohlížeči a zachytí vstupy z klávesnice a polohovacího zařízení, které se následně přenesou zpět do aplikace.
Výsledkem je interaktivní linuxová desktopová aplikace dostupná prostřednictvím prohlížeče, zatímco samotná aplikace zůstává na serveru.
Co tento přístup přináší aplikačním týmům
Přepis aplikace není podmínkou
Cílem je zpřístupnit stávající linuxovou desktopovou aplikaci v prohlížeči bez předchozího přestavění jejího rozhraní nebo změn obchodní logiky. Týmy mohou řešit způsob zpřístupnění a přístup k aplikaci nezávisle na dlouhodobých rozhodnutích o modernizaci.
Není potřeba samostatná integrace pro každou sadu nástrojů
Protože Linux Web Launcher pracuje na úrovni zobrazovacího serveru, Webswing nepotřebuje samostatnou implementaci pro prohlížeč pro každou sadu nástrojů desktopového rozhraní. Wayland poskytuje společnou vrstvu a XWayland tento přístup rozšiřuje také na aplikace pro X11.
Nativní vzhled aplikace zůstává zachován
Architektura zachycuje a vykresluje skutečný výstup aplikace. Uživatelé nadále pracují s rozhraním, které znají, a aplikace zůstává v běhovém prostředí, pro které byla navržena.
Jeden model zpřístupnění pro pracovní postupy s Javou a Linuxem
Přínos se neomezuje jen na přístup k jednotlivé linuxové aplikaci. Webswing lze využít jako společnou vrstvu pro zpřístupnění v prohlížeči a správu relací v portfoliích, která kombinují různé technologie.
Aplikace v Javě může být součástí stejného pracovního postupu jako linuxový editor, prohlížeč souborů, terminál nebo diagnostický nástroj. Soubory lze předávat mezi technologiemi, aplikace spouštět v rámci společného procesu a Webswing může pro celý pracovní postup poskytovat jednotný vstupní bod v prohlížeči.
Architektonický kompromis: výstup aplikace místo sémantických webových prvků
Linux Web Launcher pracuje s výstupem aplikace na úrovni pixelů. Nepřevádí automaticky každý desktopový ovládací prvek na sémantickou komponentu prohlížeče.
Tento rozdíl je důležitý. Cílem je věrné zpřístupnění stávající aplikace nezávisle na její sadě nástrojů, nikoli automatický převod na nově navržený nativní webový frontend. Organizace by tento přístup měly hodnotit jako architekturu pro zpřístupnění aplikací: způsob, jak zachovat funkční software, zpřístupnit jej v prohlížeči a začlenit do moderních provozních postupů bez nutnosti nejprve aplikaci přepsat.
Praktické příklady použití
Tento přístup je vhodný pro několik běžných scénářů:
Pomocné systémové aplikace: řízený přístup přes prohlížeč k terminálům, diagnostickým nástrojům a dalším utilitám používaným vedle hlavní podnikové aplikace.
Specializované aplikace mimo Javu: zpřístupnění editorů souborů, prohlížečů a dalšího linuxového desktopového softwaru, který by jinak vyžadoval samostatné přístupové řešení.
Kombinované pracovní postupy s Javou a Linuxem: aplikace v Javě a linuxová aplikace mohou být součástí stejného procesu v prohlížeči, včetně předávání souborů a spouštění aplikací.
Spravované aplikační relace: Webswing může linuxové aplikace začlenit do svého stávajícího modelu správy uživatelů a relací.
Práce se soubory a tisk v prohlížeči: technologie může podporovat řízený přístup k souborům, jejich zpracování a izolaci, výměnu souborů mezi technologiemi i virtuální tisk.
Tyto scénáře odrážejí běžnou podnikovou praxi: uživatele nezajímá, jaká sada nástrojů nebo běhové prostředí stojí za konkrétní úlohou. Potřebují souvislý pracovní postup, zatímco IT potřebuje zvládnutelný způsob zpřístupnění a provozu zapojených aplikací.
Rozšíření Webswingu za hranice Javy
Webswing se tradičně zaměřuje na zpřístupnění desktopových aplikací v Javě prostřednictvím prohlížeče. Linux Desktop to Web rozšiřuje stejný směr vývoje produktu na širší spektrum aplikací.
Základní myšlenka zůstává stejná: nechat osvědčený software běžet na serveru, odstranit zbytečné závislosti na koncových zařízeních a používat prohlížeč jako místo pro zobrazení aplikace. Linux Web Launcher umožňuje tento model využít i pro aplikace mimo ekosystém Javy a zároveň znovu použít komponenty Webswingu, které již zajišťují konfiguraci, relace, přenos dat a vykreslování v prohlížeči.
Linux Web Launcher je součástí Webswingu 26.2 a podporuje nativní aplikace pro Wayland i aplikace pro X11 prostřednictvím XWaylandu. Pokud chcete probrat vhodnou aplikaci nebo pracovní postup kombinující více technologií, navštivte stránku Linux Apps nebo napište na sales@webswing.org.
Podrobnější pohled na architekturu a demo
Původní technické představení najdete v článku k webináři: Webinář: Představení Webswingu 26.1 a nejen Java – linuxové aplikace ve Webswingu.
Celý záznam včetně vysvětlení architektury, konfigurace v Admin Console a ukázky aplikace je k dispozici zde: Podívat se na celý záznam webináře na YouTube.
