Enterprise Java Linuxra HOGYAN Greg Wilkins gregw@mortbay.org az eredeti Gary Meyert�l gary@meyer.net sz�rmazik. v0.2, 2001.11.07 _________________________________________________________________ Ez a dokumentum le�rja, hogyan telep�ts�nk Enterprise Java k�rnyezetet Linuxra, amely tartalmaz egy Java Development Kitet, egy Web szervert, t�mogatja a Java szervleteket, adatb�zis hozz�f�r�st biztos�t JDBC-n kereszt�l, �s t�mogatja az Enterprise Java Beaneket (EJB). _________________________________________________________________ 1. Bevezet�s 1.1 H�tt�r Ezt a dokumentumot 1999 janu�rj�ban kezdte el �rni Gary Meyer ( [1]gary@meyer.net), n�h�ny h�ttel azut�n, hogy k�l�nb�z� ny�lt forr�sk�d� �s v�dett Enterprise Java term�ket telep�tett Linuxra. Itt az "Enterprise Java" �gy �rtelmezend�, mint a Java Enterprise API-k haszn�lata. A dokumentumhoz, n�h�ny friss�t�st Greg Wilkins ( [2]gregw@mortbay.org) tett hozz� 2001 november�ben, mindazon�ltal a dokumentum egyes r�szei nem aktu�lisak. 1.2 Kinek sz�l? Ez a HOGYAN azoknak a szoftvereseknek pr�b�l seg�ts�get ny�jtani, akik �rdekeltek az Enterprise Java kipr�b�l�s�ban, fejleszt�s�ben vagy terjeszt�s�ben Linuxon. Meghat�rozott tud�s vagy tapasztalat Linuxban vagy a Java ter�let�n felt�telezett. 1.3 �j verzi�k A dokumentum �jabb verzi�i megtal�lhat�k a Linux Documentation Project honlapj�n: [3]http://tldp.org/HOWTO/Enterprise-Java-for-Linux-HOWTO.html 1.4 Szerz�i jog �s licenc Gary Meyer �s Greg Wilkins ezen �r�s�t a szerz�i jog v�di. M�sol�s�hoz hozz�j�rul�s sz�ks�ges, a dokumentum sokszoros�t�sa �s m�dos�t�sa a GNU szabad dokument�ci�s licenc�nek 1.1-es verzi�j�nak felt�teleihez k�t�tt, vagy b�rmely k�s�bbi verzi��hoz, amit a Szabad Programok�rt Alap�tv�ny adott ki, �lland� r�szek, fed�lap �s h�toldal sz�vegek n�lk�l. A licenc m�solata el�rhet� a [4]http://www.gnu.org/copyleft/fdl.html weboldalon. 1.5 Nyilatkozatok A dokumentum aj�nl�sai abban seg�tenek, hogy amilyen gyorsan csak lehet egy Enterprise Java k�rnyezetet �ll�thass be Linux alatt. Ezek a javaslatok nem term�k aj�nl�sok vagy j�v�hagy�sok. Ahogy k�zelebbr�l megismered a rendelkez�sre �ll� lehet�s�geket, k�pes leszel saj�t k�rnyezeteket k�sz�teni, �s megtal�lni a legmegfelel�bb megold�st a saj�t ig�nyeid sz�m�ra. Ennek a HOGYANnak sz�nd�ka az "Enterprise Java"-t mint a Java Enterprise API-t �rtelmezni. Ez a HOGYAN nem c�lozza meg a sk�l�zhat�s�got, rendelkez�sre �ll�st, menedzselhet�s�get �s egy�b hasonl� szempontjait a programnak, amelyeket az "enterprise" kifejez�ssel gyakran �sszekapcsolnak. 1.6 Lehets�ges j�v�beli r�szek Ez a HOGYAN az Enterprise Java legn�pszer�bb r�szeire koncentr�l. Az k�vetkez�k lehetn�nek r�szei ennek a HOGYANnak. * Integr�lt fejleszt�i k�rnyezetek (IDEs) amelyek t�mogatj�k az Enterprise Jav�t Linuxra * Java Naming and Directory Interface (JNDI) t�mogat�sa * Java Mail API (JMAPI) t�mogat�sa * Java Transaction Service (JTS) t�mogat�sa * Java Interface Definition Language (JIDL) t�mogat�sa * Java Messaging Service (JMS) t�mogat�sa * Common Object Request Broker Architecture (CORBA) t�mogat�sa �rdekel egy r�sz meg�r�sa? Akkor vedd fel a kapcsolatot a szerz�vel, Greg Meyerrel a ( [5]gary@meyer.net) c�men. 1.7 Egy�b forr�sok Az App-Serv Center (Alkalmaz�s-kiszolg�l� K�zpont) honlapj�t itt tal�lod meg: [6]http://www.app-serv.com/. Java Enterprise Nutshellhez David Flanagant�l �s m�sokt�l a [7]http://www.oreilly.com/catalog/jentnut/ helyen. 1.8 Visszajelz�s K�rlek a szerz� c�m�re k�ldd el a hozz�sz�l�sod �s esetleges javaslatod: Gary Meyer ( [8]gary@meyer.net). 1.9 Magyar ford�t�s A magyar ford�t�st [9]Mink� Mih�ly k�sz�tette (2003.02.27). A lektor�l�st [10]Erd�sz Szabolcs v�gezte el (2003.03.20). B�rmilyen ford�t�ssal kapcsolatos �szrev�telt a [11]linuxhowto@sch.bme.hu c�mre k�ldjetek. A dokumentum legfrissebb v�ltozata megtal�lhat� a [12]Magyar Linux Dokument�ci�s Projekt honlapj�n. 2. Hogyan telep�ts�k a Java Development Kitet Van n�h�ny a Java Development Kit-ek k�z�l, ami Linuxra is el�rhet�: * [13]Blackdown JDK * [14]IBM Java Developer Kit * [15]Sun J2SE * [16]Kaffe Ha csak egy JDK-t akarsz kipr�b�lni, akkor azt javasolom, hogy a Sun J2SE-vel kezdd, hacsak nem aj�nlanak m�st, azok a szoftverek amiket haszn�lsz vagy esetleg haszn�lni akarsz a k�s�bbiekben. Tov�bb�, ha ny�lt forr�s� megval�s�t�s �rdekel, akkor Kaffe-ra van sz�ks�ged. 2.1 Blackdown JDK H�tt�r A Blackdown JDK a Sun JDK, Linuxhoz �rt v�ltozata. E dokumentum �r�s�nak az id�pontj�ban a Blackdown JDK verzi�sz�ma Intel architekt�r�n, a JDK 1.2.2, PowerPC-n pedig a JDK 1.1.8. 1999 december�ben a Sun bejelentette a Java 2 Platform Standard Edition (J2SE) el�rhet�s�g�t a Linux oper�ci�s rendszerekre. A Sun ezen bejelent�se alapvet� hat�ssal volt a Blackdown-ra, mert ez egy portol�s. Egy sajt�k�zlem�nyben a Sun azt �ll�tja, hogy "Az e heti bejelent�s nem lett volna lehets�ges a Blackdown-nal val� egy�ttm�k�d�s, a vil�g programoz�i �s lelkes seg�t�i n�lk�l. Innen kezdve a Blackdown lett Linux Java technol�gia sz�ll�t�ja. Az �vek folyam�n ennek szentelt f�radoz�saik lefektett�k az alapjait a Java 2 Linux platformra t�rt�n� kiad�s�nak; az � f�radoz�suk n�lk�l�zhetetlen volt a kiad�s siker�hez." Tov�bb� a Sun kiadv�ny azzal folytatja, hogy " A Blackdown.org tov�bbra is egy �rt�kes forr�s a Java technol�gia Linux platformra t�rt�n� alkalmaz�sa sor�n �s tartalmazva a JDK 1.1.x verzi�kat." Let�lt�s A Blackdown JDK el�rhet� a [17]http://www.blackdown.org oldalon. A Blackdown honlapj�n v�laszd a let�lt�st �s egy t�kr�z�st (van magyar is - a ford.). V�laszd ki azt a JDK verzi�t, amelyiket akarod. Ha m�s programok, amiket haszn�lni szeretn�l nem futnak egy bizonyos verzi�sz�m� JDK-val, akkor a legfrissebbet aj�nlom, ami a dokumentum �r�s�nak idej�n a JDK 1.2.2-es. V�laszd ki a megfelel� architekt�r�t, amire telep�teni akarsz. Intel architekt�r�ra v�laszd az i386-ot. B�rmely verzi�t v�laszthatod, de ha bizonyos programok, amiket haszn�lni akarsz nem t�mogatj�k a kiv�lasztott verzi�t, akkor azt aj�nlom, hogy t�ltsd le a legfrissebb verzi�t, ami el�rhet�. A Blackdown JDK-hoz, egy csom� f�jlt tal�lsz, k�l�nb�z� f�jl �s csomagform�tumban. Mindazon�ltal biztosnak kell lenned abban, hogy a Linux disztrib�ci�dban l�v� libc t�mogatja azt, amelyiket let�lt�tt�l. Az el�rhet� f�jlok a k�vetkez�ket tartalmazz�k: * jdk - A Java Development Kit tartalmaz mindent, amire a Java ford�t�s�hoz, futtat�s�hoz, nyomk�vet�shez sz�ks�ged lehet. Nem tartalmaz nemzetk�zi karakter konvertereket. * jre - A Java Runtime Environment amely tartalmazza a nemzetk�zi karakter konvertereket. * rt - Egy egyszer� Java Runtime Environment, ami nem tartalmaz nemzetk�zi karakter konvertereket. * i18n - A nemzetk�zi fontk�szletek �s a karakter konverterek JAR csomagjai. * native - Tov�bbi bin�ris csomagok a val�s, t�bbsz�l� futtat�shoz. Azt javasolom, hogy csak a jdk for java development angol verzi�j�t t�ltsd le. Amikor let�lt�tted a Blackdown f�jlokat, v�lasztanod kell a libc5 �s a glibc k�z�tt, mint a lehets�ges glibc verzi�k k�z�tt. A libc opci�k tartalmazz�k: * libc5 - Az �regebb, de m�g haszn�latos Linux libc, a libc5. * glibc - Az �j libc. Ha a Linuxnak egy �jabb disztrib�ci�j�t haszn�lod, akkor a legval�sz�n�bb, hogy lesz glibc. Azt javasolom kezdetben a glibc-vel pr�b�lkozz. Telep�t�s Azt javasolom, telep�tsd a f�jlokat a /usr/local k�nyvt�rba. Miut�n let�lt�tted a f�jlt, futtasd a k�vetkez� parancsokat: mkdir /usr/local/blackdown mv jdk* /usr/local/blackdown Ha a tarball form�tumot t�lt�tted le, akkor futtasd a k�vetkez� parancsot: tar zxvf [filename].tar.gz Ahol a [filename] az �llom�ny neve. A /usr/local/blackdown k�nyvt�rban l�tni fogsz egy olyasmi k�nyvt�rat, hogy jdk1.2.2 A fenti egy JDK1.2.2 release candidate 3 intel architekt�ra p�ld�j�t mutatja. Helyettes�tsd a f�jlnevet, verzi�sz�mot, kiad�st �s az architekt�r�t a megfelel�re. Minden disztrib�ci�s csomagf�jlt a fenti m�dszerrel nyiss meg. K�rnyezeti be�ll�t�sok A k�vetkez� k�rnyezeti v�ltoz�kat kell be�ll�tanod: * JAVA_HOME * PATH * CLASSPATH A JAVA_HOME k�rnyezeti v�ltoz� arra a k�nyvt�rra mutat, ahov� a JDK csomagot telep�tetted. �ll�tsd be a JAVA_HOME k�rnyezeti v�ltoz�t arra a k�nyvt�rra, amelyikbe a Blackdown JDK csomagot telep�tetted. export JAVA_HOME=/usr/local/blackdown/jdk1.2.2 A $JAVA_HOME/bin k�nyvt�rban van a Java compiler (Java ford�t�; javac) �s a Java Virtual Machine (Java Virtu�lis G�p; java) valamint egy�b, a fejleszt� k�rnyezethez sz�ks�ges programok. Add hozz� a PATH v�ltoz�hoz a $JAVA_HOME/bin k�nyvt�rat.: export PATH=$JAVA_HOME/bin:$PATH Ellen�rizd le, hogy a $JAVA_HOME/bin a PATH elej�hez hozz� lett adva, �gy az �ltalad telep�tett JDK csomagot fogod haszn�lni, nem pedig azt a JDK csomagot, ami a Linuxszal lett felt�ve. A PATH v�ltoz� ellen�rz�s�hez k�rdezd le az alap�rtelmezett Java ford�t� �s JVM (Java Virtual Machine) nev�t: which javac which java A v�lasznak a $JAVA_HOME/bin k�nyvt�radban l�v� javac �s java csomagokkal �sszhangban kell lennie. A CLASSPATH k�rnyezeti v�ltoz� mutat minden JAR-ra �s azokra a k�nyvt�rakra, amelyekre a Java programok ford�t�s�hoz �s futtat�s�hoz sz�ks�ged lesz. A JDK1.2.2-es verzi�j�hoz kezdetben nem sz�ks�ges JAR-okat adni a CLASSPATH v�ltoz�hoz. A JAR-ok csomagol�sa lehet jar vagy zip f�jl is. export CLASSPATH=$CLASSPATH:. A telep�t�s ellen�rz�se Most m�r futtathatsz �s ford�thatsz egy egyszer� alkalmaz�st. �rd meg a k�vetkez� programot (egy ak�rmilyen sz�vegszerkeszt�vel, csak a f�jl kiterjeszt�se "java" legyen - a ford.): class HelloWorld { public static void main (String[] args) { System.out.println("Hello, World!"); } } Ford�tsd le a programot a Java ford�t�val. javac HelloWorld.java Ha a ford�t� hib�t jelez, akkor alaposan n�zd �t a szintaxist, valamint n�zd meg a PATH �s CLASSPATH be�ll�t�sokat, hogy j�k-e. Futtasd a programot a JVM-mel. java HelloWorld Ha a JVM hib�t produk�l, akkor n�zd meg a PATH �s CLASSPATH be�ll�t�sokat. A k�vetkez� eredm�nyt kell l�tnod a program helyes fut�sa eset�n: Hello, World! Gratul�lok, sikeresen telep�tetted, be�ll�tottad �s tesztelted a Blackdown JDK csomagot Linuxon! Tov�bbi inform�ci�k A BlackDown JDK csomagr�l tov�bbi inform�ci�t tal�lsz a [18]http://www.blackdown.org honlapon. Itt el�rhet� egy kiv�l� FAQ. 2.2 IBM Java Developer Kit H�tt�r Az IBM Java fejleszt�i k�rnyezet �s futtat�si k�rnyezet kompatibilis a Sun Jav�val �s tartalmazza a legfrissebb karbantart� eszk�z�ket. (Az IBM weboldal�r�l.) Ezen dokument�ci� �r�sakor az IBM Java fejleszt�i k�rnyezet a JDK 1.1.8 verzi�ja aktu�lis, ez csak Intel architekt�r�ra telep�thet�. Let�lt�s Az IBM Java Developer Kit let�lthet� a [19]http://www.ibm.com/java/jdk/118/linux c�mr�l. A let�lt�shez el�sz�r regisztr�lnod kell magad az IBM weboldal�n, �s el kell fogadni a szerz�d�s felt�teleit. Az let�lthet� f�jlok tartalmazz�k: * ibm-jdk-l118-linux-x86.tgz - The Java Development Kit; mindent tartalmaz ami egy Java program ford�t�s�hoz, futtat�s�hoz �s nyomk�vet�s�hez sz�ks�ges. * ibm-jre-l118-linux-x86.tgz - The Java Runtime Environment; a Java programok futtat�s�hoz sz�ks�ges f�jlokat tartalmazza. Mivel fejleszteni akarsz javasolom, hogy a IBM-JDK csomagot t�ltsd le. :) Telep�t�s Azt javasolom, hogy a /usr/local k�nyvt�rba telep�tsd a f�jlokat. A f�jlok let�lt�se ut�n futtasd a k�vetkez� parancsot: mkdir /usr/local/ibm mv ibm-jdk-l118-linux-x86.tgz /usr/local/ibm Most kicsomagolhatod a disztrib�ci�s csomagot. Ezt a k�vetkez� paranccsal teheted meg: tar zxvf ibm-jdk-l118-linux-x86.tgz A /usr/local/ibm k�nyvt�rban most m�r l�thatod a jdk.118 k�nyvt�rat. A fent eml�tett p�ld�k Intel architekt�r�n ny�jtanak seg�ts�get. Helyettes�tsd a f�jlneveket a megfelel�kkel. K�rnyezeti be�ll�t�sok A k�vetkez� k�rnyezeti v�ltoz�kat kell be�ll�tanod: * JAVA_HOME * PATH * CLASSPATH A JAVA HOME k�rnyezeti v�ltoz� utal a telep�tett JDK csomagod home k�nyvt�r�ra. �ll�tsd be a JAVA HOME v�ltoz�t arra a k�nyvt�rra, amelyikbe telep�tetted az IBM Java fejleszt�i k�szletet. export JAVA_HOME=/usr/local/ibm/jdk118 A $JAVA_HOME/bin k�nyvt�rban van a Java compiler (Java ford�t�; javac) �s a Java Virtual Machine (Java Virtu�lis G�p; java) �s egy�b, a fejleszt�shez n�lk�l�zhetetlen programok. Add hozz� a $JAVA_HOME/bin k�nyvt�rat a PATH v�ltoz�hoz. export PATH=$JAVA_HOME/bin:$PATH Ellen�rizd, hogy a $JAVA_HOME/bin k�nyvt�rat hozz�adtad a PATH elej�hez, �gy az telep�tett JDK csomagot fogja haszn�lni a g�ped, nem pedig azt, ami a Linux disztrib�ci�val j�tt. A PATH v�ltoz� ellen�rz�s�hez k�rdezd le az alap�rtelmezett Java ford�t� �s JVM (Java Virtual Machine) nev�t: which javac which java A v�laszb�l kider�l melyik javac �s java van a $JAVA HOME/bin k�nyvt�radban. A CLASSPATH k�rnyezeti v�ltoz� utal a JAR-okra �s a k�nyvt�rakra, amelyekre sz�ks�ged lesz ahhoz, hogy Java programokat ford�ts �s futtass. Javasolom, add hozz� a k�vetkez� JAR-okat a CLASSPATH v�ltoz�hoz. Ezek k�l�nb�z� .jar vagy .zip f�jlokba vannak csomagolva. P�ld�ul: export CLASSPATH=$JAVA_HOME/lib/classes.zip export CLASSPATH=$CLASSPATH:. A telep�t�s ellen�rz�se Most m�r ford�thatsz �s futtathatsz egy egyszer� programot. K�sz�tsd el a k�vetkez� programot: class HelloWorld { public static void main (String[] args) { System.out.println("Hello, World!"); } } Ford�tsd a programot a Java ford�t�val: javac HelloWorld.java Ha a ford�t� hib�t jelez, akkor n�zd meg alaposan a szintaktik�t �s ellen�rizd a PATH �s a CLASSPATH v�ltoz� be�ll�t�sait. Futtasd a programot JVM-mel. java HelloWorld Ha a JVM hib�t jelez ellen�rizd a PATH �s a CLASSPATH be�ll�t�said. Egy�bk�nt a k�vetkez� kimenetet kell l�tnod: Hello, World! Gratul�lok, telep�tetted �s tesztelted az IBM Java Developer Kit csomagot Linuxon! Tov�bbi inform�ci�k Tov�bbi inform�ci�t tal�lsz az IBM Java weboldal�n a [20]http://www.ibm.com/java c�men. 2.3 Kaffe H�tt�r A Kaffe egy ny�lt forr�sk�d� implement�ci�ja a (Java Virtual Machine) Java Virtu�lis G�pnek �s oszt�lyk�nyvt�raknak. Ezen dokumentum k�sz�t�s�nek idej�n a Kaffe "legink�bb a JDK 1.1-el m�k�d�tt egy�tt, n�h�ny r�szt kiv�ve" �s "egyes r�szei m�r JDK 1.2 (Java2) kompatibilisek". (Id�zet a Kaffe weboldal�r�l.) El�fordulhat, hogy a Kaffe m�r a Linux disztrib�ci�dban benne van, hiszen a Kaffe is ny�lt forr�sk�d�. Let�lt�s �s telep�t�s Azt javasolom, hogy ink�bb azt a Kaffe csomagot haszn�ld, ami a Linux disztrib�ci�ddal �rkezett, mintsem ami let�lthet� a Kaffe honlapr�l. Alternat�vak�nt a Kaffe megtal�lhat� a [21]http://www.kaffe.org c�men. A Kaffe weboldal�n v�laszd a legfrissebb kiad�st. Ezen dokumentum �r�sa idej�n ez az 1.0.5-�s verzi� volt. A Kaffe verzi�sz�ma nincs kapcsolatban a JDK egy�b verzi�sz�maival. K�rnyezeti be�ll�t�sok A k�vetkez� k�rnyezeti v�ltoz�kat kell be�ll�tanod: * PATH * CLASSPATH A PATH v�ltoz� ellen�rz�s�hez k�rdezd le az alap�rtelmezett Java ford�t� �s JVM (Java Virtual Machine) nev�t: which javac which java A CLASSPATH k�rnyezeti v�ltoz� mutatja, hogy hol tal�lhat�ak a JAR-ok �s mely k�nyvt�rakra lesz sz�ks�ged, hogy ford�ts �s futtass Java programokat. Azt javasolom, hogy a JAR csomagokat add hozz� a CLASSPATH v�ltoz�hoz A JAR-ok .jar vagy .zip f�jlokba lehetnek csomagolva: P�ld�ul: export CLASSPATH=/usr/local/share/kaffe/Klasses.zip export CLASSPATH=$CLASSPATH:. A telep�t�s ellen�rz�se Most m�r ford�thatsz �s futtathatsz egyszer�bb alkalmaz�sokat. K�sz�tsd el a k�vetkez� programot: class HelloWorld { public static void main (String[] args) { System.out.println("Hello, World!"); } } Ford�tsd le a programot a Java ford�t�val: javac HelloWorld.java Ha a ford�t� hib�t jelez, alaposan ellen�rizd le a szintaxist �s ellen�rizd a PATH �s CLASSPATH be�ll�t�said. Futtasd a programot a JVM-mel. java HelloWorld Ha a JVM hib�t jelez ellen�rizd a PATH �s a CLASSPATH be�ll�t�sait. A k�vetkez� �zenetet kell l�tnod: Hello, World! Gratul�lok, telep�tetted, be�ll�tottad �s tesztelted a Kaffe csomagot Linux alatt! Tov�bbi inform�ci�k Tov�bbi inform�ci�t tal�lsz a Kaffe-r�l a [22]http://www.kaffe.org honlapon. 2.4 Sun J2SE H�tt�r A Sun Java 2 Standard Edition (J2SE) a Sun Java 2 platformja Linux oper�ci�s rendszerekre. A dokumentum k�sz�t�sekor a legfrissebb verzi� a JDK 1.2.2, Intel architekt�r�ra. Let�lt�s A J2SE let�lthet� a [23]http://developer.java.sun.com/developer/earlyAccess/j2sdk122 oldalr�l. Regisztr�lnod kell magad a Sunn�l �s el kell fogadnod a licencet, miel�tt let�lt�d a programot. Telep�t�s Azt javasolom telep�tsd a f�jlokat a /usr/local k�nyvt�rba. Miut�n let�lt�tted a f�jlokat futtasd a k�vetkez� parancsokat: mkdir /usr/local/sun mv jdk1_2_2rc1-linux-i386.tar.gz /usr/local/sun Most kicsomagolhatod a disztrib�ci�s csomagot. Futtasd a k�vetkez� parancsot: tar zxvf jdk1_2_2rc1-linux-i386.tar.gz Az /usr/local/sun k�nyvt�rban most m�r l�thatod a jdk1.2.2 k�nyvt�r�t. Az al�bbi p�ld�k a JDK 1.2.2 verzi�ra, Intel architekt�r�ra k�sz�ltek. Helyettes�tsd a f�jlneveket, ahol sz�ks�ges. K�rnyezeti be�ll�t�sok A k�vetkez� k�rnyezeti v�ltoz�kat kell be�ll�tanod: * JAVA_HOME * PATH * CLASSPATH A JAVA_HOME arra a k�nyvt�rra mutat, ahol a JDK csomagod van. �ll�tsd be a JAVA_HOME v�ltoz�t arra a k�nyvt�rra, ahov� a J2SE programot telep�tetted: export JAVA_HOME=/usr/local/sun/jdk1.2.2 A $JAVA_HOME/bin k�nyvt�rban van a Java compiler (Java ford�t�; javac) �s a Java Virtual Machine (J�va Virtu�lis G�p; java) �s egy�b, a fejleszt�shez sz�ks�ges programok. Add hozz� a $JAVA_HOME/bin k�nyvt�rat a PATH v�ltoz�hoz. export PATH=$JAVA_HOME/bin:$PATH Ellen�rizd, hogy a $JAVA_HOME/bin k�nyvt�rat hozz�adtad a PATH elej�hez, s �gy a telep�tett JDK verzi�t fogod haszn�lni, nem pedig azt, amelyik a disztrib�ci�ddal j�tt. A PATH v�ltoz� ellen�rz�s�hez k�rdezd le az alap�rtelmezett Java ford�t� �s JVM (Java Virtual Machine) nev�t: which javac which java Az eredm�nyeknek a $JAVA_HOME/bin k�nyvt�rban tal�lhat� javac �s java verzi�knak kell lenni�k. A CLASSPATH k�rnyezeti v�ltoz� azokra a JAR-okra �s k�nyvt�rakra mutat, amelyekre sz�ks�ged lesz a Java programok ford�t�s�hoz �s futtat�s�hoz. A JDK 1.2.2-h�z, alapesetben nem kell JAR-okat adni a CLASSPATH v�ltoz�hoz. A JAR-ok .jar �s .zip f�jlokba lehetnek csomagolva. export CLASSPATH=$CLASSPATH:. A telep�t�s ellen�rz�se Most m�r ford�thatsz �s futtathatsz egy egyszer� alkalmaz�st. K�sz�tsd el a k�vetkez� kis programot: class HelloWorld { public static void main (String[] args) { System.out.println("Hello, World!"); } } Ford�tsd le a programot a Java ford�t�val. javac HelloWorld.java Ha a ford�t� hib�t produk�l, ellen�rizd le alaposan a szintaxist, �s ellen�rizd a PATH �s CLASSPATH be�ll�t�sait. Futtasd a programot a JVM-mel. java HelloWorld Ha a JVM hib�t jelez ellen�rizd a PATH �s a CLASSPATH be�ll�t�sait. A k�vetkez� eredm�nyt kell l�tnod a helyes fut�s eset�n: Hello, World! Gratul�lok, telep�tetted, be�ll�tottad �s tesztelted a Sun J2SE csomagot Linux alatt. Tov�bbi inform�ci� Tov�bbi inform�ci�t tal�lsz a Sun J2SE jav�r�l a [24]http://java.sun.com honlapon. Itt kiv�l� vitaf�rumokat tal�lhatsz, ahol val�sz�n�leg v�laszt kapsz a k�rd�seidre. 3. Hogyan telep�ts�nk Webszervert? Sz�mos Webszerver tal�lhat� Linuxra. P�ld�ul: * [25]Apache * [26]IBM Domino * [27]IBM HTTP Server * [28]Jetty HTTP Server Ha csak egy Webszervert akarsz kipr�b�lni, azt javasolom, hogy kezdd az Apache-al. Els�sorban az�rt, mert ez benne van a legt�bb Linux disztrib�ci�ban, el�re telep�tve �s tal�n m�r fut a rendszereden. 3.1 Apache H�tt�r Az Apache a legelterjedtebb HTTP szerver az Interneten. "Eredetileg az NCSA httpd d�monon alapult, de az�ta teljesen �jra lett �rva. Az Apache ny�lt forr�sk�d�". (Id�zet az Apache weboldal�r�l.) Let�lt�s, telep�t�s �s a k�rnyezeti be�ll�t�sok Azt javasolom, hogy azt az Apache csomagot haszn�ld, amelyik a Linux disztrib�ci�ddal �rkezett. Esetleg let�ltheted a [29]http://www.apache.org webhelyr�l. A telep�t�s ellen�rz�se Az Apache m�k�d�k�pess�g�nek ellen�rz�s�hez ind�tsd el a b�ng�sz�d, �s �rd be a k�vetkez�t: "http://127.0.0.1". (ez a localhost IP c�me). Egy "It Worked!" felirat� weboldalt kell l�tnod, ha m�k�dik. Ha ez nem �gy van, akkor ellen�rizheted �gy is, hogy be�rod a k�vetkez�t a RedHat Package Manager (RPM) alap� disztrib�ci�ba: rpm -q | grep apache Az Apache elind�t�s�hoz, futtasd: cd /etc/rc.d/init.d ./httpd start Megjegyz�s: A httpd szkript helye, bootol�skor lehet, hogy m�shol van a k�l�nb�z� Linux diszrib�ci�kn�l. Tov�bbi seg�ts�g�rt l�togass el az Apache weboldal�ra �s olvasd az Apache FAQ le�r�st a [30]http://www.apache.org/docs/misc/FAQ.html honlapon. 3.2 IBM Domino Ez a r�sz k�sz�l�ben van. Tov�bbi inform�ci�k�rt keresd fel a [31]http://www.lotus.com/dominolinux honlapot. 3.3 IBM HTTP Szerver H�tt�r Az IBM HTTP kiszolg�l�, egy Apache IBM sz�nekbe �lt�ztetve. Az IBM http kiszolg�l�j�t mindenk�ppen meg kell ismerned, ha IBM WebSphere-el akarsz dolgozni. A doksi k�sz�l�sekor a naprak�sz verzi� az 1.3.6.1-es. Let�lt�s Az IBM HTTP kiszolg�l� let�lthet� a [32]http://www-4.ibm.com/software/webservers/httpservers/download.html c�mr�l. A let�lt�sre klikkelve v�laszd az 56, vagy 128 bites ssl k�dol�st. Regisztr�lnod kell magad az IBM-n�l, ki kell t�ltened egy marketing k�rd��vet �s el kell fogadnod a licencet, miel�tt let�lt�d a programot. Az IBM http kiszolg�l� futtat�s�hoz a glibc 2.0-�s vagy 2.1-es verzi�j�ra lesz sz�ks�ged. A glib az �j Linux libc. Ha r�gebbi disztrib�ci�d van, ami libc5-�n alapul, akkor nem fogod tudni haszn�lni az IBM http kiszolg�l�t. Egy RedHat Package Manager (RPM) alap� Linux disztrib�ci�n futtasd a k�vetkez� parancsot: rpm -qa | grep libc Hasonl� eredm�nyt fogsz l�tni: glibc-2.1.2-11 libc-5.3.12-31 Ebb�l tudhat� meg, hogy melyik libc5 �s glibc verzi� van a g�peden. A k�vetkez� p�ld�ban �n mindkett�t telep�tettem a rendszeremre. A glibc verzi�m 2.1, teh�t a glibc2.1-es verzi�hoz tartoz� csomagot kell let�ltenem. Javasolom, hogy t�ltsd le az �sszes tar f�jlt a Linuxod glib verzi�j�hoz, mivel viszonylag kis m�ret�ek. Ak�rmennyit is t�ltesz le, a szerver f�jlra sz�ks�ged lesz. RedHat 6.0 �s az ebb�l sz�rmaz� disztrib�ci�khoz csak a RedHat 6.0-ra lesz sz�ks�ged. A glibc 2.0-ra alapul� verzi�khoz sz�ks�ged lesz a libstdc f�jlra is. Telep�t�s Javasolom a f�jlokat az /usr/local k�nyvt�rba telep�tsd. A let�lt�s ut�n add ki a k�vetkez� parancsokat: mkdir /usr/local/ibm mv HTTPServer.linux.* /usr/local/ibm Most m�r kicsomagolhatod a tar f�jlt: tar xvf [filename].tar Ahol a [filename] az �llom�ny neve. Az /usr/local/ibm k�nyvt�r alatt most m�r l�tnod kell egy IHS k�nyvt�rat. Haszn�ld a RedHat Package Manager programot (RPM) az rpm f�jlok telep�t�s�hez, amiket a tar f�jl tartalmazott. Ha sz�ks�ged van a libstdc f�jlra, akkor el�sz�r azt telep�tsd. Azut�n telep�theted a szerver rpm f�jlj�t, valahogy �gy: cd IHS rpm -i IBM_HTTP_Server-1.3.6-2.i386.rpm A fenti p�ld�k 1.3.6-os verzi�ra, Intel architekt�r�ra k�sz�ltek. Helyettes�tsd a f�jlneveket, ahol sz�ks�ges. A telep�t�s ut�n k�nnyen t�r�lheted az rpm f�jlokat. K�rnyezeti be�ll�t�sok A k�vetkez� k�rnyezeti v�ltoz�kat kell be�ll�tanod: * PATH Az IBM http kiszolg�l� az /opt/IBMHTTPServer k�nyvt�rba telep�ti mag�t. Ezt az �tvonalat hozz� kell adnod a PATH v�ltoz�hoz. export PATH=/opt/IBMHTTPServer/bin:$PATH Ellen�rizd, hogy az /opt/IBMHTTPServer/bin �tvonalat hozz�adtad a PATH v�ltoz�hoz, �gy az a Web-kiszolg�l� indul el, amit telep�tett�l, nem pedig az amelyik a Linux disztrib�ci�ddal �rkezett. A PATH v�ltoz� be�ll�t�s�nak ellen�rz�s�hez n�zd meg melyik Apache kontrollert haszn�lod: which apachectl A v�lasznak az /opt/IBMHTTPServer/bin k�nyvt�rban l�v� apachectl-re kell mutatnia. Figyelem: mivel az IBM http kiszolg�l� az Apache-on alapul, ez�rt az Apache controllert haszn�lja indul�skor �s le�ll�skor. Ha az IBM http kiszolg�l�t �s az Apache kiszolg�l�t is telep�tetted a g�pedre, akkor k�l�n�sen figyelj a PATH v�ltoz�ra, hogy a megfelel� kiszolg�l�t haszn�ld! Lehet, hogy m�dos�tanod kell az IBM http kiszolg�l� konfigur�ci�s f�jlj�t. A konfigur�ci�s be�ll�t�sok az /opt/IBMHTTPServer/conf/httpd.conf f�jlban vannak. A k�t legfontosabb v�ltoztat�s amire sz�ks�ged lehet, az a kiszolg�l� nev�nek �s a portnak a be�ll�t�sa. Keresd a "ServerName" �s a "Listen" kulcsszavakat a http.conf f�jlban. A kiszolg�l� nev�nek be�ll�thatod a g�pneved vagy az IP c�med. Ha a sz�m�t�g�ped DHCP szolg�ltat�st haszn�l az IP c�m be�ll�t�s�hoz, akkor a "hostname" megad�sa jobb v�laszt�s lehet. A sz�m�t�g�p nev�nek haszn�lat�hoz a "hostname"-nek �s az IP c�mnek regisztr�lva kell lennie a DNS-ben. Azonfel�l, ha m�s web-kiszolg�l�t is futtatsz a g�pen, akkor az IBM http kiszolg�l�nak egy m�sik portot kell adnod, hogy mindkett� p�rhuzamosan �s megfelel�en m�k�dj�n. �me egy p�lda a httpd.conf f�jl be�ll�t�s�hoz: ServerName 192.168.0.4 Listen 3000 A telep�t�s ellen�rz�se Az IBM http kiszolg�l� ind�t�s�hoz �rd be a k�vetkez�t: /opt/IBMHTTPServer/bin/apachectl start Az IBM http kiszolg�l� rendesen m�k�d�s�nek ellen�rz�s�hez ind�tsd el a b�ng�sz�d �s �rd be a k�vetkez� URL-t: http://192.168.0.4:3000 (helyettes�tsd a megfelel� IP c�mmel �s port sz�mmal, amiket a saj�t httpd.conf f�jlodba �rt�l.) Egy "Welcome to the IBM HTTP Server" weboldalt kell l�tnod. Gratul�lok, telep�tetted, be�ll�tottad �s tesztelted az IBM http kiszolg�l�t Linux alatt! Tov�bbi inform�ci�k Tov�bbi inform�ci��rt keresd fel az IBM http kiszolg�l� [33]http://www-4.ibm.com/software/webservers/httpservers/support.html honlapj�t. 3.4 Jetty HTTP kiszolg�l� �s szervlet kont�ner H�tt�r A Jetty egy ny�lt forr�sk�d�, 100%-ban Javaban �rt http szervlet szerver. Egy teljes http/1.1 �s szervlet kont�ner egyszerre. Egyszer� kezelhet�s�g, nagy hat�konys�g, be�gyazhat�s�g, kiterjeszthet�s�g �s rugalmass�g jellemzi, �gy ide�lis platform dinamikus http k�r�sek kiszolg�l�s�ra b�rmilyen Java program sz�m�ra. A Jetty haszn�lhat� �nmag�ban http kiszolg�l�k�nt �s Servlet kont�nerk�nt, vagy be�gyazhat� egy m�sik Java alkalmaz�sba (pl: a JBoss EJB kont�ner a Jetty-t haszn�lja, mint prefer�lt kiszolg�l�t �s kont�nert.) Mint kombin�lt kiszolg�l� �s servlet kont�ner, mindk�t funkci� hat�konyan fut egy egy Unix folyamatban. A telep�t�se �s a be�ll�t�sa olyan egyszer�, mint egy kis alkalmaz�s�. Let�lt�s A Jetty http kiszolg�l� �s Servlet kont�ner let�lthet� a [34]http://jetty.mortbay.org honlapr�l. A Jetty az artistic liszenc al� tartozik, a teljes k�dot tartalmazza �s kereskedelemben terjeszthet�. Telep�t�s A csomag egy gzippelt tar f�jlban van, ami kicsomagolhat� a k�vetkez� paranccsal: gunzip < Jetty-x.x.x.tgz | tar xf - Ez l�trehoz egy Jetty-x.x.x. k�nyvt�rat, ahol is az x.x.x a verzi�sz�mot jelenti. A dem� kiszolg�l� futtat�s�hoz haszn�ld a k�vetkez� parancsokat: export JETTY_HOME=<jetty install directory> export JAVA_HOME=<JRE install directory> $JETTY_HOME/bin/jetty.sh run A Jetty dem�j�nak ind�t�s�hoz �rd be a b�ng�sz�be: [35]http://localhost:8080. A Jetty, JMX vagy JBoss k�rnyezet r�szek�nt is telep�thet�. Tov�bbi inform�ci�k�rt l�togass el a [36]http://jetty.mortbay.org honlapra, vagy olvasd el a README.TXT f�jlt. 4. Java szervlet t�mogat�s telep�t�se Van n�h�ny WEB kiszolg�l�-b�v�tm�ny �s alkalmaz�s-kiszolg�l� Linuxon, amely t�mogatja a szervleteket. Ilyenek a k�vetkez�k: * [37]Allaire JRun * [38]Apache Tomcat * [39]BEA WebLogic * [40]Enhydra * [41]Locomotive * [42]IBM Websphere * [43]Jetty 4.1 Allaire JRun A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci�k a [44]http://www.allaire.com/products/jrun/ oldalon. 4.2 Apache Tomcat H�tt�r A JServ-et helyettes�tett�k az Apache Jakarta projektben Tomcat-el: [45]http://jakarta.apache.org/. Ez a r�sz csak a JServvel foglalkozik �s friss�t�sre szorul. Az Apache JServ egy 100%-osan tiszta Java szervlet motor, amely teljesen egy�ttm�k�dik a Java Servlet 2.0 specifik�ci�val. Az Apache JServ a Java Apache Project r�sze. (Az Apache Java Project weboldal�r�l.) Let�lt�s Apache JServ let�lthet� a [46]http://java.apache.org/jserv/index.html oldalr�l. Az Apache JServ Project weboldal�r�l indulva k�vesd a Download Apache JServ linket. Jelenleg RPM csomagok �llnak rendelkez�sre RedHat Linuxra. M�s Linux disztrib�ci�khoz neked kell be�p�tened a forr�st. A k�vetkez� p�lda megmutatja, hogy hogyan telep�tsd az RPM-et RedHat 6x verzi�ra. A doksi �r�sakor a legfrissebb verzi� az 1.1b3-as. Telep�t�s Az javasolom, hogy telep�tsd a f�jlokat az /usr/local k�nyvt�raba. Miut�n let�lt�tted �ket, futtasd a k�vetkez� parancsot: mkdir /usr/local/apachejserv mv ApacheJServ*.rpm /usr/local/apachejserv RedHat �s RedHat alap� disztrib�ci�k eset�n haszn�ld az RPM-et a csomag telep�t�s�hez, valahogy �gy: rpm -i ApacheJServ-1.1-b2_RH6x.i386.rpm A fenti p�ld�k az 1.1-b2 verzi�ra k�sz�ltek RedHat 6x al�, Intel architekt�r�ra. K�rnyezeti be�ll�t�sok Le kell �ll�tanod, hogy be�ll�thasd a k�rnyezeti v�ltoz�kat, majd �jra kell ind�tanod az Apache kiszolg�l�d az Apache Jserv-ed regisztr�l�s�hoz. Az Apache le�ll�t�s�hoz, �rd be: cd /etc/rc.d/init.d ./httpd stop Megjegyz�s: A httpd szkript bootol�skor lehet, hogy m�shol tal�lhat� a k�l�nb�z� Linux diszrib�ci�kn�l. A Java k�rnyezet be�ll�t�s�hoz n�zd meg a Hogyan telep�ts�nk JDK-t r�szt ebben a le�r�sban, az �ltalad haszn�lt JDK-ra val� tekintettel. Be kell �ll�tanod n�h�ny tulajdons�got a jserv f�jlban, ami az /etc/httpd/conf/jserv k�nyvt�rban tal�lhat�. K�l�n�s tekintettel az al�bbiakra: * wrapper.bin - A JDK hely�re hivatkozva * wrapper.classpath - minim�lisan /usr/lib/apache/ApacheJServ.jar and /home/httpd/classes/servlet-2.0.jar * bindaddress=localhost * port=8007 Az Apache �jraind�t�s�hoz, �rd be: cd /etc/rc.d/init.d ./httpd start Telep�t�s ellen�rz�se Az Apache JServ telep�t�s�nek �s m�k�d�s�nek ellen�rz�s�hez nyisd meg a b�ng�sz�d �s �rd be az URL-be: "http://127.0.0.1/servlet/IsItWorking" . Helyettes�tsd a megfelel� IP c�met, ha egy m�sik g�pr�l b�ng�szel. Egy "Yes, Its Working!" weboldalt kell l�tnod. Gratul�lok, telep�tetted, be�ll�tottad, tesztelted az Apache JServ-et Linux alatt! Tov�bbi seg�ts�g�rt l�togass el az Apache JServ weboldal�ra a [47]http://java.apache.org/jserv/index.html c�mre. Most ford�tsd �s futtasd a saj�t kis szervleted. �rd be a k�vetkez� Java szervlet programot: import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorldServlet extends HttpServlet { public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } Tov�bbi inform�ci�k Tov�bbi inform�ci��rt l�togass el a Java Apache Project weboldal�ra a [48]http://java.apache.org/ c�mre. 4.3 BEA WebLogic L�sd [49]BEA WegLogic lejjebb. 4.4 Enhydra A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [50]http://www.enhydra.org oldalon. 4.5 IBM WebSphere A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [51]http://www-4.ibm.com/software/webservers/appserv/linux.html oldalon. 4.6 Locomotive A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [52]http://www.locomotive.org/ oldalon. 4.7 Jetty A Jetty http szerver egy kombin�lt szerver �s szervlet kont�ner. A http szerver telep�t�se (l�sd fentebb) szervlet t�mogat�st is biztos�t. Tov�bbi inform�ci� el�rhet� a dem� szerveren �s az oktat�n kereszt�l, amit a http szerverrel egy�tt telep�tett�l. 5. Hogyan telep�ts Java Server Pages (JSP) t�mogat�st A le�r�s elk�sz�t�se folyamatban van. 5.1 Apache Jakarta A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [53]http://jakarta.apache.com/ oldalon. 5.2 Caucho Resin A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [54]http://www.caucho.com/ oldalon. 5.3 Jetty A Jetty HTTP szerver a Jasper JSP motorral rendelkezik. A HTTP szerver telep�t�se, lehet�s�get ad (l�sd fent 3.4) JSP t�mogat�sra. Tov�bbi inform�ci� el�rhet� a dem� szerveren �s az oktat�n kereszt�l, amit a http kiszolg�l�val egy�tt telep�tett�l. 6. JDBC t�mogat�s telep�t�se Van n�h�ny adatb�zis, ami fut Linux alatt �s t�mogatja a JDBC interf�szt. Ezek p�ld�ul: * [55]IBM DB2 * [56]MiniSQL * [57]MySQL * [58]Oracle * [59]PostgreSQL * [60]Sybase Ha csak egy DBMS-t szeretn�l kipr�b�lni, akkor el�sz�r a PostgreSQL-el pr�b�lkozz, ez minden nagyobb Linux-disztrib�ci�ban benne van �s lehet, hogy m�r telep�tve van a rendszeredre. 6.1 IBM DB2 A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [61]http://www-4.ibm.com/software/data/db2/linux/ oldalon. 6.2 MiniSQL A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [62]http://www.hughes.com.au/ oldalon. 6.3 MySQL A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [63]http://www.mysql.org/ oldalon. 6.4 Oracle A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [64]http://platforms.oracle.com/linux/ oldalon. 6.5 PostgreSQL H�tt�r A PostgreSQL egy kifinomult objektum-rel�ci�s alap� DBMS, amely t�mogatja a legt�bb SQL konstruktort, subselect-et, tranzakci�kat �s a felhaszn�l� �ltal defini�lt t�pusokat �s funkci�kat. Ez a jelenlegi legjobb ny�lt forr�sk�d� adatb�ziskezel�, ami el�rhet�. Kereskedelmi forgalomban is kaphat� a PostgreSQL Inc-t�l. A jelenlegi verzi� a 6.5.3-as �s el�rhet� b�rmelyik t�k�roldalr�l vagy CD-r�l. (A PostgreSQL weboldal�r�l) Lehets�ges, hogy a PostgreSQL m�r a Linux disztrib�ci�dban benne van, hiszen ez is ny�lt forr�sk�d�. Let�lt�s �s telep�t�s Azt javasolom, hogy kezdetben ink�bb azt a PostgreSQL-t haszn�ld, amelyik a Linux disztrib�ci�dban van, mintsem egy let�lt�tt verzi�t. Vagy ha m�gsem azt akarod haszn�lni, akkor megtal�lod a PostgreSQL-t a [65]http://www.postgresql.org oldalon. Annak ellen�rz�s�hez, hogy a PostgreSQL m�r telep�tve van-e a g�pedre, �rd be a k�vetkez� parancsot: rpm -qa | grep postgresql vagy which postmaster which psql Sz�ks�ged lesz a telep�tett postgresql, postgresql-szerver, �s postgresql-java csomagokra, hogy a Jav�t egy�tt haszn�ld a PostgreSQL-el. Ellen�rizd, hogy fut-e a PostgreSQL: ps -f -u postgres Most l�tnod kell a postmaster, a PostgreSQL d�mon fut�s�t. Ha a postmaster nem fut, akkor van egy Sys V Init szkript, amivel elind�thatod. Ez a legt�bb disztrib�ci�ban az /etc/rc.d/init.d k�nyvt�rban tal�lhat�. A PostgreSQL ind�t�s�hoz �rd be: cd /etc/rc.d/init.d ./postgresql start Haszn�lhatod a fentebb m�r le�rt ps parancsot, a PostgreSQL fut�s�nak ellen�rz�s�hez. Megjegyz�s: A JDBC haszn�lat�hoz a PostgreSQL-t -i -vel kell ind�tanod! Egy�bk�nt csak UNIX domain socket-eket fog t�mogatni, TCP/IP kapcsolatot nem. Ellen�rizd, hogy a postmaster az -i param�terrel indult! K�sz�ts egy pr�ba adatb�zist: su - postgres createdb javatest Nem szabad hiba�zenetet kapnod. K�sz�ts egy pr�ba t�bl�t egy pr�ba sorral. Els�k�nt jelentkezz be az interakt�v PostgreSQL fel�letre �s kapcsol�dj a javatest adatb�zishoz, amit k�sz�tett�l: psql javatest Egy meger�s�t�st kell l�tnod, hogy kapcsol�dt�l a javatest adatb�zishoz. Azut�n k�sz�ts egy pr�ba t�bl�t (psql n�lk�l): create table test (col1 varchar(255)); A "CREATE" �zenetet kell l�tnod, ha elk�sz�lt. A k�vetkez� l�p�sben helyezz el benne egy sort (psql n�lk�l): insert into test (col1) values ('Hello, from PostgreSQL!'); Egy "INSERT" v�lasz�zenetet kell kapnod. V�g�l ellen�rizd, hogy a sor a hely�n van (psql n�lk�l): select col1 from test; Most l�tnod kell a lek�rdez�s eredm�ny�t. A kil�p�shez �rd be, hogy "\q". Tov�bbi seg�ts�g�rt n�zd meg a Database-SQL-RDBMS HOW-TO doksit a [66]http://metalab.unc.edu/mdw/HOWTO/PostgreSQL-HOWTO.html c�men. A sz�ks�ges JAR-okat hozz� kell adnod a CLASSPATH v�ltoz�hoz. A PostgreSQL JAR-ok a postgresql-jdbc csomagban vannak. export CLASSPATH=$CLASSPATH:/usr/lib/pgsql/jdbc6.5-1.2.jar Helyettes�tsd a megfelel� �tvonalat arra ahol a te PostgreSQL csomagod van. A telep�t�s ellen�rz�se Most m�r ford�thatsz �s futtathatsz egy egyszer� JDBC alkalmaz�st, ami PostgreSQL-t haszn�l. K�sz�tsd el a k�vetkez� programot: import java.sql.*; class PostgreSQLTest { public static void main (String[] args) { try { Driver driver = (Driver) Class.forName("postgresql.Driver").newInstance(); DriverManager.registerDriver(driver); String url = "jdbc:postgresql:javatest"; Connection con = DriverManager.getConnection(url, "postgres", ""); Statement stm = con.createStatement(); stm.setQueryTimeout(10); ResultSet rs = stm.executeQuery("select col1 from test"); rs.next(); System.out.println(rs.getString(1)); } catch (SQLException e) { System.out.println("Exception!"); System.out.println(e.toString()); } } Ford�tsd le a Java ford�t�val. javac PostgreSQLTest.java Ha a ford�t� hib�t produk�l, ellen�rizd dupl�n a szintaxist �s ellen�rizd a PATH �s a CLASSPATH v�ltoz�k be�ll�t�sait. Futtasd a programot a JVM-el. java PostgreSQLTest Ha a JVM hib�t produk�l, akkor ellen�rizd a PATH �s a CLASSPATH �tvonalakat. A k�vetkez�t kell l�tnod: Hello, from PostgreSQL! Gratul�lok, telep�tetted, be�ll�tottad �s tesztelted a JDBC interf�szt a PostgreSQL-el! Tov�bbi inform�ci�k Tov�bbi inform�ci��rt keresd fel a PostgreSQL weboldal�t a [67]http://www.postgresql.org/. oldalon. 6.6 Sybase H�tt�r A Sybase Adaptive Server Enterprise egy kereskedelmi forgalomban l�v� RDBMS, ami el�rhet� Linux oper�ci�s rendszerre. A Sybase jelenleg kiadott verzi�ja a 12.0-�s, Linuxra m�g csak a 11.9.2 �rhet� el. Id�zet a Sybase weboldal�r�l: "Az ASE-t a Linuxhoz implement�lva, a Sybase az els� magasan sk�l�zhat�, nagy hat�konys�g� adatb�zis motort adja a Linux fejleszt�k kez�be. A csomag tartalmazza az Adaptive Server Enterprise ir�nyad� saj�toss�gait �s a kapcsol�d� komponenseket. Az Adaptive Server Enterprise fejleszt�sre szabadon haszn�lhat�." Let�lt�s A Sybase ASE let�lthet� a [68]http://www.sybase.com/products/databaseservers/linux/linux1192_reg .html oldalr�l. A let�lthez regisztr�lnod kell magad a Sybase-n�l �s el kell fogadnod a licenc felt�teleit. A Sybase JDBC meghajt� let�lthet� a [69]http://www.sybase.com/products/internet/jconnect/ oldalr�l. A let�lt�sn�l v�laszd a jConnect 4.2/5.2 csomagot. Ha van hozz�f�r�sed a Sybase szerver h�l�zat�hoz, akkor csak let�ltened �s telep�tened kell a JDBC meghajt�t. Telep�t�s A Sybase telep�t�se ezen HOGYAN hat�k�r�n k�v�l esik. Ez a HOGYAN felt�telezi, hogy a Sybase-t rendben telep�tetted �s konfigur�ltad, �s k�sz vagy a Sybase isql haszn�lat�ra. Jelentkezz be az isql-be mint rendszer adminisztr�tor �s k�sz�ts egy teszt felhaszn�l�t �s adatb�zist. create database javatest go sp_addlogin javatest, javatest, javatest go use javatest go sp_dbowner javatest go Nem szabad hiba�zenetet kapnod. K�sz�ts egy pr�ba t�bl�t egy pr�ba sorral. El�sz�r jelentkezz be az isql-be mint a javatest felhaszn�l�ja �s �rd be a k�vetkez�t: create table test (col1 varchar(255)) go Nem szabad hiba�zenetet kapnod. Vegy�l fel egy rekordot: insert into test (col1) values ('Hello, from Sybase!') go Nem szabad hiba�zenetet kapnod. V�g�l ellen�rizd, hogy a rekord a hely�n van: select col1 from test go Most azt a sort kell l�tnod, amit bevitt�l. Az isql-b�l az "exit" be�r�s�val tudsz kil�pni. Tov�bbi seg�ts�g�rt a Sybase-el val� munk�hoz n�zd �t a dokument�ci�j�t, ami let�lthet�. Sz�ks�ged lesz a megfelel� JAR-okra a CLASSPATH v�ltoz�ban. export CLASSPATH=$CLASSPATH:/usr/local/sybase/jConnect-5_2/classes/jconn2.jar A megfelel� �tvonalat helyettes�tsd, att�l f�gg�en, hogy a jConnect hov� telep�lt a rendszeredben. A telep�t�s ellen�rz�se Most m�r ford�thatsz �s futtathatsz egy egyszer� JDBC alkalmaz�st, ami Sybase-t haszn�l. K�sz�tsd el a k�vetkez� programot. import java.sql.*; class SybaseTest { public static void main (String[] args) { try { Driver driver = (Driver) Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance(); DriverManager.registerDriver(driver); String host = "127.0.0.1"; String port = "4100"; String url = "jdbc:sybase:Tds:" + host + ":" + port; Connection con = DriverManager.getConnection(url, "javatest", "javatest") ; Statement stm = con.createStatement(); stm.setQueryTimeout(10); ResultSet rs = stm.executeQuery("select col1 from test"); rs.next(); System.out.println(rs.getString(1)); } catch (SQLException e) { System.out.println("Exception!"); System.out.println(e.toString()); } } Ahol sz�ks�ges helyettes�tsd a host-ot �s a port sz�mot. N�zd meg a $SYBASE/interfaces �s a $DSQUERY bel�p�seit a host �s port be�ll�t�s�hoz. Ford�tsd le a programot a Java ford�t�val. javac SybaseTest.java Ha a ford�t� hib�t produk�l, akkor n�zd meg a szintaxist �s ellen�rizd a PATH �s a CLASSPATH v�ltoz�k be�ll�t�sait. Futtasd a programot a JVM-mel. java SybaseTest Ha a JVM hib�t produk�l, akkor ellen�rizd a PATH �s a CLASSPATH v�ltoz�k be�ll�t�sait. A k�vetkez� eredm�nyt kell l�tnod: Hello, from Sybase! Gratul�lok, telep�tetted, be�ll�tottad �s tesztelted a JDBC interf�szt a Sybase-hez. Tov�bbi inform�ci�k Tov�bbi inform�ci��rt l�togass el a Sybase jConnect weboldal�ra a [70]http://www.sybase.com/products/internet/jconnect/ helyen. 7. Hogyan telep�ts�k az Enterprise Java Bean (EJB) t�mogat�st A le�r�s elk�sz�t�se folyamatban van. 7.1 BEA WebLogic A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [71]http://www.beasys.com/linux/ honlapon. 7.2 EJBoss H�tt�r Az EJBoss a JBoss-t�l kapta a nev�t �s nagyon j�l m�k�dik egy�tt a stabil J2EE verzi�kkal: [72]http://www.jboss.org/. Ez a r�sz akkor k�sz�lt, amikor m�g csak az EJBoss 0.95-�s verzi�ja jelent meg, ez�rt felt�tlen�l friss�tsd az inform�ci�kat. Let�lt�s A JBoss let�lthet� a JBoss weboldal�r�l: [73]http://www.jboss.org/. Telep�t�s Azt javasolom, hogy telep�tsd a f�jlokat az /usr/local k�nyvt�rba. A let�lt�s ut�n futtasd a k�vetkez� parancsokat: mkdir /usr/local/ejboss mv ejboss* /usr/local/ejboss Csomagold ki a f�jlt: jar xvf ejboss095_jdk122.jar Mindenf�le f�jlt �s k�nyvt�rat kell l�tnod az /usr/local/ejboss k�nyvt�rban. A fenti p�lda az EJBoss 0.95-�s verzi�ja alapj�n k�sz�lt. Helyettes�tsd a f�jlneveket, ahol sz�ks�ges. K�rnyezeti be�ll�t�sok A k�vetkez� k�rnyezeti v�ltoz�kat kell be�ll�tanod: * CLASSPATH A CLASSPATH v�ltoz� mutatja meg, hogy mely JAR-okra �s k�nyvt�rakra lesz sz�ks�ged, hogy ford�ts �s futtass Java programokat. A CLASSPATH felt�tlen�l tartalmazza az EJBoss JAR-t �s a /bean/generated k�nyvt�rakat. export CLASSPATH=/usr/local/ejboss/lib/ejboss095_jdk122.jar:/usr/local/ejboss/b eans/generated:$CLASSPATH A telep�t�s ellen�rz�se Most m�r ford�thatsz �s futtathatsz egy egyszer� EJB alkalmaz�st. K�sz�tsd el a k�vetkez� h�rom forr�sf�jlt a szerver sz�m�ra. El�sz�r a business interf�szt. // EJBTest.java import javax.ejb.*; import java.rmi.RemoteException; public interface EJBTest extends EJBObject { public String greet() throws RemoteException; } M�sodszor, a home interf�szt. // EJBTestHome.java import javax.ejb.*; import java.rmi.RemoteException; public interface EJBTestHome extends EJBHome { public EJBTest create() throws CreateException, RemoteException; } Harmadszor, a bean implement�ci�s oszt�lyt. // EJBTestBean.java import javax.ejb.*; import java.rmi.RemoteException; public interface EJBTestBean implements SessionBean { private SessionContext mContext = null; public void ejbPassivate() { System.out.println("EJBTestBean passivated."); } public void ejbActivate() { System.out.println("EJBTestBean activated."); } public void ejbCreate() { System.out.println("EJBTestBean created."); } public void ejbRemove() { System.out.println("EJBTestBean removed."); } public void setSessionContext() { System.out.println("EJBTestBean context set."); mContext = context; } public String greet() { return "Hello, I'm an EJB!"; } } Ford�tsd le a szerver forr�sf�jljait a Java ford�t�val: javac EJBTest*.java Ha a ford�t� hib�t produk�l, akkor n�zd meg k�tszer is a szintaxist �s ellen�rizd a PATH �s a CLASSPATH v�ltoz�k be�ll�t�sait. Most, hogy meg�rtad �s leford�tottad a szerver forr�sf�jljait, t�ltsd fel a beaneket az EJBoss-ba. Ez n�h�ny nagyon fontos l�p�sb�l �ll, amelyekre figyelni kell. El�sz�r k�sz�tsd el az ejb-jar.xml f�jlt. <?xml version="1.0" encoding="Cp1252"?> <ejb-jar ID=""> <description></description> <display-name></display-name> <small-icon></small-icon> <large-icon></large-icon> <ejb-client-jar></ejb-client-jar> <enterprise-beans> <session> <description>Nextgen bean</description> <ejb-name>nextgen.EJBTest</ejb-name> <home>EJBTestHome</home> <remote>EJBTest</remote> <ejb-class>EJBTestBean</ejb-class> <session-type>Stateful</session-type> <transaction-type>Bean</transaction-type> <env-entry> <description></description> <env-entry-name></env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value></env-entry-value> </env-entry> <resource-ref> <description></description> <res-ref-name></res-ref-name> <res-type></res-type> <res-auth>Container</res-auth> </resource-ref> </session> </enterprise-beans> <assembly-descriptor /> </ejb-jar> A fenti ejb-jar.xml f�jl azonos�tja az interf�szt �s az oszt�lyneveket, amelyeket k�sz�tett�l. M�sodszor, a h�rom "class" f�jl k�nyvt�r�ban k�sz�ts egy META-INF k�nyvt�rat. mkdir META-INF mv ejb-jar.xml META-INF Harmadszor, csomagold a f�jlokat egy jar-ba. jar cvf EJBTest.jar EJBTest*.class META-INF/ejb-jar.xml L�tnod kellene, hogy hozz�ad�dott a list�hoz, csak�gy mint a h�rom "class" f�jl �s az XML bet�lt�st le�r� f�jlt. Negyedszer, tedd a most k�sz�lt Jar-t az EJBoss bean k�nyvt�r�ba. mv EJBTest.jar /usr/local/ejboss/beans �t�dsz�r, m�sold az oszt�lyf�jlokat, amiket k�sz�tett�l, az EJBoss beans/generated k�nyvt�rba. mv EJBTest*.class /usr/local/ejboss/beans/generated (Az �t�dik l�p�s felesleges egy hiba miatt, ami az EJBoss 0.95-ben van.) Most m�r elind�thatod az EJBoss kiszolg�l�t. cd /usr/local/ejboss sh server.sh Azt kell l�tnod, hogy a proxy f�jlok automatikusan leford�t�dnak �s meger�s�tik, hogy az EJB-d bet�lt�d�tt. Most m�r �rhatsz, ford�thatsz �s tesztelhetsz egy egyszer� kliens alkalmaz�st. 7.3 Bullsoft JOnAS EJB A le�r�s elk�sz�t�se folyamatban van. Tov�bbi inform�ci� tal�lhat� a [74]http://www.bullsoft.com/ejb/ oldalon. References 1. mailto:gary@meyer.net 2. mailto:gregw@mortbay.org 3. http://tldp.org/HOWTO/Enterprise-Java-for-Linux-HOWTO.html 4. http://www.gnu.org/copyleft/fdl.html 5. mailto:gary@meyer.net 6. http://www.app-serv.com/ 7. http://www.oreilly.com/catalog/jentnut/ 8. mailto:gary@meyer.net 9. mailto:nezach@freemail.hu_NO_SPAM 10. mailto:szerdesz@pannongsm.hu_NO_SPAM 11. mailto:linuxhowto@sch.bme.hu_NO_SPAM 12. http://tldp.fsf.hu/index.html 13. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: blackdown 14. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: ibmjdk 15. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: j2se 16. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: kaffe 17. http://www.blackdown.org/ 18. http://www.blackdown.org/ 19. http://www.ibm.com/java/jdk/118/linux 20. http://www.ibm.com/java 21. http://www.kaffe.org/ 22. http://www.kaffe.org/ 23. http://developer.java.sun.com/developer/earlyAccess/j2sdk122 24. http://java.sun.com/ 25. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: apache 26. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: domino 27. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: ibmhttp 28. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: jetty 29. http://www.apache.org/ 30. http://www.apache.org/docs/misc/FAQ.html 31. http://www.lotus.com/dominolinux 32. http://www-4.ibm.com/software/webservers/httpservers/download.html 33. http://www-4.ibm.com/software/webservers/httpservers/support.html 34. http://jetty.mortbay.org/ 35. http://localhost:8080/ 36. http://jetty.mortbay.org/ 37. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: jrun 38. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: jserv 39. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: weblogicservlet 40. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: enhydra 41. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: locomotive 42. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: websphere 43. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: jettyservlet 44. http://www.allaire.com/products/jrun/ 45. http://jakarta.apache.org/ 46. http://java.apache.org/jserv/index.html 47. http://java.apache.org/jserv/index.html 48. http://java.apache.org/ 49. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: weblogic 50. http://www.enhydra.org/ 51. http://www-4.ibm.com/software/webservers/appserv/linux.html 52. http://www.locomotive.org/ 53. http://jakarta.apache.com/ 54. http://www.caucho.com/ 55. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: db2 56. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: minisql 57. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: mysql 58. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: oracle 59. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: postgresql 60. file://localhost/home/dacas/temp/Enterprise-Java-for-Linux-HOWTO-hu.html#sec: sybase 61. http://www-4.ibm.com/software/data/db2/linux/ 62. http://www.hughes.com.au/ 63. http://www.mysql.org/ 64. http://platforms.oracle.com/linux/ 65. http://www.postgresql.org/ 66. http://metalab.unc.edu/mdw/HOWTO/PostgreSQL-HOWTO.html 67. http://www.postgresql.org/ 68. http://www.sybase.com/products/databaseservers/linux/linux1192_reg.html 69. http://www.sybase.com/products/internet/jconnect/ 70. http://www.sybase.com/products/internet/jconnect/ 71. http://www.beasys.com/linux/ 72. http://www.jboss.org/ 73. http://www.jboss.org/ 74. http://www.bullsoft.com/ejb/