Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions

Die Seite wird erstellt Gustav Altmann
 
WEITER LESEN
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

                            Framework RAD.web®
                              Vorstellung des Frameworks
                     Rapid Application Development for web services

                                      db::solutions
   Dirk Brinkmeier
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

   Das Framework RAD.web® – Die universelle IoT Plattform
             • Eine Softwarelösung auf Basis modernster und freier Internettechnologien
             • Eine Grundlage für die Vernetzung und die Verteilung von Prozessdaten zwischen
               verschiedenen Maschinen oder Funktionsbaugruppen in einer verteilten
               Produktionsumgebung
             • Eine kompakte Lösung für die Automatisierung, der Prozessleittechnik (SCADA) und der
               Visualisierung (HMI) von Daten
             • Erweiterung der Leistungsgrenzen der bisherigen Implementierung
             • Ergänzung des Funktionsumfangs um moderne Kommunikations-Schnittstellen auf Basis
               aktueller Internettechnologien
             • Einfache Erstellung von Progressive Web Applikationen für native und effektive
               Benutzerschnittstellen (z.B. HMI, etc.) ohne Abhängigkeiten zu Front-End-Frameworks (Vue,
               React, Angular, …)
             • Keine fortlaufenden Migrationsaufwände an aktuelle Versionen von Front-End-Frameworks
             • Native JavaScript Component Library mit direkter Integration in die Applikation unter
               Nutzung von aktuellen HTML Standards
             • Einfache Migration bestehender Web-Applikationen oder Einbindung bestehender Applets
               oder Web-Assemblies
             • Alternative um die die Kette der Abhängigkeiten eines Windows Ökosystems zu vermeiden
             • Eine Lösung ohne Lizenzkosten und ohne klassische Serverumgebung

   Dirk Brinkmeier                                      Framework RAD.web®                      04.10.2020   2
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

   Grundgedanken bei der Auslegung des Framework
           • Kapselung aller Betriebssystemabhängigkeiten auf möglichst hoher Abstraktionsebene
           • Nutzung definierter Schnittstellen zur Anwendungsschicht über dedizierte
             Ereignismethoden
           • Hohe Konfigurierbarkeit des Verhaltens der Basisapplikation, d.h. Auswahl der aktiven
             Module des Frameworks, Skalierung der Module, etc.
           • Implementierung flexibler Verwaltungsklassen für immer wieder kehrende Aufgaben
             (Logging, Timer, Tasks, Threads, etc.)
           • Leistungsfähiges Webserverbackend das sich über einfach anzuwendende APIs an den
             Anwendungsfall der Applikation anpassen lässt
           • Unterstützung moderner Kommunikationsstandards (TCP/IP, SSL, HTML5, REST, JSON,
             MQTT, etc.)
           • WebSocket-Implementierung für Synchronisation des Frontends in Echtzeit
           • Vollständige CGI-Unterstützung zur Einbindung von PHP, Perl, Python und Bash-
             Skripten (z.B. Python-KI-Module)
           • Und noch vieles mehr….

   Dirk Brinkmeier                                  Framework RAD.web®                  04.10.2020   3
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

   Fullstack – Die RAD.web® Architektur
                      SPA „Single Page Applikation“ Architektur                        •   SPA angelehnte Architektur (aber nicht

                                                                            Client
                                                                                           darauf fixiert)
                                                                                       •   Native Browserunterstützung bzw. Browser
          REST         JS    jQuery    HTML5     CSS     WebSockets                        unabhängig
                                                                                       •   Keine Browser-Plugins bzw. spezielle
                                                                                           Features notwendig
                                                                                       •   Standard HTML Code, keine proprietären
                     HTML Web-Komponenten-Klassenframework                                 HTML Tags
                                                                                       •

                                                                            Server
                                                                                           Progressive Web Applikation u.a. über
                                                                                           JSON-Manifest Datei
                            RAD.web® Server-Plattform                                  •   Einfache Integration in bestehende
                                                                                           Lösungen

                                                     Responsive App-Look-and-Feel
                                                         über alle Plattformen

   Dirk Brinkmeier                                                Framework RAD.web®                                04.10.2020    4
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

   Infrastruktur – Einfache Integration ohne Abhängikeiten

      Microsoft Hyper-V oder VMWare Hostsystem

             Windows Server VM 1   Windows Server VM 2..n          Linux-Server VM              Docker VM
             Datenbankserver       Windows Anwendungen             Framework RAD.web®           MQTT Message-Broker
             MSSQL, Oracle, …      Windows Services                HTTP/REST/MQTT/WS            …

                                                                  Intranet          Internet

                 Maschinennetz            HMI                                                         Cloudanbindung
                 Maschine 1..n        Maschine 1..n                         Officeanwendungen      Predictive Maintenance

   Dirk Brinkmeier                                     Framework RAD.web®                                04.10.2020   5
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

   Orchestrierung – Intranet, Internet, RAD.web® und MQTT

                     Intranet                                                                                                Internet

                            Framework RAD.web®                       Message-Broker                  Cloud-Anbindung
                              Zentrale Funktionen                Informationsverwaltung                IoT Datenpool
                                „Businesslogik“                      „Event-Manager“                 „Digitaler Zwilling“
                                                      MQTT                                MQTT

                                     HTTP/REST
                                                                           MQTT
                                     WebSockets

                                 HMI / Maschinen / Applikationen / Bedienoberflächen      Protokoll nach Verwendungszweck
                                                         etc.                             Kein klassisches Datenbusmodell

                     Industrial IT

   Dirk Brinkmeier                                                  Framework RAD.web®                          04.10.2020              6
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

   Prozesskommunikation in Echtzeit – Multithreading
                                   Topic 1                   MQTT                                    Prozessdaten
                     MQTT Client

                                                             Message-Broker                          Visualisierung und HMI
                                   Topic 2                   „Eclipse Mosquitto“                     Applikationen
                                                  MQTT                                        MQTT   Cloud-Anbindung
                                   Topic 3
                                                                                                     Predictive Maintenance
                                   Topic n                              MQTT                         …
                                                     Im Framework parallelisiert, im Broker
                                                   serialisiert, d.h. nicht deterministisch aber
                Framework                                   zugesicherte Übertragung
                RAD.web®

                                   Webrequest 1              HTTP/REST/WebSockets
                     Webserver

                                                     Im Framework parallelisiert und durch
                                   Webrequest 2
                                                    direkte Kommunikation voll Echtzeitfähig
                                   Webrequest 3

                                                                HTTP/REST/WebSocket
                                   Webrequest n

   Dirk Brinkmeier                                                      Framework RAD.web®                        04.10.2020   7
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

   RAD.web® Serviceprovider – Webrequest vs. RPC

                                                                                                      Client
                              Webrequest mit URI-Parametern
                     Beispiel http://…/request.html?prepare=yes&filter=test&domain=All&type=All

                                                                                                                              RAD.web® bietet
                                                                                                                          als RPC Serviceprovider
                                   RAD.web® Serviceprovider
                                                                                                                          Funktionalität wie gRPC
                                                                                                                                oder WCF, …

                                                                                                      Server
                            Registrierter Eventmethodenaufruf
                                        Beispiel: „RPC-Referenz“ request.html
                                                                                                                        Anmerkung: gRPC nutzt HTTP/2 und
                                                                                                                       WCF basiert auf HTTP/1.1 bzw. SOAP 1.1
                                                                                                                              als Transport-Protokoll
                                      Programmcode / Aktion
                               Beispiel: „RPC-Methode“ void TModul::getResponse(…) {};

   Dirk Brinkmeier                                                                                Framework RAD.web®                          04.10.2020    8
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

   WebSockets – Das universelle Message System
                                                                                             Browser 1
                                                                                                                               Transparente Anbindung im RAD.web®
                                                                                                                                        Austausch von Telegrammen
                                                           Broadcast (an alle Clients)
                                                                                                                                        mit Inhalten im JSON Format
                     WebSockets ws: und wss: über TCP/IP
                                                                                                      Browser 2                                über Eventmethoden

                                                                                                                   Browser X

        Framework
        RAD.web®

                                                            Bidirektional (Request/Response Modell)
                                                                                                                   Browser

   Dirk Brinkmeier                                                                            Framework RAD.web®                                  04.10.2020   9
Framework RAD.web Vorstellung des Frameworks - Rapid Application Development for web services - db::solutions
db::solutions

   Anwendungsfall – Kommunikation im Produktionsumfeld

                     HMI 1                          HMI 2                          HMI 3                                                             Cloud-Anbindung
                                                                                                              Keine Datenbankzugriffe
                                                                                                             Kapselung der Schnittstellen
                                HTTP/REST                             HTTP/REST
                                                                                                             über RESTful APIs und MQTT
                                                                                                                                                     MQTT
                                WebSockets                            WebSockets

                                    Framework RAD.web®                                                                                   Message-Broker
                                                                                                    MQTT

                               HTTP/REST ¹                        HTTP/REST ¹                                                     MQTT               MQTT

                Maschine A                      Maschine B                                 Applikation A                             Applikation B          Applikation C

        ¹) Beckhoff® ADS in Arbeit, Siemens® MPI/DP in Vorbereitung

   Dirk Brinkmeier                                                                    Digitale Geschäftsmodelle im Maschinenbau                             04.10.2020      10
db::solutions

   Basiskomponenten des Frameworks – Teil 1
         Webserver                                                                         Systemobjekte
          ▪ Hochgradig skalierbarer und leistungsfähiger Webserver                         ▪ Einfache Verwaltung von Threads
          ▪ Leistungsfähige Web-Session („View-State“) Verwaltung auch unter               ▪ Timer und Timeoutverwaltungsklassen
            Hochlastbedingungen                                                              implementiert über Eventmethoden
          ▪ WebSocket-Unterstützung inkl. Client-Library (Reconnect, etc.)                 ▪ Basisklassen für zyklische
          ▪ Unterstützung von CGI-Anwendungen (PHP, Perl, Python, Bash)                      Taskbearbeitungen
          ▪ Frei programmierbare und bidirektionale JSON- und REST-APIs (GET/POST)         ▪ Universelle
          ▪ Direkte Datenversorgung von Tabellenansichten aus JSON-APIs                      Dateiverarbeitungsmethoden
          ▪ Verarbeiten von AJAX-Postbacks über Events in der Applikation                  ▪ Frei konfigurierbare und performante
          ▪ Grafische HTML Komponenten werden direkt aus der Applikation generiert           Logging-Klasse
          ▪ Dynamische Erzeugung von HTML Content aus Eventmethoden

                                                                                           Datenbanken
                     Konvertierungsklassen
                                                                                           ▪ Native und hochgradig performante
                     ▪ Base36, Base64 und URL Kodierungs- und Dekodierungsmethoden           Anbindung an PostgreSQL Server
                     ▪ Native und schnelle UTF-8, UTF-16, Widestring und Multibyte         ▪ Nutzung von lokalen SQLite3 Datenbanken
                       Konvertierungsmethoden                                              ▪ Universelle Anbindung verschiedener
                     ▪ Hoch performante Codepageconvertierungsmethoden                       Datenbanktypen
                     ▪ Transparentes ARM/I86 Endian Handling                               ▪ Mächtige Variantenklasse
                     ▪ Parser für HTML- und JSON-Daten                                     ▪ Einfach zu nutzende Table-, Header- und
                                                                                             Rowset-Klassen

   Dirk Brinkmeier                                                    Framework RAD.web®                           04.10.2020       11
db::solutions

   Basiskomponenten des Frameworks – Teil 2
         Formatierung                                                                       Internet-Hilfsklassen
          ▪      Basis für die Lokalisierung der Applikation                                ▪ FTP und HTTP(S) bzw. JSON Daten- und
          ▪      Generische Datumsformatverwaltung optimiert für Internetformate              Dateitransfer
          ▪      MD5, SHA256, SHA512 Hashmethoden                                           ▪ Datenkompression mit GZIP Unterstützung
          ▪      Auf OpenSSL aufsetzendes Kryptografiemodul                                 ▪ Umfangreiche HTML und JavaScript Bibliothek
                                                                                            ▪ MQTT-Client mit sehr einfach anzuwendender
                                                                                              Programmierschnittstelle
          Systemeinbindung
           ▪ Ausgelagerte Prozesse mit Überwachung
             auf Zeitüberschreitung starten                      Bildverarbeitung
           ▪ Einfache Einbindung von Bash, Python
             oder Perl Scripts                                    ▪ Bildverarbeitung von JPEG und PNG Dateien
           ▪ TCP/IP-Socket-Verwaltungsklassen, inkl.              ▪ Skalierung und Modifikation von Kontrast, Helligkeit und Farbsättigung
             TLS Unterstützung                                    ▪ Dynamisch gerenderte Bilddaten über Zeichenroutinen
           ▪ Hot-Plug- bzw. Plug-and-Play-
             Überwachungsklassen
           ▪ Verwendung von GPIO Pins (z.B. RASPI,                 Sonstiges
             NVIDIA Jetson)                                         ▪ Benutzerkontensteuerung bzw. Mandantenverwaltung
                                                                    ▪ Rekursives GNU Buildsystem auf Autotools Basis
                                                                    ▪ Fourier-Datenanalyse

   Dirk Brinkmeier                                                     Framework RAD.web®                                   04.10.2020       12
db::solutions

   Schichtenmodell des Frameworks
                                               Betriebssystemschicht (Ubuntu/Debian/SuSE/…)

                                                RAD.web® Basisapplikation als Linux-Dämon

             Logging                   Timer    Timeouts                     GPIO/RS232              Sockets         Threads                Sessions

                     Webserver                      System-DB                                      Applikations-DB                MQTT
                     (Multithreaded)              SQLite3 (Benutzer, etc.)                             PostgreSQL                    Client

                                                                        APIs und Events

                                                                     Applikationsschicht

   Dirk Brinkmeier                                                            Framework RAD.web®                               04.10.2020          13
db::solutions

   API des Webservers zur Applikation
                     Webserverinstanz   Prepared Web-Request (Multi-Threading-Model vs. Node.js Single-Thread)
                                        application.addWebPrepareHandler(&app::TExample::prepareWebRequest, this);

                                        POST-Datenverarbeitung von AJAXed Requests
                                        application.addWebAction("OnButtonClick", &app::TExample::onButtonClick, this, WAM_SYNC);

                                        Virtuelle URLs und RESTful APIs
                                        application.addWebLink("config.json", &app::TExample::getExampleConfig, this, true);

                                        Web API Datenempfang
                                        application.addWebData("reordered.json", &app::TExample::setReorderedData, this, WAM_ASYNC);

                                        Virtuelle Verzeichnisse
                                        application.addWebLink("thumbnails/", &app::TExample::getBitmap, this, false);

                                        Dynamischer Content
                                        application.addWebToken("MSG_APPLICATION_LOG", "-");

                                        Gerenderte HTML Komponenten direkt aus den Quelltext der Applikation
                                        Hautmenü, Kontextmnü, Buttons, Dropdowns, etc.

   Dirk Brinkmeier                                                          Framework RAD.web®                                      04.10.2020   14
db::solutions

   Applikation & Basisframework

                                  •      Instanziieren der Applikationsmodule
                                  •      Initialisieren der Basisapplikation
                                  •      Kontrolliertes Ausführen der Applikationsmodule
                                         durch das Basisframework
                                  •      Kontrolliertes Beenden aller Module und zurück
                                         rollen aller offenen Ressourcen in Verwaltung durch
                                         das Basisframework

                                                     Das Framework
                                               verwaltet alle Ressourcen der
                                                       Applikation

   Dirk Brinkmeier                Framework RAD.web®                              04.10.2020   15
db::solutions

   Modulverwaltung und Ressourcemanagement
     Application     Modul 1   int TModule::prepare();
                               Instanzierung von Objekten, Initialisierung von Variablen, …             Sequentieller Aufruf
                                                                                                        über die Applikation
                               int TModule::execute();
                               Aktiver Modulcode

                               void TModule::unprepare();
                               Ausführen von „Last will and testament“ Aktionen
                                                                                                        Umgekehrte Reihen-
                                                                                                        folge beim Aufräumen
                               void TModule::cleanup();
                               Bereinigung von Ressourcen, warten auf Beendigung asynchroner Aktionen

                     Modul 2   int TModule::prepare();
                     Modul 3   Instanzierung von Objekten, Initialisierung von Variablen, …
                     Modul 4
                     Modul n   …

                                                                             Basisklasse

   Dirk Brinkmeier                                                  Framework RAD.web®                    04.10.2020    16
db::solutions

   Konfiguration des Frameworks                                                                      Webserverinstanz
                                                                                    [AppWebServer]
             Basiseinstellungen                                                     Enabled = yes

        [Global]
                                                Codebeispiel                        UseHttps = no
                                                                                    Port = 8099
        RunOnce = yes                                                               DocumentRoot = /mnt/DBHOMESRV/lost+found/wwwroot/
        RunAsUser = dirk                                                            UploadFolder = /home/dirk/upload/
        LoggingFolder = /var/log/dbApps/base/                                       AllowedFromIP = 0.0.0.0;127.0.0.1;::1;fd66:1967:0:1;192.168.200;192.168.201
        DataFolder = /usr/local/dbApps/                                             RestfulAPIRoot = /rest/
        Description = Reference Music Player                                        DisableVfsGZip = no
        PIDFile = /tmp/base.pid                                                     VfsDataDeleteDelay = 1000
        TempFolder = /tmp/                                                          IndexPage = index.html;index.htm;home.html;home.htm
        UseTerminalInput = no                                                       CertFile = /etc/dbApps/base/certs/server.crt
        CyclicFlushDelay = 30000                                                    KeyFile = /etc/dbApps/base/certs/server.key
        Locale = en_US.UTF-8                                                        DiffieHellmanFile = /etc/dbApps/base/certs/dh.pem
        UseTempDirAsPwd = no                                                        TLSCipherPriority = NORMAL:-MD5:-VERS-SSL3.0:+VERS-TLS1.1:+VERS-TLS1.0
        NiceLevel = 0                                                               TokenDelimiter = [[X]]
        Affinity = -1                                                               SessionDeleteAge = 180000
        UseDongle = yes                                                             RequestDeleteAge = 30000
        DisableSwappiness = yes                                                     ClientRefreshInterval = 5
        HeapDeallocateDelay = 0                                                     JavaScriptRefreshTimer = 2000
        Handles = 8192                                                              Credentials = admin:12345:3
                                                                                    AuthRealm = dbApplications (c) 2015
        [MimeTypes]                                                                 SessionLogonExpired = 0
        SystemMimeTypeFile = /etc/mime.types                                        GreeterURL = /signin.html
                                                                                    EnableCaching = yes
        [GPIO]                                                                      MinimizeHTML = no
        Enabled = no                                                                VerbosityLevel = 1
        Filesystem = /sys/class/gpio/                                               Debug = no
                                                                                    AllowManifestFiles = true
        [Webserver]                                                                 Multithreading = yes
        Enabled = yes                                                               SessionStore = /usr/local/dbApps/sessions/
                                                                                    DigestAlgorithm = MD5
        [Sockets]
        Enabled = yes                            Konfigurationsdateien              MaxSessionCount = 512

                                                                                    [Homepage]
        [Database]                                                                  Reference = AppWebServer
        UseDefaultDatabase = yes                                                    Directory = /home/dirk/www/
        DefaultDatabaseName = application                                           Alias = /home/
        DefaultDatabaseType = PGSQL                                                 Redirect =
                                                                                    Enabled = yes
        [Internet]                                                                  ExecCGI = no
        UseMQTTClient = yes                                                         ScaleJPG = 0
        MQTTConnectionName = application                                            UseExif = no

   Dirk Brinkmeier                                             Framework RAD.web®                                                 04.10.2020           17
db::solutions

   Loggingklasse des Frameworks
                                                                                                Konfiguration
                     •   Threadsafe
                     •   Einfache Konfiguration von Dateigröße, Backup und
                         Aufräumen veralteter Logdateien
                     •   Konfigurierbarer Cache für hohe Performance
                     •   Direkter Zugriff auf FIFO der letzten Logeinträge
                     •   Alle Exceptions werden vom Framework abgefangen und in
                         separater Logdatei protokolliert

                     Inhalt einer Logdatei                                        Verzeichnis

   Dirk Brinkmeier                                          Framework RAD.web®                    04.10.2020    18
db::solutions

   HTML Komponenten aus der Applikation

   Dirk Brinkmeier             Framework RAD.web®   04.10.2020   19
db::solutions

   Mandanten und Rollenverwaltung

                                               •    Rollen (z.B. User/Advanced/Administrator)
                                                    können Benutzern zugeordnet werden
                                               •    Passwörter werden direkt gehasht und nicht im
                                                    Klartext gespeichert
                                               •    Zuordnung auf grafische Elemente wie
                                                    Hauptmenü oder Kontextmenü werden direkt im
                                                    Quelltext festgelegt

   Dirk Brinkmeier             Framework RAD.web®                                 04.10.2020   20
db::solutions

   Grafische Komponenten – HTML und JavaScript

                     •   Modale Dialoge über standardisierte JavaScript Aufrufe
                     •   Buttons, Button-Groups
                     •   Dropdowns, Radiobox, Checkbox
                     •   Eingabefelder
                     •   Basis ist Twitter-Bootstrap
                     •   Datenversorgung über Applikation (AJAX, siehe nächste Folie)

   Dirk Brinkmeier                                                       Framework RAD.web®   04.10.2020   21
db::solutions

   Datenversorgung grafischer Komponenten – AJAX

   Dirk Brinkmeier              Framework RAD.web®   04.10.2020   22
db::solutions

   Webtoken – Dynamischer HTML Content
                     HTML Quellcode mit Platzhalter

                       Zuweisung des Token in der Applikation

                                                                                     Dynamischer Inhalt wird im Browser angezeigt

                                 Content dynamisch generieren

   Dirk Brinkmeier                                              Framework RAD.web®                                       04.10.2020   23
db::solutions

   Handling konkurrierender Zugriffe – Multithreading

                                                                                            Beispiel: 3 konkurrierende Abfragen (quasi-parallel)
                HTML Page Inhalt zum Zeitpunkt 1

                         HTML Page Inhalt zum Zeitpunkt 2

                               HTML Page Inhalt zum Zeitpunkt 3

                                                                                                 Das Framework löst
                                                                                                 Zugriffskonflikte auf

                     Resultat: 3 Speicherabbilder mit unterschiedlichen Inhalten (Validierung per Referenzzählung)

   Dirk Brinkmeier                                                     Framework RAD.web®                                      04.10.2020   24
db::solutions

   Praxisbeispiel – Applikationsmodul IoT/MQTT

                                  •      Abfrage der Systemkonfiguration
                                  •      Anbindung der Ereignismethoden
                                  •      Empfangsmethoden mit den abonnierten
                                         Topics verknüpfen
                                  •      Veröffentlichen bzw. Abonnieren der gegeben Topics

                                                      Das Framework kapselt
                                                      die MQTT Funktionalität

   Dirk Brinkmeier               Framework RAD.web®                             04.10.2020    25
db::solutions

   Eventmethoden – URI-Parameter und Web-Sessions

                                                                                               Aufbereitete Liste aller URI-Parameter
                                                                                               Beispiel : ../search.html?prepare=yes&filter=test&domain=All&type=All

                                                                                      Zusätzliche (custom) Header in der Response
                                                                                      Anmerkung: Event-Methode setzt den zusätzlichen Header

                                                                              Aufbereitete Liste aller Sessionvariablen
                                                                              Sichwort „Viewstate“

                                                              Namentlicher Zugriff auf Sessionvariablen und Parameter
                      Alle Daten aus dem Webserver
                     stehen der Applikation direkt zur
                                Verfügung

   Dirk Brinkmeier                                       Framework RAD.web®                                                                 04.10.2020                 26
db::solutions

   Standard API für Datenbankabfragen

                                           •         Standardisiertes SQL Abfragehandling mit
                                                     Parameterbindung für alle Datenbanktypen
                                           •         Einfache Auswertung des Resultsets
                                                     z.B. POST Daten aus Webservers-Event-
                                                     Methode im JSON-Format

   Dirk Brinkmeier              Framework RAD.web®                                       04.10.2020   27
db::solutions

   Dreiklang – HTML, JavaScript, Eventmethoden

   Dirk Brinkmeier              Framework RAD.web®   04.10.2020   28
db::solutions

   Datasets für Tabellenansichten

                     HTML Objekt auf der Webseite

                      Eventmethode in der Applikation

   Dirk Brinkmeier                                      Framework RAD.web®   04.10.2020   29
db::solutions

   Canvas – Bitmaps und Bildbearbeitung
                     Eventmethode in der Applikation

                               Implementierung in der Applikation

                                                                                         Aufruf der Zeichenroutinen
                                                                                              des Frameworks

   Dirk Brinkmeier                                                  Framework RAD.web®                   04.10.2020   30
db::solutions

   Proof-of-Concept – Realisierung RAMI 4.0
                                                                                                 Referenzarchitekturmodell Industrie 4.0

                                                                 Cloudanbindung
                                                                                                        HMI Devices
                                                                       Predictive
                                                                       Maintanance                         Konfiguration

                                                                            Digitale                             Office-
                                                                            Geschäftsmodelle                     Anwendungen

                                                                                       MQTT                      HTTP Client/Server

                                                           RAD.web® Serviceprovider

                     HTTP/REST Client/Server                             MQTT                                    Netzwerk (TCP/IP)

           Modul / Maschine             Modul / Maschine      Modul / Maschine                Modul / Maschine         Modul / Maschine
                   1                            2                     3                               4                        5

   Dirk Brinkmeier                                                Framework RAD.web®                                    04.10.2020    31
db::solutions

                     Vielen Dank für
                     Ihre Aufmerksamkeit

                                                          db::solutions
                                                                 Dirk Brinkmeier
                                                                    Meierfeld 17
                                                                  32049 Herford

                                                             +49 (0) 5221 282732
                                                            info@dbrinkmeier.de
                                                            www.dbrinkmeier.de

   Dirk Brinkmeier                   Framework RAD.web®                04.10.2020   32
Sie können auch lesen