List of tables added by the BWEB component

BWEB Architecture

Overview

"You know 4D? You know BWEB."

BWEB is a 4D component that allows you to build complete web applications (public websites, back-offices, client portals) entirely from a 4D database, without writing HTML/CSS/JS manually.

Pages are stored as structured data in 4D tables. The framework reads this data, generates HTML + Tailwind CSS on the fly, and serves it to the browser.

The 4 Pillars

PillarDescription
4D ComponentTables, methods, classes. Can be added to any existing 4D project.
Tailwind CSSUtility-first CSS. Modern and responsive design out of the box.
WYSIWYG EditorDrag and drop. Instant preview. The Dev Panel.
Native ORDADirect connection to DataClasses. No REST, no intermediate API.

Technical Architecture

The 4D server generates the complete HTML. The browser receives a ready-to-use page. Interactions go through POST + WebSocket.

Browser (Client)4D Server
HTML + Tailwind CSSWebSocket
HTTP
POST
BSPK_WEB_ON_CONNECTION (main router)
bweb.js (JS framework)Tables: BSPK_WEB_DOMAIN, BSPK_WEB_DOMAIN_MENU, BSPK_WEB_CONTENT
Bootstrap IconsEngine: WebFormController, Tailwind CSS Generator, BSPK_Translate (i18n)

Server-side vs Client-side Rendering

BWEB chose server-side rendering (SSR) rather than client-side rendering (React/Vue). Why?

FeatureReactBWEB
Required Skills4D + React + TypeScript4D only
License4D REST required4D Web sufficient
SecurityClient decidesServer decides
Protected BlocksHidden in CSSAbsent from HTML
StateClient (Redux/Zustand)Server (process variables)
Real-timeCode it yourselfBuilt-in WebSocket
Frontend Dependenciesnode_modules (200KB+)None
"Not authorized to see a button? The button HTML does not exist."

Table Structure

LevelTableDescription
1BSPK_WEB_DOMAIN1 domain = 1 website
2BSPK_WEB_DOMAIN_MENUN pages and components per domain
3BSPK_WEB_CONTENTN blocks per page (UI tree via parentUuid)

Support Tables

TableRole
BSPK_WEB_DOMAIN_MENU_PARAMETERDynamic URLs ({supplierId}...)
BSPK_WEB_REDIRECT301/302 redirections
BSPK_WEB_DOMAIN_LANGLanguages per domain
BSPK_WEB_LIST / LIST_ITEMDropdown lists
BSPK_WEB_COOKIE_CONSENTGDPR consent
BSPK_USER / GROUP / RIGHTUsers and permissions
BSPK_FILEFiles and media
BSPK_HISTORYAudit and history

Request Lifecycle

StepActionDetail
1HTTPS enforcedIf cert.pem is present, automatic HTTP to HTTPS redirection
2License + SessionComponent and user session verification
3URL ResolutionDomain, then Page, then Dynamic Parameters
4Host database hookBSPH_WEB_ON_CONNECTION can intercept/redirect
5Security checkAccess rights, validation, POST filtering
6RenderingBlock loading, HTML + Tailwind generation, sent to browser
7WebSocketReal-time connection established for interactions

Business Advantages

  • No REST license: POST/WebSocket = standard 4D web server. 300K users = massive cost difference.
  • Zero frontend dependencies: No React, Angular, Vue. No 200KB+ bundle. No breaking changes.
  • Server Entity: Single source of truth. No client copy. STAMP natively managed by ORDA.
  • Node.js = server tool: Tailwind CLI, Puppeteer (PDF). The browser only receives HTML + Tailwind + vanilla JS.