Einfach Komplex macht Software, IT und Technologietrends verständlich – für Entwickler, Laien und Experten gleichermaßen. Zweiwöchentlich liefern wir euch knackige Details zu Softwarearchitektur, Hardware, Cloud Computing, IT/OT, Cybersecurity, KI und sogar zur Smart Factory. Lasst euch für Diskussionen über Digitalisierung, Softwareentwicklung und Tech-Themen fit machen. Alles unkompliziert serviert, aber in seiner ganzen Komplexität. Einfach Komplex ist ein Technologie Podcast und wird präsentiert von Heisenware – dem Low-Code/No-Code Tool für Produktion und Maschinenbau.
Wir haben elf bedeutende Weisheiten bzw. Grundprinzipien der Softwareentwicklung identifiziert und stellen euch diese vor. Burkhard, wie viele andere Entwickler und Entwicklerinnen, leiten diese Prinzipien bei der Entwicklung von Software. Dabei sind die Weisheiten weit über die Softwareentwicklung hinaus von Relevanz. Viele von ihnen lassen sich genauso auf andere Unternehmensbereiche oder das Leben ganz allgemein übertragen. Eigentlich sollten die von uns ausgesuchten elf Prinzipien nur eine E...
XML, YAML und JSON sind gängige Datenformate, die in der Softwareentwicklung verwendet werden, um strukturierte Daten darzustellen und auszutauschen. XML (Extensible Markup Language) ist ein textbasiertes Format, das hierarchische Strukturen mit Tags und Attributen verwendet. YAML (YAML Ain't Markup Language) ist ebenfalls textbasiert, aber weniger formal und leichter lesbar. Es eignet sich gut für Konfigurationsdateien. JSON (JavaScript Object Notation) ist ein datenorientiertes Format, das...
Bei Finite-state machines (FSM), manchmal nur als State Machines bezeichnet, handelt es sich um ein wichtiges Konzept in der Hardware-nahen Softwareentwicklung. Sie helfen bei der Modellierung und Steuerung von Systemen und sind daher äußerst relevant. FSM ermöglichen es, komplexe Verhaltensweisen in klar definierten Zuständen zu organisieren und dadurch die Programmierung zu vereinfachen. Zur Entwicklung von FSM dienen UML (Unified Modeling Language), Ablaufdiagramme und die State-transition Ta...
Die Gegenüberstellung von IT (Information Technology) und OT (Operational Technology) ist wichtig, da sie zwei unterschiedliche Bereiche in Unternehmen repräsentiert: IT umfasst die Verarbeitung von Informationen und Daten, während OT sich auf die Steuerung physischer Prozesse konzentriert. Die Konvergenz von IT und OT ermöglicht optimierte Abläufe, verbesserte Kontrolle und nahtlose Kommunikation. Die Gegenüberstellung hilft, die spezifischen Anforderungen und Herausforderungen jedes Bereichs z...
Heute geht es um die Bedeutung von Verschlüsselung im Internet und wie SSL (Secure Sockets Layer) und TLS (Transport Layer Security) dazu beitragen, unsere Online-Kommunikation sicherer zu machen. Wir sprechen darüber, wie diese Technologien funktionieren und warum es so wichtig ist, sie zu verwenden. Dazu erfährst du, wie der sogenannte TLS-Handshake abläuft, welche Rolle digitale Zertifikate dabei spielen und was eine Certificate Authority (CA) macht. Zuletzt gibt es einen Ausblick auf private...
In dieser Folge haben wir die Mitgründerin und Geschäftsführerin von VisualMakers, Lilith Brockhaus, als Gast, um über das Thema Low-Code- und No-Code-Entwicklung zu sprechen. Wie können Low-Code- und No-Code-Plattformen den Entwicklungsprozess erleichtern, wie funktionieren die Technologien funktionieren und wie sieht der optimale Tool-Stack aus? Außerdem erfahrt ihr alles über Mehrwerte und Vorteile der Verwendung von Low-Code und No-Code, aber auch die Grenzen, die es noch gibt. Natürlich hat...
OPC UA steht für "Open Platform Communications Unified Architecture" und ist ein Industriestandard für die Datenkommunikation zwischen verschiedenen Geräten und Systemen in der industriellen Automatisierung und im IoT. Im Gegensatz zum Vorgängerstandard OPC Classic bzw. OPC DA (Data Access) ist OPC UA objektorientiert und plattformunabhängig. Dadurch bietet OPC UA zahlreiche Features und Vorteile wie z.B. ein flexibles Informationsmodell, einheitliche Datentypen und eine sichere, versc...
Zur standardisierten Kommunikation zwischen Programmen kommt die API (Application Programming Interface) zum Einsatz. Eine API, auch Programmierschnittstelle genannt, ist eine Art Adapter für die dahinter liegende Software. APIs erlauben den Datenaustausch zwischen Programmen und den Aufruf von Softwarefunktionen aus der Ferne. Gängige APIs sind die auf HTTP basierende REST API sowie GraphQL. Für das Internet der Dinge ist eine neue Art von API notwendig, die auf MQTT basiert und Auskunft über E...
Reverse-Proxys erfüllen viele Aufgaben und bringen jede Menge Vorteile mit sich. Reverse-Proxys sind aus modernen Cloud-Anwendungen nicht mehr wegzudenken. Wir erklären, welchen Zweck sie erfüllen, was sie ausmacht und welche Implementierungen es gibt. Natürlich geben wir dazu auch die Grundlagen, um die Technologie richtig einordnen zu können und die Folge inhaltlich verständlich zu gestalten. Lastenverteilung oder Loadbalancing und der Einsatz als API-Gateway sind dabei zwei Anwendungen eines ...
Anwendungen wie Machine Learning und Bitcoin Mining sind extrem rechenintensiv, so dass die CPU nicht mehr für die Berechnung in angemessener Zeit ausreicht. Die GPU eignet sich für diese Zwecke, da sie viele Rechnungen parallel durchführen kann. Wir klären, wie das funktioniert und auf welchen anderen Ebenen zusätzlich parallel gerechnet werden kann. Von nebenläufigen Threads, über verteilte Programme und Servern, bedienen sich Entwicklerinnen und Entwickler verschiedenen Methoden zur schneller...
IT-Sicherheit ist eines der wichtigsten Themen im Bereich der Software, aber auch ganz allgemein in der heutigen Zeit. Heute widmen wir uns zum ersten, sicher nicht zum letzten Mal, diesem Thema. Dafür haben wir uns mit Timo Briddigkeit einen Gast eingeladen, der als IT Security Consultant sein Wissen und seine Erfahrungen in den Podcast einbringt. Timo ist Freelancer im Bereich DevSecOps (Development, Security, Operations) und zusätzlich als Dozent für IT Security tätig. Nach einer akademischen...
In der heutigen Folge geht es um Virtual Private Networks (VPN) und ihre Bedeutung für die Datensicherheit. Wir erklären, wozu VPNs genutzt werden und wie sie funktionieren, sowie welche verschiedenen Arten von VPNs es gibt, wie End-to-Site, Site-to-Site und End-to-End. Darüber hinaus besprechen wir verschiedene Anwendungsfälle von VPNs sowohl für Unternehmen als auch für Privatpersonen. Dabei gehen wir darauf ein, wie VPNs eingesetzt werden können, um beispielsweise den Zugriff auf sensible Dat...
In dieser Folge dreht sich alles um die Unterschiede zwischen Single-Page Applications und Multi-Page Applications. Wir erklären, was diese beiden Konzepte bedeuten, wie sie sich voneinander unterscheiden und welche Vor- und Nachteile sie jeweils haben. Es geht um Geschwindigkeit, Sicherheit, Analytics und vieles mehr. Dabei gehen wir auch auf die Technologien ein, die für die Umsetzung dieser Anwendungen genutzt werden. Dazu gehören unter anderem HTML, CSS und JavaScript (JS). Natürlich kommen ...
Eine Episode rund um Tools und Prozesse in der Softwareentwicklung. Du erfährst, welche Phasen es in der Entwicklung von Software gibt und welche bewährten Praktiken und Tools sich dort durchgesetzt haben. Wir nehmen dich mit in verschiedene Rollen, von Softwarearchitekt*in, über Entwickler*in bis zu Tester*innen. Du erfährst, warum kein Weg an einer IDE (Integrated Development Environment) vorbeigeht und wieso auch technische Schulden keine guten Schulden sind. Natürlich klären wir auch, wie ma...
Open steht für Offenheit, Transparenz und Zusammenarbeit. Ausgehend von diesen Werten prägt und fördert die Open Source Initiative ( https://opensource.org/ ) Open-Source-Software. Open Source ist aus keiner modernen Anwendung wegzudenken. Daher widmen wir uns in dieser Folge dem Thema Open Source und welche Vorteile es bietet. Wir besprechen die verschiedenen Arten von Open-Source-Lizenzen und welche Auswirkungen diese auf die Verwendung von Software haben können. Wir stellen auch die wichtigst...
Heute sprechen wir über SCADA (Supervisory Control and Data Acquisition) und dessen veränderte Rolle im Zeitalter des Internet der Dinge (IoT). SCADA-Systeme werden in der industriellen Steuerungs- und Leittechnik eingesetzt, um Daten zu erfassen, Prozesse zu überwachen und zu steuern. Wir diskutieren, wie SCADA-Systeme in der Vergangenheit eingesetzt wurden und wie sie sich im Kontext des IoT verändert haben. Burkhard wird aus seiner Vergangenheit am European XFEL, einer Forschungseinrichtung i...
Alle, die sich mit dem Internet der Dinge beschäftigen, kommen an MQTT ( https://mqtt.org/ ) nicht vorbei. MQTT steht für Message Queuing Telemetry Transport. Es ist das vorherrschende Protokoll im IoT, da es speziell für den Anwendungsfall entwickelt wurde. Zur richtigen Einordnung von MQTT klären wir jedoch auch die Grundlagen von Netzwerken wie dem Internet, von Netzwerktopologien und die Basics von anderen wichtigen Protokolle wie UDP, TCP und HTTP. Im Kern der Folge geht es dann allerdings ...
Datenbanken sind ein integraler Teil von Software- und IT-Systemen und wichtiger Teil des Tech-Stacks jeder Softwareanwendung. In dieser Folge erfährst du, was Datenbanken sind und warum sie für Software-Systeme, insbesondere das Backend, so wichtig sind. Es wird auch erklärt, welche Anforderungen an Datenbanken gestellt werden. Es gibt verschiedene Typen von Datenbanken, einschließlich relationaler Datenbanken, NoSQL-Datenbanken und Zeitreihendatenbanken, die unterschiedliche Anforderungen und ...
Ab der Hälfte der Folge nimmt leider die Tonqualität ab, da uns eine Spur ausgefallen ist. Das tut uns leid! "Software is eating the world" schrieb Marc Andreessen in 2011. Heute müsste man sagen: "Software-as-a-Service is eating the software that is eating the world". SaaS ist allgegenwärtig. Insbesondere im privaten Bereich ist die Nutzung von modernen Webanwendungen völlig normal geworden. Auch auf Unternehmensseite nimmt die Nutzung von SaaS-Tools immer weiter zu. On-premise Deployments von ...
ChatGPT, eine KI (Künstliche Intelligenz) von der Firma OpenAI, mit der man chatten kann und der (fast) das gesamte Wissen des Internets vorliegt, ist das bestimmende Tech-Thema der letzten Wochen. Daher gibt diese Folge einen Überblick über die Grundlagen von KI (engl. Artificial Intelligence oder AI) und über maschinelles Lernen (engl. Machine Learning). Die Folge beleuchtet den Entstehungsprozess von KI bzw. von neuronalen Netzen, von der Programmierung eines Modells, über das Training des Mo...
Was ist eigentlich Software und aus welchen Bestandteilen besteht Programmcode? Das sind die Leitfragen unserer heutigen Folge. Dabei starten wir mit den Grundlagen. Computer sind in der Lage, Binärcode zu verstehen. Es gibt aber auch noch andere Zählsysteme wie das Hexadezimalsystem, die in der Informatik genutzt werden. Was sind Mappings und welche Informationen enthält die ASCII-Tabelle? Bei den Bestandteilen von Programmcode untersuchen wir Datentypen, Funktionen, Software-Bibliotheken und v...
In dieser Episode werden Microservices und ihre Architektur erläutert, beginnend mit einer Definition und den Vorteilen gegenüber monolithischer Software. Es wird die Rolle von Docker-Containern bei der Kapselung und Bereitstellung von Microservices untersucht, sowie die Grenzen und Anwendungsfälle, in denen monolithische Software sinnvoller sein kann. Abschließend wird ein Ausblick auf Kubernetes gegeben, um die Orchestrierung und Skalierung von Microservices zu beleuchten.
Agile Methoden der Softwareentwicklung basieren auf iterativen Prozessen und ergänzen die klassischen Entwicklungsmethoden wie das Wasserfallmodell. In vielen Fällen lösen Sie diese sogar komplett ab. Die am häufigsten eingesetzten Methoden für die agile, iterative Softwareentwicklung sind Kanban und Scrum. Im Podcast lernst du die wichtigsten Merkmale sowie Hauptunterschiede der zwei Methoden kennen. Planbarkeit, vor allem bei der Entwicklung neuer Softwarelösungen, ist extrem wichtig. Doch Feh...
Herzlich willkommen! Schön, dass du reinhörst. Heute stellen wir uns und unseren Podcast vor. Wir, das sind Dr. Burkhard Heisen ( https://www.linkedin.com/in/burkhard-heisen/ ) und Gerrit Meyer ( https://www.linkedin.com/in/gerrit-meyer/ ) von der Heisenware. Hoffentlich hast du viel Freude mit unserem Podcast und kannst etwas für dein Privat- oder Berufsleben mitnehmen. --- Einfach Komplex ist ein Podcast von Heisenware. Alle Infos und Kontakte findest du im Linktree: https://li...