WebUI Overview
Overview
In BBj 25.10 and higher, the WebUI client allows BBj programs to run in a web browser. WebUI displays a desktop environment in the browser, allowing you to host your app without changing any of your core code. WebUI is the easiest way to publish your existing app to the web. WebUI apps generally have lower latency and better responsiveness than BUI apps.
If you need to maintain both desktop and web versions of your app, WebUI can maximize your development efficiency, because all updates are shared by both clients with no extra code changes.
WebUI renders your app exactly as it appears on the desktop, so the look, feel, and functionality reflect the desktop environment. However, it is important to note that the WebUI environment is hosted on the server, so WebUI apps reflect the server's desktop environment, not the client's. If look and feel differences cause any problems or unwanted behavior in your app, see the WebUI Overview for recommended solutions. One of the benefits that WebUI inherits from the desktop environment is theming support, which can be used to customize the look and feel of your app.
Because it renders the desktop environment, WebUI can also be used to deploy character-based console apps to the web, making it a low-effort choice to instantly modernize CUI apps. However, if deploying CUI apps is your only need, WebCUI can be the more cost-effective choice.
In addition to SAM, WebUI requires a WEBUI license feature. WEBUI feature line user counts can be lower than the BBj user count. Contact your BASIS sales representative for pricing and licensing options.
Installation
To install WebUI, check the WebUI box of the Feature Selection screen during BBj installation.
Configuration
To enable or disable WebUI deployment, check or uncheck the WebUI Enabled checkbox in EM: App Deployment > Global Settings in the WebUI Only section. On the same page, you can also modify the WebUI context mapping.
To configure WebUI settings for specific applications, go to EM: App Deployment > Applications and find the WebUI Only section at the bottom.
Headless Linux Server Configuration
Using WebUI applications on a headless Linux server requires some additional configuration. Use the steps below as a guide, modifying them if necessary to suit your specific operating system.
-
Install
xwindowssupport on the machineapt-get install libxext6 libxi6 libxtst6 libxrender1 libpangoft2-1.0-0
-
Install
xvfbif desired (would be required on AIX and on linux with glibc < 2.18)apt-get install xvfb (Package name may be different on different distributions)
-
Install BBj
-
Update BBj.properties if desired
BBj.properties setting Description webui.display="\:99"
By default, BBjServices exports "DISPLAY=:99". This property overrides the default setting.
webui.enabled=true
Set by the installer and EM.
webui.isheadless=true
Can be used to force BBjServices to run in headless mode. By default, BBjServices only runs in headless mode if DISPLAY is not set.
webui.virtualdisplay.prog=<virtual display program>
By default BBjServices uses
${BBjHome}/webui/xheadless/xheadlessas the virtual display program on Linux, and/usr/bin/xvfb-runas the program on AIX. This property allows you to specify the program to use. This can bexheadless,xvfbor another program that creates a virtual display to use.You can use this property to specify command line arguments in addition to the program name.
By default,
xheadless/xvfbis used if all of the following is true-
WebUI is installed
-
webui.enabledis true -
the DISPLAY environment variable is not set
-
the virtual display program to run exists.
Additionally,
xheadless/xvfbis used if thewebui.isheadlessproperty is set to true. -
See Also
EM: App Deployment > Global Settings
EM: App Deployment > Applications
Dynamic Web Client (DWC) Overview
Browser User Interface (BUI) Overview