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

  1. Navigate to Datasets → Connections
  2. Add SQL Server connection:
    • Server: SQLServer01
    • Database: Production
    • Authentication: Windows
    • Pool Size: 10
  3. Create real-time query:

    SELECT TOP 100 *
    FROM ProductionData
    WHERE Timestamp > DATEADD(hour, -1, GETDATE())
    ORDER BY Timestamp DESC
    
  4. 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

  1. Generate SSL certificate
  2. Configure HTTPS binding on port 443
  3. Enable Windows authentication
  4. Set up application pool:
    • .NET CLR Version: v4.0
    • Identity: ApplicationPoolIdentity
    • Recycling: Daily at 3 AM
  5. Test from remote browser
  6. 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

  1. Network segmentation implemented
  2. Firewalls configured
  3. SSL certificates installed
  4. Active Directory integrated
  5. Role-based access configured
  6. Audit logging enabled
  7. Backup strategy implemented
  8. 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

  1. Design data exchange schema
  2. Configure REST endpoints:
    • GET /api/production/current
    • POST /api/production/batch
    • GET /api/quality/metrics
  3. Implement OAuth 2.0 authentication
  4. Schedule data synchronization (every 15 minutes)
  5. 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

sp_helpindex 'TableName'

Identify missing indexes

Query Performance

SET STATISTICS TIME ON

Measure execution time

Database Integrity

DBCC CHECKDB

Check database health

Backup

BACKUP DATABASE TO DISK

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

Additional Resources

  • No labels