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)