4.2 KiB
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:
- Stop the service
- Swap the files (old → new)
- 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.