Multimediaexpo.cz je již 18 let na českém internetu !!
GlassFish
Z Multimediaexpo.cz
Verze z 29. 10. 2011, 14:04
GlassFish je aplikační server vyvinutý společností Sun Microsystems pro platformu Java EE. GlassFish se řadí mezi open source podléhájí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.0.1 a slouží jako referenční implementace proj Javu EE6. Existuje rovněž komerční verze, která nese označení Oracle GlassFish Sever 3.0.1. Obě verze se ve funkcionalitě téměr neliší, hlavní rozdíl je především v podpoře a automatickém stahování aktualizací.
Obsah |
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 vteřin) 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 jsou již verze 3.1 a 4.0 obě by měli stále zůstat open source. [1]
Architektura
Architektura aplikačního serveru je založena na modulovém járdu 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 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 aministrá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 jsou totožné) a pomocí browseru vybereme zbalenou aplikaci (soubory .jar, .war). Pokud nám nevyskočí Typ aplikace, či komponenty automaticky zvolíme jej v položce Type. Po stistku 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 stadratně odesílat zpá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 protoocl 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ásledujcí 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 datábá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říkad nadefinujeme v enterprice 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ě persitenč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
Dokumentace Glassfish
GlassFish komunita
Oficiální stránky Glassfish
GlassFish is google’s
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |