Prozessdatenmanagement in der Entwicklung
Auch die Entwicklung von Produkten oder Verfahren kann als Prozess gesehen werden. Warum also nicht, die Daten die dabei anfallen, als Prozessdaten bezeichnen? In diesem mehrteiligen Artikel steht das Zusammenführen heterogener Prozessdatenquellen und deren einfache Analyse im Vordergrund. Besonderer Wert wird auf Skalierbarkeit, Durchgängigkeit von R&D bis Fertigung, Nutzen und niedrige Kosten gelegt. Wobei in den Kosten nicht nur die Investitionskosten, sondern auch die Ausbildungskosten in das Know-how inkludiert sind.
Inhalt
Teil 1: | Prozessdatenmanagement in der Entwicklung, Zielvorstellung | |
>  | Teil 2: | Datensammlung von formatierten Files mit MS |
Teil 3: | Datensammlung von XML-Files mit MS | |
Teil 4: | Datenbereitstellung | |
Teil 5: | Zusammenfassung Prozessdatenmanagement mit MS | |
Teil 6: | Alternative Open Source | |
Teil 7: | Resümee |
Teil 2: Datensammlung von formatierten Files mit MS
Ein zentrale Aspekt ist das Zusammenführen heterogener Datenquellen in ein einheitliches Datenformat. Der Anwender möchte alle möglichen Datenquellen importieren können. Die Bandbreite reicht dabei von Flat Files bis zu relationalen Datenbanken.

Als erstes Beispiel wird ein reales Temperaturmessgerät mit „Fixed Width“-Ausgabe gewählt. Der Importvorgang wird in einem Microsoft-Umfeld durchgespielt. Weitere Beispiele sind in den Folgeabschnitten zu finden.
Formatierter File des DMM UT71D
Der Ausgabestring besteht aus „Wert“ und „Einstellung“. Für die Temperarurmessung ist die Einstellung „0600“. Für diese Einstellung gilt: Wert/10 = Temperatur in °C. Beispiel des Ausgabestrings bei einer Temperatur von 21,2 °C :
002120600<CR><LF> |
1 ASCII Zeile |
00212 |
„Messwert“ 5-stellig, ohne Kommapunkt |
.....0600 |
„Einstellung“ |
.....0 |
Bereich: 10Units=1°C |
......6 |
Funktion: °C |
.......0 |
AC/DC-Kopplung: n.a. |
........0 |
AutoRange: Aus |
Setup Microsoft-Umfeld
Auch Microsoft hat in seinem Repertoire alle Komponenten für ein Data Warehouse. Das Minimal-Setup besteht aus:
- Büro-PC mit Win7 Pro (oder Win10 oder Windows Server 2012)
- SQL Server 2012 SP2 Std (free for Dev)
- Visual Studio Community 2015 (optional, free)
SW-Kosten
Es wird bewusst auf die aktuellsten Versionen verzichtet, weil die älteren Versionen preisgünstig auf den Gebrauchtmarkt zu haben sind. Die SS-Lizenzen für Entwickler sind kostenlos, im Produktivbereich sind die Lizenzen jedoch kostenpflichtig. Es gibt 2 Lizenz-Modelle: (i) Core-based, mit einer unbegrenzten Anzahl von Anwendern und (ii) Server+CAL, wo jeder Anwender eine CAL (Client Access License) braucht. Bei Rakuten gibt es derzeit einen Server um 248,-- und 10 User CALs um 388,--. Für 10 Anwender betragen somit die SW-Gesamtkosten etwa 650,-- €
SQL Server installieren
Eine sehr anschauliche Schritt-für-Schritt Anleitung findet sich hier. Sie stimmt nahezu vollständig mit meinem Setting überein. Die wenigen Abweichungen sind farblich hervorgehoben (s.u.)
Eine Voraussetzung für SS2012 ist .NET 3.5 SP1 (NEtFx3). Manche BS enthalten es (z.B. Win 7) oder es muss nur aktiviert werden unter „Systemsteuerung/Programme und Funktionen/Windows-Funktionen aktivieren oder deaktivieren“. Ansonsten das Installationsmedium downloaden und installieren. Auf dieser Seite die Anweisungen zur Installation unbedingt beachten! Nicht gleich auf "Herunterladen" klicken, sondern zuerst "Anweisungen zur Installation" öffnen und dort das vollständige Paket herunterladen.
Am einfachsten ist es, gleich den SS2012 Installer zu starten, wenn etwas fehlt wird es ohnehin beanstandet.
(1) Im Installationsmedium vom SS2012 „Setup.exe“ als Admin ausführen
(2) New SQL Server stand-alone installation, next
(3) Product Key eingeben, next
(4) Lizenzbedingungen akzeptieren, next
(5) include SQL server product updates anhaken, next
(6) SQL server feature installation anhaken, next
(7) Features auswählen:

(8) next
(9) Default Instance belassen, next
(10) Server Configuration: Defaults belassen, next
(11a) Database Engine Configuration: Mixed Mode (SQL Server authentication and Windows authentication) anhaken!
(11b) SQL Server Admins hinzufügen: PCAdmin und LabAdmin
(12) next … install
(13) Reboot
(14) fertig
Datenbank erstellen
Um sich am SQL-Server anmelden zu können, muss man am Labor-PC mit dem SQL-Administrator-Account („LabAdmin“) angemeldet sein.
(1) Microsoft SQL Server Management Studio starten
(2) Mit dem SQL-Server verbinden

Falls der PC-Name unbekannt ist, kann er auch gesucht werden: Server Name aufklappen/<Browse for more…> /Local Servers/Database Engine/PC-Name
(3) Rechtsklick auf Databases / New Database

Name der neuen Datenbank: Database Name = LabDB
(4) Klick auf OK und fertig
UT71 Temperatur-File importieren
Der SQL Server-Import-Assistent stellt die einfachste Methode zum Importieren von Daten einer Datenquelle und zum Erstellen von Basispaketen bereit. Der Assistent unterstützt u.a. die File-Formate "fixed-width" und CSV. Die Datenstruktur des UT71 ist weiter oben beschrieben. Vorgehensweise:
(1) Rechtsklick auf LabDB/Tasks/Import Data...

Der Import Wizard öffnet sich / Next
(2) Data Source = Flat File auswählen
(3) Allgemeine Einstellungen vornehmen

(4) Spalten spezifizieren im Reiter „Advanced“ mit u.a. Angaben

next
(5) Ziel wählen
next
(6) Edit Mappings

Der automatisch erzeugte Code:
CREATE TABLE [dbo].[UT71Dcapture]
[Temp_gC] real,
[Temp_cfg] smallint,
[RecDel] varchar(2)
)
Es macht Sinn, eine ID-Spalte hinzuzufügen (<CR> mit <CNTRL-CR> eingeben):
CREATE TABLE [dbo].[UT71Dcapture] (
[ID_num] int identity(1,1),
[Temp_gC] real,
[Temp_cfg] smallint,
[RecDel] varchar(2)
)
Die manuellen Änderungen werden in der Vorschau allerdings nicht angezeigt. Tipp: SSIS zickt oft bei Identity-Spalten. Wenn es zu einem Fehler kommt: (i) kontrollieren, ob Tabellenstruktur in der DB angelegt wurde (Tabelle sollte jetzt noch leer sein), (ii) zurückgehen bis Schritt 6 und dort „Create destination table“ abwählen und (iii) den Wizzard fortsetzen wie beim ersten Mal. Nun sollte es klappen.
(7) SSIS-Paket speichern

next

Next
Es wird eine Zusammenfassung angezeigt. Ein interesantes Detail:
Provider mapping file : c:\Program Files (x86)\Microsoft SQL Server\120\DTS\MappingFiles\SSIS10ToMSSQL.XML(8) Finish
(9) Der Statusbericht schaut gut aus

(10) Tabelle überprüfen

Super, alles ok
Weitere UT71-Files importieren
Das Import-Paket befindet sich nicht im DB-Objekt, sondern im IS-Objekt.
(11) Verbindung zum Integration Service herstellen

(12) Unter „Stored Packages/MSDB“ findet sich das UT71-Import-Paket. Nach Rechtsklick darauf, kann es gestartet werden. Hier kann auch das SSIS-Paket exportiert werden.

UT71 Import-Paket editieren
Leider kann dazu der Wizard nicht benutzt werden. Das o.a. Verfahren eignet sich bestens für schnelle Ad-hoc-Importe, ist aber weniger für iterative Weiterentwicklungen geeignet. Wenn Abänderungen absehbar sind, ist es besser, das Paket gleich in Visual Studio zu erstellen. Auch dort gibt es diesen Wizard. Prinzipiell ist es aber möglich, das im SSMS erstellte Paket ins Visual Studio zu bringen. Die nötigen Schritte (mehr Details dazu später):
(13) Im SSMS "Export Package" (s. Schritt 12 oben) auf einem File Share
(14) Starte Visual Studio
(15) Neues Projekt/Vorlagen/Business Intelligence/Integration Services/Integration Services-Projekt
(16) Ansicht/Projektmappen-Explorer darin rechtsklick auf SSIS-Pakete und „Vorhandenes Paket hinzufügen“
(17) dtsx-File von Schritt 13 auswählen
(18) fertig
Resümee
Ein Data-Warehouse für Prozessdaten benötigt in der Basisausführung nur wenige Komponenten. Aufbau und Installation im Microsoft-Umfeld sind einfach und können von jedem IT-affinen Power-User vorgenommen werden. Der Import von "fixed-width"-File wird sehr gut unterstützt und ist einfach durchführbar. Ob diese Aussage auch für andere Formate gilt, werden die Folgebeiträge zeigen.
Die SW-Kosten sind moderat: ab 680,-- € für 10 User im Gebrauchthandel ist man dabei. Eine besondere HW ist nicht erforderlich, ein üblicher Büro-PC ist ausreichend.
 
< Teil 1 | ∧ Seitenanfang | Teil 3 > |