본문 바로가기

카테고리 없음

WebToB & JEUS 연동


1. WebToB의 가상호스트 설정
    1.1 환경설정파일(sample.m)을 추가, 컴파일

 *VHOST
 vhost1  HostName="test.tmax.co.kr",
   DOCROOT="C:/TmaxSoft/edu02",  # 웹서비스 파일 위치 지정
   NODENAME="respect04",
   PORT="80",  # URL 이름이 같은 경우 포스번호를 다르게 설정해야 함. 현재는 호스트네이임이 다르므로 포스번호가 같아도 상관없다
   IndexName="test.html", # Wellcome page 설정
   KeepAlive=Y,  # KeepAlive와 KeepAliveTimeout은 같이 사용해야 함(set 구성)
   KeepAliveTimeout=30
 
    1.2 윈도우 hosts 파일에 가상호스트 설정 (실제 서비스할 경우 DNS서버에 추가)
 (C:\WINDOWS\system32\drivers\etc\hosts)
 추가 => 127.0.0.1       test.tmax.co.kr

    1.3 기동 후 테스트
         1) sample.m 컴파일(wscfl -i sample.m)
  2) ws 재기동
  3) C:/TmaxSoft/edu02에 test.html 추가
  4) 웹에서 test.html 확인 url=http://test.tmax.co.kr

# 알아둡시다
   - sample.m에서 정의된 *NODE는 localhost(127.0.0.1)이다.
   - sample.m에서 정의되지 않은 기본설정 확인은 wsadmin에서 cfg명령어로 확인한다
 cfg -n : Node 환경설정
 cfg -vh : vhost 환경설정 (sample.m에 *VHOST가 정의 되었을 때만 사용)
   - 기본설정을 변경할 경우 cfg에서 보여진 명령어를 sample.m에 재정의한다
   - DOCROOT의 디렉토리 구분은 '\'이 아니라 '/'로 구분한다

 

2. WebToB의 가상호스트와 JEUS연동설정
    2.1 가상호스트를 인식 시키기 위한 WebToB설정       
    sample.m에 정의
 *SVRGROUP
 v_jsvg  NODENAME = "respect04", SVRTYPE = JSV, VHOSTNAME="vhost1"       #가상호스트에서 인식

 *SERVER         #컨테이너 그룹명과 연동정의 및 몇개의 프로세스 사용할 것인가 정의
 v_MyGroup SVGNAME = v_jsvg, MinProc = 10, MaxProc = 20 # 가상호스트 MyGroup

    2.2 JEUS 설정
        2.2.1 웹관리자 이용 시
  1) 새 웹 리스너 생성
     경로 : 서블릿엔진 - MyGroup - 웹리스너
  2) 설정
     - Listener Id : alias 명
     - PORT : 기존 webtob 포트번호와 다르게 설정
     - 스레드풀 : max, min은 sample.m *SERVER에서 정의한 내용과 동일하게 처리
     - Webtob Address : 해당 Listener와 연결되는 WebtoB서버의 IP어드레스
     - Registration Id  : sample.m *SERVER에서 정의한 그룹ID
     - Webtob Home : C:\TmaxSoft\WebtoB4.1 => webtob가 설치되어 있는 home 디렉토리
 2.2.2 서블릿 WEBMain.xml 정의
            <webtob-listener>
                <listener-id>v_webtob1</listener-id>
                <port>9901</port>
                <thread-pool>
                    <min>10</min>
                    <max>20</max>
                </thread-pool>
                <scheme>http</scheme>
                <registration-id>v_MyGroup</registration-id>
                <webtob-home>C:\TmaxSoft\WebtoB4.1</webtob-home>
            </webtob-listener>


3. 컨테이너 추가 (웹관리자) 후 WebToB 연동
    3.1 새 엔진 컨테이너 생성
 - Name : container3
 - ID, BasePort
 - 서블릿 엔진 : engine2
 - 리스너 ID/서버 채널 이름 : http2   (#http 리스너를 반드시 추가하세요.)
 - 리스너/서버 채널 포트 : 8087

    3.2 새 어플리케이션 모듈 배치 - 모듈 선택
        - 2단계 배치
 - 영구배치는 J2EE 어플리케이션 모듈 배치에서 영구배치를 클릭 시
    에디터아이콘을 선택하여 영구 모듈 디플로이 컨테이너대상을 설정

    3.3 추가한 컨테인너 서블릿 WEBMain.xml 정의
     <?xml version="1.0" encoding="UTF-8"?>
  <web-container xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
      <context-group>
         <group-name>MyGroup</group-name>
         <webserver-connection>
      <http-listener>
          <listener-id>http2</listener-id>
          <port>8087</port>
          <output-buffer-size>8192</output-buffer-size>
          <thread-pool>
       <min>10</min>
       <max>20</max>
          </thread-pool>
      </http-listener>
      <webtob-listener>
    <listener-id>v_webtob1</listener-id>
    <port>9901</port>
    <thread-pool>
     <min>10</min>
     <max>20</max>
    </thread-pool>
    <scheme>http</scheme>
    <registration-id>v_MyGroup</registration-id>
    <webtob-home>C:\TmaxSoft\WebtoB4.1</webtob-home>
   </webtob-listener>
         </webserver-connection>
      </context-group>
  </web-container>


4. 서블릿 작성/실행하기
 4.1 HelloWorldServlet.java 작성
 ==============================================================================
  package tmax;

  import! java.io.*;
  import! javax.servlet.*;
  import! javax.servlet.http.*;

  public class HelloWorldServlet extends HttpServlet
  {
   protected void doGet(HttpServletRequest req,
         HttpServletResponse resp)
         throws ServletException,
         java.io.IOException {
    resp.setContentType("text/html");
    PrintWriter out = resp.getWriter();
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Hellow World Sample</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<center><h1>Hello World!!!</h1></center>");
    out.println("</body>");
    out.println("</html>");
    out.close();
   }
  }
 ================================================================================

 4.2 컴파일
  C:\TmaxSoft\edu01\WEB-INF\classes>javac -d . H*.java

 4.3 실행
    http://127.0.0.1:8088/edu01/servlets/tmax/HelloWorldServlet
   
 4.4. web.xml에 서블릿명 추가(HelloWorld)
    <servlet>
      <servlet-name>HelloWorld</servlet-name>
      <servlet-class>tmax.HelloWorldServlet</servlet-class>
      <load-on-startup>-1</load-on-startup>
    </servlet>
    <servlet-mapping>
      <servlet-name>HelloWorld</servlet-name>
      <url-pattern>/helloworld/</url-pattern>
    </servlet-mapping>
 4.5 실행
    http://127.0.0.1:8088/edu01/HelloWorld


5. WebToB에서 서블릿을 실행하기 위한 url 설정
 5.1 sample.m 파일 수정

 *URI  
 uri2  Uri = "/edu01/",   Svrtype = JSV    #url에 edu01이 들어간 문자는 서블릿을 실행하게 한다

 5.2 실행
    http://127.0.0.1/edu01/HelloWorld

 

  
=============================================================================================
[실습]
하나의 JEUS 노드에서 2개의 업무를 개발하려고 합니다
두개의 업무를 별도로 JVM에서 관리하기 위해서
edujeus01 컨텍스트를 container3에 배치하고
edujeus02 컨텍스트를 container4에 배치하려고 합니다
각각의 업무에 서 사용하는 도메인은 http://edujeus01.tmax.co.kr, http://edujeus02.tmax.co.kr 이며
가상호스트 기능을 사용할 것입니다

JEUS와 WebtoB가 연동된 환경을 구성하세요
http://edujeus01.tmax.co.kr로 요청 시 edujeus01 컨텍스트가 호출되고
http://edujeus02.tmax.co.kr로 요청 시 edujeus02 컨텍스트가 호출되고 설정하세요


6. 실습방법
 6. WebtoB 설정
   - 가상호스트 등록
     윈도우의 hosts 파일에 등록후 테스트
   - SVRGROUP, SERVER 추가
   - 컴파일 후 재기동!!

 6.2 JEUS 설정
   - Container3,Container4 추가
   - Context 생성/등록 : edujeus01, edujeus02
   - Context path를 Root(/)로 수정해주세요.
     수정파일은 해당 컨텍스트의 jeus-web-dd.xml

   - 해당 컨테이너에서 WebtoB 리스너를 생성
     WebtoB의 address, registration-id 지정!!
   

 6.3 연동 테스트
   - wsadmin : si, st -p
   - 브라우저를 이용하여 실습
     http://edujeus01.tmax.co.kr/test.jsp

    http://edujeus02.tmax.co.kr/test.jsp

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