  Enterprise Java for Linux HOWTO
  Gary Meyer gary@meyer.net
  v 0.1, January 1999
  The Linux Japanese FAQ Project (JF@linux.or.jp)
  v0.1j1, July 23, 2001

  Linux ł Enterprise Java ̐ݒ@LqĂ܂B̓e
  ́AJava JLbg (JDK), EFuT[oAJava T[ubgT|[gA
  JDBC ɂf[^x[XANZXAEnterprise Java Beans (EJB) ̃T|[
  gグĂ܂B
  ______________________________________________________________________

  ڎ

  1. ͂߂
     1.1 wi
     1.2 ΏۂƂǎ
     1.3 ̍ŐV
     1.4 쌠ƃCZX
     1.5 Ɛ
     1.6 ǉ\肵ĂZNV
     1.7 ֘A
     1.8 tB[hobN

  2. Java JLbg̐ݒ@
     2.1 Blackdown JDK
        2.1.1 wi
        2.1.2 _E[h
        2.1.3 CXg[
        2.1.4 ݒ
        2.1.5 CXg[̊mF
        2.1.6 Ƒ̏
     2.2 IBM Java Developer Kit
        2.2.1 wi
        2.2.2 _E[h
        2.2.3 CXg[
        2.2.4 ݒ
        2.2.5 CXg[̊mF
        2.2.6 Ƒ̏
     2.3 Kaffe
        2.3.1 wi
        2.3.2 _E[hƃCXg[
        2.3.3 ݒ
        2.3.4 CXg[̊mF
        2.3.5 Ƒ̏
     2.4 Sun J2SE
        2.4.1 wi
        2.4.2 _E[h
        2.4.3 CXg[
        2.4.4 ݒ
        2.4.5 CXg[̊mF
        2.4.6 Ƒ̏

  3. EFuT[o̐ݒ@
     3.1 Apache
        3.1.1 wi
        3.1.2 _E[hACXg[Aݒ
        3.1.3 ݒ
     3.2 IBM Domino
     3.3 IBM HTTP Server
        3.3.1 wi
        3.3.2 _E[h
        3.3.3 CXg[
        3.3.4 ݒ
        3.3.5 CXg[̊mF
        3.3.6 Ƒ̏

  4. Java T[ubg̃T|[g̐ݒ@
     4.1 Allaire JRun
     4.2 Apache JServ
        4.2.1 wi
        4.2.2 _E[h
        4.2.3 CXg[
        4.2.4 ݒ
        4.2.5 CXg[̊mF
        4.2.6 Ƒ̏
     4.3 BEA WebLogic
     4.4 Enhydra
     4.5 IBM WebSphere
     4.6 Locomotive
  5. Java T[oy[W (JSP) ̃T|[g̐ݒ@
     5.1 Apache Jakarta
     5.2 Caucho Resin

  6. JDBC ̃T|[g̐ݒ@
     6.1 IBM DB2
     6.2 MiniSQL
     6.3 MySQL
     6.4 Oracle
     6.5 PostgreSQL
        6.5.1 wi
        6.5.2 _E[hƃCXg[
        6.5.3 CXg[̊mF
        6.5.4 Ƒ̏
     6.6 Sybase
        6.6.1 wi
        6.6.2 _E[h
        6.6.3 CXg[
        6.6.4 CXg[̊mF
        6.6.5 Ƒ̏

  7. Enterprise Java Bean (EJB) ̃T|[g̐ݒ@
     7.1 BEA WebLogic
     7.2 EJBoss
        7.2.1 wi
        7.2.2 _E[h
        7.2.3 CXg[
        7.2.4 ݒ
        7.2.5 CXg[̊mF
     7.3 Bullsoft JOnAS EJB

  8. {ɂ

  ______________________________________________________________________

  1.  ͂߂

  1.1.  wi

  ́̕AGary Meyer ( gary@meyer.net) AẽI[v\[XA
  [JƎ Linux  Enterprise Java iCXg[TԌ
   1999 N 1 ɏ߂ď܂B̕ɂāAEnterprise Java
  Ƃ́AJava Enterprise API 𗘗pƂӖłB

  1.2.  ΏۂƂǎ

   HOWTO ́ALinux ł Enterprise Java ̕]AJ͓WJ
  ֌W\tgEFA̐Ƃ̂߂ɂȂ邱ƂӐ}Ă܂B Linux
   Java ɂĂxm邱ƂOƂĂ܂B

  1.3.  ̍ŐV

  ̍̕ŐVł́A҂̃EFuTCgł
  http://24.8.19.113/ej4linux.html ł܂B

  1.4.  쌠ƃCZX

  Copyright (c) 1999 Gary Meyer.

  This document may be distributed only subject to the terms and
  conditions set forth in the LDP License at
  http://www.linuxdoc.org/COPYRIGHT.html.  This  document must not be
  distributed in modified form without the author's consent.

     QlF
        ́̕Ahttp://www.linuxdoc.org/COPYRIGHT.html ɂ LDP 
        CZX ɎꂽK񂨂яɏ]ꍇɌAzz
        ܂B҂̓ӂȂāA̕̕ύXszzĂ͂Ȃ
        ܂B

  1.5.  Ɛ

  The suggestions in this document are provided to help you get a
  Enterprise Java environment on Linux up and running as quickly as
  possible.  The suggestions are not product  recommendations or
  endorsements.  As you become familiar with the options available, you
  can do you own product evaluations and determine what options are best
  for your particular purpose.

  For the purpose of this HOWTO, "Enterprise Java" is defined as using
  the Java Enterprise APIs. This HOWTO does not address scalability,
  availability, manageability, and other such aspects of software that
  are often associated with the word "enterprise."

     QlF
        ̕ɂẮA\Ȃ葁ALinux ł
        Enterprise Java ݒ肵A삳邱Ƃ̈ꏕƂȂ邱Ƃ
        }Ă܂BẮAi̐Ełł܂Bł
        Inm邱ƂŁAАi̕]ʂ̖ړIɍŗǂȂ̂
        ǂ̑IȂ̂ł悤ɂȂ܂B

         HOWTO ̖ړIł Enterprise Java ́AJava Enterprise API
        𗘗p邱Ƃƒ`Ă܂B HOWTO ́AgApA
        Ǘ\Ȃǂ Enterprise Ƃtɂ悭֘A\tg
        EFǍnƂb͈܂B

  1.6.  ǉ\肵ĂZNV

   HOWTO ́AƂĂʓI Enterprise Java ̑ʂɂďĂ
  Bȉ̍ڂ HOWTO ɒǉ邩܂B

  o  Linux  Enterprise Java T|[g Integrated Development
     Environments (IDEs) Support

  o  Java Naming and Directory Interface (JNDI) Support

  o  Java Mail API (JMAPI) Support

  o  Java Transaction Service (JTS) Support

  o  Java Interface Definition Language (JIDL) Support

  o  Java Messaging Service (JMS) Support

  o  Common Object Request Broker Architecture (CORBA) Support

  삵ڂ܂H

  ΁A Gary Meyer (gary@meyer.net) ɘAĂB

  1.7.  ֘A

  http://www.app-serv.com/ ɂ App-Serv Center ̃EFuTCgB

  David Flanagan et al ɂ Nutshell  Java EnterpriseA
  http://www.oreilly.com/catalog/jentnut/ ɏЈē܂B

  1.8.  tB[hobN

  ǉȂǂ΁A Gary Meyer (gary@meyer.net) ܂łm点
  B

  2.  Java JLbg̐ݒ@

  \ Linux  Java JLbǵA܂B́\
  \

  o  ``Blackdown JDK''

  o  ``IBM Java Developer Kit ''

  o  ``Sun J2SE ''

  o  ``Kaffe ''

     ȂǂłB

  gpĂ邩gp̃\tgEFA JDK ȂAƂ
  pȂASun J2SE ŏɎgĂ݂܂傤BɁA
  I[v\[X̂̂ɋꍇ́AKaffe gKv܂B

  2.1.  Blackdown JDK

  2.1.1.  wi

  Blackdown JDK ́ASun JDK  Linux ɈڐÂłB̕
  _ŁABlackdown JDK ̃o[ẂAIntel A[LeN`Ȃ
  1.2.2A PowerPC Ȃ 1.1.8 łB

  1999 N 12 ɁASun  Linux  "Java 2 Platform, Standard
  Edition"(J2SE) \ɂȂƂ𔭕\܂B Sun ̔\
  ́AڐAĂ Blackdown ɏdȏՌ炵܂BV\
  ƁASun ́A"T̔\́ABlackdown ƁAE̊JO[vƔM
  ҂̋͂Ȃɂ́AȂBABlackdown  Linux
  vbgtH[ Java Zp̒񋟎҂łBނ͂NA Java 2
  Platform  Linux ւ̈ڐÃ[X̂߂ɐ͂Ă܂\\
  킯Aނ̓w͂͂̃[X̐ɂ͏dvłB" ƏqׂĂ
  B

  ɁASun ̐V\͑A"Blackdown.org  Linux  Java Zp
  l񌹂ł葱܂BJDK 1.1.x ̒񋟂Ɋ܂܂܂B "
  ƏqׂĂ܂B

  2.1.2.  _E[h

  Blackdown JDK ́A http://www.blackdown.org Ał܂B

  Blackdown ̃z[y[WŁA_E[hIсAŃ~[TCg
  Iт܂B

  ~ JDK ̃o[WIт܂Bgp̃\tgEFA
  o[W𐄏ĂȂȂAŐṼo[WIт܂傤B̕
  _ł JDK 1.2.2 łB

  CXg[}ṼA[LeN`Iт܂BIntel A[LeN`
  ȂAi386 Iт܂B

  ~ rc(release candidate) Iт܂Bgp̃\tgEFA
   rc 𐄏ĂȂȂAŐV rc \ FCS(ŏIo[
  W) Iт܂傤B

  Blackdown JDK ɊւāAԂAktH[}bg̈ႢŁA̈
  Ȃt@C\łBɁALinux fBXgr[Vɂ
  āA libc قȂ܂̂ŁA libc T|[ĝ肵Ă
  B

  \ȃt@Ć\\

  o  jdk - Java JLbgŁAJava ̃RpCEsEfobOɕKv
     ׂĂ̂̂܂݂܂BC^[iVi̕ϊR[h͊܂݂
     B

  o  jre - Java ^CŁÁAC^[iVi̕ϊ
     R[h܂݂܂B

  o  rt - Java ^C̍ŏłŁÁAC^[iVi
     ̕ϊR[h܂݂܂B

  o  i18n - C^[iViC[[VtHg̃}bvƃC^[i
     Vi̕ϊ̃R[h܂ JAR łB

  o  native - ǉ̃oCiR[hŁAlCeBuXbh̃T|[g
     B

     ȂǂłB

  pꌗł Java Ĵ߂ɂ́Ajdk ̂݃_E[h܂傤B

  Blackdown t@C̃_E[hAlibc5  glibcA glibc
  ŗL̃o[WAIԕKv邩܂Blibc ̑I͉L
  QlɂĉB

  o  libc5 - ÂA܂ƂʓI Linux  libc5 łB

  o  glibc - V Linux  libc łB

  ŐV Linux fBXgr[VgȂAAglibc łB
  n߂ glibc pĂ݂܂傤B

  2.1.3.  CXg[

  fBNg /usr/local Ƀt@CCXg[܂傤Bt@C
  _E[hÃR}hs܂B

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

  tarball _E[hȂÃR}hs܂B

  tar zxvf [filename].tar.gz

   [filename] ̓_E[ht@C̖OłB

  fBNg /usr/local/blackdown ̉ɁAjdk1.2.2 ̂悤ȃfBNg
  悤ɂȂ͂łB

  Ĺ̗AIntel A[LeN` JDK 1.2.2 rc3 ܂Bt@C
  Ao[WArc ԍAA[LeN`K؂Ȃ̂ɂĂĂ
  BL̕@ŁAꂼ̔zzpbP[WWJKv
  B

  2.1.4.  ݒ

  ݒ肷ϐ́\\

  o  JAVA_HOME

  o  PATH

  o  CLASSPATH

     łB

  ϐ JAVA_HOME ́AJDK CXg[ꂽ JDK ̃z[fBNg
  ܂Bϐ JAVA_HOME  Blakdown JDK ̃o[WCX
  g[fBNgݒ肵ĂB

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

  fBNg $JAVA_HOME/bin ́AJava RpC (javac)  Java z}
  V (java) ₻̑̊JɕKvȃvOĂ܂B PATH 
  $JAVA_HOME/bin ǉĂB

  export PATH=$JAVA_HOME/bin:$PATH

  $JAVA_HOME/bin  PATH ̑Oɒǉ̂ŁA JDK  Linux fBXg
  r[VƂƂɓĂƂĂACXg[ JDK gp
  邱ƂɁAӂĂB

  ǂ Java RpC JVM gp邩`FbN邱ƂŁAPATH 
  ݒ肵mF܂B

  which javac
  which java

  ̏o͂́AfBNg $JAVA_HOME/bin ̒ javac  java w
  łB

  ϐ CLASSPATH ́AJava vÕRpCƎsɕKvȃfB
  NgƂׂĂ JAR ܂B

  JDK 1.2.2 ł́An߂ CLASSPATH  JAR ǉKv͂܂B
  JAR ́A.jar  .zip t@Ĉǂ炩Ɉk邱Ƃł܂B

  export CLASSPATH=$CLASSPATH:.

  2.1.5.  CXg[̊mF

  ȒPȃAvP[ṼRpCƎs̏ł܂BL̃v
  O쐬ĂB

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

  Java RpCŃvORpCĂB

  javac HelloWorld.java

  RpCG[o͂ȂA\̊mF PATH  CLASSPATH
  ̊mFOɂĂB

  JVM ŃvOs܂B

  java HelloWorld

  JVM G[o͂ȂAPATH  CLASSPATH ĂB

  ̏o͂͂łB

  Hello, World!

  ߂łƂALinux p Blackdown JDK ̃CXg[A̐ݒAm
  Fł܂B

  2.1.6.  Ƒ̏

  Blackdown JDK ̂Ƒ̏́A http://www.blackdown.org ɂ
  Blackdown EFuTCgĂBꂽ FAQ ł܂B

  2.2.  IBM Java Developer Kit

  2.2.1.  wi

  IBM Java Deloper Kit  Runtime Environment ́ASun  Java ݊
  eXgʉ߂AŐVł݊ێĂ܂B(IBM EFuTCg
  ̈p)

  ̕_ł IBM Java Developer Kit ̃o[W JDK
  1.1.8 ŁAIntel A[LeN`̂ݓ\łB

  2.2.2.  _E[h

  IBM Java Developer Kit  http://www.ibm.com/java/jdk/118/linux A
  ł܂B

  _E[h邽߂ɁAICŁAIBM EFuTCgւ̓o^сA
  CZXւ̓ӂȂ΂Ȃ܂B

  \ȃt@Ć\\

  o  ibm-jdk-l118-linux-x86.tgz - Java JLbgŁAJava ̃RpCE
     sEfobOɕKvȂׂĂ̂̂܂݂܂B

  o  ibm-jre-l118-linux-x86.tgz - Java ^CŁAJava ̎sɕK
     vȂׂĂ̂̂܂݂܂B

     ȂǂłB

  ꂩ Java ł̊Js킯łAibm-jdk  tarball t@C
  _E[h܂傤B

  2.2.3.  CXg[

  fBNg /usr/local Ƀt@CCXg[܂傤Bt@C
  _E[hÃR}hs܂B

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

  zzpbP[WWJł܂B̃R}hsĂB

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

  fBNg /usr/local/ibm ̉ɁAfBNg jdk118 悤
  Ȃ͂łB

  Ĺ̗AIntel A[LeN` JDK 1.1.8 ܂Bt@C
  K؂Ȃ̂ɂĂĂB

  2.2.4.  ݒ

  ݒ肷ϐ́\\

  o  JAVA_HOME

  o  PATH

  o  CLASSPATH

     łB

  ϐ JAVA_HOME ́AJDK CXg[ꂽ JDK ̃z[fBNg
  ܂Bϐ JAVA_HOME  IBM Java Developer Kit ̃o[W
  CXg[fBNgݒ肵ĂB

  export JAVA_HOME=/usr/local/ibm/jdk118

  fBNg $JAVA_HOME/bin ́AJava RpC (javac)  Java z}
  V (java) ₻̑̊JɕKvȃvOĂ܂B PATH 
  $JAVA_HOME/bin ǉĂB

  export PATH=$JAVA_HOME/bin:$PATH

  $JAVA_HOME/bin  PATH ̑Oɒǉ̂ŁA JDK  Linux fBXg
  r[VƂƂɓĂƂĂACXg[ JDK gp
  邱ƂɁAӂĂB

  ǂ Java RpC JVM gp邩`FbN邱ƂŁAPATH 
  ݒ肵mF܂B

  which javac
  which java

  ̏o͂́AfBNg $JAVA_HOME/bin ̒ javac  java w
  łB

  ϐ CLASSPATH ́AJava vÕRpCƎsɕKvȃfB
  NgƂׂĂ JAR ܂B

  n߂́ACLASSPATH Ɏ JAR ǉ܂傤BJAR ́A.jar  .zip
  t@Ĉǂ炩Ɉk邱Ƃł܂B

  Ⴆ΁\\

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

  2.2.5.  CXg[̊mF

  ȒPȃAvP[ṼRpCƎs̏ł܂BL̃v
  O쐬ĂB

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

  Java RpCŃvORpCĂB

  javac HelloWorld.java

  RpCG[o͂ȂA\̊mF PATH  CLASSPATH
  ̊mFOɂĂB

  JVM ŃvOs܂B

  java HelloWorld

  JVM G[o͂ȂAPATH  CLASSPATH ĂB

  ̏o͂͂łB

  Hello, World!

  ߂łƂALinux p IBM Java Developer Kit ̃CXg[A̐
  AmFł܂B

  2.2.6.  Ƒ̏

  IBM Java Developer Kit ̂Ƒ̏́A http://www.ibm.com/java
  ɂ IBM Java EFuTCgĂB

  2.3.  Kaffe

  2.3.1.  wi

  Kaffe  Java z}VуNXCuI[v\[XȃR[h
  ŎĂ܂B̕ꂽ_ŁAKaffe ́A"
  @\Aق JDK 1.1 ɏĂ܂"BāA" @\̈ꕔ
   JDK 1.2 (Java 2) ݊ɂȂĂ܂"B(Kaffe EFuTCg̈
  p)

  Kaffe ́AALinux fBXgr[VƈꏏɏoׂĂ邩
  ܂B́AKaffe I[v\[XCZXłB

  2.3.2.  _E[hƃCXg[

  Kaffe _E[hAALinux fBXgr[V
  ɕtĂ̂ŁAn߂͂ Kaffe łĂ݂܂傤B

  ̕@ƂāAKaffe ́A http://www.kaffe.org Ał
  B

  Kaffe ̃z[y[WŁAJg[XIт܂B̕
  _ł́AJg[X 1.0.5 łBKaffe ̃o[Wԍ
  ́AJDK dl̃o[WԍƂ͊֘A܂B

  2.3.3.  ݒ

  ݒ肷ϐ́\\

  o  PATH

  o  CLASSPATH

  ǂ Java RpC JVM gp邩`FbN邱ƂŁAPATH 
  ݒ肵mF܂B

  which javac
  which java

  ϐ CLASSPATH ́AJava vÕRpCƎsɕKvȃfB
  NgƂׂĂ JAR ܂B

  n߂́ACLASSPATH Ɏ JAR ǉ܂傤BJAR ́A.jar  .zip
  t@Ĉǂ炩Ɉk邱Ƃł܂B

  Ⴆ΁\\

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

  2.3.4.  CXg[̊mF

  ȒPȃAvP[ṼRpCƎs̏ł܂BL̃v
  O쐬ĂB

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

  Java RpCŃvORpCĂB

  javac HelloWorld.java

  RpCG[o͂ȂA\̊mF PATH  CLASSPATH
  ̊mFOɂĂB

  JVM ŃvOs܂B

  java HelloWorld

  JVM G[o͂ȂAPATH  CLASSPATH ĂB

  ̏o͂͂łB

  Hello, World!

  ߂łƂALinux p Kaffe ̃CXg[A̐ݒAmFł
  ܂B

  2.3.5.  Ƒ̏

  Kaffe ̂Ƒ̏́A http://www.kaffe.org ɂ Kaffe EFu
  TCgĂB

  2.4.  Sun J2SE

  2.4.1.  wi

  Sun Java 2, Standard Edition (J2SE) ́ASun ̎Y Linux Iy[
  eBOVXe Java 2 vbgtH[̃[XłłB̕
  ꂽ_ŁAJ2SE  Intel A[LeN` JDK 1.2.2 łB

  2.4.2.  _E[h

  J2SE ́A http://developer.java.sun.com/developer/earlyAccess/j2sdk122
  Ał܂B

  _E[h̑OɁAICŁASun ւ̓o^сACZXւ̓
  ӂȂ΂Ȃ܂B

  2.4.3.  CXg[

  fBNg /usr/local Ƀt@CCXg[܂傤Bt@C
  _E[hÃR}hs܂B

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

  zzpbP[WWJł܂B̃R}hs܂B

  tar zxvf jdk1_2_2rc1-linux-i386.tar.gz

  fBNg /usr/local/sun ̉ɁAfBNg jdk1.2.2 悤
  ɂȂ͂łB

  Ĺ̗AIntel A[LeN` JDK 1.2.2 rc1 ܂Bt@C
  K؂Ȃ̂ɂĂĂB

  2.4.4.  ݒ

  ݒ肷ϐ́\\

  o  JAVA_HOME

  o  PATH

  o  CLASSPATH

     łB

  ϐ JAVA_HOME ́AJDK CXg[ꂽ JDK ̃z[fBNg
  ܂Bϐ JAVA_HOME  J2SE ̃o[WCXg[
  fBNgݒ肵ĂB

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

  fBNg $JAVA_HOME/bin ́AJava RpC (javac)  Java z}
  V (java) ₻̑̊JɕKvȃvOĂ܂B PATH 
  $JAVA_HOME/bin ǉĂB

  export PATH=$JAVA_HOME/bin:$PATH

  $JAVA_HOME/bin  PATH ̑Oɒǉ̂ŁA JDK  Linux fBXg
  r[VƂƂɓĂƂĂACXg[ JDK gp
  邱ƂɁAӂĂB

  ǂ Java RpC JVM gp邩`FbN邱ƂŁAPATH 
  ݒ肵mF܂B

  which javac
  which java

  ̏o͂́AfBNg $JAVA_HOME/bin ̒ javac  java w
  łB

  ϐ CLASSPATH ́AJava vÕRpCƎsɕKvȃfB
  NgƂׂĂ JAR ܂B

  JDK 1.2.2 ł́An߂ CLASSPATH  JAR ǉKv͂܂B
  JAR ́A.jar  .zip t@Ĉǂ炩Ɉk邱Ƃł܂B

  export CLASSPATH=$CLASSPATH:.

  2.4.5.  CXg[̊mF

  ȒPȃAvP[ṼRpCƎs̏ł܂BL̃v
  O쐬ĂB

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

  Java RpCŃvORpCĂB

  javac HelloWorld.java

  RpCG[o͂ȂA\̊mF PATH  CLASSPATH
  ̊mFOɂĂB

  JVM ŃvOs܂B

  java HelloWorld

  JVM G[o͂ȂAPATH  CLASSPATH ĂB

  ̏o͂͂łB

  Hello, World!

  ߂łƂALinux p Sun J2SE ̃CXg[A̐ݒAmF
  ܂B

  2.4.6.  Ƒ̏

  Sun J2SE ̂Ƒ̏́A http://java.sun.com ɂ Sun Java
  EFuTCgĂBꂽfBXJbVtH[A
  lXȎƉ񓚂𓾂邱Ƃłł傤B

  3.  EFuT[o̐ݒ@

   Linux EFuT[o\łBɂ́\\

  o  ``Apache ''

  o  ``IBM Domino ''

  o  ``IBM HTTP Server ''

     Ȃǂ܂B

  EFuT[oƂ肠pȂAApache ŏɎgp܂
  BقƂǂ̎v Linux fBXgr[VɕtAԂAV
  XeɃCXg[A삵ĂƎv邱ƂAȗRłB

  3.1.  Apache

  3.1.1.  wi

  Apache ́AC^[lbĝƂʓI HTTP T[ołBNCSA
  httpd ɊJASȂ̂ɏ܂BI[v\[X
  CZXɂȂĂ܂B(Apache EFuTCg̈p)

  3.1.2.  _E[hACXg[Aݒ

  Apache _E[hAALinux fBXgr[
  VɕtĂ̂ŁAn߂͂ Apache łĂ݂܂傤B

  ̕@ƂāAApache ́A http://www.apache.org Ał
  ܂B
  3.1.3.  ݒ

  Rs[^ŁAApache CXg[A삵Ă邩mF
  BEFuuEUJAURL ƂāA"http://127.0.0.1" ͂܂
  (127.0.0.1 ́Alocalhost  IP AhXł)B

  "It Worked!" ̃EFuy[W͂łB

  삵ĂȂ΁ARedHat Package Manager (RPM) x[X Linux fBX
  gr[VŎ̓͂邱ƂɂāAApache CXg[
  Ă邩mFł܂B

  rpm -q | grep apache

  Apache ̊JńÃR}hs܂B

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

   - httpd XNvg̓u[gɎĝŁA Linux fBXg
  r[Vł͈ꏊɂ邩܂B

  Apache ̏ڂ́A http://www.apache.org/docs/misc/FAQ.html ɂ
   Apache FAQ ĂB

  3.2.  IBM Domino

  M\

  葽̏́A http://www.lotus.com/dominolinux ĂB

  3.3.  IBM HTTP Server

  3.3.1.  wi

  IBM HTTP Server ́AApache  IBM pbP[ŴłBIBM
  WebSphere ƂƂɓ삳ȂAIBM HTTP Server ق
  ܂B

  ̕ꂽ_ł̍ŐVo[W 1.3.6.1 łB

  3.3.2.  _E[h

  IBM HTTP Server ́A
  http://www-4.ibm.com/software/webservers/httpservers/download.html 
  Ał܂B

  _E[h̃NNbNASSL encryption  56 rbg 128
  rbgIт܂B

  _E[h̑OɁAs꒲ɋLACZXӏɓӂAIBM 
  o^Kv܂BIBM HTTP Server  2.0  2.1 ǂ炩̃o[
  W glibc KvƂ܂Bglibc ́AV Linux  libc 
  Blibc5 x[XƂÂfBXgr[VgĂ
  AIBM HTTP Server gƂ͂ł܂B

  RedHat Package Manager (RPM) x[X Linux fBXgr[VŁA
  ̃R}hsĂB

  rpm -qa | grep libc

  ̂悤ȏo͂܂B

  glibc-2.1.2-11
  libc-5.3.12-31

  Linux fBXgr[VŁAlibc5  glibc ̂ǂ̃o[W
  CXg[Ă邩邱Ƃł܂B̏L̗ł́ÃV
  Xe glibc  libc ̗CXg[Ă܂Bglibc ̃o[
  W 2.1 Ȃ̂ŁA_E[ht@C glibc2.1 pɂȂ
  ܂B

  rIt@CȂ̂ŁALinux  glib ̂̃o[W tar
  t@CׂāA_E[h܂傤BAŒKvȂ
  ́Aserver t@CłBRedHat 6.0 сARedHat 6.0 ɗRfB
  Xgr[VɊւẮAredhat60only KvłBglibc2.0 x[X
  ̃fBXgr[VɊւẮAlibstdc t@CKvłB

  3.3.3.  CXg[

  fBNg /usr/local Ƀt@CCXg[܂傤Bt@C
  _E[hÃR}hs܂B

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

  zzpbP[Wt@C (Q) WJł܂B

  tar xvf [filename].tar

   [filename] ̓_E[ht@C̖OłB

  fBNg /usr/local/ibm ̉ɁAfBNg IHS 悤
  Ȃ͂łB

  tar t@Cꂽ rpm t@C (Q) CXg[邽߂ɁA
  RedHat Package Manager (RPM) g܂Blibstdc t@CKvȂA
  ̃t@CŏɃCXg[Kv܂B server RPM
  t@Ĉ悤ɃCXg[܂B

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

  Ĺ̗AIntel A[LeN`̃o[W 1.3.6 ܂Bt@
  CK؂Ȃ̂ɂĂĂB

  CXg[Arpm t@C (Q) ́Atar t@C (Q)ȒPɍč
  ł̂ō폜ł܂B

  3.3.4.  ݒ

  ݒ肷ϐ́\\

  o  PATH

     łB

  IBM HTTP Server ́A/opt/IBMHTTPServer ̒ɃCXg[
  BPATH ɂ bin fBNgǉKv܂B

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

  /opt/IBMHTTPServer/bin  PATH ̑Oɒǉ̂ŁÃEFuT[o
  Linux fBXgr[VƂƂɓĂƂĂACXg[
  EFuT[ogp邱ƂɁAӂĂB

  ǂ Apache Rg[gp邩`FbN邱ƂŁAPATH 𐳂
  ݒ肵mF܂B̃R}hsĂB

  which apachectl

  ̏o͂́AfBNg /opt/IBMHTTPServer/bin ̒ apachectl w
  ׂłB

   - IBM HTTP Server  Apache x[XɂĂ̂ŁA̋Nƒ
  ~ Apache Rg[gp܂BRs[^ IBM HTTP Server
   Apache ̗CXg[Ă鎞APATH ꏏɓ삳鐳
  T[opɂȂĂ邩AɒӐ[mFĂB

  IBM HTTP Server ̐ݒt@CҏWKv邩܂Bݒ
  t@C /opt/IBMHTTPServer/conf/httpd.conf ƂăCXg[
  BύX̕KvȂƂʓIȂQ̃GǵAServerName  Listen
  ̃|[gԍłBhttpd.conf t@C̒ "ServerName"  "Listen"
  L[[hɂATĂBServerName ̓zXg IP AhX
  ݒ肵ĂBȂ̃Rs[^ DHCP gp IP AhX
  肵ĂȂAzXg̕łBARs[^̃zX
  ggp邽߂ɁARs[^̃zXg IP AhXK؂ DNS
  ɓo^Ȃ΂Ȃ܂B

  ɁARs[^ŕʂ̃EFuT[osĂȂAIBM HTTP
  Server ɕʂ̃|[g蓖ĂKv܂B̂悤ɁAKv
  ΁Aɗ̃EFuT[osł܂B

  ȉ́Ahttpd.conf ̃Gg̗łB

  ServerName 192.168.0.4
  Listen 3000

  3.3.5.  CXg[̊mF

  IBM HTTP Server Jn邽߂ɁAȉ͂܂B

  /opt/IBMHTTPServer/bin/apachectl start

  Rs[^ŁAApache CXg[A삵Ă邩mF
  BEFuuEUJAURL ƂāA"http://192.168.0.4:3000" 
  ܂B͂ IP AhXƃ|[gԍ httpd.conf ̐̂
  uĂB

  "Welcome to the IBM HTTP Server" ̃EFuy[W͂łB
  łƂALinux p IBM HTTP Server ̃CXg[A̐ݒAmF
  ł܂B

  3.3.6.  Ƒ̏

  IBM HTTP Server ̂Ƒ̏́A
  http://www-4.ibm.com/software/webservers/httpservers/support.html ɂ
   IBM HTTP Server T|[gy[WĂB

  4.  Java T[ubg̃T|[g̐ݒ@

  Java T[ubĝ߂̃T|[g񋟂 Linux EFuT[o
  plug-in AvP[VT[oA\łB́\\

  o  ``Allaire JRun''

  o  ``Apache JServ''

  o  ``BEA WebLogic''

  o  ``Enhydra''

  o  ``Locomotive''

  o  ``IBM Websphere ''

     ȂǂłB

  Ƃ肠pȂAApache JServ ŏɎgp܂傤B

  4.1.  Allaire JRun

  M\

  葽̏́A http://www.allaire.com/products/jrun/ Ă
  B

  4.2.  Apache JServ

  4.2.1.  wi

  Apache JServ ́AJava Servlet 2.0 dlɊS݊ 100%  Java
  T[ubgGWłBApache JServ ́AJava Apache vWFNg
  ȂvfłB(Apache Java vWFNg̃EFuTCg̈p)

  4.2.2.  _E[h

  Apache JServ ́A http://java.apache.org/jserv/index.html A
  ܂B

  Apache JServ vWFNg̃z[y[WŁAApache JServ ̃_E[
  h̃N֐i݂܂B

   RPM ł̔zźARedHat Linux \łB Linux
  fBXgr[V́A\[X\zȂ΂Ȃ܂BL
  ̗́A RedHat 6x  RPM ̃CXg[@Lq܂B

  ̕ꂽ_ł̃o[W 1.1b3 łB

  4.2.3.  CXg[

  fBNg /usr/local Ƀt@CCXg[܂傤Bt@C
  _E[hÃR}hs܂B

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

  RedHat  RedHat ɗRfBXgr[VȂArpm t@C
  ̃CXg[ RedHat Package Manager (RPM) g܂B̂悤
  \\

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

  ƂĂB

  Ĺ̗AIntel A[LeN` RedHat 6x ̃o[W 1.1-b2
  ܂B

  4.2.4.  ݒ

  Apache JServ o^邽߂ɁAApache ~AJava ϐݒ
  A Apache ċNKv܂B

  Apache ~邽߂ɁÃR}hs܂B

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

   - httpd XNvg̓u[gɎgA Linux fBXgr[
  Vł͈قȂʒuɂ邩܂B

  Java ̊ݒ́A̕ JDK ̐ݒ@̃ZNVɂ܂
  ŁAɎgp JDK ɂČĂ
  B/etc/httpd/conf/jserv ̒ɃCXg[ꂽt@C
  jserv.properties ̒̂̑ݒ肷Kv܂BɁA
  ȉ̑\\

  o  wrapper.bin - JDK CXg[ꏊ܂B

  o  wrapper.classpath - Œ /usr/lib/apache/ApacheJServ.jar 
     /home/httpd/classes/servlet-2.0.jar ܂łB
  o  bindaddress=localhost

  o  port=8007

     𒲂ׂĂB

  Apache ̍ċN̂߂ɁÃR}hs܂B

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

  4.2.5.  CXg[̊mF

  Rs[^ŁAApache JServ CXg[A삵Ă邩m
  F܂BEFuuEUJAURL ƂāA
  "http://127.0.0.1/servlet/IsItWorking" ͂܂Bʂ̃}V\
  ȂA͂ IP AhX͐̂ɒuĂB

  "Yes, It's Working!" ̃EFuy[W͂łB߂łƂALinux
  p Apache JServ ̃CXg[A̐ݒAmFł܂B

  Apache JServ ̏ڂ́A http://java.apache.org/jserv/index.html
  ɂ Apache JServ ̃EFuTCgĂB

  T[ubg̃RpCƎsł悤ɂȂ܂BL Java
  T[ubgvO͂ĂB

  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 {
    }
  }

  4.2.6.  Ƒ̏

  Java Apache ̂Ƒ̏́A http://java.apache.org/ ɂ Java
  Apache vWFNg̃EFuTCgĂB

  4.3.  BEA WebLogic

  ``BEA WegLogic ''̃ZNVĂB

  4.4.  Enhydra

  M\

  葽̏́A http://www.enhydra.org ĂB

  4.5.  IBM WebSphere

  M\

  葽̏́A
  http://www-4.ibm.com/software/webservers/appserv/linux.html Ă
  B

  4.6.  Locomotive

  M\

  葽̏́A http://www.locomotive.org/ ĂB

  5.  Java T[oy[W (JSP) ̃T|[g̐ݒ@

  M\

  5.1.  Apache Jakarta

  M\

  葽̏́A http://jakarta.apache.com/ ĂB

  5.2.  Caucho Resin

  M\

  葽̏́A http://www.caucho.com/ ĂB

  6.  JDBC ̃T|[g̐ݒ@

  Linux œ삵AJDBC C^[tF[XT|[gf[^x[X́A
  ܂B́\\

  o  ``IBM DB2 ''

  o  ``MiniSQL ''

  o  ``MySQL ''

  o  ``Oracle ''

  o  ``PostgreSQL ''

  o  ``Sybase ''

     ȂǂłB

  DBMS Ƃ肠pȂAPostgreSQL ŏɎgp܂傤B
  Ƃǂ̎v Linux fBXgr[VɕtAԂAVXe
  ɃCXg[A삵ĂƎv邱ƂAȗRłB

  6.1.  IBM DB2

  M\

  葽̏́A http://www-4.ibm.com/software/data/db2/linux/ 
  ĂB

  6.2.  MiniSQL

  M\

  葽̏́A http://www.hughes.com.au/ ĂB

  6.3.  MySQL

  M\

  葽̏́A http://www.mysql.org/ ĂB

  6.4.  Oracle

  M\

  葽̏́A http://platforms.oracle.com/linux/ ĂB

  6.5.  PostgreSQL

  6.5.1.  wi

  PostgreSQL ́AꂽIuWFNgf[^x[XŁATuZNgAg
  UNVA^CvƋ@\̃[U`܂߂ׂĂ SQL \T
  |[g܂B́AƂĂi񂾃I[v\[Xf[^x[Xł낢
  ȂƂ납ł܂BpT|[g PostgreSQL, Inc sĂ
  B݂̃o[W 6.5.3 ŁA񂠂~[TCĝǂꂩ
  A CD ł܂B(PostgreSQL EFuTCg̈p)

  PostgreSQL ́AALinux fBXgr[VƈꏏɏoׂĂ
  邩܂B́APostgreSQL I[v\[XCZX
  łB

  6.5.2.  _E[hƃCXg[

  PostgreSQL _E[hAALinux fBXg
  r[VɕtĂ̂ŁAn߂͂ PostgreSQL łĂ݂܂
  B

  ̕@ƂāAPostgreSQL ́A http://www.postgresql.org A
  ł܂B

  Rs[^ŁAPostgreSQL CXg[Ă邩mF܂B
  ̃R}hsĂB

  rpm -qa | grep postgresql

  ́\\

  which postmaster
  which psql

  ƂĂB

  PostgreSQL  Java ƈꏏɎgɂ́Apostgresql, postgresql-server, 
   postgresql-java ̃pbP[WCXg[ĂKv
  B

  ̃R}hsAPostgreSQL sĂ邩mF܂B

  ps -f -u postgres

  PostgreSQL f[sĂ΁Apostmaster ͂łB

  postmaster sĂȂȂASys V init XNvgԂ񂠂܂
  ̂ŁAgĊJnł܂BقƂǂ̃fBXgr[Vł́A
  ́A/etc/rc.d/init.d ɂ܂B̃R}h PostgreSQL Jn
  ܂B

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

  PostgreSQL sĂ邩AL "ps" R}hgĊmFł
  B

   - JDBC g߂ɁAUNIX hC\Pbgł͂Ȃ TCP/IP 
  ̃T|[gp[^ '-i' ƂȂAPostgreSQL JnK
  v܂Bp[^ '-i' ƂȂāApostmaster JnĂ
  邩mFĂB

  ̃R}hɂAeXgf[^x[X쐬܂B

  su - postgres
  createdb javatest

  G[bZ[W邱Ƃ͂Ȃ͂łB

  ̃eXgeXg̕\쐬܂Bn߂ɁAb^ PostgreSQL
  c[ (postgres [UƂ) OCAjavatest f[^x[Xɐ
  ÃR}hɂ쐬܂B

  psql javatest

  database: javatest ɐڑꂽAƂmFbZ[W\͂
  łB

  āA(psql ̒) ̃R}hɂAeXg̕\쐬܂B

  create table test (col1 varchar(255));

  "CREATE" ̊mFbZ[W\͂łB

  ɁA(psql ̒) ̃R}hɂA̗}܂B

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

  "INSERT" ̊mFbZ[W\͂łB

  ŌɁA(psql ̒) ̃R}hɂA̗񂪂邩mF܂B

  select col1 from test;

  ̗񂪍쐬Ă̂͂łB

  "\ q" ɂApsql I邱Ƃł܂B

  PostgreSQL 𓮍삳邽߂̏ڂ́A
  http://metalab.unc.edu/mdw/HOWTO/PostgreSQL-HOWTO.html ɂ
  Database-SQL-RDBMS (PostgreSQL Object Relational Database System)
  HOWTO QƂĂB

  CLASSPATH ֓K؂ JAR ǉKv܂BPostgreSQL JAR (Q)
  ́A postgresql-jdbc pbP[WɕtĂ܂B

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

  PostgreSQL VXeɃCXg[ꏊɂApXKv
  邩܂B

  6.5.3.  CXg[̊mF

  ȒP PostgreSQL g JDBC AvP[ṼRpCƎs̏
  ł܂BL̃vO쐬ĂB

  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());
    }
  }

  Java RpCŃvORpCĂB

  javac PostgreSQLTest.java

  RpCG[o͂ȂA\̊mF PATH  CLASSPATH
  ̊mFOɂĂB

  JVM ŃvOs܂B

  java PostgreSQLTest

  JVM G[o͂ȂAPATH  CLASSPATH ĂB

  ̏o͂͂łB

  Hello, from PostgreSQL!

  ߂łƂAPostgreSQL ւ JDBC C^[tF[X̃CXg[A
  ̐ݒAmFł܂B

  6.5.4.  Ƒ̏

  PostgreSQL ̂Ƒ̏́A http://www.blackdown.org ɂ
  PostgreSQL EFuTCgĂB

  6.6.  Sybase

  6.6.1.  wi

  Sybase Adaptive Server Enterprise ́Ap RDBMS ŁALinux Iy[
  eBOVXep\łBSybase ͍ŐV[X̃o[W
  12.0 Ȃ̂ɁALinux ɓło[W 11.9.2 łB

  Sybase EFuTCgɂ΁A"Linux  ASE ڐA邱ƂɂA
  Sybase ́ALinux JR~jeBɁÃvbgtH[œł
  ̂̒ňԊgA\ȃf[^x[XGW񋟂܂B
  pbP[ẂAAdaptive Server Enterprise ̕W@\ƁA֘Aڑ
  ̂R|[lg܂݂܂BAdaptive Server Enterprise 11.9.2 ́A
  JpɖŒ񋟂܂B"

  6.6.2.  _E[h

  Sybase ASE ́A
  http://www.sybase.com/products/databaseservers/linux/linux1192_reg.html
  Ał܂B

  _E[h邽߂ɁAICŁASybase EFuTCgւ̓o^
  сACZXւ̓ӂȂ΂Ȃ܂B

  Sybase JDBC hCóA
  http://www.sybase.com/products/internet/jconnect/ Ał܂B

  jConnect 4.2/5.2 ̃_E[hIłB

  lbg[N Sybase T[oɃANZXȂAJDBC hCõ_E
  [hƃCXg[KvłB

  6.6.3.  CXg[

  Sybase ̃CXg[́A HOWTO ͈̔͂𒴂܂B HOWTO ́A
  Sybase ̃CXg[Ɛݒ肪ȂAisql gp Sybase 
  łԂł邱ƂOƂ܂B

  isql  sa ƂăOCÃR}hɂAeXg[U쐬
  Af[^x[XeXg܂B

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

  G[bZ[W邱Ƃ͂Ȃ͂łB

  ̃eXgeXg̕\쐬܂Bn߂ɁAjavatest [U
   isql փOCÃR}hs܂B

  create table test (col1 varchar(255))
  go

  G[bZ[W邱Ƃ͂Ȃ͂łB

  ɁÃR}hɂA̗}܂B

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

  G[bZ[W邱Ƃ͂Ȃ͂łB

  ŌɁÃR}hɂA̗񂪂邩mF܂B

  select col1 from test
  go

  ̗񂪍쐬Ă̂͂łB

  "exit" ɂAisql I邱Ƃł܂B

  Sybase 𓮍삳邽߂̏ڂ́ASybase ƂƂɃ_E[hł
  镶QƂĂB

  CLASSPATH ֓K؂ JAR ǉKv܂B

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

  jConnect VXeɃCXg[ꏊɂApXKv
  邩܂B

  6.6.4.  CXg[̊mF

  ȒP Sybase g JDBC AvP[ṼRpCƎs̏
  ł܂BL̃vO쐬ĂB

  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());
    }
  }

  Sybase ̃zXgƃ|[g̔ԍK؂ɂKv܂B
  $SYBASE/interfaces  $DSQUERY GgmFAgpzXgƃ|[
  g̔ԍ̒lƂ܂B

  Java RpCŃvORpCĂB

  javac SybaseTest.java

  RpCG[o͂ȂA\̊mF PATH  CLASSPATH
  ̊mFOɂĂB

  JVM ŃvOs܂B

  java SybaseTest

  JVM G[o͂ȂAPATH  CLASSPATH ĂB

  ̏o͂͂łB

  Hello, from Sybase!

  ߂łƂASybase ւ JDBC C^[tF[X̃CXg[A̐
  AmFł܂B

  6.6.5.  Ƒ̏

  葽̏́A http://www.sybase.com/products/internet/jconnect/
  ɂ Sybase jConnect EFuTCgĂB

  7.  Enterprise Java Bean (EJB) ̃T|[g̐ݒ@

  M\

  7.1.  BEA WebLogic

  M\

  葽̏́A http://www.beasys.com/linux/ ĂB

  7.2.  EJBoss

  7.2.1.  wi

  EJBoss I[KiC[[V́AS J2EE ݊vbgtH[I[
  v\[XEFuɋł悤w͂Ă܂B(EJBoss EFuTCg
  ̈p)

  ̕ꂽ_̍ŐVo[W 0.95 łB

  7.2.2.  _E[h

  EJBoss ́A http://www.telkel.com/ejboss ɂ Telkel EFuTCg
  _E[hł܂B

  JDK 1.3 ̎́ALinux ł͓ł̂Ȃ̂ŁA
  ejboss095_jdk122.jar IłB

  7.2.3.  CXg[

  fBNg /usr/local Ƀt@CCXg[܂傤Bt@C
  _E[hÃR}hs܂B

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

  ̃t@C unjar ܂B

  jar xvf ejboss095_jdk122.jar

  /usr/local/ejboss ̉ɗlXȃt@CfBNg쐬ꂽ͂
  B

  Ĺ̗AJDK 1.2.2 p EJBoss 0.95 ܂Bt@CK؂
  ̂ɂĂĂB
  7.2.4.  ݒ

  ݒ肷ϐ́\\

  o  CLASSPATH

     łB

  ϐ CLASSPATH ́AJava vÕRpCƎsɕKvȃfB
  NgƂׂĂ JAR ܂B

  CLASSPATH  EJBoss JAR ƃfBNg beans/generated ܂߂Ă
  B

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

  7.2.5.  CXg[̊mF

  ȒP EJB AvP[ṼRpCƎs̏ł܂BL
  ̂R̃T[op̃\[Xt@C쐬ĂB

  n߂ɁArWlXC^[tF[XB

  // EJBTest.java

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

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

  }

  ԖڂɁAz[C^[tF[XB

  // EJBTestHome.java

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

  public
   interface EJBTestHome extends EJBHome {

    public EJBTest create() throws

     CreateException, RemoteException;
  }

  OԖڂɁAbean NXB

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

  }

  Java RpCŃT[o\[Xt@CRpCĂB

  javac EJBTest*.java

  RpCG[o͂ȂA\̊mF PATH  CLASSPATH
  ̊mFOɂĂB

  T[o\[Xt@C̋LqƃRpCŁAEJBoss ɂ
  bean zuKv܂BEJBoss ւ bean ̔zúA̒i
  K̐mȎsKvłB

  n߂ɁAt@C ejb-jar.xml 쐬܂B

  <?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>

  L̃t@C ejb-jar.xml ƂOłȂ΂Ȃ܂B́A
  قǍ쐬t@C̃C^[tF[XƃNXAуIuWFN
  go^܂B

  ԖڂɁAقǍ쐬R̃NXt@CfBNgɁA
  META-INF Ƃ (Tu) fBNg쐬܂B

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

  OԖڂɁAjar ̒ɂS̃t@CpbP[W܂B

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

  ɂāA錾 (manifest) ƂR̃NXt@C XML zuLqq
  (deployment descriptor) t@Cǉ邱Ƃ͂łB

  lԖڂɁA쐬΂ JAR  EJBoss beans fBNgɒu
  B

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

  ܔԖڂɁA쐬NXt@C EJBoss beans/generated fBNg
  Ɉړ܂B

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

  (̌ܔԖڂ̎菇́AEJBoss 0.95 ̃oOɂ]Ȃ̂łB)

  EJBoss T[oJn鏀ł܂B

  cd /usr/local/ejboss

  sh server.sh

  vLVt@CIɃRpCAEJB ɔzuꂽƂmF
  ĂB

  ȒPȃNCAgAvP[V̋LqƃRpCƃeXg̏
  ܂B

  7.3.  Bullsoft JOnAS EJB

  M\

  葽̏́A http://www.bullsoft.com/ejb/ ĂB

  8.  {ɂ

  { Linux Japanese FAQ Project s܂B|Ɋւ邲ӌ
   JF vWFNg <JF@linux.or.jp> ɘAĂB

     v 0.1
        |: {_ <hng@ps.ksky.ne.jp>

        Z:
        U Ti <ysenda@pop01.odn.ne.jp>A
         Y <nakano@apm.seikei.ac.jp>
        gR 炳 <yosshy@debian.or.jp>
         r <kgh12351@nifty.ne.jp>

