GlassFish: Porovnání verzí
Robot: Opravuji 1 zdrojů a označuji 0 zdrojů jako nefunkční #IABot (v2.0beta15) |
m Robot: oprava ISBN; kosmetické úpravy |
||
Řádek 14: | Řádek 14: | ||
| web = [https://glassfish.java.net/ glassfish.org] |
| web = [https://glassfish.java.net/ glassfish.org] |
||
}} |
}} |
||
⚫ | '''GlassFish''' je aplikační server vyvinutý společností [[Sun Microsystems]] pro platformu [[Java EE]]. GlassFish se řadí mezi open source podléhající licencím [[GNU General Public License|GPL]] a [[CDDL]]. GlassFish je referenční implementace, to znamená, že není primárně určen pro provoz aplikací, ale slouží především jako ukázka implementace nových rysů v poslední specifikaci platformy JAVA EE. Současná verze serveru GlassFish je '''3.1.2.2''' a slouží jako referenční implementace pro Javu EE6. Existuje rovněž komerční verze, která nese označení Oracle GlassFish Server 3.1.2. Obě verze se ve funkcionalitě téměř neliší, hlavní rozdíl je především v podpoře a automatickém stahování aktualizací. |
||
⚫ | '''GlassFish''' je aplikační server vyvinutý společností [[Sun Microsystems]] pro platformu [[Java EE]]. GlassFish se řadí mezi open source podléhající licencím [[GNU General Public License|GPL]] a [[CDDL]]. GlassFish je referenční implementace, to znamená, že není primárně určen pro provoz aplikací, ale slouží především jako ukázka implementace nových rysů v poslední specifikaci platformy JAVA EE. Současná verze serveru GlassFish je |
||
== Historie == |
== Historie == |
||
Řádek 105: | Řádek 104: | ||
== Literatura == |
== Literatura == |
||
* Gonclaves Antonio : Beginning Java™ EE 6 Platform with GlassFish™ 3: From Novice to Professional, Appres 2009, ISBN |
* Gonclaves Antonio : Beginning Java™ EE 6 Platform with GlassFish™ 3: From Novice to Professional, Appres 2009, {{ISBN|978-1-4302-1954-5}} |
||
=== Externí odkazy === |
=== Externí odkazy === |
Verze z 6. 6. 2020, 15:18
Vývojář | Oracle Corporation (započal Sun Microsystems) |
---|---|
Aktuální verze | 7.0.14 (31. března 2024) |
Operační systém | multiplatformní |
Platforma | Platforma Java Java EE |
Vyvíjeno v | Java |
Typ softwaru | Aplikační software |
Licence | Common Development and Distribution License & GNU General Public License |
Web | glassfish.org |
Některá data mohou pocházet z datové položky. |
GlassFish je aplikační server vyvinutý společností Sun Microsystems pro platformu Java EE. GlassFish se řadí mezi open source podléhající licencím GPL a CDDL. GlassFish je referenční implementace, to znamená, že není primárně určen pro provoz aplikací, ale slouží především jako ukázka implementace nových rysů v poslední specifikaci platformy JAVA EE. Současná verze serveru GlassFish je 3.1.2.2 a slouží jako referenční implementace pro Javu EE6. Existuje rovněž komerční verze, která nese označení Oracle GlassFish Server 3.1.2. Obě verze se ve funkcionalitě téměř neliší, hlavní rozdíl je především v podpoře a automatickém stahování aktualizací.
Historie
Počátek serveru GlassFish se pojí s rokem 2005, kdy byl započat projekt, jehož cílem bylo vytvořit plně certifikovaný Java EE server. První verze byla vydána v květnu 2006 a hodně zdědila z aplikačního serveru Tomcat. Druhá verze byla vydána v září 2007. Rozdílem oproti předchozí verzi byla především zvýšená podpora clustrování. Třetí verze byla vydaná 10.12.2009 a slouží jako referenční implementace pro Javu EE6. Mezi nejdůležitější vylepšení patří především ulehčení migrace aplikací z aplikačního serveru Tomcat. Rychlé startování (server na rozumné hardwarové konfiguraci nabíhá do pěti sekund) a pluginy pro vývojová prostředí NetBeans a Eclipse umožňující snadnější deploy při menších změnách. V plánu je již verze 4.0 a i ta by měla stále zůstat open source. [1]
Architektura
Architektura aplikačního serveru je založena na modulovém jádru vycházejícího z OSGi (Open Service Gateway initiative) frameworku. GlassFish většinou využívá implementace Apache Felix, ale může běžet i na implementacích Equinox, či Knoperfish OSGi. OSGi framework zajišťuje, že aplikace i komponenty lze vzdáleně instalovat, startovat, ukončovat, aktualizovat i odinstalovat bez nutnosti restartu serveru. Rovněž je důležité zmínit Grizzly framework, multiprotokolový framework (HTTP, UDP atp.), využívající NIO (Non-blocking I/O) a poskytuje API pro komunikaci socketů.
Instalace
Server můžete stáhnou např z https://web.archive.org/web/20060804014720/http://glassfish.net/. Po spuštění instalace vás čeká obligátní odsouhlasení licenčních ujednání a nastavení cesty instalace. Následně vás čekají administrátorská nastavení. Doporučuji ponechat stávající nastavení admin port:4848 a http port:8080, bez hesla. Dále vás čeká nastavení úložiště vašeho JDK (mělo by být nalezeno automaticky) a samotná instalace může proběhnout). Na konci vás ještě instalátor požádá o registraci, která však není povinná.
Spuštění serveru
Po instalaci stačí již server spustit. V instalovaném adresáři zvolíme cestu glassfish/bin/ a zde spustíme dávkový soubor startserv.bat. Po spuštění serveru můžeme vstoupit do administrátorské konzole spuštěním webového prohlížeče a zadáním adresy http://localhost:4848 (při zachování standardního nastavení). Administrátorská konzole je společné rozhraní jak pro administrátory, tak i pro vývojáře. Umožňuje správu konfigurací, nastavení JDBC (rozhraní pro spojení s databází, JDNI (rozhraní Java Name and Directory Interface), JavaMail, JMS (Java Message Services), Security Realms (nastavení bezpečnosti),..
Ukázky funkcionality GlassFish
Deploy aplikace
Pro nahrání aplikace, či komponenty na server vybereme v administrátorské konzoli v levém panelu možnost Application. V následujícím okně vybereme možnost deploy, vybereme zda se aplikace, či komponenta nachází na našem počítači, nebo je umístěna na serveru (pokud je server na stejném počítači jsou obě možnosti totožné) a pomocí browseru vybereme sbalenou aplikaci (soubory .jar, .war). Pokud nám nevyskočí Typ aplikace, či komponenty automaticky zvolíme jej v položce Type. Po stisku tlačítka ok již můžeme v sekci Application s aplikací nakládat podle vlastního uvážení. U spustitelných aplikací nám je nabídnuta možnost Launch, která aplikaci spustí.
Java Mail
Pokud chceme v naší aplikaci využít odesílání emailu. Použijeme k tomu GlassFish modul Java Mail. Pro jeho nastavení zvolíme v administrátorské konzoli možnost Resources a následně v této nabídce JavaMail Session. Zde zvolíme tlačítko New a vytvoříme novou session. Tu si podle vlastního uvážení pojmenujeme např : mojeMailSession. Následující parametry nastavíme následovně (příklad je pro web server gmail):
- Mail Host – zde zadáme SMTP host server : smtp.gmail.com
- Default User – zde zadáme jméno uživatele, ze kterého chceme standardně odesílat zprávy : abcd@gmail.com.
- Default Return Address – Tuto emailovou adresu využije aplikační server, pokud zpráva neobsahuje adresu odesílatele. Ve většině případů se bude shodovat s jménem uživatele: abcd@gmail.com.
- Description – Popis. Nemusíme vyplňovat
- Status – Nastavíme na Enabled.
- Store Protocol a Store Protocol Class – zanecháme současné hodnoty.
- Transport protocol – v případě gmailu, či jiných serverů využívajících smtps změníme na: smtps
- Transport class – pokud měníme položku transport protocol na smtps, změníme i třídu na:
com.sun.mail.smtp.SMTPSSLTransport
Pokud server vyžaduje autorizaci (pravděpodobně ano), musíme ještě přidat vlastnosti (properties) pro autorizaci.Toho docílíme pomocí tlačítka add propery.
Zde přidáme následující vlastnosti:
- mail-smtps-auth – nastavení zdali server vyžaduje autorizaci zadáme: true
- mail-smtps-password – do tohoto pole zadáme naše heslo: abcd
V Java aplikaci pak můžeme využít dependency injection a pomocí anotace
@Resource(name = "mojeMailSession") private Session mojeMailSession;
Pro odeslání zprávy pak pouze vytvoříme zprávu.
Message message = new MimeMessage(mojeMailSession);
Vyplníme ji potřebnými údaji a odešleme pomocí třídy Transport:
Transport.send(message);
Více informací viz [2]
JDBC
Pokud chceme v aplikaci pracovat s databází, zvolíme v levém panelu možnost Resource – JDBC. V referenční implementaci je standardně využíváno databáze Derby. Pokud chceme využít jiné databáze vybereme možnost Connection Pools a zde zvolíme tlačítko New. A následně vybereme v možnosti Database Vendor tu databázi, kterou chceme využívat. Pokud jsme spokojeni s Derby, či jsme nastavili jinou možnost pomoci Connection Pools zvolíme možnost JDBC Resources. Pomocí tlačítka New vytvoříme nový zdroj. JDNI name pojmenujeme náš zdroj podle vlastního uvážení např : mojeDB
Pool name vybereme pool, jaký chceme využívat (typicky Derby pool)
Nyní musíme databázi spustit (např v NetBeans Services-Database-jdbc:derby://localhost:1527-Connect) a můžeme s ní pracovat. Pro vzorový příklad nadefinujeme v enterprise beanu soubor persistence.xml.
Vzorový soubor persistence.xml :
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="databaze"> <jta-data-source>mojeDB</jta-data-source> </persistence-unit> </persistence>
A následně perzistenční jednotku injektujeme do jednotlivých tříd
@PersistenceContext(unitName = "WebEmail") private EntityManager entityManager;
Poté můžeme využít databázi ke svému prospěchu např :
Query query = entityManager.createQuery("select a from Email a "); List <object> list = query.getResultList();
Reference
- ↑ https://glassfish.dev.java.net/roadmap/ Plán vývoje dalších verzí GlassFish
- ↑ http://spitballer.blogspot.com/2010/02/sending-email-via-glassfish-v3.html Nastavení Java Mail
Literatura
- Gonclaves Antonio : Beginning Java™ EE 6 Platform with GlassFish™ 3: From Novice to Professional, Appres 2009, ISBN 978-1-4302-1954-5
Externí odkazy
- https://web.archive.org/web/20090202095213/http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishDocs Dokumentace Glassfish
- https://web.archive.org/web/20080512154031/http://wiki.glassfish.java.net/ GlassFish komunita
- http://arquivo.pt/wayback/20160522203450/https://glassfish.dev.java.net/ Oficiální stránky Glassfish
- http://www.javaworld.com/community/node/3962 GlassFish is google’s