Learning Path - IT Professionals
Target Audience
IT professionals managing industrial systems integration, cybersecurity, databases, and enterprise connectivity in IT/OT convergence environments.
Learning Objectives
- Implement secure authentication systems
- Integrate with enterprise databases
- Deploy web-based solutions
- Configure REST APIs and web services
- Establish cybersecurity best practices
Week 1: Foundation
Day 1-2: Database Integration
Production Database Schema
CREATE TABLE ProductionData ( ID INT IDENTITY(1,1) PRIMARY KEY, Timestamp DATETIME NOT NULL, ProductCode VARCHAR(50), Quantity INT, Quality FLOAT, LineID INT, OperatorID VARCHAR(50) ); CREATE TABLE BatchRecords ( BatchID VARCHAR(50) PRIMARY KEY, StartTime DATETIME, EndTime DATETIME, Recipe VARCHAR(100), Status VARCHAR(20) );
Exercise: Configure Database Connection
- Navigate to Datasets → Connections
- Add SQL Server connection:
- Server:
SQLServer01
- Database:
Production
- Authentication:
Windows
- Pool Size:
10
- Server:
Create real-time query:
SELECT TOP 100 * FROM ProductionData WHERE Timestamp > DATEADD(hour, -1, GETDATE()) ORDER BY Timestamp DESC
- Test connection and verify data retrieval
Day 3-4: Web Deployment
Web Server Configuration
Component | Configuration |
---|---|
IIS Setup | Install IIS with WebSocket support |
Application Pool | Configure .NET CLR version |
SSL Certificate | Install and bind certificate |
FrameworX Web | Enable web server, set ports |
Authentication | Configure Windows/Forms auth |
Client URL | https://server/frameworkx![]() |
Lab: Deploy Secure Web Access
- Generate SSL certificate
- Configure HTTPS binding on port 443
- Enable Windows authentication
- Set up application pool:
- .NET CLR Version: v4.0
- Identity: ApplicationPoolIdentity
- Recycling: Daily at 3 AM
- Test from remote browser
- Monitor performance metrics
Day 5: Security Implementation
Security Architecture Layers
Layer | Components | Implementation |
---|---|---|
Network Security | Firewall rules, VLAN segmentation | Configure DMZ, isolate OT network |
Application Security | Authentication, RBAC, Audit logging | AD integration, role mapping |
Data Security | Encryption at rest, TLS in transit | Configure certificates, backup encryption |
Security Configuration Checklist
- Network segmentation implemented
- Firewalls configured
- SSL certificates installed
- Active Directory integrated
- Role-based access configured
- Audit logging enabled
- Backup strategy implemented
- Disaster recovery tested
Week 2: Advanced Topics
Day 1-2: Enterprise Integration
REST API Configuration
const apiConfig = { baseURL: 'https://frameworkx-server/api', endpoints: { tags: '/tags', alarms: '/alarms', historical: '/historian' }, authentication: { type: 'Bearer', token: 'your-api-token' } }; // GET current tag values async function getTagValues(tagNames) { const response = await fetch(`${apiConfig.baseURL}/tags`, { method: 'POST', headers: { 'Authorization': `Bearer ${apiConfig.authentication.token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ tags: tagNames }) }); return response.json(); }
Exercise: Create ERP Integration
- Design data exchange schema
- Configure REST endpoints:
- GET /api/production/current
- POST /api/production/batch
- GET /api/quality/metrics
- Implement OAuth 2.0 authentication
- Schedule data synchronization (every 15 minutes)
- Add error handling and retry logic
Day 3-4: Cloud Deployment
Docker Deployment Configuration
version: '3.8' services: frameworkx: image: frameworkx:10.1 ports: - "9000:9000" - "443:443" environment: - DB_CONNECTION=Server=azure-sql.database.windows.net - STORAGE_ACCOUNT=https://storage.blob.core.windows.net - IOT_HUB=frameworkx-hub.azure-devices.net volumes: - ./config:/app/config - ./data:/app/data
Day 5: Performance Monitoring
System Monitoring Script
$server = "FrameworX-Server" $metrics = @{ CPU = (Get-Counter "\Processor(_Total)\% Processor Time").CounterSamples.CookedValue Memory = (Get-Counter "\Memory\Available MBytes").CounterSamples.CookedValue Disk = (Get-Counter "\PhysicalDisk(_Total)\% Disk Time").CounterSamples.CookedValue Network = (Get-Counter "\Network Interface(*)\Bytes Total/sec").CounterSamples.CookedValue } # Send to monitoring system Send-MetricsToSplunk -Server $server -Metrics $metrics
Database Optimization Guide
Task | Command | Purpose |
---|---|---|
Index Analysis |
| Identify missing indexes |
Query Performance |
| Measure execution time |
Database Integrity |
| Check database health |
Backup |
| Regular backups |
Integration Patterns
Pattern 1: ERP Integration
ERP ? REST API ? FrameworX ? Production
Pattern 2: Cloud Analytics
FrameworX ? MQTT ? IoT Hub ? Analytics
Pattern 3: Reporting
FrameworX ? SQL ? Power BI ? Dashboards
Network Ports Reference
Service | Port | Protocol | Direction |
---|---|---|---|
FrameworX Runtime | 9000 | TCP | Inbound |
Web Client | 443 | HTTPS | Inbound |
SQL Server | 1433 | TCP | Outbound |
OPC UA | 4840 | TCP | Both |
MQTT | 8883 | TCP/TLS | Outbound |
REST API | 443 | HTTPS | Inbound |
Troubleshooting Guide
Issue | Diagnosis | Solution |
---|---|---|
Web client connection failed | Check IIS logs | Verify SSL certificate binding |
Database timeout | SQL Profiler trace | Optimize queries, add indexes |
API authentication failure | Check token expiry | Refresh OAuth token |
High memory usage | Performance Monitor | Adjust application pool settings |
Slow page load | Network trace | Enable compression, CDN |
Certification Path
FrameworX IT Specialist
- Prerequisites: FrameworX Certified Developer + IT background
- Focus Areas: Security implementation, database optimization, web deployment
- Format: Online exam + security audit project
- Duration: 4 hours