GEDOPLAN
IT Beratung Infografik
Beratung und Softwareentwicklung

Unser Prozess

Analyse

In einem ersten Gespräch beschreiben Sie uns Ihre Ausgangssituation und Ihren Bedarf. Das Gespräch führen wir als Online-Meeting oder auch bei Ihnen durch. Es ist vollkommen unverbindlich und kostenfrei.

Auf Basis der Ausgangssituation erstellen wir ein Positionsdokument als Entscheidungsgrundlage für das weitere Vorgehen. In vielen Fällen bietet es sich an, eine Detailanalyse durchzuführen, die dann die Realisierungsmöglichkeiten mit den jeweiligen Vorteilen, Risiken und Aufwänden darstellt. Dieses Analyseprojekt benötigt erfahrungsgemäß zwei bis fünf Tage. Als Ergebnis erhalten Sie eine ausführliche Ausarbeitung, mit der Sie in die Realisierung Ihres Vorhabens einsteigen können.

Konzeption

Wir wählen mit Ihnen die optimale Systemarchitektur aus bewährten Technologien aus. Das kann der sog. Full Stack nach dem Standard Jakarta EE (vormals Java EE) sein, bei dem die Anwendungen schließlich auf einem Application Server wie JBoss/WildFly, IBM WebSphere, Open Liberty oder Payara betrieben werden.

Alternativ kann auch eine Microservice-Architektur auf Basis von Spring Boot oder Quarkus zum Einsatz kommen. Der Server befindet sich dabei eingebettet in der Anwendung, muss also nicht separat bereitgestellt werden.

Wir schlagen die Tools und Frameworks für Konzeption und Entwicklung vor, mit denen wir gute Erfahrungen gemacht haben, und zeigen auf, wie die Integration in Ihr bestehendes IT-Umfeld erfolgen kann.

Modellierung

Die fachliche Modellierung erfolgt in engem Dialog mit Ihren System-Nutzern. Wir beschreiben die Anforderungen in Use Cases und überprüfen sie gemeinsam, um Missverständnisse zu vermeiden.Wir priorisieren die Anforderungen für die Entwicklung. Wir nutzen Domain-Driven Design zur Ermittlung der fachlichen Daten und Funktionalitäten. Systeme, Datenmodelle und Abläufe beschreiben wir in UML.

Die Modellierung liefert die Basis für ein agiles Vorgehen in der Entwicklung.

Entwicklung

Wir bauen die Software mit leichtgewichtigem, agilem Vorgehen: Konzeption, Modellierung und Entwicklung erfolgen in überschaubaren, inkrementellen Zyklen, sog. Sprints. So sehen Sie zeitnah Ergebnisse und erkennen, ob das neue System Ihren Vorstellungen entspricht. Änderungswünsche können schnell berücksichtigt werden.

Wir setzen Jakarta EE (früher Java EE) oder Spring Boot als ausgereifte Plattformen und weitere anerkannte Open-Source-Produkte ein. Haben Sie Fragen zu den Technologien?

Qualitäts-sicherung

Eine gute Software-Qualität fällt nicht vom Himmel – sie muss im Projekt erarbeitet und bewahrt werden.

Entscheidend ist zunächst ein dauerhafter Bestand der Software-Architektur. Hier helfen Werkzeuge wie ArchUnit oder structure101 dabei, dass die definierte Anwendungsstruktur permanent nicht degenerieren kann. In größeren Projekten mit vielen beteiligten Entwicklern unterstützen Programmier-Richtlinien und der Ansatz “Clean Code” einen einheitlichen und wartbaren Java-Quellcode. Wieder helfen uns Werkzeuge wie SonarQube und IDE-Plugins wie SonarLint oder Checkstyle dabei, die notwendigen Prüfungen automatisiert auszuführen. Sogar “Clean Architecture” oder Klassen-Entwurfsmuster gemäß Domain-Driven Design lassen sich durch entsprechende Prüfungen sicherstellen. Aber all dies hilft nicht vollständig: In jeder Software stecken unvermeidliche Fehler. Diese gilt es durch automatisierte Tests vor der Produktivsetzung aufzudecken. Dafür setzen wir JUnit als allgemeines Test-Framework und je nach Projekt-Situation ergänzend Selenium, Arquillian, DbUnit usw. ein.

Ihren Erfordernissen entsprechend unterstützen wir Sie beim Aufbau einer Test-Pyramide bestehend aus verschiedenen Ebenen von automatisierten Tests wie beispielsweise Unit-, Datenzugriffs-, Service- oder GUI-Test. Durch eine parallel zu den Tests ausgeführte Überdeckungsmessung werden “weiße Flecken” auf der Test-Landkarte minimiert. Mit Build Pipelines werden schließlich alle qualitätssichernden Maßnahmen kombiniert und so jederzeit produktionsreife Anwendungen bereitgestellt.

Betrieb

Für den Betrieb der Anwendungen stehen uns dank der Portabilität von Java viele Optionen offen. Ob Deployments auf einem klassischen Server oder Docker-Container in einem Kubernetes-Cluster, ob “On Premises” oder in der Cloud, wir entwickeln mit Ihnen das Betriebskonzept, das Ihren Anforderungen entspricht.

Zusammenarbeit – so geht’s

Erstellung und Weiterentwicklung von Software sind stets individuell angepasste Projekte. Wir passen uns auch organisatorisch Ihren Anforderungen an. Wir liefern Ihnen nach Wunsch komplette Lösungen. Dazu stellen wir Ihnen Teams z. B. aus den Bereichen Architektur, Backend, Frontend zusammen.

Wir unterstützen Sie aber auch gerne in einzelnen Bereichen, führen bspw. Code Reviews oder Proof of Concepts durch, beraten Sie bei speziellen Aufgabenstellungen und stehen Ihnen mit unserem Wissen gerne für Fragen zur Verfügung. Über Remote-Meetings und Chats halten wir engen Kontakt mit Ihnen, kommen aber auch gerne zu Ihnen und Ihrem Team.

Eine offene Zusammenarbeit ist uns wichtig. Wir sind auch als Trainer in IT-Schulungen tätig und geben unser Wissen gerne in Projekten weiter.

Hapag-Lloyd - Gedoplan

Hapag-Lloyd Success Story

Beratung und Ausbildung aus einer Hand

In einem über mehrere Jahre dauernden Projekt hat GEDOPLAN GmbH die Container-Reederei Hapag-Lloyd erfolgreich bei der Migration einer unternehmensweit eingesetzten Großapplikation auf eine moderne Java EE-Architektur unterstützt.

Hapag-Lloyd - Gedoplan

Performance-Optimierung

Analyse, neuer Ansatz, Lösung

Die MEYER WERFT in Papenburg, die sich in den vergangenen Jahrzehnten weltweit einen exzellenten Ruf beim Bau von großen, modernen und anspruchsvollen Kreuzfahrtschiffen erworben hat, haben wir im Bereich der Softwareentwicklung auf Basis von Java Persistence (JPA) unterstützt. Die „Java Persistence API“ wurde speziell auf die Belange der MEYER WERFT konfiguriert. Wir haben OpenJPA als Provider durch EclipseLink ersetzt. In einem Code Review der bestehenden Systeme wurde die Architektur verbessert und die Performance der Java-Anwendungen optimiert.

Analyse - GEDOPLAN

Ausgangssituation
> Performanceprobleme in kritischen Anwendungen

Lösung
> Optimierung der Konfiguration der Java Persistence API
> der Provider OpenJPA wurde durch EclipseLink  ersetzt

Ergebnis
> Performanceprobleme beseitigt

Großapplikation auf moderner Java EE-Architektur

Pilotanwendung

Eine unternehmensweit eingesetzte Großapplikation wurde auf eine moderne Java EE-Architektur mit Domain-Driven Design migriert.

Eine Pilotanwendung – die Basis der neuen Software-Architektur – wurde mit UML Domänenmodells modelliert. Teilsysteme wurden schrittweise implementiert. Die Konzepte wurden in der Pilotphase ständig verbessert. Viele Java-EE-Technologien – CDI, EJB, JPA, JAX-RS, JMS – werden eingesetzt. Nach dem erfolgreichen Einsatz der Zielarchitektur in ersten Teilprojekten gilt sie als Implementierungsleitfaden für alle Java-Entwickler des Unternehmens.

Analyse - GEDOPLAN

Ausgangssituation
> proprietäre Softwarearchitektur
> langfristig Wartungsprobleme

Lösung
> moderne Java EE-Architektur
> Domain-Driven Design

Ergebnis
> Standardarchitektur für das Unternehmen
> zukunftssichere Software

Kundenportal für eine Versicherung

Kommunikation vereinfachen und auswerten

Wir haben ein Kundenportal für eine Versicherung erstellt. Kunden können ihre Verträge einsehen und Schäden melden. So wird die Kommunikation einfacher und effizienter. Aus der gesamten Datenbasis werden Statistiken erstellt. Das Frontend ist mit Vaadin entwickelt. Mit Backend-Services wird auf bestehende Datenbanken zugegriffen. MyBatis wird als Persistence Framework eingesetzt. Die Daten sind in einer PostgreSQL Datenbank gespeichert.

Analyse - GEDOPLAN

Prüfsystem für Statistiken der Krankenversicherer

Entwicklung umfangreicher JUnit-Tests

In enger fachlicher Zusammenarbeit mit dem Verband der gesetzlichen Krankenversicherer hat GEDOPLAN ein System zur inhaltlichen Überprüfung der Inputdaten von Statistiken entwickelt. Die Anwender können die Prüfregeln flexibel definieren. So sind bei geänderten gesetzlichen Anforderungen an die Datenqualität keine Programmanpassungen erforderlich. Wir haben umfangreiche JUnit-Tests entwickelt, um die Korrektheit der Prüfungen nachzuweisen. So wird der Testaufwand nach Systemanpassungen minimiert.

Als Technologien kamen Java EE, Hibernate, JUnit und JBoss zum Einsatz.

Analyse - GEDOPLAN

Leitsteuerung eines fahrerlosen Transportsystems (FTS)

Skalierbares System bei geringen Kosten

Wir haben für arvato services die Leitsteuerung eines fahrerlosen Transportsystems (FTS) erneuert. Das FTS verbindet Bearbeitungsstationen in einem Warenverteilzentrum. Transportaufträge erhält es von einem vorgelagerten Lagersteuersystem. Durch Fahrwegoptimierungen wird ein höherer Durchsatz erzielt.

Wir haben die Software als eine verteilte Anwendung in offener Client-Server-Architektur realisiert. Die „Zentrale“ der Anwendung ist ein Server, der die Kommunikation mit dem Vorsystem übernimmt und jeden einzelnen Carrier optimiert mit Aufträgen verknüpft. Der Leitstand als weitere zentrale Komponente ermöglicht die Visualisierung des aktuellen Systemzustandes. Die gesamte FTS-Steuerung ist als Java EE Anwendung realisiert. Die Offenheit und weite Verbreitung der Java-Plattform garantiert dem Kunden, auch in Zukunft Anpassungen an Prozessänderungen durchführen zu können. Nichtanfallende Lizenzgebühren sowie die Möglichkeit, kostengünstige Hardware für Server und Clients auswählen zu können, sind weitere Pluspunkte der Java-Plattform.

Analyse - GEDOPLAN

Ausgangssituation
> 30 Jahre altes System
> Probleme bei Ersatzteilverfügbarkeit
> Probleme bei Softwarewartung

Lösung
> verteilte Anwendung in offener Client-Server-Architektur
> Java-Anwendung nach dem Standard Java EE

Ergebnis

> vereinfachte Handhabung mit modernen Benutzeroberflächen
> Visualisierung des aktuellen Systemzustandes im Leitstand
> durch Nutzungs- und Fahrwegoptimierungen höherer Durchsatz
> Einsparung von Lizenzgebühren

Frontend für einen Energieversorger

Analyse, neuer Denkansatz, Lösung

Wir haben ein modernes Frontend zur Visualisierung von Statistikdaten auf Basis von Angular 2 entwickelt. Das Design der Anwendung haben wir in Abstimmung mit dem Fachbereich erstellt. Wir haben den Nutzern Prototypen vorgestellt und diese gemeinsam optimiert. Ein Backend auf Basis von Java EE liefert die Daten. Auf sie wird durch REST-Schnittstellen zugegriffen. Die Schnittstellen sind mit dem Open-Source-Werkzeug Swagger entworfen und dokumentiert.

Analyse - GEDOPLAN

Ausgangssituation
> manuelle Statistikauswertungen
> hoher Aufwand zur Erstellung der Auswertungen

Lösung
> Angular 2 Frontend
> Anbindung Java EE Backend
> Restschnittstellen

Ergebnis
> zeitnahe Statistiken
> aktuelle Daten

Individuelles Betriebsdatenerfassungssystem (BDE)

Hohe Komplexität ist auch einfach darstellbar

Individuelles Betriebsdatenerfassungssystem (BDE)
Für die Hoesch Schwerter Profile GmbH wurde ein individuelles Betriebsdatenerfassungssystem (BDE) konzeptioniert und entwickelt. Das BDE löst die bisherige handschriftliche Erfassung von Daten, die während der Produktion von Stahlprofilen protokolliert werden müssen, ab – dazu zählen Auftrags- und Materialdaten, Zeiten für Fertigungen und Störungen.

Die Herausforderung bestand insbesondere darin, zum einen übersichtliche, einfach strukturierte und robuste User Interfaces (Java Swing) zur Verfügung zu stellen, zum anderen die Komplexität der Algorithmen im Hintergrund (Wildfly Application Server, Java EE) abzubilden. Die dazu nötige Datenbank wurde ebenfalls konzeptioniert und realisiert. Zusätzlich wurden Schnittstellen zu den Produktionsplanungssystemen und den nachfolgenden Analyse- und Auswertungstools geschaffen.

Analyse - GEDOPLAN

Ausgangssituation
> handschriftliche Datenerfassung
> aufwendige, fehleranfällige Nacherfassung
> keine zeitnahen Daten
> keine statistischen Auswertungen

Lösung
> robuste User Interfaces
> Plausibilitätsprüfungen bei Datenerfassung
> Schnittstellen zu den Produktionsplanungssystemen
> Analyse- und Auswertungstools

Ergebnis
> Einsparungen bei der Datenerfassung
> bessere Produktionssteuerung durch zeitnahe Daten
> direkte Anbindung der kaufmännischen Systeme

News aus Schulung, Beratung & Softwareentwicklung

News aus Schulung, Beratung & Softwareentwicklung