DEV Community

Jnnngs
Jnnngs

Posted on

3270Web: A Web-Based 3270 Terminal

3270Web: A Web-Based 3270 Terminal Interface Built with Go

Working with 3270 terminals often means juggling:

• Desktop emulators

• VPN access

• Session configuration headaches

• Fragile automation bridges

For modern workflows — especially remote teams, containerised environments, and browser-centric tooling — this quickly becomes friction.

That’s why 3270Web exists.

3270Web is a web-based 3270 terminal interface written in Go, designed to provide interactive sessions and seamlessly bridge into automation via 3270Connect-compatible workflows.


What Problem Does 3270Web Solve?

Traditional 3270 access models assume:

• A locally installed emulator

• Direct network connectivity

• Human-only interaction

But modern environments increasingly require:

✅ Browser-based access

✅ Container-friendly deployment

✅ Session visibility & logging

✅ Automation integration

3270Web provides exactly that.


What 3270Web Is (and Isn’t)

3270Web is:

• A browser-based 3270 terminal UI

• A Go-based backend service

• A session recording & replay tool

• An automation bridge into 3270Connect

It is not:

• A replacement for mainframe logic

• A pixel-based screen scraper

• A generic SSH/RDP gateway

Think of it as a modern access + workflow capture layer for 3270 systems.


Key Features

▸ Web UI for Interactive 3270 Sessions

Run fully interactive 3270 terminal sessions directly in your browser.

Benefits include:

• No desktop emulator required

• Centralised deployment

• Detailed session logging

• Easier remote access scenarios


▸ Virtual Keyboard Support

3270 terminals rely heavily on:

• Function keys

• Special control sequences

• Non-standard key mappings

3270Web includes a virtual keyboard for complete compatibility with real terminal interaction.


▸ Full 3270 Terminal Settings

Mainframe environments vary widely.

3270Web exposes configurable options such as:

• Terminal models

• Screen dimensions

• Encoding options

• Backend connection parameters

Designed to support virtually any TN3270-compatible backend.


▸ Record Sessions to workflow.json

One of the most powerful capabilities:

👉 Record live terminal sessions directly into a workflow.json file

These workflows are:

✅ Compatible with 3270Connect

✅ Reusable for automation

✅ Human-generated but machine-executed

This turns exploratory or manual sessions into repeatable automation assets.


▸ Load & Playback Workflows

Previously recorded workflows can be:

• Loaded back into the UI

• Replayed interactively

• Used for validation/testing

• Passed directly into 3270Connect

Perfect for:

• Regression testing

• Demo environments

• Workflow debugging

• Training scenarios


▸ Docker & GHCR Deployment

3270Web is built with containerised deployment in mind.

Includes:

• Docker image

• GitHub Container Registry (GHCR) workflow

• Simple infrastructure integration

Ideal for:

✅ Dev/test labs

✅ Remote access gateways

✅ Cloud-hosted tooling

✅ Ephemeral environments


Why Pair 3270Web with 3270Connect?

These tools are intentionally complementary:

Tool Purpose
3270Web Interactive access + workflow capture
3270Connect Headless automation engine

A typical flow:

1️⃣ Explore workflow interactively in browser

2️⃣ Record session to workflow.json

3️⃣ Execute at scale via 3270Connect

This bridges the gap between:

👤 Human discovery

🤖 Deterministic automation


Real-World Use Cases

3270Web fits naturally into:

• Legacy modernisation projects

• Remote mainframe access scenarios

• Training & sandbox environments

• Automation workflow design

• Debugging 3270Connect scripts

• Containerised lab setups


Why Go?

Using Go provides:

✅ Compiled, predictable binaries

✅ Low runtime overhead

✅ Strong concurrency support

✅ Easy containerisation

✅ Minimal dependency surface

Important for enterprise and regulated environments.


When 3270Web Makes Less Sense

Honest constraints:

• If you already have stable emulator infrastructure

• If browser access is not permitted

• If workflows change constantly with no repeatability

• If human-only usage is required


Final Thoughts

3270 systems are still mission-critical.

But tooling around them doesn’t need to feel stuck in the 1990s.

3270Web provides:

• Modern browser-based access

• Deep session visibility

• Workflow recording

• Seamless automation integration

• Container-friendly deployment

A small, focused tool solving a very real problem space.


Links

• GitHub: https://github.com/3270io/3270Web

• Automation engine: https://github.com/3270io/3270Connect


If you’re working in:

Mainframe #LegacyModernization #Golang #Automation

…this might save you a surprising amount of friction.

Top comments (0)