Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.
Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).
Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.
Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.
Svobodný nemocniční informační systém GNU Health Hospital Information System (HIS) (Wikipedie) byl vydán ve verzi 5.0 (Mastodon).
Open source mapová a navigační aplikace OsmAnd (OpenStreetMap Automated Navigation Directions, Wikipedie, GitHub) oslavila 15 let.
Vývojář Spytihněv, autor počítačové hry Hrot (Wikipedie, ProtonDB), pracuje na nové hře Brno Transit. Jedná se o příběhový psychologický horor o strojvedoucím v zácviku, uvězněném v nejzatuchlejším metru východně od všeho, na čem záleží. Vydání je plánováno na čtvrté čtvrtletí letošního roku.
V uplynulých dnech byla v depu Českých drah v Brně-Maloměřicích úspěšně dokončena zástavba speciální antény satelitního internetu Starlink od společnosti SpaceX do jednotky InterPanter 660 004 Českých drah. Zástavbu provedla Škoda Group. Cestující se s InterPanterem, vybaveným vysokorychlostním satelitním internetem, setkají například na linkách Svitava Brno – Česká Třebová – Praha nebo Moravan Brno – Břeclav – Přerov – Olomouc.
Byla vydána nová verze 8.7.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Minule jsem psal o tom, že chci ukázat jednoduchou aplikaci, která využívá základní koncept javy na serveru.
Prvním krokem, než začnu tvořit, je samotná instalace potřebných částí. Tu se pokusím v tomto článku sepsat.
Začnu od nejspodnější vrstvy a tou je databáze. Jak jsem již psal, budu používat MySQL. Není třeba klást velké požadavky na tuto vrstu, pouze musí být správně nainstalována a podporovat důležité funkce. Za jednu ze základních funkcích považuji referenční integrity. Jedná se o propojení dat, které mi jednak tvorí základní koncept a jednak udržuje data v konzistentním stavu. K tomuto účelu volím InnoDB, což je typ "tabulky", který splňuje tento základní požadavek. Osobně doporučuji MySQL 5 a vyšší.
Instalace je často dost triviální a snad každá schopnější distribuce nabízí přímo balíčky s touto DB. Po úspěšné instalaci je třeba ještě stáhnout MySQL Connector/J, který se bude hodit později.
Dalším krokem je instalace Javy. Opět se jedná o dost jednoduchou věc, která je popsána snad na stovkách webů a nemá cenu rozepisovat, jak takovou věc provést.
Nyní se již začnu zabývat aplikačním serverem, který je o dost šťavnatejší.
Takže, nejprve stahneme glassfish, doporučuji v2, která před nedávnem vyšla. Po úspěšně instalaci je třeba nakonfigurovat samotný server.
Konfiguraci mohu provádět pomocí příkazové řádky, kde si spustím GLASSFISH_HOME/bin/asadmin, nebo pomocí webového rozhranní: http://localhost:4848/. V určitých případech mohu zazásnout přímo do souborů, ale k tomu až později.
Osobně volím druhou možnost, tedy webové rozhraní.
Nejprve je třeba ukončit server (GLASSFISH_HOME/bin/asadmin stop-domain domain1) a zaregistrovat MySQL. Stažený JDBC ovladač nakopírujeme do doménové cesty glassfishe (GLASSFISH_HOME/domains/domain1/lib) a spustíme server (GLASSFISH_HOME/bin/asadmin start-domain domain1).
Po přihlášení do webového rozhraní přejdu do "Resources->JDBC->Connection Pools". Nyní zaregistruji MySQL. Při vytvoření nového poolu zadáme jméno (např. mysql/test), vybereme Resource Type ConnectionPoolDataSource a vendora MySQL. V dalším kroku mohu nechat všechny hodnoty výchozí, pouze změním: Allow Non Component Callers na ON, protože budu potřebovat volat z MySQL i přihašování, které pojede mimo tvořenou aplikaci. Propetry nastavím na vlastne definované hodnoty, podle instalace MySQL. Důležitými jsou tyto:
Nyní vytvořím samotný jdbc zdroj, který budu pomocí lookup získávat v aplikaci (respektive na persistentní vrstvě). Takže, v JDBC Resources dám nový, určím jméno JNDI (pozor, toto jméno musí být dostatatčně jasné, abych později věděl oč jde) např: jdbc/mysql_test, vyberu vytvořený pool a popřípadě doplním popisek.
Tímto bych měl mít zpřístupněnou MySQL databázi z aplikačního serveru. Samozřejmě existují i další volby, které jsou ovšem závislé na druhu projektu a také DBMS. Ne vždy nám totiž výchozí hodnoty stačí. Já ovšem předpokládám, že každý si dokáže dohledat příslušné materiály k danému problému.
Instalace JAAS-Realmu.
Předem bych měl asi objasnit o co se vlastně jedná. Samotný popis je vcelku rozsáhlý, já opět vezmu jen to nejdůležitější pro daný problém. Ve chvíli, kdy budete tvořit jakýkoli informační systém, budete se muset zabývat otázkou autentifikace a autorizace. Samotné J2EE proto implemetuje toto řešení, které má zjednodušit práci v této oblasti. Pokud jste se o tom nedočetli v Java EE5 Tutoriálu, tak po autentifikování uživatele jsem schopen říct, do které skupiny spadá a v jakých rolích se daný uživatel může vyskytovat. Jinými slovy, uživatel spadá do určité skupiny, která obsahuje určité role. Je možné i skupinu vynechat a říci, že uživatel má namapovanou tu či onu roli.
I když se na začátku může zdát, že tento systém je příliš složitý, není to pravda. Naopak umožňuje čistěji definovat oprávnění jednotlivých uživatelů a to zejména ve větších projektech.
Abych byl upřímný, sám jsem na začátku měl velké problémy rozchodit tuto službu přes vzdáleného klienta. Po pár dnech (pokusů a omylů) jsem se ale dopracoval ke zdárnému výsledku :)
Takže, aplikační server může obsahovat několik říší (Realms), které obsahují určitý modul přihlašování. Jako výchozí říše je nastavena "file". O tom se můžete přesvědčit v aplikačním serveru "Configuration->Security". Samořejmě máte možnost toto změnit či si vytvořit novou říši. Mezi základními říšemi naleznete i JDBCRealm, který se dá k tomuto účelu použít. Abych to zbytečně neprodlužoval, odkážu Vás na web, kde je hezky popsáno, jak takový realm vytvořit a nastavit. Já jsem pro své účely musel jít vlastní cestou a vytvořil jsem si vlastni LoginModule. Nevyhovovala mi totiž tato předefinovaná říše. Pokud by měl někdo zájem, mohu mu vlastní řešení zaslat.
Tím by měla být základní kostra aplikačního serveru hotová. Nyní ještě IDE, které použiji pro psaní své aplikace
K tvorbě aplikací jsem zvolil NetBeans. Instalace Netbeansů je velice triviální a nemá cenu ji rozebírat. Snad jen upřesním, že musíte mít verzi s podporou pluginů z J2EE a Web. K zaregistrování aplikačního serveru v NetBeans se můžete dočíst například zde.
Možná se Vám zdá, že instalace je docela rozsáhlá záležitost. S tím naprosto souhlasím, ovšem je třeba si ovědomit, že samotný aplikační server můžu chápat jako vlastní OS. Jednak obsahuje webový kontejner (stejně, jako například Tomcat), ale také i EJB kontejner, podporu JAAS, JMS, atd. Prostě v tomto prostředí jsem schopen tvořit jakoukoli rozsáhlou aplikaci a třeba i s pomocí X desítek lidí.
Příště tedy již o samotném programování doménového modelu.
Tiskni
Sdílej: