Na akci Made by Google 2026 (YouTube) bude oficiálně představena jedenáctá generace telefonů Pixel s novým čipem Google Tensor G6 a hodinky Pixel Watch 5.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se spolu s partnery z dalších zemí připojil ke společnému upozornění (Joint Cybersecurity Advisory) týkajícímu se probíhající kybernetické kampaně skupiny LAUNDRY BEAR zaměřené na uživatele e-mailové platformy Zimbra Collaboration Suite (ZCS) nejméně od července 2025. NÚKIB doporučuje organizacím využívajícím Zimbra Collaboration Suite neprodleně ověřit, zda
… více »Intel vydal 42 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20260811 mikrokódů pro své procesory.
Sny o designu GNOME Shellu, článek s náhledy a videi, představuje dlouhodobou vizi týmu GNOME pro vylepšení uživatelského rozhraní GNOME Shellu. Zatímco nedávné verze přinášely spíše drobné úpravy, designéři nyní plánují zásadnější změny.
Byla vydána nová verze 10.5 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Nově vyžaduje podporu ECC (Elliptic Curve Cryptography) v libcrypto, včetně křivky NISTP521.
Byla vydána nová verze 10.6 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. S novými obrazy pro Orange Pi 4 Pro, Orange Pi Zero 3W a Odroid M1/M1S/M2. Přehled novinek v poznámkách k vydání.
Námořní drony používané elitními jednotkami britského královského námořnictva tajně posílaly údaje do Číny. Stroje vybavené čínskými komponenty měly být využívány pro vojenské operace na Blízkém východě. Kamery na dálkově řízených průzkumných člunech K3 Scout byly vybavené součástkami, které bez vědomí britského námořnictva odesílaly informace do spojeného zařízení v Číně. Britské námořní síly využívaly flotilu námořních dronů
… více »Alza.cz nabízí herní AlzaPC s předinstalovaným Linuxem (YouTube), konkrétně s linuxovou distribucí Bazzite (Wikipedie).
Squeak (Wikipedie), open source implementace programovacího jazyka a prostředí Smalltalk, byl vydán ve verzi 6.1. Přehled novinek v poznámkách k vydání.
V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Zapscape aneb CVE-2026-64561. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala 6 let (od července 2020 do července 2026).
V posledních pár článcích se objevilo slovo Java. Nevěřícně jsem zíral, jaký může vyvolat flame, jedno magické slůvko.
V určitých ohledech musím ríct, že se některým lidem nedivím, že Javu odmítají, ale z daných diskutujích nikdo nevzal v potaz fakt, že ona Java je silná na serveru. Zde kraluje z několika důvodů.
Abych jen nevytvářel další článek, který je o ničem, rozhodl jsem, že se pokusím sepsat důvody, proč vlastně Enterprise Java. Dále s jakými frameworky (samozřejme budou existovat alternativy) a jak jednoduchou aplikaci napsat. Samotné porovnání nechám na Vás.
Nepředpokládám, že se mi podaří někoho přesvědčit, že je Java skvělá. Spíše se pokusím vysvětlit, proč je "nejen" vhodná na serveru.
Architektura
Bude se jednat o klasickou aplikaci klient-server-databaze. Samotné rozdělení je vcelku jasné. Jako databázi volím MySQL. V tomto případě může být DBMS jakýkoli, jelikož enterprise aplikaci, kterou budu tvořit, bude nezávislá na volené DB. Samotný server bude glassfish v2, který se dále dělí na vlastní vrstvy (o tom až za chvíli). Klientem bude primárně web aplikace. Samozřejmostí bude, že klientem může být i desktop aplikace, která bude používat stejnou business logiku jako web aplikace.
Aplikační server
Asi nejzajímavější částí je tato. Popisu celé problematiky se věnují odborné knížky. Já zkusím provést pouhý rychlokurz, aby bylo přibližně jasné, oč se vlastně jedná.
AS bychom mohli rozdělit do tří skupin.
Toto základní rozdělení by mohlo stačit. Nyní již k výběru jednotlivých frameworků.
Na persistentní vrstvu použiji TopLink s JPA. TopLink nám zajišťuje komunikaci s DB (EntityManager) a JPA je vlastně definice, jak mají jednotlivé Entity vypadat. Pod entitou si mohu představit nějakou oanotovanou třídu, která obsahuje atributy, setry-getry. Pro představu by se dalo říci, že jedna instance entity odpovídá 1 řádku tabulky v DB (samořejmě to vždý nemusí platit).
Na samotnou business logiku volím EJB3. Pod EJB si lze představit jednoduchou POJO třídu, která obsahuje metody (business metody) a zpracovává požadavky, které jdou z klientské části. Lze sem dosadit i několik služeb, jako JTA, JMS, Timers, JAAS, atd. Na této úrovni bych měl řešit vše, co se řešit dá. Více tím odstíním klientskou část od nějaké vlastní implementace logiky mezi DB a Javou.
Webový kontejner sice obsahuje JSP-Servlety, ale pro efektivnější práci použiji nějaký web-framework. Pro Javu jich existuje snad desítky. Asi není příliš jednoduché si najít ten správný (pomoc s výběrem bývá snad nejčastější dotaz na javovských konferencích). Já osobně použiji JSF. Důvod proč je ten, že se jedná komponentový framework, který má slušné zázemí, samotný Sun.
Jako demo aplikaci zvolím jednoduchý systém na správu zaměstnanců, který bude obsahovat zabezpečení pomocí JAAS služby. Jelikož se jedná o dobře rozdělenou architekturu, tak lze říci, že je to pouhý start, na kterém se dá dále stavět.
To by bylo prozatím asi vše. Jak jsem psal na začátku, existují i další alternativy, zejména při výběru řešení, ale jedno zůstává pořád stejné a to fakt, že Java je na tento druh aplikací vážně jak dělaná.
Tiskni
Sdílej:
Díky. Jsem zvědavý na pokračování.
Vazne me mrzi, ze nikdo nereagoval. Opravdu me zajimaji pro/proti ohledne J2EE.
Na ten priklad jsem zvedavy.
Jednu vec bych ale ze sveta web Javy vyzdvihnul urcite a to je uz zminovane DWR. Pro zadnou jinou platformu jsem nenasel nic, co by tak efekt(iv)nim zpusobem povznaselo AJAX na vyssi uroven. Proti XML sice nic nemam, ale DWR je fakt parada. Pro PHP se o podobnou vec snazi SAJAX, ale o remotovani nejakych business trid nemuze byt rec...pokud vim, zvlada jen funkce a to jeste ne moc hezky.
Moje dojmy jsou dost smisene. Pro one man show mi to pripadne jako nevhodna platforma, je to strasne "ukecane" reseniAno, pro "one man show" se skutečně jedná o nevhodnou platformu. Maximálně ještě tak pokud se počítá s výměnou onoho muže.
Mě osobně se právě líbíla ta rozvrstvenost. U jazyků jako je PHP o tomto nemůže být ani řeč.No, zas tak bych to nazabijel. PHP je sice strasne jako jazyk, ale existuje par frameworku, ktere separaci vrstev implementuji docela slusne. Sice ne tak granularizovane jako J2EE, ale v pripade, ze vam pro business logiku staci jednovrstvy Model (coz v mnoha pripadech staci), tak se s tim da pracovat.
AJAX je zajímavá myšlenka, která je ale dost často přeceňována. Pokud ovšem chci jít tímto směrem, tak i v samotném JSF mám výborné prostředí toto uplatnit.Precenovana je casto, dusledek Web 2.0 boomu
Kazdy to chce pouzivat, ale ne kazdy vi kdy a jak
Kazdopadne DWR zkus, poskytuje java beans jako JS objekty, takze v JS volas metody s parametry napr. na servisnich tridach jak kdybys byl v jave.
S tou one man show příliš nesouhlasím. Osobně jsem na projekt také sám, ale nijak mě to nedegraduje k tomu, abych dané řešení nepoužil.No ja na to ted nejsem sam, jsme na to cela firma, je to velky projekt. Ja se pohybuju spis v hornich vrstvach. Spring MVC, Wicket, AJAX... se spodnimi vrstvami nemam zkusenost.
Kazdopadne DWR zkus, poskytuje java beans jako JS objekty, takze v JS volas metody s parametry napr. na servisnich tridach jak kdybys byl v jave.S Google Web Toolkitem mám totéž a ještě ke všemu v té Javě doopravdy jsem
Jinak rozdíl mezi DWR a GWT je značný, případy užití se prakticky nepřekrývají.
Jinak rozdíl mezi DWR a GWT je značný, případy užití se prakticky nepřekrývají.No vsak to jsou absolutne jine typy technologii
S GWT mam take zkusenost, testoval jsem ho pro vyvoj UI pro svuj publikacni system, ale nejak jsem se nemohl skamaradit s RequestCallbacky... mozna jsem ty principy jen spatne pochopil, ale jak byste treba natahl jsenim requestem XML, druhym XSLT a vysledek transformace umistil nekam do aplikace? (treba za pomoci http://ebessette.com/wiki/display/dev/XSLT+for+GWT)