Files
org_roam/Career Concepts/20260410121719-esp_applications.org
Zaine ccdd229a7d
All checks were successful
Build Roam Site / build (push) Successful in 32s
search key nav fixes
2026-05-14 14:51:09 +01:00

4.2 KiB
Executable File

ESP Applications

What is ESP?

ESP is a software suite built by ESS and sold to customers. It is deployed on a per-customer basis — similar to TMC (another internal product) but with fewer applications in the suite.

Key traits:

  • Customers only have the apps they use — not every customer gets everything
  • Customers may have multiple environments (e.g. TEST and PROD)
  • Test and PROD instances may live on the same server — this is a risk to be mindful of during deployment

Application Categories

ESP applications fall into three categories:

1. Databases

Application Type Notes
EspBroker SQL Server The core ESP database. Deployed via dacpac.

See ESP — Database & Dacpac for dacpac detail.

2. Windows Services

Windows Services are background processes that run on a Windows server. They have no UI — they start, run, and are managed via the Windows Service Manager (or PowerShell commands like Stop-Service, Start-Service).

Service Name Notes
DLService Unknown specific function (TBC)
EmailService Likely handles outbound emails
ExPlService Unknown specific function (TBC)
MISService Unknown specific function (TBC)
OutboundService Likely handles outbound messaging
ULService Unknown specific function (TBC)

Working with Windows Services in PowerShell

# Stop a service
Stop-Service -Name "DLService" -Force

# Start a service
Start-Service -Name "DLService"

# Check service status
Get-Service -Name "DLService"

# Wait for a service to stop
(Get-Service -Name "DLService").WaitForStatus('Stopped', '00:01:00')

Why Services Must Be Stopped Before Deployment

When deploying a new version, the old service process holds file locks on its DLLs. You cannot overwrite a locked file on Windows. Therefore the sequence is:

  1. Stop the service
  2. Swap the files (old → new)
  3. Start the service

3. Citrix Applications

Citrix is a technology that streams desktop applications to users remotely - the app runs on a server but the user sees it on their machine, similar to a remote desktop but on a per-app basis.

Application Notes
VPlanner Main planning application
VPlannerAdmin Admin interface for VPlanner
ImportApp Data import application

Citrix Deployment Considerations

Citrix apps are more complex to deploy than Windows Services because:

  • Active user sessions may be running — you can't just swap files
  • You must notify users of the upcoming upgrade and give a grace period
  • After the grace period, kill any remaining sessions
  • The actual upgrade mechanism is still TBC — believed to be a file copy with handling for locked executables built in
  • Post-deploy cycle checks require navigating Citrix UI — hard to automate

Per-Customer App Lists

Unlike TMC (where presumably all customers get everything), ESP is a subset deployment. This means:

  • The manifest (see ESP — The Manifest) must define which apps each customer has
  • The deployment scripts must skip apps not applicable to a given customer
  • There is no universal "deploy everything" - each customer's list must be explicitly defined and maintained

Completeness of This List

The handover document states this list is believed complete but has not been confirmed. Treat it as a working assumption, not a guarantee. Validate against actual customer environments when possible.