Getting Started

License Specific Functions

WebtoB provides the following functions according to the license type.

License Type Description

TRIAL

Supports only one HTH and a maximum of five users.

BASE

Used when WebtoB is embedded in JEUS.

Supports only one HTH.

In UNIX/Linux environments, the WJP port is not used because integration with JEUS is supported only via domain sockets (named pipes).

STANDARD

One or more HTHs are supported.

Can connect to JEUS without limitations and supports most WebtoB functions.

ENTERPRISE

Supports the following functions in addition to all of those provided in the STANDARD version.

  • Supports Reverse Proxy Group function for multi-configuration when connecting to another web application server through reverse proxy.

  • Supports FILTERS process for filter processing.

Quick Start

The following are simple steps to quickly verify WebtoB’s normal operation of after installation:

  1. Use configValidator, WebtoB’s configuration file validation tool, to verify that the configuration file is properly set up.

    $ configValidator

    The following is an example of configuration of the WEBTOB_HOME\config\webtob-config.json file.

    {
      "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": 9999,
          "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"
          }
        ]
      }
    }

    The following items must be modified when creating the webtob-config.json file.

    Item Description

    server > http > http_servers > port

    Specifies the port used by the HTTP server.

    server > wjp > port

    Specifies the port to be used by the WJP server.

    If a port number that is already in use is specified for the HTTP or WJP server, WebtoB may fail to start. Be sure to specify unique port numbers.

  2. Enter the command to start WebtoB in the command prompt.

    $ webtob

    After starting WebtoB, you can check the names and PIDs of the running WebtoB processes using the 'ps -eo user,pid,comm | grep WebtoB' command.

    The following describes the roles of each process.

    Process Role

    WebtoB Manager

    Manages the WebtoB engine.
    Automatically restarts the engine if the engine processing HTTP requests terminates abnormally.

    WebtoB Engine

    Receives and processes HTTP requests.

    For a specific process, you can check the names of the running threads using the 'ps -p [WebtoB 6 PID] -L' or 'top -H -p [WebtoB 6 PID]' command.

    The following describes the roles of each thread.

    Thread Role

    BOOT

    The main thread that runs when WebtoB starts.
    It handles the overall server booting process, including loading configurations, creating and starting the server, etc.

    API-HANDLER

    The thread that handles API requests.
    It performs WebtoB status monitoring or commands according to the client’s REST API request.

    HTL

    The thread that accepts client connections.

    HTH

    The thread that handles client requests.
    It performs parsing of requests/responses, network I/O, and delegates specific tasks to the WORKER thread.

    WORKER

    The thread that processes commands from the HTH thread.
    Each WORKER is created and assigned by a specific HTH to handle tasks such as static content (HTMLS) processing. (To be expanded in the future)

    LOGGING

    The thread responsible for handling all log messages output from WebtoB.

  3. Open a browser and enter the following URL.

    http://<IP Address>:<8080 or a user-specified port number>/

    If WebtoB starts without any error, the following page appears.

    figure 3 1
  4. Enter the WebtoB shutdown command in the command prompt.

    $ webtob -a stop