BComponent design
Native BComponents and BServices that appear in your palette like any standard component — with lower CPU use than complex, nested wire-sheet logic.
Key capability: Custom slot-based logic and type-safe properties
Beyond the wire sheet
We extend the Baja runtime with custom Java modules. When the standard palette creates bottlenecks, we engineer compiled components sized for JACE and Supervisor environments.
@NiagaraType
@NiagaraProperty(name = "status", type = "BStatus",
defaultValue = "BStatus.ok")
public class BFiabtecService extends BAbstractService {
public void doProcess() {
// Compiled logic, sized for JACE hardware
}
}What we build
Native BComponents and BServices that appear in your palette like any standard component — with lower CPU use than complex, nested wire-sheet logic.
Key capability: Custom slot-based logic and type-safe properties
Master and slave drivers built on the Niagara driver framework. We handle low-level serial and IP communication and normalise the data into standard points.
Key capability: Message queuing and optimised poll engines
HTML5 and JavaScript interface components that integrate with the Niagara web server through the HX and UX frameworks.
Key capability: Responsive D3.js and Vue.js dashboard integration
Choosing the right tool
The wire sheet is the right place for most station logic. A compiled module earns its place when logic is reused widely, runs on constrained hardware, or is valuable in its own right. Read our full guide.
| Wire-sheet logic | Native Java module | |
|---|---|---|
| Best for | Site-specific sequences a technician will adjust | Logic reused across many points, stations or sites |
| Runtime cost | Every block is a component with its own overhead; deep nesting adds up on embedded hardware | Compiled code; one component can replace dozens of blocks |
| Making changes | Edited live in Workbench | Versioned releases, tested before deployment |
| Your IP | Visible and copyable in any station backup | Delivered as a compiled, signed module |
| Skills to maintain | Workbench and Niagara configuration | Java and the Niagara developer framework |
Why native Java?
A well-designed module exposes the settings technicians need as ordinary properties, so the site stays adjustable — without anyone editing the underlying logic by accident.
Process
From protocol analysis to a signed module running on your hardware.
We audit the station, find where the palette or protocol support falls short, and agree the component’s properties, actions and behaviour.
Native Java against the Niagara developer framework, with versioned source and repeatable builds.
Modules are built and code-signed, so the station can verify exactly what it is running.
Load and soak tests in Workbench and on representative JACE hardware before commissioning.
Deliverables
Every engagement ends with assets you own and can maintain.
Code-signed builds compatible with Niagara 4 module signing requirements.
Palette guides, point schemas and commissioning notes for your technicians.
Load and soak test results from Workbench and target JACE hardware.
Versioned releases maintained across Niagara maintenance builds.
We develop and test against current Niagara 4 releases and maintain compatibility across maintenance builds. Legacy AX migrations are handled as part of an upgrade engagement.
You do. Source code, build scripts and documentation are delivered under terms agreed in the contract — including source escrow if your procurement requires it.
The opposite is the goal: compiled Java replaces sprawling wire-sheet logic, typically reducing CPU and memory load. Every release is soak-tested on representative hardware first.
Where licensing permits, yes. Otherwise we engineer a clean-room equivalent against the protocol or API itself, so you are never locked to an unsupported binary.
Your Niagara version, what the module needs to do, the target hardware (JACE model or Supervisor), and any protocol or API documentation you have. From that, the discovery phase produces a fixed estimate before development begins.
Service
Custom drivers for legacy, industrial and cloud protocols — engineered, tested and secured.
Explainer
How stations, JACEs and Supervisors fit together — with a glossary of the terms you’ll meet.
Software development
The wire sheet is the right tool for most station logic. Here is how to recognise the cases where a compiled Niagara 4 module is faster, safer and cheaper to maintain — and the cases where it isn’t.
Describe your station, protocol or data challenge — an engineer replies within 24 hours.