BASIS Web Clients

BASIS offers several different clients for deploying your BBj apps to the web. This page summarizes and compares the available clients: BUI, DWC, WebUI, and WebCUI.

Benefits of Web Deployment

One of the primary benefits of web deployment is accessibility. Users don't have to install Java or BBj, and can simply open a web browser and navigate to the published app's URL.

For all web deployment options, you can configure your app via the Enterprise Manager App Deployment page. Deployment is as simple as enabling the deployment mode, configuring any necessary properties, and sharing the URL.

Deployed web apps check out a new license for each distinct connected browser.

Web Client Comparison

Each client offers a slightly different strategy for hosting a BBj app online, with different pros and cons depending on your goals, existing code base, and available development resources.

Feature/Client BUI DWC WebUI WebCUI
Web deployment of BBj apps Yes (GUI) Yes (GUI) Yes Yes (CUI)
Styling capability for modern look and feel Moderate High Moderate No
Dynamic layouts and advanced theming Partial Yes No No
CSS Support Yes Yes No No
Integrable with existing GUI apps Partial Partial Yes Partial (via DWC)
CUI terminal-based apps No Yes (with WebCUI) Yes Yes
License requirements Regular SAM SAM + WebUI License SAM + WebCUI License

BUI logoBUI

The Browser User Interface (BUI) was the first web deployment strategy from BASIS, introduced in BBj 10.00. BUI is still a great option for deploying a web app, and it has undergone numerous improvements and optimizations over the years. BUI lets you deploy existing GUI desktop apps in the browser as web apps.

BUI uses the Google Web Toolkit (GWT) to convert Java code into JavaScript, enabling it to run in the browser. Depending on the browser's control implementations, the look and feel of a BUI app may be slightly different than the GUI app.

By default, BUI delivers a very similar look and feel to the desktop version of an app. However, BUI also supports CSS customization, giving you the ability to introduce a more modern look and feel to your app than in GUI.

BUI aims to be as backward-compatible with the BBj GUI look and feel as possible, so your apps can be migrated to the web without recalculating everything. However, BUI also supports CSS customization, giving you much more control over your app's design than in GUI.

This makes migration of legacy apps easier, but also makes BUI less well-suited to creating apps with a modern look and feel, compared to DWC apps.

While some GUI apps will run in BUI seamlessly with no code changes, others may require some modifications or optimizations. See Optimizing GUI Apps to Run in BUI for some common changes that may need to be made. Additionally, not all GUI features are supported in BUI; see BUI: What's Not Yet Implemented for a summary of the few GUI features that are largely impractical to implement for a browser environment. For example, Form Validation is orders of magnitude more performant than Control Validation. (Try it for yourself by running the Form Validation Timing Comparison demo on the BBx BUI Showcase from your own browser, a recent result from a test running in a browser at BASIS’ Albuquerque HQ to an AWS cloud server on the West Coast hosting the Showcase showed that Form Validation was over 500 times faster on a form with 14 controls!)

While GUI apps are generally forward compatible with BUI and run with minimal changes, there are some BBj objects and methods that are specific to BUI and the DWC, such as the BBjWebManager / BBjBuiManager.

The BUI client is available without any additional license features.

DWC logoDWC

The Dynamic Web Client (DWC) is BASIS's most modern offering for web deployment. DWC apps have a modern look and feel by default, with dynamic layout capabilities, complete styling functionality, an advanced and customizable theming system, and the expected speed and responsiveness of the web. DWC gives you the power to create dynamic, responsive, and modern web apps.

BUI apps can run as DWC apps without any code changes, but apps written for the DWC are not necessarily backwards compatible with BUI or GUI. The DWC provides a variety of new features and syntax patterns that aren't meaningful in BUI or GUI. For instance, the DWC has a dynamic control arrangement system that allows you to add controls without specifying their position or size. In BUI or GUI, these method signatures won't result in usable layouts.

DWC apps have a modern look and feel by default, but you also have full control over their appearance with CSS. In addition to the styling capabilities already available with BUI, the DWC provides advanced theming capabilities in the form of CSS custom properties that allow you to make large-scale theming changes to all components in your app. This can be used for switching between dark and light modes or customizing based on brand colors.

The DWC also fully supports CSS layout capabilities such as CSS Flexbox and Grid, along with media queries that allow you to adjust the layout based on the client's screen size and device type, without any round trips to the server.

Access to this feature requires an active Software Asset Management (SAM) subscription. See Benefits of ‘Software Asset Management' Feature Line.

See Also

Dynamic Web Client (DWC) Overview

Registering and Launching a DWC App

DWC Theme Engine

WebUI logoWebUI

WebUI bridges the gap between legacy apps and the web. 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.

Access to this feature requires an active Software Asset Management (SAM) subscription. See Benefits of ‘Software Asset Management' Feature Line.

See Also

WebUI Overview

WebCUI

WebCUI provides a quick and simple path to the web for the oldest type of legacy app: the Character User Interface (CUI). WebCUI allows you to deploy character-based apps in the browser without changing any code. WebCUI is a subsystem of the DWC and uses a specialized terminal component and termcap file to provide a fully-functional browser-based terminal emulator, allowing you to use terminal-based apps in the browser just as you would on a desktop.

Even with a character user interface, your app can still benefit from web deployment. Users can access your app from their browser, without needing to purchase, install, and maintain a terminal emulator, and without needing to perform software updates or local trouble-shooting. If you have a mature app with a character user interface (CUI), WebCUI lets you access the benefits of web deployment without rewriting your existing code.

Although WebUI also allows you to deploy CUI apps to the web, WebCUI can be a more cost-effective solution if you don't need any of WebUI's additional features.

In addition to SAM, WebCUI requires a WEBCUI license feature. WEBCUI feature line user counts can be lower than the BBj user count. Contact your BASIS sales representative for pricing and licensing options.

Access to this feature requires an active Software Asset Management (SAM) subscription. See Benefits of ‘Software Asset Management' Feature Line.

See Also

Browser User Interface (BUI) Overview

Dynamic Web Client (DWC) Overview

WebUI Overview

WebCUI Overview