Byla vydána první veřejná preview verze PrusaSliceru 3.0. Přesně 15 let po zveřejnění první verze Slic3ru, které připadlo na 1. září 2011. Jedná se o dosud největší upgrade PrusaSliceru: "Řídili jsme se tím, co skutečně potřebujete, a tak jsme například zcela zahodili stávající uživatelské rozhraní a vytvořili ho znovu od nuly. Přinášíme také nový systém projektů, kompletně přepracované profily navržené pro moderní tiskárny s větším
… více »Byl vydán Mozilla Firefox 155.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze Smart Window, zatím ale dostupné pouze pro uživatele v USA, Kanadě a Francii. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 155 bude brzy k dispozici také na Flathubu a Snapcraftu.
Tima Cooka na pozici generálního ředitele společnosti Apple dnešním dnem nahradil John Ternus, který byl dosud odpovědný za hardware. Tim Cook vedl Apple od roku 2011, kdy funkci převzal od později zesnulého spoluzakladatele společnosti Stevea Jobse. Za 15 let v čele Applu více než zdvojnásobil tržní hodnotu firmy.
Organizátoři konference LinuxDays ukončil veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata pro letošní ročník. Hlasovat můžete do pondělí 7. září, poté bude podle výsledků hlasování sestaven program pro letošní ročník.
Servo, engine webového prohlížeče napsaný v Rustu, byl vydán ve verzi 0.5.0. Novinky shrnuje přehled projektu za červenec. Došlo k dalšímu pokroku ve vykreslování webových stránek. Současným cílem projektu je vytvořit komponentu webového prohlížeče jako WebView pro použití v jiných aplikacích.
IKEA a XBOX představují kolekci YXSTABY (pdf). Ta přináší designová a praktická řešení, díky nimž se prostor pro hraní během sekundy promění v útulný a harmonický domov.
Jonathan Thomas oznámil vydání verze 4.0 nelineární střižny OpenShot. Nově podporuje nahrávání obrazu a zvuku, vylepšuje uživatelské rozhraní, mj. color grading, přidává další efekty a mnoho dalšího (seznam změn).
Proběhlo hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu si odhlasovali zodpovědné využívání generativní umělé inteligence.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří vývoj Flatpaku částkou 508 640 eur.
Byla vydána první veřejná verze v7.0-mk2 projektu Multikernel (mklinux), který umožňuje spouštět více nezávislých linuxových jader současně na jednom stroji bez hypervizoru.
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)