Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevili v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
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í.
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
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í.No vsak to jsou absolutne jine typy technologii