02 06 01 moderne architekturen für mensch-maschine-interaktion · noch bevor der begriff devops...

6
Moderne Architekturen für Mensch-Maschine-Interaktion Moderne Architekturen für Mensch-Maschine-Interaktion Interview Dr. Müller-Lietzkow erklärt, wie wir in Europa digitale Souveranität (zurück-) gewinnen können Fachthemen Die Vorteile von ALM für Container und wer wie profitiert Kafka, JMS oder AMQP – welche ist die richtige Integrationsplattform? Konferenzrückblick OOP 2018 Ausgabe 4/2018 D 7,90 · A 8,90 · SFR 14,30 G30325 www .javaspektrum.de 4 194156 107907 04 VR-Anwendungen – ein Leitfaden für hohe Usability Voice Services mithilfe von MQTT Sonderdruck für

Upload: others

Post on 27-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 02 06 01 Moderne Architekturen für Mensch-Maschine-Interaktion · Noch bevor der Begriff DevOps Einzug in die Terminologie der IT fand, existierten bereits einzelne Werkzeuge, die

Mod

erne

Arc

hite

ktur

en fü

r Men

sch-

Mas

chin

e-In

tera

ktio

n Moderne Architekturen für Mensch-Maschine-Interaktion

Interview

Dr. Müller-Lietzkow erklärt, wie wir in Europa digitale Souveranität (zurück-) gewinnen können

Fachthemen

Die Vorteile von ALM für Container und wer wie profitiert

Kafka, JMS oder AMQP – welche ist die richtige Integrationsplattform?

Konferenzrückblick OOP 2018

Ausgabe 4/2018D € 7,90 · A € 8,90 · SFR 14,30

G303

25

www.javaspektrum.de

4 1 9 4 1 5 6 1 0 7 9 0 7

0 1

4 1 9 4 1 5 6 1 0 7 9 0 7

0 2

4 1 9 4 1 5 6 1 0 7 9 0 7

0 3

4 1 9 4 1 5 6 1 0 7 9 0 7

0 4

4 1 9 4 1 5 6 1 0 7 9 0 7

0 5

4 1 9 4 1 5 6 1 0 7 9 0 7

0 6

Barcodes.indd 1 20.09.17 10:56

VR-Anwendungen – ein Leitfaden für hohe Usability

Voice Services mithilfe von MQTT

Sonderdruck für

Page 2: 02 06 01 Moderne Architekturen für Mensch-Maschine-Interaktion · Noch bevor der Begriff DevOps Einzug in die Terminologie der IT fand, existierten bereits einzelne Werkzeuge, die

Mit Containern zur Produktion

Die Vorteile von ALM für Container und wer wie profitiertUdo Thiele, Sascha Vogel

Neben Docker hat kaum ein anderes Thema in den letzten Jah-ren so im Brennpunkt des Interesses der IT-Verantwortlichen ge-standen wie DevOps. Neben einer veränderten Unternehmens-kultur und angepassten Prozessen stellen Werkzeuge, die das Application Lifecycle Management (ALM) umfangreich unter-stützen, die dritte Säule dieses ganzheitlichen Prozessansatzes dar. Die ALM-Werkzeuge haben auch in Bezug auf Docker einiges zu bieten.

Die Idee der Virtualisierung und betriebsorientierten Isolation von Anwendungsumgebungen ist fast so alt wie das Betriebssys-tem UNIX selbst. Containervirtualisierungen wie der Open- Source-Softwarestack Docker ermöglichen es heute, die Bereitstellung von Anwendungen und Services als plattformunabhängige, trans-portable Lösungen zu vereinfachen.

Container gewährleisten dabei die Trennung und Verwaltung der auf einem Rechner genutzten Ressourcen. Das beinhaltet vom Code über die Laufzeitmodule bis hin zu Systemwerkzeugen und -bibliotheken alles, was auf einem Rechner installiert werden kann (s. Abb. 1).

Ein Docker-Image ist eine Textdatei, die alle erforderlichen An-weisungen zum Aufbau und Betrieb einer Anwendung oder eines Service enthält, welche sich auf einem Docker-Host, der Laufzeit-umgebung für Docker, ausführen lassen.

Dabei besteht ein Docker-Image typischerweise aus mehreren schreibgeschützten Schichten, welche die verschiedenen betriebs-erforderlichen Komponenten bis hin zu einzelnen Befehlen oder Dateien enthalten. Veränderungen an den Schichten erzeugen je-weils neue Versionen eines Docker-Images, die in Repositorys ver-waltet werden.

Ein oder mehrere Repositorys bilden eine Registry, aus der Do-cker-Images zur Laufzeit abgerufen, als Container auf einen Do-cker-Host ausgerollt und dort unter Verwendung zusätzlicher Pa-

rameter aktiviert werden können. Die Übergabe von Parametern erfolgt dabei aus betriebstechnischen Erwägungen (DevOps) üb-licherweise unter Verwendung von Konfigurationsdateien, die in einem KeyValueStore verwaltet und versioniert werden.

Sobald ein Container kein Programm mehr ausführt oder mit seinem Job fertig ist, wird er automatisch beendet (s. Abb. 2).

Auch wenn die Verwaltung von Docker-Images und Konfigu-rationsdateien im Ökosystem von Docker mittlerweile durch ver-schiedene Tools optimal unterstützt wird, bedarf es in Zeiten von DevOps, Industrie 4.0 und fortschreitender Digitalisierung doch einiges mehr, um den professionellen Einsatz und die erforderli-che Koexistenz und Integration der Containertechnologie in die bestehenden Entwicklungs-, Test- und Betriebsumgebungen zu ge-währleisten.

Docker kann und muss Teil des Application Lifecycle Manage-ment werden, wie wir im Folgenden zeigen werden.

Container im ALM-UmfeldNoch bevor der Begriff DevOps Einzug in die Terminologie der IT fand, existierten bereits einzelne Werkzeuge, die den Trend vor-wegnahmen und den gesamten Lebenszyklus einer Anwendung auch jenseits der Grenzen der Build-Server erfassten und abbilde-ten. Mit der zunehmenden Diskussion um DevOps erlangten diese SCM- oder auch ALM-Lösungen im neuen Kontext neue Popularität und stellen heute einen wichtigen Teil des Gesamtkonzepts DevOps dar. Einen typischen Releasezyklus, der durch diese ALM-Lösungen abgebildet wird, zeigt Abbildung 3.

Typischerweise werden auf diese Art Anwendungen für eine oder mehrere unterschiedliche Plattformen entwickelt, getestet, freigegeben und in die Produktion ausgerollt. Mit dem Aufkommen der Containertechnologien, wie Docker, erschlossen sich auch im Bereich des produktiven Deployments neue Möglichkeiten, denen

Abb. 1: Allgemeine Docker-Architektur

Abb. 2: Container und Docker-Laufzeitumgebung

58 JavaSPEKTRUM 4/2018

FACHTHEMA

Page 3: 02 06 01 Moderne Architekturen für Mensch-Maschine-Interaktion · Noch bevor der Begriff DevOps Einzug in die Terminologie der IT fand, existierten bereits einzelne Werkzeuge, die

die ALM-Werkzeuge Rechnung tragen mussten. Diese Möglichkei-ten sollen im Folgenden anhand eines Beispiels veranschaulicht werden.

Ausgangspunkt ist hierbei ein bestehendes Java-Projekt, das eine HSQLDB-Datenbank und einen Tomcat-Server nutzt. In Ab-wandlung des klassischen Deploys für eine oder mehrere Zielplatt-formen wurden in Bezug auf eine Docker-Lösung einige Änderun-gen im Prozess vorgenommen. Diese bestanden in der Anpassung des Build-Prozesses durch das Hinzufügen der dockerspezifischen Dateien, der Anpassung des Deploys durch das Hinzufügen von Do-cker-Compose-Funktionen und der Erstellung eines Docker-Con-tainer-Builds jeweils für HSQLDB und Apache Tomcat.

Aus Entwicklersicht ändert sich dabei nichts. Der Entwickler kann weiterhin die vertraute IDE verwenden, die er für die Entwick-lung seiner Java-Anwendung bevorzugt. Sobald ein Entwicklungs-

schritt aus seiner Sicht abgeschlossen ist, können die Codeände-rungen in das verwendete Versionskontrollsystem, wie Subversion oder Git, übertragen werden. Die Struktur des Repositorys ent-spricht dabei im Wesentlichen den üblichen Standards beziehungs-weise Best Practices für die Java-Entwicklung (s. Abb. 4).

Für den Build-Prozess muss das Build-Skript dahin gehend er-gänzt werden, dass Docker-Elemente wie yml und die für das Deploy-ment benötigten Docker-Dateien bereitgestellt werden (s. Listing 1). Die ALM-Anwendung zeigt das Ergebnis des Builds, das die Ja-va-WAR-Datei und die benötigten Docker-Dateien enthält (s. Abb. 5).

Im nächsten Schritt wird das Build-Ergebnis nun deployt. Dabei werden zunächst vorhandene und gegebenenfalls laufende Con-tainer in der dockerComposeDown-Phase gestoppt und entfernt. Wenn noch keine Container vorhanden sind und/oder nicht laufen, wird der Vorgang zwar protokolliert, führt aber nicht zu einem Ab-bruch des Deploys.

In der anschließenden dockerComposeUp-Phase werden neue Images nach den Vorgaben der docker-compose.yml-Datei erstellt und als Container gestartet. Hierbei wird eine definierte Reihen-folge eingehalten. Zunächst erfolgt der Start des HSQLDB-Daten-bank-Containers, anschließend der des Apache Tomcat-Serv let-Containers.

Der Deploy der Container kann abhängig vom definierten Le-benszyklus zunächst in eine Testumgebung erfolgen. Dort werden dann entsprechende Tests an der deployten Anwendung durch-geführt, was insbesondere im Hinblick auf die Bereitstellung von Microservices in Containern einen interessanten Aspekt darstellt. Nach erfolgter Freigabe kann anschließend der Deploy in die Pro-duktion erfolgen (s. Abb. 6).

Um die Kommunikation zwischen den Entwicklern, den Test- und den Qualitätssicherungsabteilungen, dem IT-Betrieb sowie dem Management-Team zu erhöhen, können Benachrichtigungen automatisch versendet sowie Vorab- und Abschlussgenehmigun-gen auf Test- und Produktionsebene festgelegt werden, wodurch

Udo Thiele ist als Entwicklungsleiter bei der EasiRun Europa GmbH tätig. Sein Tätigkeitsschwerpunkt liegt in der Entwicklung von Werkzeugen zur Anwendungsmodernisierung. Im Rah-men dieser Tätigkeiten spielen Docker und Application Lifecycle Manage-ment eine zunehmend bedeutendere Rolle. E-Mail: [email protected]

Sascha Vogel ist selbstständiger Berater, Migrations- und DevOps-Spe-zialist. Er war an Software-Migra-tions- und Entwicklungsprojekten auf den unterschiedlichsten Plattformen bei diversen Großkonzernen betei-ligt. Moderne Containertechnologien kommen dabei in den letzten Jahren immer häufiger zum Tragen. E-Mail: [email protected]

Abb. 3: Typischer ALM-Releasezyklus

www.javaspektrum.de 59

FACHTHEMA

Page 4: 02 06 01 Moderne Architekturen für Mensch-Maschine-Interaktion · Noch bevor der Begriff DevOps Einzug in die Terminologie der IT fand, existierten bereits einzelne Werkzeuge, die

eine Prüfung vor oder nach jedem Test- oder Produktions-Deploy-ment möglich ist.

Was bringt das Ganze?Grundsätzlich kann jede Organisation von ALM- und Docker-Lösun-gen profitieren, da vor allem die Abläufe automatisiert, Prozesse besser dokumentiert und die Kommunikation zwischen den Prozess-beteiligten allgemein optimiert werden. ALM-Lösungen fördern da-bei nicht nur den Ablauf von Prozessen, sondern gewährleisten auch, dass ein Prozess reproduzierbar, verlässlich und dokumentiert ist.

Alltäglich wiederkehrende, stupide Tätigkeiten werden mit ALM-Lösungen vollständig automatisiert, entlasten dadurch die beteiligten Mitarbeiter und reduzieren Fehlerquellen. Die Größe des Teams spielt keine Rolle – sowohl große als auch kleine Teams können profitieren. Natürlich gilt: je größer das Team, desto grö-ßer die Vorteile.

Über eine ALM-Lösung können neue Technologien (wie Con-tainer) einfach in existierende Umgebungen integriert werden. Während unter Beibehaltung vorgegebener Prozessabläufe und Rahmenbedingungen der erforderliche Raum für die Einführung neuer Werkzeuge und Verfahren geschaffen wird, bleiben die Sta-bilität und Zuverlässigkeit bestehender Abläufe davon unbeein-trächtigt. Durch die Abstraktion von Prozessschritten auf einer technologie- und toolunabhängigen Ebene besteht zudem die Möglichkeit, neue Verfahren ohne zusätzliche Ressourcen in vor-handene Test- und Betriebsabläufe zu integrieren.

Abb. 4: Aufbau des Entwicklungszweiges im Versionskontrollsystem

Abb. 5: Build-Ergebnis

Die Auswirkungen von ALM-Lösungen und Docker auf eine Or-ganisation sind beeindruckend. Gartner1 hebt drei Hauptvorzüge der Implementierung von ALM hervor, nämlich das verbesserte Management von Transparenz und Außenwirkung, die effiziente Durchführung anspruchsvoller Prozesse sowie bessere Betriebser-gebnisse. Die möglichen Vorteile lassen sich dabei in zwei Katego-rien aufteilen: greifbare und nicht greifbare Vorteile.

Zu den greifbaren Vorteilen, die sich in der Regel auch finanzi-ell direkt beziffern lassen, zählen die verbesserten Möglichkeiten zur Verwaltung von Kosten und Budgets, verkürzte Zeiten für die Erstellung und Verteilung von Anwendungen in der Produktion so-wie eine verbesserte Markteiführung neuer Produktversionen.

Zu den nicht greifbaren Vorteilen, die sich nicht unmittelbar, langfristig aber dafür umso mächtiger finanziell positiv auswirken, zählen eine verbesserte Konsistenz und Qualität von Releases, ein verbesserter Kundenservice, eine verbesserte Zeitplanung von Re-leases, die Senkung der Rate menschlicher Fehler, Möglichkeiten zur ständigen Kontrolle des Entwicklungsprozesses, die Maximie-rung der Zufriedenheit der an der Anwendungsentwicklung Betei-ligten, eine optimierte Zusammenarbeit zwischen den Teams und die Implementierung einer agilen IT-Umgebung.

Von einer integrierten ALM-Lösung und dem Docker-Ansatz profitiert das Unternehmen letztendlich in vielfältiger Weise. In-nerhalb des Unternehmens wird jeder Beteiligte Zeit und Kosten sparen. Es liegt auf der Hand, dass die Produktivitätssteigerungen eines Beteiligten sich auf einen zweiten Beteiligten und letztlich auf das gesamte Unternehmen übertragen.

Wenn wir nun die Vorteile für jeden Beteiligten betrachten, sollten wir zwischen vier wichtigen Elementen unterscheiden: den Anforderungen, der Versionierung, den Build- und Deploy-Verfah-ren. Die Anforderungsphase bildet hauptsächlich die Bedürfnisse der Fachanwender ab, mit der Versionierung organisieren sich ins-besondere Entwickler und IT-Manager, was der Zusammenarbeit des Teams zugutekommt, und die Build- und Deploy-Automation unterstützt das Qualitätsmanagement und den IT-Betrieb bei der geordneten, revisionssicheren Durchführung ihrer Arbeit.

Im Bereich des Anforderungsmanagements profitieren die Fachanwender durch eine verbesserte Interpretation der Anforde-rungen, eine durchgängige Transparenz zwischen Anforderungen und Aufgaben auf der einen und dem zugehörigen Code und den Deployments auf der anderen Seite. Das gewährleistet Kunden-/Businesssicherheit bei jeder einzelnen Anforderung einschließlich zielgerichteter Informationen (z. B. per E-Mail), zentraler Doku-mentation, intuitiver Prozessübersichten und anderer relevanter Informationen. Zudem ergeben sich Vorteile durch die Möglichkei-ten der Verfolgung des Projektstatus in Echtzeit sowie eine rei-bungslosere Kommunikation und Koordination. Letztendlich führt dies im Ergebnis zu einer Softwarelösung, die reelle Geschäftsbe-dürfnisse zuverlässig erfüllt.

Bei der Verwendung von Containertechnologien wie Docker er-leichtert eine ALM-Lösung bereits bei der Entwicklung die Durch-setzung einer standardisierten Arbeitsweise für das gesamte Team. Durch die Möglichkeit der Rückverfolgung können Verantwortlich-keiten besser identifiziert und damit auch wahrgenommen werden. Durchgeführte Änderungen können leichter nachvollzogen wer-den. Die Arbeit im Team wird erleichtert und die Kommunikation gefördert. Rollbacks zu früheren Versionen sind problemlos mög-

1 https://www.gartner.com/doc/2980720/magic-quadrant-application- development-life

60 JavaSPEKTRUM 4/2018

FACHTHEMA

Page 5: 02 06 01 Moderne Architekturen für Mensch-Maschine-Interaktion · Noch bevor der Begriff DevOps Einzug in die Terminologie der IT fand, existierten bereits einzelne Werkzeuge, die

lich und die Auslieferung von Änderungen, Updates und platt form-unabhängigen Versionen wird signifikant vereinfacht.

Für Releasemanager verbessert sich die Produktqualität, weil durch die konsequente Anwendung erprobter DevOps-Prinzipien die Auslieferung fehlerhafter Builds deutlich reduziert oder ganz vermieden werden kann. Kompilier- und Linkprozesse werden be-schleunigt und redundante Aufgaben eliminiert. Die konsequen-te Automatisierung der Prozesse reduziert die Abhängigkeit von Schlüsselpersonen und spart nicht unerheblich Zeit im Gesamtpro-zess. Durch die Aufzeichnung der Historie von Builds und Relea-ses lassen sich aufgetretene Fehler leichter nachvollziehen und auf diese Weise Integrationsrisiken in der Zukunft reduzieren.

Für den Bereich des Deployments in die Test- und Produktions-umgebungen ergeben sich durch verkürzte Releasezyklen deutlich frühere und gegebenenfalls auch häufigere Feedbacks von Testern und Endnutzern. Weniger menschliche Fehler stärken das Vertrau-en der Nutzer.

Insgesamt führt dies zu einem agileren Entwicklungsumfeld und beschleunigten Markteinführungen neuer Versionen von Pro-grammen und Services. Geringere Ausfallzeiten und ein insgesamt geringerer Arbeitsaufwand, eine verbesserte Kommunikation und Koordination sowie ein Deployment, welches nicht mehr abhängig von bestimmten Ein-zelpersonen ist, verbessern Arbeitsumfel-der und -klima insgesamt. Die zielgerichtete Verteilung der Aufgaben auf mehrere Schul-tern (Entwickler, Tester, Nutzer u. a.), er-möglicht eine höhere Flexibilität bei der Res-sourcenplanung und schafft den Beteiligten den nötigen Freiraum für ein kreativeres Ar-beiten. Letztendlich schaffen höhere Trans-parenz und verbesserte Dokumentation ein hohes Maß an Sicherheit und Vertrauen und ermöglichen die einfache, nahtlose Integra-tion von Containertechnologien wie Docker in existierende IT-Umfelder.

ZusammenfassungGut gemachte ALM-Lösungen können unter-nehmensweit eingesetzt werden und decken jedwede Plattform ab. Von ein und derselben Plattform aus können Mainframes, Windows- oder UNIX-/Linux-Umgebungen verwaltet werden. Wie oben gezeigt, besitzen einige ALM-Lösungen auch die nötige Flexibilität, moderne Technologien und Trends wie Do-

cker nahtlos zu integrieren und deren Vorteile zur Geltung zu brin-gen.

Die wichtigsten Fragen bei der Implementierung von ALM-Pro-zessen lauten: - Ist der Code versioniert oder kann er versioniert werden?- Nach welchen Standards werden im Unternehmen Builds er-

stellt?- Nach welchen Standards wird im Unternehmen verteilt?- Welche Lebenszyklen gelten im Unternehmen?ALM-Lösungen unterstützen die Standard-Build- und -Deploy-Pha-sen vieler Umgebungen. Ihre Implementierung ist nur eine Frage der Erfassung und Konfiguration der erforderlichen Parameter wie Pfade, Benutzer-IDs und Passwörter. Nach ihrer Eingabe sind die Automatisierungsprozesse bereits eingerichtet. Das erleichtert den Umgang mit Legacysystemen und modernen Containertechno-logien und erlaubt eine problemlose Koexistenz in Entwicklung, Test und Betrieb.

Eine einheitliche, standardisierte ALM-Lösung hat für die nut-zende Organisation die folgenden Vorzüge:- ordnungsgemäße Speicherung und Versionierung aller Soft-

wareobjekte,- Kostenreduzierung in den Bereichen Entwicklung, Test und De-ployment,- automatisierte und reproduzierbare Tasks,- verringertes Risiko dank automatisierter und reproduzierbarer Build- und Deploy-Prozesse,- verbesserte Anwendungsqualität,- schnellere Markteinführung,- reduzierter Ressourcen- und Zeitaufwand für Build- und De-ploy-Verfahren sowohl beim Testen als auch in der Produktion,- verbesserte Kommunikation zwischen den Beteiligten,- verbesserter Überblick über den Gesamtprozess,- eindeutige und automatisierte Entwicklungs- und Deploy-ment-Prozesse,- eine einheitliche ALM-Plattform.

Abb. 6: Protokoll des Deployments

...<!-- Copy Docker elements (yaml files, docker files, ...) to the target location --><echo message="copy docker elements to sourceroot = ${source}" /><copy todir="${target}" includeEmptyDirs="true"> <fileset dir="${source}" includes="*.yml" /></copy><copy todir="${target}/hsqldb-database" overwrite="yes"> <fileset dir="${source}/hsqldb-database"/></copy><copy todir="${target}/tomcat-webserver" overwrite="yes"> <fileset dir="${source}/tomcat-webserver"/></copy>...

Listing 1: Ergänzung der benötigten Docker-Elemente im Build-Skript

www.javaspektrum.de 61

FACHTHEMA

Page 6: 02 06 01 Moderne Architekturen für Mensch-Maschine-Interaktion · Noch bevor der Begriff DevOps Einzug in die Terminologie der IT fand, existierten bereits einzelne Werkzeuge, die

Die Software-Modernisierer

Interesse geweckt? Lassen Sie sich unverbindlich von uns beraten:+49 6081 9160-30 · [email protected] · www.easirun.de

Strukturierte Lösungenan der Schnittstelle vonMensch und Maschine

formation vorbereiten und optimieren. Ganz gleich, fürwelche Strategie Sie sich entscheiden: Sie bleiben imHinblick auf die Zielplattform stets technologieunab-hängig: Sie binden sich zu keinem Zeitpunkt an pro-prietäre Lösungen und können dank Industriestandardsund umfassender Schnittstellen die Vorteile neuerTechnologien vollumfänglich nutzen.

Lösungen für End-to-End Business Intelligence

EasiRun steht dabei für einen umfassenden Ansatz,Daten, Anwendungen und Menschen erfolgreich mitei-

nander zu verbinden. Mit unseren Lösungen fürEnd-to-End Business Intelligence können

Sie Ihre Geschäftsabläufe zuverlässigund umfassend abbilden, steuern, dieAgilität und Effizienz verbessern unddas Potential strategischer Anwen-dungen voll ausschöpfen.

Von der Geschäftsleitung über dasBusiness Development bis hin zur

Fachabteilung können die Geschäftspro-zesse für jede Abteilung priorisiert, abge-

sichert und optimiert werden. Das Ergebnis isteine leicht zu bedienende Anwendungslandschaft mitklar definierten Regeln und aussagekräftigen Auswer-tungen und Berichten.

IT-Systeme werden immer komplexer und intranspa-renter. Gleichzeitig steigen durch die zunehmende Nor-mierung von Prozessen die Anforderungen an Unter-nehmen.

Steuerung der Softwareentwicklung

Der Lebenszyklus von Geschäftsanwendungenist keinesfalls in Beton gegossen: Die An-wendungstransformation ist ein konti-nuierlicher Prozess, der an derSchnittstelle von Mensch und Ma-schine ansetzt und die Softwareent-wicklung maßgeblich steuert, opti-miert und an Ihre Geschäftsprozesseanpasst.

EasiRun unterstützt Sie bei Ihrer Ent-scheidung, die Umgebung beizubehalten,zu einer verbesserten Umgebung zu wechselnoder die Anwendung ganz oder teilweise in die Cloud zuverlagern. Im Hinblick hierauf können wir Ihren Source-code mit hauseigenen Tools analysieren, für die Trans-

EasiRun hilft Unternehmen, demDruck, stets agiler und flexibler zuwerden, standzuhalten.

KontinuierlicheModernisierung

Bewerten

Prüfen

Sichten

Ausführen Entscheiden

EasiRun Europa GmbH · Stockheimer Weg 9 · 61250 Usingen

©Fo

tos:blac

kszh

eep/

phon

lamaiph

oto/

iaremen

ko-Fo

tolia