본문 바로가기

Projects/Server

[불펌]JBOSS 소개와 설치 1

출처 - http://blog.naver.com/an5asis


회사에서 톰켓을 대신해서 JBOSS를 사용한단다.

그런데 JBOSS에는 톰켓도 내장되어있다!!

도대체 뭐하는 놈인지 궁금해서 불펌하였다...

어서 랩실에 서버 만들어서 블로그 돌리고파... 싸이 넘 불편스러워

===========================================================

JBoss 탐험기를 다루는 본 기사에서는 오픈 소스 프로젝트로 진행되는 EJB 컨테이너인 JBoss의 설치부터 시작하여 간단한 예제를 만들고 실행하는 과정을 다룰 것이다. 본 기사는 EJB를 공부하고 싶어하는 자바 엔지니어(단, 초급자 제외)를 대상으로 작성되었다. 특히, 금전적인 부담으로 인해 상용 EJB 컨테이너를 살 능력이 없는 사람에게는 더욱 더 도움이 될 만한 기사이다. 왜냐… 공짜이니까…

1. JBoss 소개

http://sourceforge.net/projects/jboss/에 가면 다음과 같은 내용이 있다.

The JBoss/Server is the leading Open Source, standards-compliant, J2EE based application server implemented in 100% Pure Java…

쉽게 말해서 100% 자바로 구현되는 J2EE 기반의 애플리케이션 서버이며 오픈 소스 프로젝트로 진행되고 있다는 것이다. J2EE나 EJB 또는 애플리케이션 서버라는 용어에 낯선 분들은 아마도 이 글을 읽기에는 아직 무리인 듯 싶다. 좀더 내공을 쌓은 뒤에 읽어보시길…

어쨌거나 시중에는 많은 상용 애플리케이션 서버들이 있지만 대부분이 고가의 제품이고, 가난한 개발자들에게는 그림의 떡이다. 물론 평가판을 사용할 수도 있지만 사용 기한이 지나서 사용할 수 없다는 메시지를 보면 가슴이 여간 아픈 것이 아니다. 그러나 JBoss를 사용하면 이런 상처를 받을 필요가 없다. 게다가 소스도 공개되어 있으므로 여력이 된다면 자신이 직접 개발에 참여할 수도 있다. 혹자는 "아무래도 싼 게 비지떡이 아닐까?"라고 의심하는 사람도 있을 것이다. 물론 JBoss에도 버그가 존재하고 상용 제품처럼 화려하지도 않고, 아직 미약한 부분들이 존재한다. 하지만 버그 없는 프로그램이란 어차피 존재하지 않는 것이고(그것이 상용 프로그램이라 할지라도), 공짜로 사용하면서 이 정도 기능과 성능을 내는 제품은 드물 것이다. 서론이 너무 길면 지루하므로 JBoss에 대한 탐험을 바로 시작하자. (본 기사에서는 EJB 컨테이너, J2EE 기반의 애플리케이션 서버는 같은 의미로 사용된다)

JBoss 3.0은 J2EE 1.3을 기반으로 구현되어 있다. 지원하는 각각의 자세한 사항은 아래와 같다.

  • JDBC 2.0(3rd party)
  • JCA 1.0
  • Servlets/JSP 2.3 (Jetty + Tomcat)
  • JNDI
  • EJB 2.0, full CMP 2.0 engine
  • JMS 1.1
  • JTS/JTA
  • JavaMail
  • Clustering

    아래 [그림 1]은 JBoss의 구조를 나타낸다. JBoss는 모든 기능이 JMX(Java Management Extensions) 기반에서 수행된다. JMX는 다양한 플랫폼과 네트워크 프로토콜에 관련된 문제의 해결책을 제시하는 자바 환경의 장점을 관리 기능에서 사용하기 위해 개발되는 것이다. 현재 텔레커뮤니케이션이나 데이터 통신 분야에서 주로 사용되며, 웹로직 서버에서는 웹 기반의 개발자와 관리자들을 위한 구성과 관리, 모니터링을 위한 툴을 제공하는 데에 사용되고 있다. JMX에 대한 자세한 사항은 썬사의 홈페이지(http://java.sun.com/products/JavaManagement/)를 참고하기 바란다.


    [그림 1] JMX 기반의 JBoss 아키텍쳐

    우리의 관심은 오로지 JBoss이기 때문에 J2EE에 대한 자세한 사항은 다루지 않겠다. J2EE에 대한 보다 자세한 내용은 이미 시중에 출판된 책이나 자료도 많이 있으므로 그러한 자료들을 참고하기 바란다.

    2. 다운로드 받기

    2.1. JBoss 다운로드 받기

    JBoss 사이트(www.jboss.org)에 가면 다음과 같은 문구가 있다.

    JBoss 3.0.0 is our current beta, unstable version. It will run on 1.3+ JVMs…

    JBoss 3.0이 베타 버전이라서 아직 안정적이지 않다지만 그냥 사용하기로 하겠다. 그리고 JBoss 3.0이 JDK 1.3에서 실행된다지만 이미 JDK 1.4를 설치했기 때문에 필자는 무시했다. 별 상관 없을 것 같다.

    JBoss 사이트(www.jboss.org)에서 바이너리 파일을 다운로드 받자(참고로 http://sourceforge.net/projects/jboss에서도 다운로드 가능). 필자가 받은 파일은 Tomcat 4.0.3 버전이 포함된 것이다(jboss-3.0.0RC1_tomcat-4.0.31.zip). 파일 사이즈는 14 메가 바이트 정도로 이 파일에는 소스 코드를 포함하지 않는 바이너리만이 존재한다. 소스 코드를 원한다면 CVS를 이용하거나 소스가 압축된 파일을 받아야 할 것이다. CVS나 Ant 등에 익숙치 않은 개발자라면 바이너리를 다운로드 받는 것이 좋다. 소스 코드로부터 바이너리를 구축하는 데에는 많은 노력과 시간이 필요하기 때문이다. 마지막으로 예제와 문서들은 어디에 있을까? http://www.jboss.org/doco_files/에서 documentation-example.zip 파일을 다운 받자.

    2.2. Ant 다운로드 받기

    JBoss에서 제공하는 예제를 구축하기 위해서는 Ant라는 자바 빌드 도구가 필요하다. Ant는 Jakarta 사이트(http://jakarta.apache.org/builds/ant/release/v1.4.1/bin/)에 가면 다운 받을 수 있다. 본 기사를 쓰는 시점에서는 버전 1.4.1이 가장 최신 버전이다. 그러나 Ant도 버전에 따라 API의 변화가 있기 때문에 될 수 있다면 같은 버전을 다운 받아서 사용하기를 권장한다. Ant에 대한 다른 사항은 설치 후 매뉴얼을 참고하도록 하자.

    3. 설치

    3.1. Ant 설치

    설치는 복잡한 것이 없다. 일단 사이트에서 다운로드 받은 압축 파일(jakarta-ant-1.4.1-bin.zip)을 적당한 위치에 풀어서 놓기만 하면 된다. 이 외에 몇 가지 환경 설정을 추가로 해줄 필요가 있다.

    설치한 폴더가 c:\dev\tools\jakarta-ant-1.4.1 일 경우 다음과 같은 폴더들이 생성된다.

     /bin : Ant 실행을 위한 배치 파일이 있다(유닉스나 리눅스의 경우 쉘 파일 사용) /lib : jar 파일들 /docs : 매뉴얼과 API 문서가 있다. 

    Windows 환경에서는 환경 설정을 다음과 같이 하면 된다.

    set ANT_HOME=c:\dev\tools\jakarta-ant-1.4.1 set PATH=%PATH%;%ANT_HOME%\bin 

    유닉스나 기타 다른 OS에서의 설정에 대해서는 Ant 매뉴얼(http://jakarta.apache.org/ant/manual/install.html)을 참고하기 바란다.

    ※ 기타 ANT에 대한 더 자세한 사항은 위에서 말한 설치 후 매뉴얼 외에도 필자가 쓴
    'ANT(상): Ant 무엇에 쓰는 물건인고?''ANT(하): Ant 무엇에 쓰는 물건인고?'를 참고하면 더 자세한 사항을 쉽게 알 수 있을 것이다.

    3.2. JBoss 설치

    JBoss 설치 이전에 JDK가 설치되어야 하는 것은 너무나도 당연한 것이다.
    JAVA_HOME 환경 변수와 클래스 패스가 적절히 설정되었는지 확인하자.

    JBoss 설치는 간단하다. 적당한 위치에 압축 파일을 풀기만하면 설치는 끝난다. 필자의 시스템이 윈도우 2000이기 때문에 다른 운영체제를 사용하는 분들에게는 죄송하지만, 모든 과정은 윈도우 2000에서 작업한 결과임을 이해해 주면 고맙겠다.

    필자는 JBoss를
    D:\jboss-3.0.0RC1_tomcat-4.0.3 이라는 폴더에 설치했으며 편의상 이 폴더를 JBOSS_DIST라고 부르겠다. 그리고 환경 변수로 설정한다. 압축 파일을 풀면 [그림 2]에서 보는 바와 같이 아래와 같은 폴더들이 생성된다.


    [그림 2] JBoss 설치 후 생성된 폴더들

    3.3. 예제와 문서 설치

    JBOSS_DIST 폴더에서 documentation-example.zip 파일의 압축을 풀면 [그림 3]과 같은 폴더 구조와 파일들이 생성된다.


    [그림 3] JBoss 예제와 문서 설치 후 생성된 폴더들

    3.4. 테스트

    설치가 끝났으면 정상적으로 설치가 이루어졌는지 테스트 해보도록 하자. JBOSS_DIST 밑에 있는 bin 폴더를 보면 run.bat 파일이 있다. 사정없이 이 파일을 실행하자. 메시지가 마구 콘솔에 뿌려질 것이다. 한참을 그러다가 멈추고, 마지막에 16:17:24,235 INFO [Server] JBoss (MX MicroKernel) [3.0.0RC1 Date:200204150356] Started in 1m:3s:21ms 이런 비슷한 메시지가 보이면 서버가 실행되고 대기 상태에 있는 것이다.


    [그림 4] JBoss가 실행된 화면

    이제는 브라우저를 실행시키고 http://localhost:8080를 주소창에 입력하자. [그림 5]와 같은 화면이 보이면 일단 안심해도 된다. JBoss가 실행되면서 Tomcat도 같이 실행되기 때문이다.


    [그림 5] JBoss와 Tomcat이 같이 실행되고 있다

    브라우저에서 http://localhost:8082 를 주소창에 입력하면 아래와 같은 화면이 나온다. 여기에서는 현재 JBoss에서 실행되고 있는 컴포넌트들을 관리할 수 있다. 마치 게시판에서 관리자 화면을 제공하는 것과 같다고 할 수 있다.


    [그림 6] JBoss 관리 화면

  • 'Projects > Server' 카테고리의 다른 글

    Installing Oracle, PHP, and Apache on Linux  (0) 2006.09.23
    proftpd 계정설정  (0) 2006.09.16
    php 업로드 용량 제한 변경하기  (0) 2006.09.16
    [불펌]JBOSS 소개와 설치 2  (0) 2006.09.07
    Tatter tools 설치 - apache 설치  (0) 2006.09.07