Was ist ein ERP-System?

ERP steht für „Enterprise Resource Planning“ (deutsch: Unternehmensressourcenplanung). Es handelt sich um eine umfassende Softwarelösung, die in Unternehmen und Organisationen eingesetzt wird, um verschiedene Geschäftsprozesse zu integrieren, zu automatisieren und zu optimieren. Die Hauptziele eines ERP-Systems sind die Verbesserung der Effizienz, der Transparenz und der Steuerung von Geschäftsabläufen.

Ein typisches ERP-System bietet eine zentrale Datenbank, in der Informationen aus verschiedenen Abteilungen und Geschäftsfunktionen zusammengeführt werden. Diese Datenbank enthält Daten zu Bereichen wie Finanzen, Buchhaltung, Personalwesen, Produktion, Lagerverwaltung, Einkauf, Vertrieb, Kundenbeziehungsmanagement (CRM) und mehr.

Die wichtigsten Funktionen und Merkmale eines ERP-Systems umfassen:

  1. Integration: Es ermöglicht die nahtlose Integration von Daten und Prozessen in verschiedenen Abteilungen und Geschäftsfunktionen.
  2. Automatisierung: ERP-Systeme automatisieren repetitive Aufgaben und Prozesse, um menschliche Fehler zu minimieren und die Effizienz zu steigern.
  3. Berichterstattung und Analyse: Sie bieten umfassende Berichterstattung und Analysefunktionen, um Geschäftsdaten in verwertbare Erkenntnisse umzuwandeln.
  4. Bestandsverwaltung: Die Überwachung und Steuerung von Lagerbeständen und Lieferkettenprozessen ist ein wichtiger Bestandteil vieler ERP-Systeme.
  5. Finanzmanagement: Sie unterstützen Buchhaltungs- und Finanzprozesse, wie Buchführung, Budgetierung und Finanzberichterstattung.
  6. Personalwesen: ERP-Systeme verwalten Mitarbeiterdaten, Gehaltsabrechnungen, Zeit- und Anwesenheitsmanagement.
  7. Produktion und Fertigung: In Fertigungsunternehmen unterstützen ERP-Systeme die Planung, Steuerung und Überwachung der Produktionsprozesse.
  8. Kundenbeziehungsmanagement (CRM): Einige ERP-Systeme bieten CRM-Funktionen zur Verwaltung von Kundeninformationen, Verkaufschancen und Kundenkontakten.
  9. Compliance und Sicherheit: Sie helfen bei der Einhaltung gesetzlicher Vorschriften und bieten Sicherheitsmaßnahmen zum Schutz sensibler Unternehmensdaten.

ERP-Systeme sind vielseitig und können je nach Branche und Unternehmensgröße angepasst werden. Sie sind in der Lage, die Effizienz und Transparenz in einem Unternehmen erheblich zu steigern, da sie Daten und Prozesse in Echtzeit verwalten und Geschäftsentscheidungen auf aktuelle Informationen stützen können.




5 bekannte Open-Source-Tools für das Projektmanagement

  1. OpenProject: OpenProject ist eine webbasierte Open-Source-Projektmanagement-Software, die Funktionen für die Projektplanung, Aufgabenverwaltung, Dokumentenverwaltung und Teamzusammenarbeit bietet. Es ist eine beliebte Wahl für Open-Source-Projektmanagement.
  2. Taiga: Taiga ist eine Open-Source-Plattform für agiles Projektmanagement und die Verfolgung von Aufgaben. Es wurde speziell für Softwareentwicklungsteams entwickelt und unterstützt verschiedene agile Methoden.
  3. Redmine: Redmine ist eine flexible Open-Source-Software, die für das Projektmanagement, die Fehlerverfolgung und die Dokumentation eingesetzt werden kann. Es bietet eine breite Palette von Plugins und Anpassungsmöglichkeiten.
  4. Odoo Project: Odoo ist eine Open-Source-ERP- und Geschäftsmanagementplattform, die auch ein Modul für das Projektmanagement enthält. Es ermöglicht die Verwaltung von Projekten, Aufgaben und Ressourcen.
  5. ProjectLibre: ProjectLibre ist eine Open-Source-Alternative zu Microsoft Project und bietet Funktionen zur Erstellung von Gantt-Diagrammen, Zeiterfassung und Ressourcenverwaltung.



Quelloffene Webseiten Zugriffstatistik mit Motomo (ehemals Piwik)

Wenn Sie Ihre Website-Statistik selbst verwalten und nicht auf Google Analytics und Co. angewiesen sein wollen, könnte für Sie Open Source Alternative Motomo (ehemals Piwik) interessant sein

Prozess:

  1. Mariadb Datenbank anlegen
  2. Matomo auf dem Server runterladen und entpacken, ggf. Dateirechte anpassen (chmod)
  3. Matomo Setup aufrufen: domain.de/motomo
  4. Datenbank Zugangsdaten und Login-Userdaten eingeben
  5. Tracking Code in im Header einfügen bspw. bei WordPress: /var/www/vhosts/domain/httpdocs/wp-content/themes/colormag/header.php
  6. unter domain.de/motomo anmelden und Zugriffsstatistik ansehen

Howto:

wget https://builds.matomo.org/matomo.zip && unzip matomo.zip




THW-Rettungseinsätze mit Drohnen

Der Einsatz von Drohnen beim Technischen Hilfswerk (THW) hat sich in den letzten Jahren zu einem wichtigen Werkzeug für die Rettung und Erkundung entwickelt. Hier sind einige Aspekte, wie Drohnen beim THW in Rettungseinsätzen verwendet werden:

  1. Luftaufnahmen und Lageerkundung:

    • Drohnen können schnell und effizient Luftaufnahmen von Einsatzorten liefern. Diese Bilder und Videos werden dann zur Lagebeurteilung genutzt, um einen Überblick über das Ausmaß von Katastrophen oder Unfällen zu erhalten. Dies ist besonders nützlich bei Naturkatastrophen wie Überschwemmungen, Erdbeben oder Waldbränden.

  2. Such- und Rettungseinsätze:

    • Drohnen können mit Wärmebildkameras oder anderen Sensoren ausgestattet werden, um nach Vermissten zu suchen, insbesondere in schwer zugänglichen Gebieten. Die Daten können Echtzeitinformationen liefern, die bei der effektiven Koordination von Rettungsteams helfen.

  3. Dokumentation von Schäden:

    • Bei Naturkatastrophen oder Unfällen können Drohnen genutzt werden, um detaillierte Bilder von Schäden an Gebäuden, Infrastruktur und anderen Einrichtungen zu erfassen. Diese Informationen sind wichtig für die Planung von Rettungs- und Wiederaufbaumaßnahmen.

  4. Kommunikationsinfrastruktur:

    • Drohnen können als fliegende Kommunikationsrelais eingesetzt werden, um die Kommunikation in Gebieten mit eingeschränkter oder unterbrochener Netzabdeckung aufrechtzuerhalten. Dies ist besonders wichtig, wenn herkömmliche Kommunikationswege zusammengebrochen sind.

  5. Transport von Ausrüstung:

    • Kleinere Drohnen können dazu verwendet werden, leichte Ausrüstung oder Medikamente zu bestimmten Orten zu transportieren, insbesondere wenn herkömmliche Transportmittel nicht zugänglich sind.

  6. Verkehrsüberwachung:

    • Drohnen können genutzt werden, um den Verkehr rund um den Einsatzort zu überwachen und so die Sicherheit der Rettungsteams und anderer Beteiligter zu gewährleisten.

Es ist wichtig zu betonen, dass der Einsatz von Drohnen beim THW nicht nur technologische, sondern auch ethische und rechtliche Überlegungen mit sich bringt. Datenschutz, Privatsphäre und die Einhaltung von Flugbeschränkungen sind entscheidende Faktoren, die bei der Nutzung von Drohnen im Rahmen von Rettungseinsätzen beachtet werden müssen.




Rolle der Mathematik in der IT-Sicherheit

Mathematik spielt eine entscheidende Rolle in verschiedenen Bereichen der IT-Sicherheit. Hier sind einige Bereiche, in denen Mathematik eine wesentliche Bedeutung hat:

  1. Kryptographie: Kryptographie ist die Wissenschaft der Verschlüsselung und Entschlüsselung von Informationen. Mathematische Konzepte wie Modulare Arithmetik, Zahlentheorie und algebraische Strukturen sind grundlegend für die Entwicklung von Verschlüsselungsalgorithmen und Sicherheitsprotokollen. RSA, ECC (Elliptic Curve Cryptography), und viele andere Verschlüsselungsalgorithmen basieren auf mathematischen Prinzipien.
  2. Hash-Funktionen: Hash-Funktionen sind mathematische Algorithmen, die Eingabedaten in eine feste Länge von Zeichen umwandeln. Sie werden in vielen Sicherheitsanwendungen verwendet, einschließlich der Integritätsprüfung von Daten und der Speicherung von Passwörtern.
  3. Zufallszahlengeneratoren: Zufallszahlengeneratoren sind wichtig für die Erzeugung von kryptografisch sicheren Zufallszahlen, die in Verschlüsselung und Authentifizierung verwendet werden. Die mathematische Qualität von Zufallszahlengeneratoren ist entscheidend für die Sicherheit von Anwendungen.
  4. Protokollanalyse und -design: Bei der Analyse und Gestaltung von Sicherheitsprotokollen werden mathematische Modelle verwendet, um die Sicherheitseigenschaften zu bewerten und Schwachstellen zu identifizieren. Formale Methoden, die auf mathematischer Logik basieren, werden manchmal für die Überprüfung der Sicherheit von Protokollen eingesetzt.
  5. Fehlerkorrigierende Codes: In sicherheitskritischen Systemen, wie beispielsweise in der Raumfahrt oder bei sicherheitsrelevanten Kommunikationssystemen, werden mathematische Codes zur Fehlererkennung und Fehlerkorrektur eingesetzt.
  6. Kombinatorik und Sicherheitsanalysen: Die Kombinatorik und Wahrscheinlichkeitstheorie werden verwendet, um Sicherheitsanalysen durchzuführen, einschließlich der Analyse von Angriffsszenarien, der Bewertung von Risiken und der Wahrscheinlichkeit von Sicherheitsverletzungen.
  7. Machine Learning und KI-Sicherheit: In der Sicherheit von künstlicher Intelligenz und maschinellem Lernen werden mathematische Modelle für die Entwicklung von Algorithmen zur Erkennung von Anomalien, Intrusion Detection und anderen Sicherheitsaufgaben verwendet.
  8. Kryptowährungen und Blockchain: Mathematische Konzepte, insbesondere in den Bereichen Kryptographie und verteilte Systeme, sind grundlegend für Kryptowährungen und Blockchain-Technologien.

Die Anwendung mathematischer Prinzipien in der IT-Sicherheit ermöglicht es, Sicherheitsmechanismen zu verstehen, zu analysieren, zu entwerfen und zu verbessern. Mathematik bietet die theoretische Grundlage für viele Sicherheitsaspekte und ist ein unverzichtbares Werkzeug für Sicherheitsexperten und -ingenieure.




Einfacher Taschenrechner mit Java Server Pages (JSP) erstellen und Tomcat unter Ubuntu installieren

apt update
apt install default-jdk
apt install tomcat9
systemctl start tomcat9
systemctl enable tomcat9

// Usernames und Passworte anpassen:
nano /etc/tomcat9/tomcat-users.xml

systemctl restart tomcat9

nano /var/lib/tomcat9/webapps/ROOT/index.jsp
cd /var/lib/tomcat9/webapps/ROOT/
ls
mv index.html index.html_bak
ls
nano index.jsp

Quellcode index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <title>Einfacher Taschenrechner</title>
</head>
<body>
    <h1>Einfacher Taschenrechner</h1>
    <form method="post" action="index.jsp">
        <input type="text" name="num1" placeholder="Zahl 1" required>
        <select name="operator" required>
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select>
        <input type="text" name="num2" placeholder="Zahl 2" required>
        <input type="submit" value="Berechnen">
    </form>

    <%-- Java-Code für die Berechnung --%>
    <%
        String num1Str = request.getParameter("num1");
        String num2Str = request.getParameter("num2");
        String operator = request.getParameter("operator");
        double result = 0;

        if (num1Str != null && num2Str != null && operator != null) {
            try {
                double num1 = Double.parseDouble(num1Str);
                double num2 = Double.parseDouble(num2Str);

                switch (operator) {
                    case "+":
                        result = num1 + num2;
                        break;
                    case "-":
                        result = num1 - num2;
                        break;
                    case "*":
                        result = num1 * num2;
                        break;
                    case "/":
                        if (num2 != 0) {
                            result = num1 / num2;
                        } else {
                            out.println("<p style='color:red;'>Fehler: Division durch Null.</p>");
                        }
                        break;
                    default:
                        out.println("<p style='color:red;'>Ungültiger Operator.</p>");
                        break;
                }
            } catch (NumberFormatException e) {
                out.println("<p style='color:red;'>Fehler: Bitte geben Sie gültige Zahlen ein.</p>");
            }
        }
    %>

    <%-- Anzeige des Ergebnisses --%>
    <%
        if (num1Str != null && num2Str != null && operator != null) {
            out.println("<p>Ergebnis: " + result + "</p>");
        }
    %>

</body>
</html>

Webapplikation im Browser aufrufen:

http://10.0.0.5:8080/index.jsp




Was ist Kotlin?

Kotlin ist die bevorzugte Sprache für die Android-Entwicklung, neben Java. Kotlin kommt auch in anderen Bereichen wie bspw. Webentwicklung und Serverseitiger Entwicklung zum Einsatz. Kotlin wurde von der Firma JetBrains entworfen und soll Java Code vereinfachen ist aber vollständig mit Java kompatibel.




Gunicorn als Python-Entwicklungsumgebung produktiv nutzten – automatische Aktualisierung der App nach Codeänderungen

Standartmäßig muss man Gunicorn nach jeder Änderung des Python-Codes neu starten, das ist bei vielen kleinen Änderungen die nicht auf einen Schlag erfolgen sehr zeitaufwendig. Alternativ kann man bspw. die interne Flask Entwicklungsumgebung nutzten die autoamtische Aktualisierung der App standartmäßig ermöglicht, Problem dabei ist, dass bspw. Mehrfachdatenbankzugriffe hiermit standartmäßig nicht funktionieren.

Mit dem Programm Watchdog und einem kleinen Batchscript lässt sich das Problem umschiffen, das angegebene Verzeichnis bemerkt Veränderungen an Python Dateien und startet daraufhin Gunicorn neu:

pip install watchdog

nano watchdog_gunicorn.sh

#!/bin/bash

# Gunicorn starten
cd /DEVELOP
gunicorn -w 4 -b 0.0.0.0:8000 app:app

# Überwachungsverzeichnis festlegen (Ändern Sie 'your_code_directory' entsprechend)
WATCH_DIR="/DEVELOP"

while true; do
    # Änderungen in Ihrem Codeverzeichnis mit 'watchmedo' überwachen
    watchmedo auto-restart --recursive --directory "$WATCH_DIR" --pattern="*.py" -- gunicorn -w 4 -b 0.0.0.0:8000 app:>
done

chmod +x watchdog_gunicorn.sh

./watchdog_gunicorn.sh




Samba Share unter Ubuntu erstellen

Samba installieren:

apt-get install samba

Freigabe in der smb.conf eintragen:

User erstellen und Passworte setzten (samba User und Systemuser sollten das gleiche Passwort haben):

useradd raid5pool

passwd -a raid5pool

smbpasswd -a raid5pool

Verzeichnisberechtigung und Eigentümer für Samba Share konfigurieren

chown raid5pool:raid5pool -R /raid5pool

chmod 755 /raid5pool

Samba Dienst neu starten:

sudo service smbd restart

Zugriff im Dateimanager / Windows Explorer testen:




ZFS Pool raidz1 (entspricht einem RAID5) unter Ubuntu anlegen

  1. ZFS installieren:

apt install zfsutils-linux

2. alle Festplatten für das raidz anzeigen lassen, gesucht werden die HDDs mit >1 Terrabyte Kapazität:

fdisk -l | grep TiB

3. Festplatten dem zpool (RAID) hinzufügen:

zpool create -f raid5pool raidz /dev/sdb /dev/sdc /dev/sdd

4. Zustand des RAID anzeigen:

zpool status