시작하기

라이선스별 지원 기능

WebtoB는 라이선스 타입별로 다음과 같은 기능을 제공합니다.

라이선스 타입 설명

TRIAL

인스톨러로 설치한 WebtoB에는 기본적으로 트라이얼 라이선스(Trial License)가 내장되어 있습니다.

HTH는 1개, 최대 사용자 수는 5개로 제한됩니다.

BASE

JEUS의 내장 WebtoB로 사용되는 경우입니다.

HTH가 1개로 제한됩니다.

UNIX/Linux 환경에서는 도메인 소켓(named pipe)을 통해서만 JEUS와 연동할 수 있기 때문에 JSVPort를 사용하지 않습니다.

STANDARD

BASE와 달리 HTH가 1개 이상 지원되는 일반적인 경우입니다.

JEUS와도 자유롭게 연동할 수 있으며 WebtoB가 제공하는 대부분의 기능을 사용할 수 있습니다.

ENTERPRISE

STANDARD에서 제공하는 모든 기능 이외에 아래와 같은 추가적인 기능을 사용할 수 있습니다.

  • 내장된 JEUS의 JSP/Servlet Engine을 사용할 수 있습니다. 이 경우 내장 JEUS의 1개 서버(DAS)를 사용할 수 있습니다.

  • 역방향 프록시를 이용한 다른 WAS를 연동할 때 다중 구성을 위한 역방향 프록시 그룹 기능을 사용할 수 있습니다.

  • WebDAV를 위한 HTTP 메소드(MKCOL, COPY, MOVE, PORPFIND)를 사용할 수 있습니다.

  • 필터(Filter) 처리를 위한 FILTERS 프로세스를 사용할 수 있습니다. 특히 CA사의 SSO 연동을 위한 SiteMinder Filter(wbSmISAPI)를 사용할 수 있습니다.

  • WebAdmin을 사용할 수 있습니다.

빠른 시작

WebtoB 설치 후 신속하게 정상 동작을 확인하려면 다음과 같은 간단한 절차를 따라 진행할 수 있습니다.

  1. WebtoB의 설정 파일 검증 툴인 configValidator을 사용해서 설정 파일이 올바르게 구성되었는지 확인합니다.

    $ configValidator

    다음은 WEBTOB6_HOME_PATH\config\webtob-config.json 파일의 설정 예시입니다.

    {
      "node": {
        "name": "webtob_node",
        "hth_count": 1,
        "worker_threads": 8,
        "hth_schedule": "RR"
      },
      "server": {
        "http": {
          "common_config": {
            "doc_root": "docs",
            "service_order": "uri,ext",
            "access_log": "access_log1"
          },
          "http_servers": [
            {
              "name": "http1",
              "port": 8080,
              "enable_ssl": true,
              "ssl_name": [
                "ssl1"
              ]
            }
          ]
        },
        "wjp": {
          "port": 9900,
          "wjp_servers": [
            {
              "name": "MyGroup1",
              "svr_chk_time": 60
            }
          ]
        }
      },
      "logging": {
        "access_log": [
          {
            "name": "access_log1",
            "level": "INFO",
            "format": "DEFAULT",
            "handlers": {
              "file_handler": {
                "file_name": "logs/access.log"
              },
              "enable_console_handler": false
            }
          }
        ],
        "error_log": {
          "level": "INFO",
          "handlers": {
            "file_handler": {
              "file_name": "logs/errors.log"
            },
            "enable_console_handler": false
          }
        },
        "system_log": [
          {
            "name": "webtob",
            "level": "INFO",
            "handlers": {
              "file_handler": {
                "file_name": "logs/webtob.log"
              },
              "enable_console_handler": true
            }
          }
        ]
      },
      "destination": {
        "jeus": [
          {
            "name": "MyGroup1",
            "server_schedule": "RR",
            "connection_schedule": "RR"
          }
        ],
        "reverse_proxy": {
          "reverse_proxy_group": [
          {
            "name": "rproxyGroup1",
            "reverse_proxy_server": [
              {
                "address": "internal.server:80"
              }
            ]
          }
        ]},
        "htmls": [
          {
            "name": "htmls1"
          }
        ]
      },
      "service": {
        "uri": [
          {
            "name": "uri1",
            "target_http_servers": [
              "http1"
            ],
            "match": {
              "type": "prefix",
              "target": "/rproxy",
              "rewrite": "/"
            },
            "destination": {
              "type": "REVERSE_PROXY",
              "target": "rproxyGroup1"
            }
          }
        ],
        "ext": [
          {
            "name": "ext1",
            "target_http_servers": [
              "*"
            ],
            "match": {
              "type": "exact",
              "target": "text/html"
            },
            "destination": {
              "type": "JEUS",
              "target": "MyGroup1"
            }
          }
        ]
      },
      "ssl": {
        "ssl_configs": [
          {
            "name": "ssl1",
            "webtob_certificate_file": "server.crt",
            "webtob_certificate_key_file": "key.crt"
          }
        ]
      }
    }
  2. 명령 프롬프트에 WebtoB를 기동 명령을 입력합니다.

    $ wsboot

    WebtoB 기동 후 'ps -p [WebtoB 6 PID] -L' 또는 'top -H -p [WebtoB 6 PID]' 명령어를 통해 실행 중인 스레드의 이름을 확인할 수 있습니다.

    각 스레드의 역할은 다음과 같습니다.

    스레드 역할

    BOOT

    WebtoB 시작 시 실행되는 메인 스레드입니다.
    서버 부팅의 전반적인 과정(설정 로드, 서버 생성 및 시작 등)을 담당합니다.

    ADMIN

    어드민 서버 스레드입니다.
    클라이언트의 REST API 요청에 따라 WebtoB 상태 모니터링이나 명령 등을 수행합니다.

    HTL

    클라이언트 연결을 수락(accept)하는 스레드입니다.

    HTH

    클라이언트 요청을 처리(handling)하는 스레드입니다.
    요청/응답에 대한 파싱, 네트워크 I/O 등을 수행하고, 특정 업무에 대해서는 WORKER 스레드에 넘깁니다.

    WORKER

    HTH의 명령을 받아 처리하는 스레드입니다.
    각 WORKER는 특정 HTH로부터 생성 및 할당되고, 정적 컨텐츠(HTMLS) 처리 업무를 담당합니다. (추후 확장 예정)

    LOGGING

    WebtoB에서 출력되는 모든 로그 메시지를 처리하는 스레드입니다.

  3. 브라우저를 열고, 아래와 같이 URL을 입력합니다.

    http://<IP 주소>:<8080 또는 사용자 지정 포트 번호>/

    정상적으로 WebtoB가 기동된 경우 아래와 같이 화면이 표시됩니다.

    figure 3 1
  4. 명령 프롬프트에 WebtoB를 종료 명령을 입력합니다.

    $ wsdown