Skip to main content
Webware-Experts OHG Webware-Experts OHG

Projektumsetzung

Die Umsetzung eines Projekts erfolgt mit einer spezifisch ausgewählten Software- und System-Engineering-Methode, die auf die Bedürfnisse Ihres Unternehmens zugeschnitten ist. Je nach Projektcharakter unterstützen wir klassische Ansätze, die die Erstellung von Pflichtenheften umfassen, ebenso wie agile Methoden wie Scrum oder Kanban. In der Projektrealisierung unterscheiden wir zwischen der Design- und Implementierungsphase, deren Ausführung methodenabhängig ist und auch simultan erfolgen kann.

Projektumsetzung

Vor der Implementierung einer Applikation oder Plattform sind Designentscheidungen nötig. Diese umfassen die Entwicklung einer Architektur, die sowohl funktionale als auch nicht-funktionale Ziele einbezieht und vorhandene Technologien optimal nutzt. Zusätzlich ist die User Experience entscheidend für die Akzeptanz der Lösung, die durch den Einsatz modernster Frontend-Technologien gewährleistet wird.

Architekturentwicklung

Die Entwicklung der technischen Architektur folgt einer gründlichen Anforderungsanalyse. Diese Architektur berücksichtigt Hardware-, Kommunikations- und Softwarekomponenten und richtet sich nach spezifischen Kundenbedürfnissen. Wesentliche Fragen umfassen:

  • Ist das Projekt eine Neuentwicklung oder eine Erweiterung?
  • Existieren technologische Vorgaben, wie z. B. der Einsatz spezifischer Technologien?
  • Wie umfangreich ist die Integration von Alt- oder Bestandssystemen?
  • Welche Art der Entwicklung ist gefordert (z. B. B2B-Applikationen, Automatisierungsprojekte, IIoT mit Edge-Computing)?
  • Welche Datenmengen sind in welchen Zeiträumen zu verarbeiten?
  • Wer sind die Endnutzer, und über welche Kanäle (Web, Mobile) erfolgt der Zugriff?
  • Welche Systemkomplexität und welche Anforderungen an die Wartbarkeit bestehen?
  • Welche Ausfallsicherheit ist erforderlich?

Die Architekturentwicklung erfolgt unter Einsatz der Unified Modeling Language (UML) und wird damit standardisiert dokumentiert. Dabei nutzen wir etablierte Architekturmuster sowie innovative Ansätze für den Einsatz von Cloud-Technologien und Microservices. Dies ermöglicht eine effektive und zukunftssichere Systemgestaltung.

Frontend-Design

Wir entwerfen ergonomische Frontend-Systeme, die speziell auf das jeweilige Anwendungsgebiet zugeschnitten sind und die User Experience in den Vordergrund stellen. Unsere User Interfaces umfassen:

  • moderne, dynamische HTML5-Webapplikationen
  • mobile Applikationen mit Unterstützung für mehrere Plattformen
  • fortschrittliche Augmented-Reality- und Virtual-Reality-Applikationen

Wir integrieren auch komplexe Datenvisualisierungen, die sich auf dynamische Datenbestände beziehen, und unterstützen Multimedia-Elemente wie Audio, Video und 3D-Grafiken.

Backend-Design

Die Entwicklung unserer Backend-Systeme berücksichtigt vielfältige Anforderungen, um eine optimale Funktionalität und Integration zu gewährleisten. Dabei achten wir auf:

  • die Auswahl der Zielplattform, von ARM-basierten Embedded-Systemen bis hin zu Multi-Server- und Cloud-Systemen
  • den Funktionsumfang und die Komplexität der Anwendung, von einfachen bis zu hochkomplexen Systemen
  • Erweiterbarkeit, Flexibilität und Wartbarkeit, oft umgesetzt durch Microservice-Architekturen
  • hohe Performance und Skalierbarkeit, unterstützt durch den Einsatz angepasster Datenbanktechnologien, effizienter Protokolle und moderner Hardware, einschließlich spezialisierter Lösungen für Machine Learning und KI

Diese Faktoren ermöglichen es uns, maßgeschneiderte Backend-Lösungen zu entwerfen, die sowohl aktuellen als auch zukünftigen Anforderungen gerecht werden.

Projektumsetzung

Systemdesign im Industriekontext

Unsere Design- und Entwurfsleistungen umfassen auch komplexes Systemdesign, das weit über reines Softwaredesign hinausgeht. Ein Beispiel dafür ist der Entwurf einer Edge-Computing-Lösung:

  • Messparameter: Bestimmung der physikalischen Größen, die gemessen werden müssen, einschließlich der erforderlichen Wertebereiche
  • Zeitliche Auflösung: Festlegung der erforderlichen Messintervalle zur optimalen Überwachung
  • Sensorauswahl: In enger Abstimmung mit dem Auftraggeber wählen wir passende Sensoren aus und berücksichtigen konstruktionsseitige Anforderungen
  • Schnittstellenwahl: Entscheidung für geeignete Schnittstellen wie IO-Link oder Stromschleifenschnittstellen, einschließlich der Integration von ADCs für präzise Analog-Digital-Umwandlungen
  • Softwaregestaltung: Entwurf von Softwarekomponenten, die hohe Abtastraten unterstützen, unter Einbeziehung asynchroner Algorithmen mit Backpressure-Funktionalität, um eine effiziente und störungsfreie Datenerfassung zu sichern

Design von Ablaufumgebungen unter Nutzung erarbeiteter Applikations-, System- oder Plattformarchitekturen

Die Gestaltung der Ablaufumgebung ist ein zentraler Bestandteil jeder System- und Plattformarchitektur, mit unterschiedlichen Designs entsprechend den spezifischen Anforderungen:

  • Bare-Metal-Ablaufumgebung: ideal für Hardware mit begrenzten Ressourcen wie Embedded-Systeme oder IoT-Gateways. Diese Umgebung wird auch für spezielle Hardware wie GPUs oder KI-Hardware eingesetzt, um maximale Performance zu erzielen.
  • Docker-basierte Ablaufumgebung: nutzt Container-Technologie zur effizienten Implementierung verschiedener Entwicklungs- und Integrationsstufen. Geeignet für traditionelle Applikationen, die moderne Umgebungen benötigen.
  • Kubernetes-Cluster auf Cloud-Basis: für komplexe, moderne Applikationen, die eine Microservice-Architektur nutzen. Diese Umgebung ist optimal für ausfallsichere und hochskalierbare Anwendungen.

In enger Abstimmung mit dem Auftraggeber wählen wir passende Technologien und Schnittstellen, wie IO-Link oder Stromschleifenschnittstellen. Dies schließt die Integration von ADCs für eine hohe Abtastrate und die Nutzung asynchroner Algorithmen mit Backpressure zur Gewährleistung einer störungsfreien Datenübernahme ein.

Service-/API-Design im Kontext von komplexen Plattformen

Wir haben umfassende Erfahrungen in der Entwicklung, Implementierung und im Betrieb von Plattformen. Ein Beispiel hierfür ist die Entwicklung einer IIoT-Plattform, die weltweit für die zentrale Überwachung von Maschinensystemen eingesetzt wird. Um eine standardisierte Übertragung der Überwachungssignale zu ermöglichen, gestalten wir Services, die mittels wohldefinierter APIs die Daten entgegennehmen. Diese APIs werden auf Anwenderseite, beispielsweise über IoT-Gateways, genutzt, um die Signale effizient an die zentrale Plattform zu senden.

Projektumsetzung

Nach gründlicher Anforderungsanalyse und Designentwicklung beginnen wir mit der Implementierungsphase der Applikation oder Plattform. Wir nutzen Continuous-Delivery- und Continuous-Deployment-Verfahren, um schnell greifbare Zwischenergebnisse zu erzielen. Diese Ergebnisse werden frühzeitig mit dem Auftraggeber abgestimmt, was eine flexible und agile Entwicklung ermöglicht. Dieser Ansatz fördert schnelle Iterationen und Anpassungen auf Basis fortlaufenden Feedbacks.

Frontend-Implementierung

Eine effektive User-Interface-Gestaltung ist entscheidend für die Akzeptanz einer Applikation und deren Beitrag zur Verbesserung von Geschäftsprozessen. Wir bieten die Implementierung von drei Haupttypen von Frontend-Applikationen:

  • HTML5-basierte Frontends: Entwickelt mit JavaScript, TypeScript, CSS3 und Frameworks wie Angular, Vue.js oder Bootstrap. Diese Applikationen sind darauf ausgerichtet, benutzerfreundlich, ansprechend, responsiv und leistungsstark zu sein.
  • Erweiterte HTML5-Applikationen: Zusätzlich zu den Standardfunktionen bieten wir Echtzeitvisualisierungen, die Integration von Live-Audio und -Video sowie dynamische 3D-Visualisierungen mit Technologien wie WebSockets, Canvas und WebGL.
  • Mobile Applikationen: Für iOS und Android entwickeln wir mobile Apps mit dem modernen Framework Flutter, das eine effiziente Multiplattform-Entwicklung ermöglicht. Dies gewährleistet ein gutes Preis-Leistungs-Verhältnis und eine hohe Benutzerfreundlichkeit.

Backend- und Plattformimplementierung

Die Backend-Implementierung von Applikationen oder ganzen Plattformen kann mit unterschiedlichen Strategien und Technologien umgesetzt werden.

Enterprise-Applikationen mit Java:

  • Enterprise Java Stack
  • Spring und Spring Boot: Einsatz für moderne Cloud-Applikationen, insbesondere auf Cloud Foundry

Microservicebasierte Backend-Lösungen:

  • Einsatz von Microservices, typischerweise auf Kubernetes-Clustern deployt
  • Verwendung der Programmiersprache Go für effiziente, microserviceorientierte Architekturen ohne zusätzliche Runtime-Umgebungen

Enterprise-Applikationsintegration:

  • Integration mit bestehenden Systemen unter Verwendung von Middleware und Messaging-Systemen, um eventgesteuerte Kommunikationsstrukturen und lose Kopplung zu ermöglichen

Backend-Lösungen mit zusätzlichen Anforderungen:

  • Relationale Datenbanken: MySQL, PostgreSQL, Oracle für allgemeine Datenanforderungen
  • Spezialisierte NoSQL-Datenbanken:
    • InfluxDB: zur Erfassung und Analyse großer zeitbezogener Datenmengen, z. B. für Predictive Maintenance
    • Dgraph: zur detaillierten Abbildung komplexer Datenbestände, insbesondere für Maintenance-Aktivitäten und Lifecycle Management

Diese vielseitigen Backend-Strategien ermöglichen es uns, maßgeschneiderte Lösungen zu entwickeln, die sowohl effiziente Performance als auch nahtlose Integration mit bestehenden Systemen bieten.

Systemimplementierung im Industriekontext

Wir bieten umfassende Lösungen für die Implementierung industrieller Systeme, die Softwarekomponenten, Sensoren, Embedded-Systeme, IoT-Gateways, KI-Hardware, industriefähige Serversysteme und optimierte Private-Cloud- oder Edge-Computing-Lösungen umfassen. Unsere Dienstleistungen beinhalten:

  • Automatisierung und intelligente Objekterkennung für intralogistische Aufgaben
  • OEE-basierte Produktions- und Prozessüberwachung zur Effizienzsteigerung
  • Langzeitmesskampagnen mit Sensordaten, inklusive Big-Data-Analysen und Datenvisualisierungen
  • Predictive Maintenance und Quality, basierend auf modernen Edge-Computing- und Private-Cloud-Lösungen mit Kubernetes
  • Sensortechnologie für verschiedene physikalische Größen, unterstützt durch Standards wie IO-Link und Stromschleifenschnittstellen
  • Embedded-Systeme auf Basis von Arm-Cortex-Prozessoren und Programmierung in C, C++ und Rust
  • Edge Computing mit den Programmiersprachen C++ und Go
  • Kommunikationsstandards wie TCP/IP, HTTP/2, OPC UA, MQTT, REST, JSON, Protocol Buffers und gRPC
  • KI-Hardware und GPU-beschleunigte Lösungen wie Jetson Nano, Jetson AGX Xavier und Kendryte K210, einschließlich der Implementierung von Algorithmen mit OpenCL, CUDA, TensorRT sowie TensorFlow

Diese umfassenden Dienstleistungen ermöglichen es uns, anspruchsvolle industrielle Anwendungen zu realisieren, die präzise auf die spezifischen Anforderungen Ihres Unternehmens zugeschnitten sind.

Implementierung von konkreten Private-Cloud-Instanzen

Wir spezialisieren uns auf den Aufbau eigener Private-Cloud-Instanzen basierend auf Kubernetes. Die Implementierung einer Private Cloud bietet Unternehmen signifikante Vorteile:

  • Erhöhte IT-Sicherheit: Besonders in Bezug auf die Datensicherheit bietet eine Private Cloud einen deutlichen Mehrwert gegenüber Public-Cloud-Lösungen.
  • Reduzierte Betriebskosten: Vor allem bei langfristigem Betrieb spezifischer Applikationen mit konstantem Workload erweist sich eine Private Cloud als kosteneffizient.

Die Private Cloud ermöglicht es, die IT-Infrastruktur flexibel an neue Anforderungen anzupassen und effizienter zu gestalten. Sie lässt sich zudem genau auf die spezifischen Bedürfnisse eines Unternehmens zuschneiden. Bei Bedarf unterstützen wir auch den laufenden Betrieb der Cloud sowie den Aufbau von Technologie-Know-how, um eine optimale Nutzung zu gewährleisten.

Projektumsetzung