
                        Enterprise Java Linuxra HOGYAN

Greg Wilkins gregw@mortbay.org az eredeti Gary Meyertl gary@meyer.net
szrmazik.

   v0.2, 2001.11.07
     _________________________________________________________________

   Ez a dokumentum lerja, hogyan teleptsnk Enterprise Java krnyezetet
   Linuxra, amely tartalmaz egy Java Development Kitet, egy Web szervert,
   tmogatja a Java szervleteket, adatbzis hozzfrst biztost JDBC-n
   keresztl, s tmogatja az Enterprise Java Beaneket (EJB).
     _________________________________________________________________

1. Bevezets

1.1 Httr

   Ezt a dokumentumot 1999 janurjban kezdte el rni Gary Meyer (
   [1]gary@meyer.net), nhny httel azutn, hogy klnbz nylt
   forrskd s vdett Enterprise Java termket teleptett Linuxra. Itt
   az "Enterprise Java" gy rtelmezend, mint a Java Enterprise API-k
   hasznlata.

   A dokumentumhoz, nhny frisstst Greg Wilkins (
   [2]gregw@mortbay.org) tett hozz 2001 novemberben, mindazonltal a
   dokumentum egyes rszei nem aktulisak.

1.2 Kinek szl?

   Ez a HOGYAN azoknak a szoftvereseknek prbl segtsget nyjtani, akik
   rdekeltek az Enterprise Java kiprblsban, fejlesztsben vagy
   terjesztsben Linuxon. Meghatrozott tuds vagy tapasztalat Linuxban
   vagy a Java terletn felttelezett.

1.3 j verzik

   A dokumentum jabb verzii megtallhatk a Linux Documentation Project
   honlapjn:
   [3]http://tldp.org/HOWTO/Enterprise-Java-for-Linux-HOWTO.html

1.4 Szerzi jog s licenc

   Gary Meyer s Greg Wilkins ezen rst a szerzi jog vdi.
   Msolshoz hozzjruls szksges, a dokumentum sokszorostsa s
   mdostsa a GNU szabad dokumentcis licencnek 1.1-es verzijnak
   feltteleihez kttt, vagy brmely ksbbi verzihoz, amit a Szabad
   Programokrt Alaptvny adott ki, lland rszek, fedlap s htoldal
   szvegek nlkl. A licenc msolata elrhet a
   [4]http://www.gnu.org/copyleft/fdl.html weboldalon.

1.5 Nyilatkozatok

   A dokumentum ajnlsai abban segtenek, hogy amilyen gyorsan csak
   lehet egy Enterprise Java krnyezetet llthass be Linux alatt. Ezek a
   javaslatok nem termk ajnlsok vagy jvhagysok. Ahogy kzelebbrl
   megismered a rendelkezsre ll lehetsgeket, kpes leszel sajt
   krnyezeteket kszteni, s megtallni a legmegfelelbb megoldst a
   sajt ignyeid szmra.

   Ennek a HOGYANnak szndka az "Enterprise Java"-t mint a Java
   Enterprise API-t rtelmezni. Ez a HOGYAN nem clozza meg a
   sklzhatsgot, rendelkezsre llst, menedzselhetsget s egyb
   hasonl szempontjait a programnak, amelyeket az "enterprise"
   kifejezssel gyakran sszekapcsolnak.

1.6 Lehetsges jvbeli rszek

   Ez a HOGYAN az Enterprise Java legnpszerbb rszeire koncentrl. Az
   kvetkezk lehetnnek rszei ennek a HOGYANnak.
     * Integrlt fejleszti krnyezetek (IDEs) amelyek tmogatjk az
       Enterprise Javt Linuxra
     * Java Naming and Directory Interface (JNDI) tmogatsa
     * Java Mail API (JMAPI) tmogatsa
     * Java Transaction Service (JTS) tmogatsa
     * Java Interface Definition Language (JIDL) tmogatsa
     * Java Messaging Service (JMS) tmogatsa
     * Common Object Request Broker Architecture (CORBA) tmogatsa

   rdekel egy rsz megrsa? Akkor vedd fel a kapcsolatot a szerzvel,
   Greg Meyerrel a ( [5]gary@meyer.net) cmen.

1.7 Egyb forrsok

   Az App-Serv Center (Alkalmazs-kiszolgl Kzpont) honlapjt itt
   tallod meg: [6]http://www.app-serv.com/.

   Java Enterprise Nutshellhez David Flanagantl s msoktl a
   [7]http://www.oreilly.com/catalog/jentnut/ helyen.

1.8 Visszajelzs

   Krlek a szerz cmre kldd el a hozzszlsod s esetleges
   javaslatod: Gary Meyer ( [8]gary@meyer.net).

1.9 Magyar fordts

   A magyar fordtst [9]Mink Mihly ksztette (2003.02.27). A
   lektorlst [10]Erdsz Szabolcs vgezte el (2003.03.20). Brmilyen
   fordtssal kapcsolatos szrevtelt a [11]linuxhowto@sch.bme.hu cmre
   kldjetek. A dokumentum legfrissebb vltozata megtallhat a
   [12]Magyar Linux Dokumentcis Projekt honlapjn.

2. Hogyan teleptsk a Java Development Kitet

   Van nhny a Java Development Kit-ek kzl, ami Linuxra is elrhet:

     * [13]Blackdown JDK
     * [14]IBM Java Developer Kit 
     * [15]Sun J2SE 
     * [16]Kaffe 

   Ha csak egy JDK-t akarsz kiprblni, akkor azt javasolom, hogy a Sun
   J2SE-vel kezdd, hacsak nem ajnlanak mst, azok a szoftverek amiket
   hasznlsz vagy esetleg hasznlni akarsz a ksbbiekben. Tovbb, ha
   nylt forrs megvalsts rdekel, akkor Kaffe-ra van szksged.

2.1 Blackdown JDK

  Httr

   A Blackdown JDK a Sun JDK, Linuxhoz rt vltozata. E dokumentum
   rsnak az idpontjban a Blackdown JDK verziszma Intel
   architektrn, a JDK 1.2.2, PowerPC-n pedig a JDK 1.1.8.

   1999 decemberben a Sun bejelentette a Java 2 Platform Standard
   Edition (J2SE) elrhetsgt a Linux opercis rendszerekre. A Sun
   ezen bejelentse alapvet hatssal volt a Blackdown-ra, mert ez egy
   portols. Egy sajtkzlemnyben a Sun azt lltja, hogy "Az e heti
   bejelents nem lett volna lehetsges a Blackdown-nal val
   egyttmkds, a vilg programozi s lelkes segti nlkl. Innen
   kezdve a Blackdown lett Linux Java technolgia szlltja. Az vek
   folyamn ennek szentelt fradozsaik lefektettk az alapjait a Java 2
   Linux platformra trtn kiadsnak; az  fradozsuk
   nlklzhetetlen volt a kiads sikerhez."

   Tovbb a Sun kiadvny azzal folytatja, hogy " A Blackdown.org
   tovbbra is egy rtkes forrs a Java technolgia Linux platformra
   trtn alkalmazsa sorn s tartalmazva a JDK 1.1.x verzikat."

  Letlts

   A Blackdown JDK elrhet a [17]http://www.blackdown.org oldalon.

   A Blackdown honlapjn vlaszd a letltst s egy tkrzst (van magyar
   is - a ford.).

   Vlaszd ki azt a JDK verzit, amelyiket akarod. Ha ms programok,
   amiket hasznlni szeretnl nem futnak egy bizonyos verziszm
   JDK-val, akkor a legfrissebbet ajnlom, ami a dokumentum rsnak
   idejn a JDK 1.2.2-es.

   Vlaszd ki a megfelel architektrt, amire telepteni akarsz. Intel
   architektrra vlaszd az i386-ot.

   Brmely verzit vlaszthatod, de ha bizonyos programok, amiket
   hasznlni akarsz nem tmogatjk a kivlasztott verzit, akkor azt
   ajnlom, hogy tltsd le a legfrissebb verzit, ami elrhet.

   A Blackdown JDK-hoz, egy csom fjlt tallsz, klnbz fjl s
   csomagformtumban. Mindazonltal biztosnak kell lenned abban, hogy a
   Linux disztribcidban lv libc tmogatja azt, amelyiket
   letltttl.

   Az elrhet fjlok a kvetkezket tartalmazzk:
     * jdk - A Java Development Kit tartalmaz mindent, amire a Java
       fordtshoz, futtatshoz, nyomkvetshez szksged lehet. Nem
       tartalmaz nemzetkzi karakter konvertereket.
     * jre - A Java Runtime Environment amely tartalmazza a nemzetkzi
       karakter konvertereket.
     * rt - Egy egyszer Java Runtime Environment, ami nem tartalmaz
       nemzetkzi karakter konvertereket.
     * i18n - A nemzetkzi fontkszletek s a karakter konverterek JAR
       csomagjai.
     * native - Tovbbi binris csomagok a vals, tbbszl futtatshoz.

   Azt javasolom, hogy csak a jdk for java development angol verzijt
   tltsd le.

   Amikor letlttted a Blackdown fjlokat, vlasztanod kell a libc5 s a
   glibc kztt, mint a lehetsges glibc verzik kztt.

   A libc opcik tartalmazzk:
     * libc5 - Az regebb, de mg hasznlatos Linux libc, a libc5.
     * glibc - Az j libc.

   Ha a Linuxnak egy jabb disztribcijt hasznlod, akkor a
   legvalsznbb, hogy lesz glibc. Azt javasolom kezdetben a glibc-vel
   prblkozz.

  Telepts

   Azt javasolom, teleptsd a fjlokat a /usr/local knyvtrba. Miutn
   letlttted a fjlt, futtasd a kvetkez parancsokat:

mkdir /usr/local/blackdown
mv jdk* /usr/local/blackdown

   Ha a tarball formtumot tlttted le, akkor futtasd a kvetkez
   parancsot:

tar zxvf [filename].tar.gz

   Ahol a [filename] az llomny neve.

   A /usr/local/blackdown knyvtrban ltni fogsz egy olyasmi knyvtrat,
   hogy jdk1.2.2

   A fenti egy JDK1.2.2 release candidate 3 intel architektra pldjt
   mutatja. Helyettestsd a fjlnevet, verziszmot, kiadst s az
   architektrt a megfelelre. Minden disztribcis csomagfjlt a fenti
   mdszerrel nyiss meg.

  Krnyezeti belltsok

   A kvetkez krnyezeti vltozkat kell belltanod:
     * JAVA_HOME
     * PATH
     * CLASSPATH

   A JAVA_HOME krnyezeti vltoz arra a knyvtrra mutat, ahov a JDK
   csomagot teleptetted. lltsd be a JAVA_HOME krnyezeti vltozt arra
   a knyvtrra, amelyikbe a Blackdown JDK csomagot teleptetted.

export JAVA_HOME=/usr/local/blackdown/jdk1.2.2

   A $JAVA_HOME/bin knyvtrban van a Java compiler (Java fordt; javac)
   s a Java Virtual Machine (Java Virtulis Gp; java) valamint egyb, a
   fejleszt krnyezethez szksges programok.

   Add hozz a PATH vltozhoz a $JAVA_HOME/bin knyvtrat.:

export PATH=$JAVA_HOME/bin:$PATH

   Ellenrizd le, hogy a $JAVA_HOME/bin a PATH elejhez hozz lett adva,
   gy az ltalad teleptett JDK csomagot fogod hasznlni, nem pedig azt
   a JDK csomagot, ami a Linuxszal lett feltve. A PATH vltoz
   ellenrzshez krdezd le az alaprtelmezett Java fordt s JVM
   (Java Virtual Machine) nevt:

which javac
which java

   A vlasznak a $JAVA_HOME/bin knyvtradban lv javac s java
   csomagokkal sszhangban kell lennie.

   A CLASSPATH krnyezeti vltoz mutat minden JAR-ra s azokra a
   knyvtrakra, amelyekre a Java programok fordtshoz s futtatshoz
   szksged lesz.

   A JDK1.2.2-es verzijhoz kezdetben nem szksges JAR-okat adni a
   CLASSPATH vltozhoz. A JAR-ok csomagolsa lehet jar vagy zip fjl is.

export CLASSPATH=$CLASSPATH:.

  A telepts ellenrzse

   Most mr futtathatsz s fordthatsz egy egyszer alkalmazst. rd meg
   a kvetkez programot (egy akrmilyen szvegszerkesztvel, csak a
   fjl kiterjesztse "java" legyen - a ford.):

class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello, World!");
  }
}

   Fordtsd le a programot a Java fordtval.

javac HelloWorld.java

   Ha a fordt hibt jelez, akkor alaposan nzd t a szintaxist,
   valamint nzd meg a PATH s CLASSPATH belltsokat, hogy jk-e.

   Futtasd a programot a JVM-mel.

java HelloWorld

   Ha a JVM hibt produkl, akkor nzd meg a PATH s CLASSPATH
   belltsokat.

   A kvetkez eredmnyt kell ltnod a program helyes futsa esetn:

Hello, World!

   Gratullok, sikeresen teleptetted, belltottad s tesztelted a
   Blackdown JDK csomagot Linuxon!

  Tovbbi informcik

   A BlackDown JDK csomagrl tovbbi informcit tallsz a
   [18]http://www.blackdown.org honlapon. Itt elrhet egy kivl FAQ.

2.2 IBM Java Developer Kit

  Httr

   Az IBM Java fejleszti krnyezet s futtatsi krnyezet kompatibilis
   a Sun Javval s tartalmazza a legfrissebb karbantart eszkzket. (Az
   IBM weboldalrl.)

   Ezen dokumentci rsakor az IBM Java fejleszti krnyezet a JDK
   1.1.8 verzija aktulis, ez csak Intel architektrra telepthet.

  Letlts

   Az IBM Java Developer Kit letlthet a
   [19]http://www.ibm.com/java/jdk/118/linux cmrl.

   A letltshez elszr regisztrlnod kell magad az IBM weboldaln, s
   el kell fogadni a szerzds feltteleit.

   Az letlthet fjlok tartalmazzk:
     * ibm-jdk-l118-linux-x86.tgz - The Java Development Kit; mindent
       tartalmaz ami egy Java program fordtshoz, futtatshoz s
       nyomkvetshez szksges.
     * ibm-jre-l118-linux-x86.tgz - The Java Runtime Environment; a Java
       programok futtatshoz szksges fjlokat tartalmazza.

   Mivel fejleszteni akarsz javasolom, hogy a IBM-JDK csomagot tltsd le.
   :)

  Telepts

   Azt javasolom, hogy a /usr/local knyvtrba teleptsd a fjlokat. A
   fjlok letltse utn futtasd a kvetkez parancsot:

mkdir /usr/local/ibm
mv ibm-jdk-l118-linux-x86.tgz /usr/local/ibm

   Most kicsomagolhatod a disztribcis csomagot. Ezt a kvetkez
   paranccsal teheted meg:

tar zxvf ibm-jdk-l118-linux-x86.tgz

   A /usr/local/ibm knyvtrban most mr lthatod a jdk.118 knyvtrat.

   A fent emltett pldk Intel architektrn nyjtanak segtsget.

   Helyettestsd a fjlneveket a megfelelkkel.

  Krnyezeti belltsok

   A kvetkez krnyezeti vltozkat kell belltanod:
     * JAVA_HOME
     * PATH
     * CLASSPATH

   A JAVA HOME krnyezeti vltoz utal a teleptett JDK csomagod home
   knyvtrra. lltsd be a JAVA HOME vltozt arra a knyvtrra,
   amelyikbe teleptetted az IBM Java fejleszti kszletet.

export JAVA_HOME=/usr/local/ibm/jdk118

   A $JAVA_HOME/bin knyvtrban van a Java compiler (Java fordt; javac)
   s a Java Virtual Machine (Java Virtulis Gp; java) s egyb, a
   fejlesztshez nlklzhetetlen programok. Add hozz a $JAVA_HOME/bin
   knyvtrat a PATH vltozhoz.

export PATH=$JAVA_HOME/bin:$PATH

   Ellenrizd, hogy a $JAVA_HOME/bin knyvtrat hozzadtad a PATH
   elejhez, gy az teleptett JDK csomagot fogja hasznlni a gped, nem
   pedig azt, ami a Linux disztribcival jtt.

   A PATH vltoz ellenrzshez krdezd le az alaprtelmezett Java
   fordt s JVM (Java Virtual Machine) nevt:

which javac
which java

   A vlaszbl kiderl melyik javac s java van a $JAVA HOME/bin
   knyvtradban. A CLASSPATH krnyezeti vltoz utal a JAR-okra s a
   knyvtrakra, amelyekre szksged lesz ahhoz, hogy Java programokat
   fordts s futtass.

   Javasolom, add hozz a kvetkez JAR-okat a CLASSPATH vltozhoz.
   Ezek klnbz .jar vagy .zip fjlokba vannak csomagolva.

   Pldul:
export CLASSPATH=$JAVA_HOME/lib/classes.zip
export CLASSPATH=$CLASSPATH:.

  A telepts ellenrzse

   Most mr fordthatsz s futtathatsz egy egyszer programot. Ksztsd
   el a kvetkez programot:

class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello, World!");
  }
}

   Fordtsd a programot a Java fordtval:

javac HelloWorld.java

   Ha a fordt hibt jelez, akkor nzd meg alaposan a szintaktikt s
   ellenrizd a PATH s a CLASSPATH vltoz belltsait.

   Futtasd a programot JVM-mel.

java HelloWorld

   Ha a JVM hibt jelez ellenrizd a PATH s a CLASSPATH belltsaid.

   Egybknt a kvetkez kimenetet kell ltnod:

Hello, World!

   Gratullok, teleptetted s tesztelted az IBM Java Developer Kit
   csomagot Linuxon!

  Tovbbi informcik

   Tovbbi informcit tallsz az IBM Java weboldaln a
   [20]http://www.ibm.com/java cmen.

2.3 Kaffe

  Httr

   A Kaffe egy nylt forrskd implementcija a (Java Virtual Machine)
   Java Virtulis Gpnek s osztlyknyvtraknak. Ezen dokumentum
   ksztsnek idejn a Kaffe "leginkbb a JDK 1.1-el mkdtt egytt,
   nhny rszt kivve" s "egyes rszei mr JDK 1.2 (Java2)
   kompatibilisek". (Idzet a Kaffe weboldalrl.)

   Elfordulhat, hogy a Kaffe mr a Linux disztribcidban benne van,
   hiszen a Kaffe is nylt forrskd.

  Letlts s telepts

   Azt javasolom, hogy inkbb azt a Kaffe csomagot hasznld, ami a Linux
   disztribciddal rkezett, mintsem ami letlthet a Kaffe honlaprl.

   Alternatvaknt a Kaffe megtallhat a [21]http://www.kaffe.org cmen.

   A Kaffe weboldaln vlaszd a legfrissebb kiadst. Ezen dokumentum
   rsa idejn ez az 1.0.5-s verzi volt. A Kaffe verziszma nincs
   kapcsolatban a JDK egyb verziszmaival.

  Krnyezeti belltsok

   A kvetkez krnyezeti vltozkat kell belltanod:
     * PATH
     * CLASSPATH

   A PATH vltoz ellenrzshez krdezd le az alaprtelmezett Java
   fordt s JVM (Java Virtual Machine) nevt:

which javac
which java

   A CLASSPATH krnyezeti vltoz mutatja, hogy hol tallhatak a JAR-ok
   s mely knyvtrakra lesz szksged, hogy fordts s futtass Java
   programokat.

   Azt javasolom, hogy a JAR csomagokat add hozz a CLASSPATH vltozhoz
   A JAR-ok .jar vagy .zip fjlokba lehetnek csomagolva:

   Pldul:
export CLASSPATH=/usr/local/share/kaffe/Klasses.zip
export CLASSPATH=$CLASSPATH:.

  A telepts ellenrzse

   Most mr fordthatsz s futtathatsz egyszerbb alkalmazsokat.
   Ksztsd el a kvetkez programot:

class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello, World!");
  }
}

   Fordtsd le a programot a Java fordtval:

javac HelloWorld.java

   Ha a fordt hibt jelez, alaposan ellenrizd le a szintaxist s
   ellenrizd a PATH s CLASSPATH belltsaid.

   Futtasd a programot a JVM-mel.

java HelloWorld

   Ha a JVM hibt jelez ellenrizd a PATH s a CLASSPATH belltsait.

   A kvetkez zenetet kell ltnod:

Hello, World!

   Gratullok, teleptetted, belltottad s tesztelted a Kaffe csomagot
   Linux alatt!

  Tovbbi informcik

   Tovbbi informcit tallsz a Kaffe-rl a [22]http://www.kaffe.org
   honlapon.

2.4 Sun J2SE

  Httr

   A Sun Java 2 Standard Edition (J2SE) a Sun Java 2 platformja Linux
   opercis rendszerekre. A dokumentum ksztsekor a legfrissebb verzi
   a JDK 1.2.2, Intel architektrra.

  Letlts

   A J2SE letlthet a
   [23]http://developer.java.sun.com/developer/earlyAccess/j2sdk122
   oldalrl.

   Regisztrlnod kell magad a Sunnl s el kell fogadnod a licencet,
   mieltt letltd a programot.

  Telepts

   Azt javasolom teleptsd a fjlokat a /usr/local knyvtrba. Miutn
   letlttted a fjlokat futtasd a kvetkez parancsokat:

mkdir /usr/local/sun
mv jdk1_2_2rc1-linux-i386.tar.gz /usr/local/sun

   Most kicsomagolhatod a disztribcis csomagot. Futtasd a kvetkez
   parancsot:
tar zxvf jdk1_2_2rc1-linux-i386.tar.gz

   Az /usr/local/sun knyvtrban most mr lthatod a jdk1.2.2 knyvtrt.

   Az albbi pldk a JDK 1.2.2 verzira, Intel architektrra kszltek.
   Helyettestsd a fjlneveket, ahol szksges.

  Krnyezeti belltsok

   A kvetkez krnyezeti vltozkat kell belltanod:
     * JAVA_HOME
     * PATH
     * CLASSPATH

   A JAVA_HOME arra a knyvtrra mutat, ahol a JDK csomagod van. lltsd
   be a JAVA_HOME vltozt arra a knyvtrra, ahov a J2SE programot
   teleptetted:

export JAVA_HOME=/usr/local/sun/jdk1.2.2

   A $JAVA_HOME/bin knyvtrban van a Java compiler (Java fordt; javac)
   s a Java Virtual Machine (Jva Virtulis Gp; java) s egyb, a
   fejlesztshez szksges programok. Add hozz a $JAVA_HOME/bin
   knyvtrat a PATH vltozhoz.

export PATH=$JAVA_HOME/bin:$PATH

   Ellenrizd, hogy a $JAVA_HOME/bin knyvtrat hozzadtad a PATH
   elejhez, s gy a teleptett JDK verzit fogod hasznlni, nem pedig
   azt, amelyik a disztribciddal jtt.

   A PATH vltoz ellenrzshez krdezd le az alaprtelmezett Java
   fordt s JVM (Java Virtual Machine) nevt:

which javac
which java

   Az eredmnyeknek a $JAVA_HOME/bin knyvtrban tallhat javac s java
   verziknak kell lennik.

   A CLASSPATH krnyezeti vltoz azokra a JAR-okra s knyvtrakra
   mutat, amelyekre szksged lesz a Java programok fordtshoz s
   futtatshoz.

   A JDK 1.2.2-hz, alapesetben nem kell JAR-okat adni a CLASSPATH
   vltozhoz.

   A JAR-ok .jar s .zip fjlokba lehetnek csomagolva.

export CLASSPATH=$CLASSPATH:.

  A telepts ellenrzse

   Most mr fordthatsz s futtathatsz egy egyszer alkalmazst.
   Ksztsd el a kvetkez kis programot:

class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello, World!");
  }
}

   Fordtsd le a programot a Java fordtval.

javac HelloWorld.java

   Ha a fordt hibt produkl, ellenrizd le alaposan a szintaxist, s
   ellenrizd a PATH s CLASSPATH belltsait.

   Futtasd a programot a JVM-mel.

java HelloWorld

   Ha a JVM hibt jelez ellenrizd a PATH s a CLASSPATH belltsait.

   A kvetkez eredmnyt kell ltnod a helyes futs esetn:

Hello, World!

   Gratullok, teleptetted, belltottad s tesztelted a Sun J2SE
   csomagot Linux alatt.

  Tovbbi informci

   Tovbbi informcit tallsz a Sun J2SE javrl a
   [24]http://java.sun.com honlapon. Itt kivl vitafrumokat tallhatsz,
   ahol valsznleg vlaszt kapsz a krdseidre.

3. Hogyan teleptsnk Webszervert?

   Szmos Webszerver tallhat Linuxra. Pldul:

     * [25]Apache 
     * [26]IBM Domino 
     * [27]IBM HTTP Server 
     * [28]Jetty HTTP Server

   Ha csak egy Webszervert akarsz kiprblni, azt javasolom, hogy kezdd
   az Apache-al. Elssorban azrt, mert ez benne van a legtbb Linux
   disztribciban, elre teleptve s taln mr fut a rendszereden.

3.1 Apache

  Httr

   Az Apache a legelterjedtebb HTTP szerver az Interneten. "Eredetileg az
   NCSA httpd dmonon alapult, de azta teljesen jra lett rva. Az
   Apache nylt forrskd". (Idzet az Apache weboldalrl.)

  Letlts, telepts s a krnyezeti belltsok

   Azt javasolom, hogy azt az Apache csomagot hasznld, amelyik a Linux
   disztribciddal rkezett.

   Esetleg letltheted a [29]http://www.apache.org webhelyrl.

  A telepts ellenrzse

   Az Apache mkdkpessgnek ellenrzshez indtsd el a
   bngszd, s rd be a kvetkezt: "http://127.0.0.1". (ez a
   localhost IP cme).

   Egy "It Worked!" felirat weboldalt kell ltnod, ha mkdik.

   Ha ez nem gy van, akkor ellenrizheted gy is, hogy berod a
   kvetkezt a RedHat Package Manager (RPM) alap disztribciba:

rpm -q | grep apache

   Az Apache elindtshoz, futtasd:
cd /etc/rc.d/init.d
./httpd start

   Megjegyzs: A httpd szkript helye, bootolskor lehet, hogy mshol van
   a klnbz Linux diszribciknl.

   Tovbbi segtsgrt ltogass el az Apache weboldalra s olvasd az
   Apache FAQ lerst a [30]http://www.apache.org/docs/misc/FAQ.html
   honlapon.

3.2 IBM Domino

   Ez a rsz kszlben van.

   Tovbbi informcikrt keresd fel a
   [31]http://www.lotus.com/dominolinux honlapot.

3.3 IBM HTTP Szerver

  Httr

   Az IBM HTTP kiszolgl, egy Apache IBM sznekbe ltztetve. Az IBM
   http kiszolgljt mindenkppen meg kell ismerned, ha IBM WebSphere-el
   akarsz dolgozni.

   A doksi kszlsekor a napraksz verzi az 1.3.6.1-es.

  Letlts

   Az IBM HTTP kiszolgl letlthet a
   [32]http://www-4.ibm.com/software/webservers/httpservers/download.html
   cmrl.

   A letltsre klikkelve vlaszd az 56, vagy 128 bites ssl kdolst.

   Regisztrlnod kell magad az IBM-nl, ki kell tltened egy marketing
   krdvet s el kell fogadnod a licencet, mieltt letltd a
   programot. Az IBM http kiszolgl futtatshoz a glibc 2.0-s vagy
   2.1-es verzijra lesz szksged. A glib az j Linux libc. Ha rgebbi
   disztribcid van, ami libc5-n alapul, akkor nem fogod tudni
   hasznlni az IBM http kiszolglt.

   Egy RedHat Package Manager (RPM) alap Linux disztribcin futtasd a
   kvetkez parancsot:

rpm -qa | grep libc

   Hasonl eredmnyt fogsz ltni:

glibc-2.1.2-11
libc-5.3.12-31

   Ebbl tudhat meg, hogy melyik libc5 s glibc verzi van a gpeden. A
   kvetkez pldban n mindkettt teleptettem a rendszeremre. A
   glibc verzim 2.1, teht a glibc2.1-es verzihoz tartoz csomagot kell
   letltenem.

   Javasolom, hogy tltsd le az sszes tar fjlt a Linuxod glib
   verzijhoz, mivel viszonylag kis mretek. Akrmennyit is tltesz
   le, a szerver fjlra szksged lesz. RedHat 6.0 s az ebbl szrmaz
   disztribcikhoz csak a RedHat 6.0-ra lesz szksged. A glibc 2.0-ra
   alapul verzikhoz szksged lesz a libstdc fjlra is.

  Telepts

   Javasolom a fjlokat az /usr/local knyvtrba teleptsd. A letlts
   utn add ki a kvetkez parancsokat:

mkdir /usr/local/ibm
mv HTTPServer.linux.* /usr/local/ibm

   Most mr kicsomagolhatod a tar fjlt:

tar xvf [filename].tar

   Ahol a [filename] az llomny neve.

   Az /usr/local/ibm knyvtr alatt most mr ltnod kell egy IHS
   knyvtrat.

   Hasznld a RedHat Package Manager programot (RPM) az rpm fjlok
   teleptshez, amiket a tar fjl tartalmazott. Ha szksged van a
   libstdc fjlra, akkor elszr azt teleptsd. Azutn teleptheted a
   szerver rpm fjljt, valahogy gy:

cd IHS
rpm -i IBM_HTTP_Server-1.3.6-2.i386.rpm

   A fenti pldk 1.3.6-os verzira, Intel architektrra kszltek.
   Helyettestsd a fjlneveket, ahol szksges. A telepts utn knnyen
   trlheted az rpm fjlokat.

  Krnyezeti belltsok

   A kvetkez krnyezeti vltozkat kell belltanod:
     * PATH

   Az IBM http kiszolgl az /opt/IBMHTTPServer knyvtrba telepti
   magt. Ezt az tvonalat hozz kell adnod a PATH vltozhoz.

export PATH=/opt/IBMHTTPServer/bin:$PATH

   Ellenrizd, hogy az /opt/IBMHTTPServer/bin tvonalat hozzadtad a
   PATH vltozhoz, gy az a Web-kiszolgl indul el, amit teleptettl,
   nem pedig az amelyik a Linux disztribciddal rkezett.

   A PATH vltoz belltsnak ellenrzshez nzd meg melyik Apache
   kontrollert hasznlod:

which apachectl

   A vlasznak az /opt/IBMHTTPServer/bin knyvtrban lv apachectl-re
   kell mutatnia.

   Figyelem: mivel az IBM http kiszolgl az Apache-on alapul, ezrt az
   Apache controllert hasznlja indulskor s lellskor. Ha az IBM http
   kiszolglt s az Apache kiszolglt is teleptetted a gpedre, akkor
   klnsen figyelj a PATH vltozra, hogy a megfelel kiszolglt
   hasznld!

   Lehet, hogy mdostanod kell az IBM http kiszolgl konfigurcis
   fjljt. A konfigurcis belltsok az
   /opt/IBMHTTPServer/conf/httpd.conf fjlban vannak. A kt legfontosabb
   vltoztats amire szksged lehet, az a kiszolgl nevnek s a
   portnak a belltsa. Keresd a "ServerName" s a "Listen"
   kulcsszavakat a http.conf fjlban. A kiszolgl nevnek bellthatod a
   gpneved vagy az IP cmed. Ha a szmtgped DHCP szolgltatst
   hasznl az IP cm belltshoz, akkor a "hostname" megadsa jobb
   vlaszts lehet.

   A szmtgp nevnek hasznlathoz a "hostname"-nek s az IP cmnek
   regisztrlva kell lennie a DNS-ben.

   Azonfell, ha ms web-kiszolglt is futtatsz a gpen, akkor az IBM
   http kiszolglnak egy msik portot kell adnod, hogy mindkett
   prhuzamosan s megfelelen mkdjn.

   me egy plda a httpd.conf fjl belltshoz:

ServerName 192.168.0.4
Listen 3000

  A telepts ellenrzse

   Az IBM http kiszolgl indtshoz rd be a kvetkezt:

/opt/IBMHTTPServer/bin/apachectl start

   Az IBM http kiszolgl rendesen mkdsnek ellenrzshez indtsd
   el a bngszd s rd be a kvetkez URL-t: http://192.168.0.4:3000
   (helyettestsd a megfelel IP cmmel s port szmmal, amiket a sajt
   httpd.conf fjlodba rtl.)

   Egy "Welcome to the IBM HTTP Server" weboldalt kell ltnod.
   Gratullok, teleptetted, belltottad s tesztelted az IBM http
   kiszolglt Linux alatt!

  Tovbbi informcik

   Tovbbi informcirt keresd fel az IBM http kiszolgl
   [33]http://www-4.ibm.com/software/webservers/httpservers/support.html
   honlapjt.

3.4 Jetty HTTP kiszolgl s szervlet kontner

  Httr

   A Jetty egy nylt forrskd, 100%-ban Javaban rt http szervlet
   szerver. Egy teljes http/1.1 s szervlet kontner egyszerre. Egyszer
   kezelhetsg, nagy hatkonysg, begyazhatsg, kiterjeszthetsg s
   rugalmassg jellemzi, gy idelis platform dinamikus http krsek
   kiszolglsra brmilyen Java program szmra.

   A Jetty hasznlhat nmagban http kiszolglknt s Servlet
   kontnerknt, vagy begyazhat egy msik Java alkalmazsba (pl: a
   JBoss EJB kontner a Jetty-t hasznlja, mint preferlt kiszolglt s
   kontnert.)

   Mint kombinlt kiszolgl s servlet kontner, mindkt funkci
   hatkonyan fut egy egy Unix folyamatban. A teleptse s a belltsa
   olyan egyszer, mint egy kis alkalmazs.

  Letlts

   A Jetty http kiszolgl s Servlet kontner letlthet a

   [34]http://jetty.mortbay.org honlaprl.

   A Jetty az artistic liszenc al tartozik, a teljes kdot tartalmazza
   s kereskedelemben terjeszthet.

  Telepts

   A csomag egy gzippelt tar fjlban van, ami kicsomagolhat a kvetkez
   paranccsal:

gunzip < Jetty-x.x.x.tgz | tar xf -

   Ez ltrehoz egy Jetty-x.x.x. knyvtrat, ahol is az x.x.x a
   verziszmot jelenti.

   A dem kiszolgl futtatshoz hasznld a kvetkez parancsokat:

export JETTY_HOME=<jetty install directory>
export JAVA_HOME=<JRE install directory>
$JETTY_HOME/bin/jetty.sh run

   A Jetty demjnak indtshoz rd be a bngszbe:
   [35]http://localhost:8080.

   A Jetty, JMX vagy JBoss krnyezet rszeknt is telepthet. Tovbbi
   informcikrt ltogass el a [36]http://jetty.mortbay.org honlapra,
   vagy olvasd el a README.TXT fjlt.

4. Java szervlet tmogats teleptse

   Van nhny WEB kiszolgl-bvtmny s alkalmazs-kiszolgl Linuxon,
   amely tmogatja a szervleteket. Ilyenek a kvetkezk:
     * [37]Allaire JRun
     * [38]Apache Tomcat
     * [39]BEA WebLogic
     * [40]Enhydra
     * [41]Locomotive
     * [42]IBM Websphere 
     * [43]Jetty

4.1 Allaire JRun

   A lers elksztse folyamatban van.

   Tovbbi informcik a [44]http://www.allaire.com/products/jrun/
   oldalon.

4.2 Apache Tomcat

  Httr

   A JServ-et helyettestettk az Apache Jakarta projektben Tomcat-el:
   [45]http://jakarta.apache.org/. Ez a rsz csak a JServvel foglalkozik
   s frisstsre szorul.

   Az Apache JServ egy 100%-osan tiszta Java szervlet motor, amely
   teljesen egyttmkdik a Java Servlet 2.0 specifikcival. Az Apache
   JServ a Java Apache Project rsze. (Az Apache Java Project
   weboldalrl.)

  Letlts

   Apache JServ letlthet a [46]http://java.apache.org/jserv/index.html
   oldalrl.

   Az Apache JServ Project weboldalrl indulva kvesd a Download Apache
   JServ linket.

   Jelenleg RPM csomagok llnak rendelkezsre RedHat Linuxra. Ms Linux
   disztribcikhoz neked kell beptened a forrst. A kvetkez plda
   megmutatja, hogy hogyan teleptsd az RPM-et RedHat 6x verzira.

   A doksi rsakor a legfrissebb verzi az 1.1b3-as.

  Telepts

   Az javasolom, hogy teleptsd a fjlokat az /usr/local knyvtraba.
   Miutn letlttted ket, futtasd a kvetkez parancsot:

mkdir /usr/local/apachejserv
mv ApacheJServ*.rpm /usr/local/apachejserv

   RedHat s RedHat alap disztribcik esetn hasznld az RPM-et a
   csomag teleptshez, valahogy gy:

rpm -i ApacheJServ-1.1-b2_RH6x.i386.rpm

   A fenti pldk az 1.1-b2 verzira kszltek RedHat 6x al, Intel
   architektrra.

  Krnyezeti belltsok

   Le kell lltanod, hogy bellthasd a krnyezeti vltozkat, majd jra
   kell indtanod az Apache kiszolgld az Apache Jserv-ed
   regisztrlshoz.

   Az Apache lelltshoz, rd be:

cd /etc/rc.d/init.d
./httpd stop

   Megjegyzs: A httpd szkript bootolskor lehet, hogy mshol tallhat a
   klnbz Linux diszribciknl.

   A Java krnyezet belltshoz nzd meg a Hogyan teleptsnk JDK-t
   rszt ebben a lersban, az ltalad hasznlt JDK-ra val tekintettel.
   Be kell lltanod nhny tulajdonsgot a jserv fjlban, ami az
   /etc/httpd/conf/jserv knyvtrban tallhat.

   Klns tekintettel az albbiakra:

     * wrapper.bin - A JDK helyre hivatkozva
     * wrapper.classpath - minimlisan /usr/lib/apache/ApacheJServ.jar
       and /home/httpd/classes/servlet-2.0.jar
     * bindaddress=localhost
     * port=8007

   Az Apache jraindtshoz, rd be:

cd /etc/rc.d/init.d
./httpd start

  Telepts ellenrzse

   Az Apache JServ teleptsnek s mkdsnek ellenrzshez nyisd
   meg a bngszd s rd be az URL-be:
   "http://127.0.0.1/servlet/IsItWorking" . Helyettestsd a megfelel IP
   cmet, ha egy msik gprl bngszel.

   Egy "Yes, Its Working!" weboldalt kell ltnod.

   Gratullok, teleptetted, belltottad, tesztelted az Apache JServ-et
   Linux alatt! Tovbbi segtsgrt ltogass el az Apache JServ
   weboldalra a [47]http://java.apache.org/jserv/index.html cmre.

   Most fordtsd s futtasd a sajt kis szervleted. rd be a kvetkez
   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 {
  }
}

  Tovbbi informcik

   Tovbbi informcirt ltogass el a Java Apache Project weboldalra a
   [48]http://java.apache.org/ cmre.

4.3 BEA WebLogic

   Lsd [49]BEA WegLogic lejjebb.

4.4 Enhydra

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a [50]http://www.enhydra.org oldalon.

4.5 IBM WebSphere

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a
   [51]http://www-4.ibm.com/software/webservers/appserv/linux.html
   oldalon.

4.6 Locomotive

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a [52]http://www.locomotive.org/ oldalon.

4.7 Jetty

   A Jetty http szerver egy kombinlt szerver s szervlet kontner. A
   http szerver teleptse (lsd fentebb) szervlet tmogatst is
   biztost. Tovbbi informci elrhet a dem szerveren s az oktatn
   keresztl, amit a http szerverrel egytt teleptettl.

5. Hogyan telepts Java Server Pages (JSP) tmogatst

   A lers elksztse folyamatban van.

5.1 Apache Jakarta

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a [53]http://jakarta.apache.com/ oldalon.

5.2 Caucho Resin

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a [54]http://www.caucho.com/ oldalon.

5.3 Jetty

   A Jetty HTTP szerver a Jasper JSP motorral rendelkezik. A HTTP szerver
   teleptse, lehetsget ad (lsd fent 3.4) JSP tmogatsra. Tovbbi
   informci elrhet a dem szerveren s az oktatn keresztl, amit a
   http kiszolglval egytt teleptettl.

6. JDBC tmogats teleptse

   Van nhny adatbzis, ami fut Linux alatt s tmogatja a JDBC
   interfszt. Ezek pldul:

     * [55]IBM DB2 
     * [56]MiniSQL 
     * [57]MySQL 
     * [58]Oracle 
     * [59]PostgreSQL 
     * [60]Sybase 

   Ha csak egy DBMS-t szeretnl kiprblni, akkor elszr a
   PostgreSQL-el prblkozz, ez minden nagyobb Linux-disztribciban
   benne van s lehet, hogy mr teleptve van a rendszeredre.

6.1 IBM DB2

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a
   [61]http://www-4.ibm.com/software/data/db2/linux/ oldalon.

6.2 MiniSQL

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a [62]http://www.hughes.com.au/ oldalon.

6.3 MySQL

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a [63]http://www.mysql.org/ oldalon.

6.4 Oracle

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a [64]http://platforms.oracle.com/linux/
   oldalon.

6.5 PostgreSQL

  Httr

   A PostgreSQL egy kifinomult objektum-relcis alap DBMS, amely
   tmogatja a legtbb SQL konstruktort, subselect-et, tranzakcikat s a
   felhasznl ltal definilt tpusokat s funkcikat. Ez a jelenlegi
   legjobb nylt forrskd adatbziskezel, ami elrhet. Kereskedelmi
   forgalomban is kaphat a PostgreSQL Inc-tl. A jelenlegi verzi a
   6.5.3-as s elrhet brmelyik tkroldalrl vagy CD-rl. (A
   PostgreSQL weboldalrl)

   Lehetsges, hogy a PostgreSQL mr a Linux disztribcidban benne van,
   hiszen ez is nylt forrskd.

  Letlts s telepts

   Azt javasolom, hogy kezdetben inkbb azt a PostgreSQL-t hasznld,
   amelyik a Linux disztribcidban van, mintsem egy letlttt verzit.

   Vagy ha mgsem azt akarod hasznlni, akkor megtallod a PostgreSQL-t a
   [65]http://www.postgresql.org oldalon.

   Annak ellenrzshez, hogy a PostgreSQL mr teleptve van-e a
   gpedre, rd be a kvetkez parancsot:

rpm -qa | grep postgresql

   vagy

which postmaster
which psql

   Szksged lesz a teleptett postgresql, postgresql-szerver, s
   postgresql-java csomagokra, hogy a Javt egytt hasznld a
   PostgreSQL-el.

   Ellenrizd, hogy fut-e a PostgreSQL:

ps -f -u postgres

   Most ltnod kell a postmaster, a PostgreSQL dmon futst.

   Ha a postmaster nem fut, akkor van egy Sys V Init szkript, amivel
   elindthatod. Ez a legtbb disztribciban az /etc/rc.d/init.d
   knyvtrban tallhat. A PostgreSQL indtshoz rd be:

cd /etc/rc.d/init.d
./postgresql start

   Hasznlhatod a fentebb mr lert ps parancsot, a PostgreSQL futsnak
   ellenrzshez.

   Megjegyzs: A JDBC hasznlathoz a PostgreSQL-t -i -vel kell
   indtanod! Egybknt csak UNIX domain socket-eket fog tmogatni,
   TCP/IP kapcsolatot nem. Ellenrizd, hogy a postmaster az -i
   paramterrel indult!

   Kszts egy prba adatbzist:

su - postgres
createdb javatest

   Nem szabad hibazenetet kapnod.

   Kszts egy prba tblt egy prba sorral. Elsknt jelentkezz be az
   interaktv PostgreSQL felletre s kapcsoldj a javatest adatbzishoz,
   amit ksztettl:

psql javatest

   Egy megerstst kell ltnod, hogy kapcsoldtl a javatest
   adatbzishoz. Azutn kszts egy prba tblt (psql nlkl):

create table test (col1 varchar(255));

   A "CREATE" zenetet kell ltnod, ha elkszlt.

   A kvetkez lpsben helyezz el benne egy sort (psql nlkl):

insert into test (col1) values ('Hello, from PostgreSQL!');

   Egy "INSERT" vlaszzenetet kell kapnod.

   Vgl ellenrizd, hogy a sor a helyn van (psql nlkl):

select col1 from test;

   Most ltnod kell a lekrdezs eredmnyt. A kilpshez rd be, hogy
   "\q".

   Tovbbi segtsgrt nzd meg a Database-SQL-RDBMS HOW-TO doksit a
   [66]http://metalab.unc.edu/mdw/HOWTO/PostgreSQL-HOWTO.html cmen.

   A szksges JAR-okat hozz kell adnod a CLASSPATH vltozhoz. A
   PostgreSQL JAR-ok a postgresql-jdbc csomagban vannak.

export CLASSPATH=$CLASSPATH:/usr/lib/pgsql/jdbc6.5-1.2.jar

   Helyettestsd a megfelel tvonalat arra ahol a te PostgreSQL
   csomagod van.

  A telepts ellenrzse

   Most mr fordthatsz s futtathatsz egy egyszer JDBC alkalmazst,
   ami PostgreSQL-t hasznl. Ksztsd el a kvetkez 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());
  }
}

   Fordtsd le a Java fordtval.

javac PostgreSQLTest.java

   Ha a fordt hibt produkl, ellenrizd dupln a szintaxist s
   ellenrizd a PATH s a CLASSPATH vltozk belltsait.

   Futtasd a programot a JVM-el.

java PostgreSQLTest

   Ha a JVM hibt produkl, akkor ellenrizd a PATH s a CLASSPATH
   tvonalakat.

   A kvetkezt kell ltnod:

Hello, from PostgreSQL!

   Gratullok, teleptetted, belltottad s tesztelted a JDBC interfszt
   a PostgreSQL-el!

  Tovbbi informcik

   Tovbbi informcirt keresd fel a PostgreSQL weboldalt a
   [67]http://www.postgresql.org/. oldalon.

6.6 Sybase

  Httr

   A Sybase Adaptive Server Enterprise egy kereskedelmi forgalomban lv
   RDBMS, ami elrhet Linux opercis rendszerre. A Sybase jelenleg
   kiadott verzija a 12.0-s, Linuxra mg csak a 11.9.2 rhet el.

   Idzet a Sybase weboldalrl: "Az ASE-t a Linuxhoz implementlva, a
   Sybase az els magasan sklzhat, nagy hatkonysg adatbzis motort
   adja a Linux fejlesztk kezbe. A csomag tartalmazza az Adaptive
   Server Enterprise irnyad sajtossgait s a kapcsold
   komponenseket. Az Adaptive Server Enterprise fejlesztsre szabadon
   hasznlhat."

  Letlts

   A Sybase ASE letlthet a
   [68]http://www.sybase.com/products/databaseservers/linux/linux1192_reg
   .html oldalrl.

   A letlthez regisztrlnod kell magad a Sybase-nl s el kell fogadnod
   a licenc feltteleit.

   A Sybase JDBC meghajt letlthet a
   [69]http://www.sybase.com/products/internet/jconnect/ oldalrl.

   A letltsnl vlaszd a jConnect 4.2/5.2 csomagot.

   Ha van hozzfrsed a Sybase szerver hlzathoz, akkor csak
   letltened s teleptened kell a JDBC meghajtt.

  Telepts

   A Sybase teleptse ezen HOGYAN hatkrn kvl esik. Ez a HOGYAN
   felttelezi, hogy a Sybase-t rendben teleptetted s konfigurltad, s
   ksz vagy a Sybase isql hasznlatra.

   Jelentkezz be az isql-be mint rendszer adminisztrtor s kszts egy
   teszt felhasznlt s adatbzist.

create database javatest
go
sp_addlogin javatest, javatest, javatest
go
use javatest
go
sp_dbowner javatest
go

   Nem szabad hibazenetet kapnod.

   Kszts egy prba tblt egy prba sorral. Elszr jelentkezz be az
   isql-be mint a javatest felhasznlja s rd be a kvetkezt:

create table test (col1 varchar(255))
go

   Nem szabad hibazenetet kapnod.

   Vegyl fel egy rekordot:

insert into test (col1) values ('Hello, from Sybase!')
go

   Nem szabad hibazenetet kapnod.

   Vgl ellenrizd, hogy a rekord a helyn van:

select col1 from test
go

   Most azt a sort kell ltnod, amit bevittl.

   Az isql-bl az "exit" bersval tudsz kilpni.

   Tovbbi segtsgrt a Sybase-el val munkhoz nzd t a
   dokumentcijt, ami letlthet.

   Szksged lesz a megfelel JAR-okra a CLASSPATH vltozban.

export CLASSPATH=$CLASSPATH:/usr/local/sybase/jConnect-5_2/classes/jconn2.jar

   A megfelel tvonalat helyettestsd, attl fggen, hogy a jConnect
   hov teleplt a rendszeredben.

  A telepts ellenrzse

   Most mr fordthatsz s futtathatsz egy egyszer JDBC alkalmazst,
   ami Sybase-t hasznl. Ksztsd el a kvetkez 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 szksges helyettestsd a host-ot s a port szmot. Nzd meg a
   $SYBASE/interfaces s a $DSQUERY belpseit a host s port
   belltshoz.

   Fordtsd le a programot a Java fordtval.

javac SybaseTest.java

   Ha a fordt hibt produkl, akkor nzd meg a szintaxist s
   ellenrizd a PATH s a CLASSPATH vltozk belltsait.

   Futtasd a programot a JVM-mel.

java SybaseTest

   Ha a JVM hibt produkl, akkor ellenrizd a PATH s a CLASSPATH
   vltozk belltsait.

   A kvetkez eredmnyt kell ltnod:

Hello, from Sybase!

   Gratullok, teleptetted, belltottad s tesztelted a JDBC interfszt
   a Sybase-hez.

  Tovbbi informcik

   Tovbbi informcirt ltogass el a Sybase jConnect weboldalra a
   [70]http://www.sybase.com/products/internet/jconnect/ helyen.

7. Hogyan teleptsk az Enterprise Java Bean (EJB) tmogatst

   A lers elksztse folyamatban van.

7.1 BEA WebLogic

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat a [71]http://www.beasys.com/linux/
   honlapon.

7.2 EJBoss

  Httr

   Az EJBoss a JBoss-tl kapta a nevt s nagyon jl mkdik egytt a
   stabil J2EE verzikkal: [72]http://www.jboss.org/.

   Ez a rsz akkor kszlt, amikor mg csak az EJBoss 0.95-s verzija
   jelent meg, ezrt felttlenl frisstsd az informcikat.

  Letlts

   A JBoss letlthet a JBoss weboldalrl: [73]http://www.jboss.org/.

  Telepts

   Azt javasolom, hogy teleptsd a fjlokat az /usr/local knyvtrba. A
   letlts utn futtasd a kvetkez parancsokat:

mkdir /usr/local/ejboss
mv ejboss* /usr/local/ejboss

   Csomagold ki a fjlt:

jar xvf ejboss095_jdk122.jar

   Mindenfle fjlt s knyvtrat kell ltnod az /usr/local/ejboss
   knyvtrban.

   A fenti plda az EJBoss 0.95-s verzija alapjn kszlt.
   Helyettestsd a fjlneveket, ahol szksges.

  Krnyezeti belltsok

   A kvetkez krnyezeti vltozkat kell belltanod:

     * CLASSPATH

   A CLASSPATH vltoz mutatja meg, hogy mely JAR-okra s knyvtrakra
   lesz szksged, hogy fordts s futtass Java programokat. A CLASSPATH
   felttlenl tartalmazza az EJBoss JAR-t s a /bean/generated
   knyvtrakat.

export CLASSPATH=/usr/local/ejboss/lib/ejboss095_jdk122.jar:/usr/local/ejboss/b
eans/generated:$CLASSPATH

  A telepts ellenrzse

   Most mr fordthatsz s futtathatsz egy egyszer EJB alkalmazst.
   Ksztsd el a kvetkez hrom forrsfjlt a szerver szmra.

   Elszr a business interfszt.

// EJBTest.java

import javax.ejb.*;
import java.rmi.RemoteException;

public
 interface EJBTest extends EJBObject {
  public String greet() throws
 RemoteException;

}

   Msodszor, a home interfszt.

// EJBTestHome.java

import javax.ejb.*;
import java.rmi.RemoteException;

public
 interface EJBTestHome extends EJBHome {

  public EJBTest create() throws

   CreateException, RemoteException;
}

   Harmadszor, a bean implementcis osztlyt.

// 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!";
}

}

   Fordtsd le a szerver forrsfjljait a Java fordtval:

javac EJBTest*.java

   Ha a fordt hibt produkl, akkor nzd meg ktszer is a szintaxist s
   ellenrizd a PATH s a CLASSPATH vltozk belltsait.

   Most, hogy megrtad s lefordtottad a szerver forrsfjljait, tltsd
   fel a beaneket az EJBoss-ba. Ez nhny nagyon fontos lpsbl ll,
   amelyekre figyelni kell.

   Elszr ksztsd el az ejb-jar.xml fjlt.

<?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 fjl azonostja az interfszt s az
   osztlyneveket, amelyeket ksztettl. Msodszor, a hrom "class" fjl
   knyvtrban kszts egy META-INF knyvtrat.

mkdir META-INF
mv ejb-jar.xml META-INF

   Harmadszor, csomagold a fjlokat egy jar-ba.

jar cvf EJBTest.jar EJBTest*.class META-INF/ejb-jar.xml

   Ltnod kellene, hogy hozzaddott a listhoz, csakgy mint a hrom
   "class" fjl s az XML betltst ler fjlt.

   Negyedszer, tedd a most kszlt Jar-t az EJBoss bean knyvtrba.

mv EJBTest.jar /usr/local/ejboss/beans

   tdszr, msold az osztlyfjlokat, amiket ksztettl, az EJBoss
   beans/generated knyvtrba.

mv EJBTest*.class /usr/local/ejboss/beans/generated

   (Az tdik lps felesleges egy hiba miatt, ami az EJBoss 0.95-ben
   van.)

   Most mr elindthatod az EJBoss kiszolglt.

cd /usr/local/ejboss
sh server.sh

   Azt kell ltnod, hogy a proxy fjlok automatikusan lefordtdnak s
   megerstik, hogy az EJB-d betltdtt.

   Most mr rhatsz, fordthatsz s tesztelhetsz egy egyszer kliens
   alkalmazst.

7.3 Bullsoft JOnAS EJB

   A lers elksztse folyamatban van.

   Tovbbi informci tallhat 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/
