abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:11 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.6.

    Ladislav Hagara | Komentářů: 0
    dnes 00:55 | Nová verze

    Po Red Hat Enterprise Linuxu a AlmaLinuxu byl v nové stabilní verzi 10.0 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 22:55 | Nová verze

    Bylo vydáno Eclipse IDE 2025-06 aneb Eclipse 4.36. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | IT novinky

    Americká filmová studia Walt Disney a Universal Pictures podala žalobu na provozovatele populárního generátoru obrázků pomocí umělé inteligence (AI) Midjourney. Zdůvodňují to údajným porušováním autorských práv. V žalobě podané u federálního soudu v Los Angeles označují firmu za „bezednou jámu plagiátorství“, neboť podle nich bez povolení bezostyšně kopíruje a šíří postavy z filmů jako Star Wars, Ledové království nebo Já, padouch, aniž by do nich investovala jediný cent.

    Ladislav Hagara | Komentářů: 1
    včera 18:33 | IT novinky

    Ultra Ethernet Consortium (UEC), jehož cílem je optimalizace a další vývoj Ethernetu s důrazem na rostoucí síťové požadavky AI a HPC, vydalo specifikaci Ultra Ethernet 1.0 (pdf, YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | IT novinky

    Francouzský prezident Emmanuel Macron chce zakázat přístup na sociální sítě pro děti do 15 let. Francie podle něj tento krok udělá sama do několika měsíců, i pokud se na něm neshodnou další státy Evropské unie. Reaguje tak na úterní vraždu vychovatelky, kterou ve východofrancouzském městě Nogent pobodal 14letý mladík. Jednotlivé sociální sítě podle něj mají možnost věk ověřit a vymáhat zákaz pomocí systémů na rozpoznávání tváří.

    Ladislav Hagara | Komentářů: 8
    včera 05:11 | IT novinky

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,742 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 165 místo. Karolina, GPU partition klesla na 195. místo a Karolina, CPU partition na 421. místo. Další přehledy a statistiky na stránkách projektu.

    Ladislav Hagara | Komentářů: 0
    10.6. 22:33 | Nová verze

    Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 3
    10.6. 14:33 | Nová verze

    Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    10.6. 14:00 | Upozornění

    CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.

    Ladislav Hagara | Komentářů: 14
    Jaký je váš oblíbený skriptovací jazyk?
     (56%)
     (31%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 249 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Java na serveru - 2

    12.10.2007 20:08 | Přečteno: 1548× | software

    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.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    13.10.2007 10:14 Petr Masopust | skóre: 14
    Rozbalit Rozbalit vše Re: Java na serveru - 2
    Par komentaru/doplneni:

    s/zazásnout/zasáhnout/

    JNDI jmeno spojeni muze byt treba jenom mysql_test, jdbc/ je nepovinne, ale rozhodne doporucuji si podle prefixu rozdelit JNDI na casti.

    Pro postgres je jdbc driver tady - instalace prakticky stejna jako u mysql. Ja jsem akorat mel trochu problem s ConnectionPoolDataSource, doporucuji spis pouzivat normalni DataSource, resp. XADataSource.

    Standardni JAAS jdbc realm mi prijde ponekud nedotazeny - ja jsem si take musel vytvorit vlastni podle navodu.

    Pouzivam Eclipse + MyEclipse pluginy a pro vyvoj na glassfish je to naprosto luxusni IDE (ale uz ne zadarmo ...).

    Pokud vypustim instalaci vlastniho JAAS realmu tak je instalace glassfishe pomerne trivialni - vetsinou mam zakladni pouzitelny server behem 10 minut (pro development, pro produkcni nasazeni by to bylo trochu dele :)). A i ten JAAS realm neni tak tezky, ale napoprve to da trochu zabrat.

    Btw velmi dobre napsany uvod do jee programovani, jen tak dal !
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.