You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Deploying client displays and operator interfaces for FrameworX solutions.

Parent Page: Deployment (Reference)



Client Types


Client TypePlatformDeploymentUse Case
Rich ClientWindows onlyClickOnce or MSIFull features, local performance
Smart ClientWindows onlyClickOnceAuto-update, reduced footprint
Web ClientAny browserURL accessCross-platform, zero install
Mobile ClientiOS/AndroidApp storeField access, responsive design


Rich Client Deployment


ClickOnce Deployment


Setup on Server:

  1. Configure in Displays → Clients → Rich
  2. Set ClickOnce publishing location
  3. Configure update settings
  4. Build and publish

Client Installation:

http://server:10108/RichClient/setup.exe

Features:

  • Automatic updates
  • Certificate signing
  • Offline capability
  • Full .NET Framework access


MSI Package Deployment


For enterprise deployment via Group Policy:

  1. Generate MSI installer
  2. Configure silent installation
  3. Deploy via SCCM or Group Policy

Silent Install:

cmd

msiexec /i FrameworXClient.msi /quiet
  SERVER=server.domain.com
  PORT=10108


Smart Client Deployment


Lightweight Windows client with auto-update:

Deployment URL:

http://server:10108/SmartClient.application

Requirements:

  • .NET Framework 4.8
  • Internet Explorer 11+ or Edge
  • XAML Browser Applications enabled

Configuration:

xml

<configuration>
  <appSettings>
    <add key="ServerAddress" value="server.domain.com"/>
    <add key="ServerPort" value="10108"/>
    <add key="UseWindowsAuth" value="false"/>
  </appSettings>
</configuration>


Web Client (HTML5) Deployment


Server Configuration


Enable in Solution:

  1. Displays → Clients → HTML5
  2. Configure display conversion
  3. Set responsive breakpoints
  4. Publish to server

Access URL:

http://server:10108/html5/


Browser Requirements


BrowserMinimum VersionNotes
Chrome90+Recommended
Edge90+Recommended
Firefox88+Full support
Safari14+iOS compatible


Mobile Optimization

Configure viewport and touch settings:

html

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="mobile-web-app-capable" content="yes">


Mobile Client Deployment


iOS Deployment


Requirements:

  • iOS 14+
  • iPhone 8 or newer
  • 100 MB storage

Distribution Methods:

  1. App Store (public)
  2. TestFlight (testing)
  3. Enterprise distribution


Android Deployment

Requirements:

  • Android 8.0+
  • 2 GB RAM minimum
  • 100 MB storage

Distribution Methods:

  1. Google Play Store
  2. APK direct install
  3. MDM deployment


Configuration

Mobile client settings:

json

{
  "serverUrl": "https://server.domain.com",
  "port": 10108,
  "useSSL": true,
  "offlineMode": false,
  "syncInterval": 30
}


Client Auto-Start

Windows Auto-Start Methods

Using AutoStartClient.exe:

AutoStartClient.exe automatically starts web pages or thin clients based on server status. It monitors the server and launches client displays when the runtime is ready.

cmd

AutoStartClient.exe /server:192.168.1.100 /port:3101 /display:MainScreen

Parameters:

ParameterDescriptionExample
/serverServer IP or hostname/server:192.168.1.100
/portServer port/port:3101
/displayDisplay name to open/display:MainScreen
/delayStartup delay (seconds)/delay:30

Windows Startup Folder:

Place shortcut in:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\

Or for current user only:

C:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\

Service Considerations

When the runtime runs as a Windows Service:

  • Server components run without user interface
  • Client displays MUST be started separately
  • Service cannot launch UI components
  • Use AutoStartClient.exe or manual shortcuts

Example Batch File for Client Startup:

batch

@echo off
timeout /t 30
cd "C:\Program Files (x86)\Tatsoft\FrameworX\10.1"
AutoStartClient.exe /server:localhost /port:3101 /display:Overview

Rich Client Startup

For Rich Client with specific parameters:

cmd

StartRichClient.bat /server:192.168.1.100 /display:MainScreen /username:Operator

See Runtime Installation (Reference) for complete TStartup.exe parameter list.

Kiosk Mode

Rich Client Kiosk:

cmd

StartRichClient.bat /kiosk /display:KioskDisplay /preventclose
EnableTaskSwitchProtection.bat

Browser Kiosk (Chrome):

cmd

chrome.exe --kiosk --app="http://server:10108/html5/" --no-first-run --disable-translate

Browser Kiosk (Edge):

cmd

msedge.exe --kiosk "http://server:10108/html5/" --edge-kiosk-type=fullscreen

Kiosk Mode


Rich Client Kiosk:

cmd

StartRichClient.bat /kiosk /display:KioskDisplay /preventclose

Browser Kiosk (Chrome):

cmd

chrome.exe --kiosk --app="http://server:10108/html5/"


Client Connection Security


Windows Authentication


Configure for domain environments:

xml

<security mode="Transport">
  <transport clientCredentialType="Windows"/>
</security>


SSL/TLS Configuration

For secure connections:

  1. Install SSL certificate on server
  2. Configure HTTPS binding
  3. Update client URLs to use HTTPS
  4. Set certificate validation policy


Troubleshooting Client Deployment


IssueSolution
ClickOnce failsCheck .NET Framework, enable XAML browser apps
Web client slowEnable compression, check network latency
Mobile connection lostConfigure offline mode, increase timeout
Authentication failsVerify credentials, check domain trust


Server Configuration (Reference)


Configuring FrameworX runtime servers for production operations.

Parent Page: Deployment (Reference)


Server Architecture


Core Components


ComponentFunctionDefault Port
TServer.exeRuntime engineN/A (internal)
TWebServicesRemote access, web clients10108
DatabaseTag values, history, alarms1433 (SQL Server)
TSecureGatewayMulti-site routingConfigurable


Runtime Configuration


Startup Settings


Configure in Runtime → Startup:

Auto-Start Options:

  • Start when computer starts
  • Start as Windows Service
  • Delay start (seconds)
  • Auto-restart on failure

Command Line Parameters:

cmd

TServer.exe /solution:MySolution.tproj
  /port:10108
  /disableinterface
  /trace:verbose


Memory Management

Large Solutions (>50,000 tags):

xml

<runtime>
  <gcServer enabled="true"/>
  <gcConcurrent enabled="true"/>
  <GCHeapCount>8</GCHeapCount>
</runtime>


Database Configuration


Embedded SQLite (Default)


Location: Solution folder Size Limit: 50,000 tags recommended Backup: Copy .db files when runtime stopped

External SQL Server


Connection String:

Server=sqlserver.domain.com;
Database=FrameworX;
User Id=fxuser;
Password=SecurePass123!;

Required Permissions:

  • db_datareader
  • db_datawriter
  • db_ddladmin (for table creation)


Time-Series Optimization


For historian data:

sql

CREATE INDEX IX_Timestamp ON HistorianData(Timestamp)
CREATE INDEX IX_TagName ON HistorianData(TagName, Timestamp)


Network Configuration


Firewall Rules


Required Ports:

PortProtocolDirectionPurpose
10108TCPInboundTWebServices/Clients
1433TCPOutboundSQL Server
502TCPOutboundModbus devices
102TCPOutboundS7 PLCs

Windows Firewall:

cmd

netsh advfirewall firewall add rule name="FrameworX Runtime" 
  dir=in action=allow protocol=TCP localport=10108


Network Adapters

For multi-homed servers:

xml

<networkSettings>
  <bindToIP>192.168.1.100</bindToIP>
  <clientInterface>192.168.1.0/24</clientInterface>
  <deviceInterface>10.0.0.0/24</deviceInterface>
</networkSettings>


Performance Tuning


Windows Optimization


Power Settings:

cmd

powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

(High Performance plan)

Process Priority:

cmd

wmic process where name="TServer.exe" CALL setpriority "high"


Linux Optimization

System Limits:

bash

# /etc/security/limits.conf
frameworkx soft nofile 65536
frameworkx hard nofile 65536
frameworkx soft nproc 32768
frameworkx hard nproc 32768

CPU Affinity:

bash

taskset -c 0-3 /opt/frameworkx/TServer.exe


Monitoring


Performance Counters


Monitor these metrics:

  • CPU usage < 70%
  • Memory usage < 80%
  • Disk queue length < 2
  • Network utilization < 60%


Log Configuration

xml

<logging>
  <level>Information</level>
  <maxFileSize>100MB</maxFileSize>
  <maxFiles>10</maxFiles>
  <path>C:\Logs\FrameworX\</path>
</logging>


Health Checks

Configure endpoint for monitoring:

http://server:10108/health

Returns: CPU, Memory, Disk, Service Status


Backup and Recovery


Backup Strategy


Daily Backup:

  1. Stop runtime (if possible)
  2. Backup solution files (.tproj, .dbsln)
  3. Backup database
  4. Backup configuration files
  5. Restart runtime

Backup Script:

powershell

Stop-Service "FrameworX Runtime"
Copy-Item "C:\Solutions\*" "\\backup\solutions\" -Recurse
Start-Service "FrameworX Runtime"


Disaster Recovery

RPO/RTO Targets:

  • Recovery Point Objective: 1 hour
  • Recovery Time Objective: 15 minutes

Recovery Steps:

  1. Install FrameworX on new server
  2. Restore solution files
  3. Restore database
  4. Update client connections
  5. Verify operation


  • No labels