TECHNOLOGIE RADAR 2019/2020 - adesso Schweiz AG
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
1
TECHNOLOGIE
RADAR
2019/20202 adesso
TECHNOLOGIE
RADAR 20193 Softwareentwicklungstechnik diskutieren Im Vergleich zu vielen Trend-Radaren, die abstrakt die grossen Themen wie z. B. Blockchain, 5G, Künstliche Intelligenz und Internet of Things adressieren, ist das Technologie-Radar ein aktiv genutztes Werkzeug für das Wissensmanagement bei adesso, das wir für Ent- scheidungen in realen Softwareentwicklungsprojekten hinzuziehen und in dem sich die Erfahrungen aus diesen Projekten spiegeln. Das Radar ist entsprechend bodenständig und praxisnah, befeuert Diskussionen, hilft aber auch, die Ergebnisse dieser zu strukturieren und zugänglich zu machen. 2018 haben wir erstmals unser bis dahin nur intern verwendetes Radar mit der Bewertung von Technologien, Plattformen, Methoden und Werkzeugen der Softwareentwicklung veröf- fentlicht. Dadurch hat sich der Austausch mit unseren Kunden, mit Software Engineers und IT-Verantwortlichen intensiviert. Daran möchten wir festhalten und haben für 2019/2020 eine aktuelle Version erstellt, die viele neue Elemente und veränderte Bewertungen enthält. Wir freuen uns schon jetzt auf lebhafte Diskussionen über einzelne Technologien oder stra- tegische Überlegungen zu der Gesamtentwicklung. Neben den Radaren für Java-, Microsoft-, JavaScript- und Mobile-Projekte haben wir ein neues Fokusradar für das Thema Java Toolchain ausgearbeitet. Dieses Radar widmet sich den Elementen, die für die Umsetzung effizienter, wirtschaftlicher Entwicklungsprozesse im Java-Umfeld notwendig sind – oder auch hinderlich sind. Dazu zählen Werkzeuge, aber auch Plattformen, beispielsweise für die Unterstützung von Social-Coding-Praktiken. Die Bewertungen im Technologie-Radar sind als Momentaufnahme zu verstehen. Sie sind nicht an eine bestimmte Projektkonstellation angepasst und es ist die Aufgabe von Soft- ware Architects, die für ein Projekt richtige Auswahl an Methoden, Techniken, Plattformen und Werkzeugen zu wählen. Dennoch gibt das Radar unsere grundsätzliche Philosophie von modernem Software Engineering wieder, die sich hinter den Bewertungen verbirgt. Wir haben festgestellt, dass Sie nicht nur unsere Bewertungen im Radar interessieren, sondern auch die Prozesse für die Erstellung und Bearbeitung des Radars. Wir nutzen dafür Methoden der Softwareentwicklung, arbeiten mit Merge bzw. Pull Requests, Diskussions- plattformen und CI/CD Pipelines. Für die Anwendung auf die konkrete Projektsituation ist unser Radar ganz pragmatisch nutzbar: Malen, kringeln, streichen und unterstreichen Sie nach Belieben. Wir wünschen Ihnen viel Spass bei der Lektüre und freuen uns auf spannende Diskussionen zu dieser Ausgabe. Thomas Franz Frank Dobelmann Head of Technology Board Chief Technology Manager
4 adesso
TECHNOLOGIE
RADAR 2019/2020
Radare für typische Pro- Ringe: Die Bewertungsskala
jektkonstellationen
Die Elemente, die in einem Radar bewertet werden, sind als
Jedes Projekt ist anders, aber es gibt für Punkte dargestellt. Die Bewertung jedes Elements wird durch
adesso typische Projektkonstellationen, die seine Positionierung auf einem von drei Ringen abgebildet.
häufig stark durch den Technologie-Stack Jeder Ring steht für eine Bewertung:
unterschieden werden können.
Entsprechend dieser Konstellationen ist EINSETZEN
das Radar in „Teil-Radare“aufgeteilt: Der innere Ring enthält Elemente, die empfohlen
>> Java-Projekte werden. Die Empfehlung resultiert aus positiven
Projekterfahrungen sowie dem Vergleich mit Alter-
>> Microsoft-Projekte nativen.
>> JavaScript-Projekte
>> Mobile-Projekte EVALUIEREN
Der mittlere Ring fasst Elemente zusammen, für
Zusätzlich dazu haben wir für diese Aus- die derzeit nicht die ausreichende oder eindeutig
gabe ein Fokusradar Java Toolchain er- positive Projekterfahrung vorliegt, um eine pau-
stellt, das Plattformen und Werkzeuge der schale Einsatzempfehlung zu geben. Elemente mit
Java-Projekte fokussiert darstellt. dem Status „evaluieren“ sind dennoch häufig pro-
duktiver Bestandteil von Projekten, aber eben noch
Diese Form der Aufteilung ist natürlich nicht in umfassender Breite im Einsatz.
nicht völlig trennscharf. Dadurch ist es
möglich, dass ein Element in mehreren Ra- ÜBERDENKEN
daren bewertet wird, und dies auch unter- Diese Bewertung hat primär den Zweck, vor dem
schiedlich! In einem Microsoft-Projekt ist Hintergrund der rasanten Veränderungen in der IT
das Betriebssystem Linux beispielsweise für alternative Elemente zu sensibilisieren. Der Ring
zu „evaluieren“, weil es historisch bedingt „Überdenken“ enthält nicht selten Elemente, für die
ein tendenziell neuer, in wenigen Micro- schon mal eine Einsatzempfehlung existierte. Die
soft-Projekten genutzter Lösungsbaustein Bewertung gibt jedoch Hinweise auf aktuell favori-
ist, während es im Java-orientierten Radar sierte, alternative Elemente
überhaupt keine Erwähnung findet – es ist
quasi Standard.
Ähnlich verhält es sich auch in umgekehrter
Richtung. Microsoft-Werkzeuge und -Tech-
nologien stellen immer häufiger auch Lö-
sungsbausteine in Java- und JavaScript-ori-
entierten Projekten dar. Der Editor Visual
Studio Code und der Microsoft SQL-Server
sind Beispiele dafür. JavaScript hat sich als
Sprache und mit einem Ökosystem für die
Entwicklung von Webanwendungen etab-
liert. Deshalb erhält JavaScript einen eige-
nen Radar. Gleichzeitig spielt JavaScript in
Java- und Microsoft-Projekten häufig eine
Rolle.5
Die Quadranten eines Radars Nutzungsweise und Ziel-
setzung des Radars
Um die Elemente in einem Radar zu strukturieren, fasst jeder
Quadrant ähnliche Elementtypen zusammen. Die Quadran- Die Einordnung der Elemente in den Rada-
ten beinhalten die im folgenden beschriebenen Kategorien: ren ist eine Momentaufnahme und dient
primär als Diskussionsanker. Sie nimmt
keine Architekturentscheidungen vorweg,
METHODEN UND TECHNIKEN: sondern soll lediglich die Bearbeitung von
In diesem Quadranten befinden sich Ansätze, Best Architekturfragestellungen unterstützen.
Practices, Vorgehensweisen und Verfahren, die un- Die Bewertungen des Radars enthalten
abhängig von einer technischen Unterstützung oder keine bestimmten Annahmen über pro-
Implementierung bewertet werden. Beispielsweise jektspezifische Ausgangssituationen bzw.
findet sich Continuous Integration dort wieder, unab- unterstellen völlige Wahlfreiheit und eine
hängig von der Bewertung potenzieller Plattformen „Green-Field“-Situation.
und Werkzeuge, die eine bestimmte Methodik unter-
stützen, z. B. Jenkins für Continuous Integration. Die heutigen Bewertungen werden somit
nicht denen von morgen entsprechen. Vie-
WERKZEUGE: le Bewertungen werden tatsächlich auch
Die Rubrik Werkzeuge fasst Hilfsmittel für die Unter- kontrovers diskutiert und es gibt bei der
stützung von Aufgaben in Softwareentwicklungspro- Bewertung der Radarelemente bisweilen
jekten zusammen, beispielsweise Werkzeuge für die gänzlich gegensätzliche Einschätzungen.
Programmierung, die Abhängigkeitsverwaltung, die Die dadurch geführte Diskussion ist Teil
Paketierung von Anwendungen, die Ausführung von einer lebendigen Auseinandersetzung, die
Tests etc. letztlich zu einem gesteigerten Bewusst-
sein für Lösungsmöglichkeiten und Quali-
PLATTFORMEN: tät führt.
Plattformen stellen eine einheitliche technische
Grundlage für eine spezielle IT-Fragestellung bereit,
beispielsweise Microsoft Azure als Cloud-Plattform
für die Entwicklung und den Betrieb verschiedenster
Services, aber auch eine Oracle-Datenbank als Platt-
form für die Persistierung von Daten.
SPRACHEN UND FRAMEWORKS:
Die Rubrik Sprachen und Frameworks umfasst
Programmier-, Auszeichnungs- und Modellierungs-
sprachen, beispielsweise Java, XML und UML sowie
Frameworks, die die Lösung bestimmter Program-
mieraufgaben unterstützen wie die Implementierung
der Kommunikation zwischen verteilten Anwen-
dungskomponenten oder die Implementierung von
web-basierten Nutzerschnittstellen.6 adesso
TECHNOLOGIE
RADAR 2019/2020
PLATT
FORMEN
JAVA-PROJEKTE Ku-
bernetes
IM RADAR
(self-ma-
naged)
Istio
Post-
greSQL
DB2
Keycloak
Spark
MySQL
Kafka
ÜBERDENKEN EVALUIEREN
Apache
Spring
CXF
Spring Boot
Cloud
Axon Fra-
EJB mework
Spring Core
Groovy
concur-
rency-li- Spring
mits MVC
Hystrix
Vert.x
Kotlin
JavaFX
JSF
resilien-
ce4j
Lucene
RCP
SPRACHEN
UND FRAME- Scala
WORKSESB 7
Solr
METHODEN
Java
UND
Desktop TECHNIKEN
Micro- Clients
services
auf Basis
JEE
Re-
active
MariaDB Programm-
ing JEE Ap-
Do- Event plication
MongoDB main Dri- Sourcing Server
Agile
ven Design
Entwick-
(DDD)
lungspro-
Requi-
Kuberne- zesse rements
tes (mana- Engineering
ged) mit IREB
Pro-
Oracle DB Leichtge-
gressive
wichtige Archi-
tekturen Res- Web Apps JEE Portal
sourcen- (PWA) Server
orientierte Versions-
Hadoop Web-Schnitt- kontrolle für
Re- stellen Datenbanken
silient
Software
Design
MSSQL Ver-
Elastic Webservi- teilte SAFe
Search Responsi- Architek-
ve Design ces
turen
EINSETZEN EVALUIEREN ÜBERDENKEN
Apache
Java
Camel
JaCoCo iWelcome
CDI
Jersey/ CSS 3
RESTeasy jQAssis-
tant
leanIX
Feign
RxJava
Go
Hibernate Nect
HTML 5
Per-
formance
Rust Co-Pilot
Spring In- Servi-
tegration ce-Now
WERKZEUGE
Swing
Vaadin
Wicket8 adesso
TECHNOLOGIE
RADAR 2019/2020
JAVA-PROJEKTE IM RADAR
Mit der Veröffentlichung von Java 11 hat Oracle das JEE-Weiterentwicklung
Lizenzmodell für sein passendes Java Development Ähnlich wie mit OpenJDK verfährt Oracle mit der Über-
Kit (JDK) geändert. Zuvor konnte es mit wenigen Ein- gabe der Java-EE-Weiterentwicklung an die Communi-
schränkungen kostenlos genutzt werden. Im neuen ty als Jakarta EE unter der Schirmherrschaft der Eclip-
Modell wird eine kostenpflichtige Lizenz für den pro- se Foundation. Diese hatte bereits seit längerem einen
duktiven Einsatz benötigt. Bedeutet dies, dass Java stärkeren Einfluss mit beschleunigter Weiterentwick-
nicht mehr frei ist? lung gefordert, was zuletzt in die parallele Entwicklung
des Eclipse MicroProfile mündete. Getrieben von ver-
schiedenen Industriegrössen wurden neue Standards
Oracle JDK vs. Open JDK
entwickelt, um den Einsatz von Java-EE-Technologien
Mit Java 11 hat sich auch die Beziehung des Oracle JDKs in Microservices-Landschaften zu vereinfachen. Das
zum OpenJDK geändert. Das OpenJDK steht schon seit Profil wird rasant weiterentwickelt und hat inzwischen
Jahren mit öffentlich verwaltetem Sourcecode zur die Version 2.2 erreicht, in der die bekannten Jakar-
Verfügung. Aber es konnte nie garantiert werden, ta-EE-Funktionen um Spezifikationen für Resilience,
dass sich ein Programm auf beiden JDK-Varianten Konfigurationsmanagement, Health Check, Metriken,
gleich verhält. Somit gab es bei freier Verfügbarkeit JWT-Authentication, Open API und Open Tracing er-
des Oracle JDKs wenige Gründe, auf die quelloffene weitert werden.
Variante zu setzen. Die Unterschiede wurden nun be-
User haben die Wahl zwischen verschiedenen Ser-
seitigt und die Quellen des OpenJDKs dienen heute als
ver-Distributionen: Entweder in klassischen all-inclu-
Grundlage für beide Distributionen. Was Oracle heu-
sive Formaten (z. B. Payara, TomEE oder WildFly), die
te mit seiner JDK-Distribution verkauft, ist also pro-
mit definierten Profilen verschiedene Paketierungen
fessioneller Support. Das grösste Manko: Von Oracle
anbieten, oder als Customizable Server (z. B. Open-
werden über die Zeitrahmen der halbjährlichen Re-
Liberty oder Thorntail (ehemals WildFly Swarm)), bei
lease-Zyklen hinaus keine fertig gebauten Versionen
dem sich jedes Feature modular auswählen lässt.
des OpenJDKs mit Bug- und Security-Fixes bereitge-
stellt. In Softwareprojekten kann die Auswahl des Ein Wermutstropfen ist, dass Oracle nicht bereit ist,
geeigneten JDKs jedoch nicht aufgeschoben werden. bei seinen Namensrechten auf Java Kompromisse ein-
Eine generelle Empfehlung ist es daher, auf die alle zugehen. Dies verhindert die API-kompatible Weiter-
drei Jahre erscheinenden LTS-Versionen zu setzen und entwicklung der Standards, was Migrationsaufwände
nicht dem Release-Zyklus zu folgen. Neue Features für bestehende Projekte bedeuten wird. Es gibt Lö-
stehen dadurch erst später zur Verfügung, aber für sungsansätze, die besprochen werden, aber bis zur
die meisten Projekte dürfte der Nutzen unter dem Umsetzung muss dies als Negativpunkt bei der Tech-
Aufwand einer ständigen Migration liegen. nologieauswahl gewertet werden.
Einige Unternehmen, die stark mit dem Java-Öko- Diese Veränderungen benötigen Zeit. Wir empfehlen
system verbunden sind, bieten eigene Distributionen abzuwarten, wie sich Jakarta EE und das MicroProfile
mit dem Versprechen an, Fixes für mehrere Jahre zu weiterentwickeln werden. Bei jeder Auswahl geeig-
liefern. Red Hat hat die aktuelle Schirmherrschaft neter Technologien müssen immer die individuellen
über das OpenJDK-Projekt übernommen, um die Be- Umstände bewertet werden. Mit dem Spring-Techno-
teiligungen aller Unternehmen zu koordinieren. Oracle logie-Stack steht eine bewährte Alternative bereit, die
gibt also sein Monopol über das JDK auf und teilt die für die meisten neuen Projekte eine geeignete Basis
Verantwortung mit der Java Community. Somit steht bietet.
Java heute freier zur Verfügung als zuvor und der Ein- Mit Jakarta EE ist es einfacher als je zuvor, sich an
fluss der Community auf das OpenJDK ist wichtiger der Weiterentwicklung der Enterprise-Umgebung zu
geworden. Damit haben User eine bessere Wahlfrei- beteiligen. Die Transition bedarf etwas Zeit, aber die
heit, um die für sie passende Distribution zu finden. Schaffung des MicroProfile zeigt deutlich, dass der
Eine allgemeine Empfehlung für die Auswahl einer Bedarf und die Bereitschaft aller Player gross ist, dem
konkreten Distribution lässt sich schwer geben, da Standard zu einer neuen Blüte zu verhelfen.
viele individuelle Kriterien wie benötigte Support-Zei- Unser Fazit: Java wird zwar konservativ, aber konti-
ten oder Plattformverfügbarkeit berücksichtigt wer- nuierlich weiterentwickelt und ist in einer Welt von
den müssen. Cloud-Infrastrukturen und containerisierten Anwen-
dungen immer noch unsere erste Wahl für IT-Projekte.9
Selektierte Einzelbewertungen
Die folgenden Bewertungen aus unserem Java-Radar möchten wir Ihnen näher vorstellen:
Microservices auf Basis von JEE • evaluieren
>> Die im MicroProfile definierten Erweiterungen zum JEE-Standard schliessen die Funkti-
onslücken, um Java Enterprise Server sinnvoll in Microservice-Architekturen einsetzen zu
können. Kombiniert mit modernen Servern wie Open Liberty und Thorntail ist es einfach
möglich, robuste Business-Anwendungen zu implementieren, die zusätzlich zu den An-
forderungen an Funktionen und Features auch den operativen Anforderungen moderner
Anwendungen gerecht werden.
Spring Boot • einsetzen
>> Spring Boot hat sich seit mehreren Jahren in vielen unserer Projekte für die Implementa-
tion von businesskritischen Anwendungen bewährt. Es unterstützt viele Funktionen, die
in modernen Architekturen benötigt werden, um zukunftssichere Applikationen schnell
und einfach zu entwickeln.
Kubernetes (self-managed) • überdenken
>> Kubernetes ist ein anbieterunabhängiger Defacto-Standard für Container-Manage-
ment-Plattformen. Der selbst gehostete Betrieb von Kubernetes ist aufgrund der Kom-
plexität zu überdenken. Stattdessen empfehlen wir einen gemanagten Betrieb von Kuber-
netes. Das Microsoft-Radar enthält z. B. eine Einsatzempfehlung für Azure Kubernetes
Services (AKS).
ISTIO • evaluieren
>> Istio ist eine Service-Mesh-Implementierung für Kubernetes und OpenShift, welche Quer-
schnittsthemen der Plattformen wie Sicherheit, API-Management, Resilienz, Monitoring
und Topologiedokumentation der Container-Plattformen übernimmt. Istio nutzt das Si-
decar-Pattern von Kubernetes und wir haben in diversen Einsatzszenarien festgestellt,
dass es besonders in komplexeren Microservice-Architekturen ein nützliches Lösungs-
element sein kann.
jQAssistant • einsetzen
>> jQAssistant ist ein Werkzeug, welches die Architektur einer Anwendung in eine Graphda-
tenbank importiert. Dies ermöglicht Abfragen zu erstellen, um die Architektur zu prüfen.
Über Plugins kann jQAssistant beispielsweise in den Build-Prozess integriert werden und
einen Build fehlschlagen lassen, wenn gegen eine Architekturregel verstossen wurde.
jQAssistant hat sich bereits in mehreren adesso-Projekten als nützliches Werkzeug er-
wiesen.10 adesso
TECHNOLOGIE
RADAR 2019/2020
PLATTFORMEN
JAVASCRIPT-
PROJEKTE
Native-
Script
IM RADAR
ReactNa-
tive
ÜBERDENKEN EVALUIEREN
Lodash
Angular JS ReactJS
RxJS
ECMA-
Script
NEXT
Aurelia
Pact
Ember
SPRACHEN UND
FRAMEWORKS11
METHODEN
UND
No- TECHNIKEN
Backend
Redux
State
Manage-
ment
Library Resour-
Sin- ce-orien-
gle-Page TDD/BDD ted Client
Architecture
Applicati- (ROCA)
ons Tool-
gestützte
Komponen-
ten-Doku-
Progres- mentation
Respon- sive Web
sive Web Apps
App Web
Compo- Web-An-
Node.js
nents wendung
– Server-Si- Consu- Off- als reaktives
de-JavaScript mer-driven Micro line-First System
Contracts Frontends
Web-ba-
Kom-
sierte Desk-
ponen- Mobile
API-First top-Apps
ten-Archi- First
tektur
EINSETZEN EVALUIEREN ÜBERDENKEN
ECMA- Babel
Angular Angular Protractor
Script 6
CLI Jest
Yeoman
Compodoc
ESLint
Codelyzer SASS
JavaScript
Prettier
Jasmine
NPM Gulp
Karma
storybook
Graph QL
TypeScript Yarn
Webpack
Grunt
TSLint WebXR
Vue.js
WebAuthn
Bower WERKZEUGE12 adesso
TECHNOLOGIE
RADAR 2019/2020
JAVASCRIPT-PROJEKTE IM RADAR
Durch die starke Verbreitung von client- sowie server- PWAs auf dem Vormarsch
seitigen JavaScript-Lösungen in den letzten Jahren ist Ein weiterer starker Trend sind die sogenannten
JavaScript zu einem ernst zu nehmenden Teil unserer „Progressive Web Apps”. Dabei handelt es sich
Angebotspalette geworden. Dafür benötigen wir ne- um Webanwendungen, die wie native mobile oder
ben dem Reifen von Sprachen und Frameworks auch Desktopanwendungen genutzt werden können
eine verlässliche und stabile Toolchain. In unserem und die auch Hardware der Geräte nutzen können.
aktuellen Radar spiegelt sich diese Reifung insbe- Da schon 2018 das „Year of PWAs“ ausgerufen
sondere durch neue Elemente in den Quadranten für wurde und der Browser Support mittlerweile gut
„Werkzeuge“ und „Sprachen und Frameworks“ wider. genug ist, um PWA-Features produktiv einsetzen
zu können, ist auch das für uns eines der Top-The-
men im Jahr 2019.
Front- und Backend einheitlich
Für unsere Kunden ist Sicherheit von jeher ein
Client-seitige Single Page Applications (SPAs) sind wichtiger Faktor bei der Entscheidung zum Ein-
mittlerweile im grossen Mass im Einsatz. Auch die satz von Technologien. Wir möchten im aktuellen
Einführung der server-seitigen Technologie Node.js Technologie-Radar den Fokus auf aktuelle Au-
ersetzt in mehreren unserer Projekte die üblichen Ba- thentifizierungsschnittstellen im Webumfeld le-
ckend-Technologien – sowohl in grossen als auch in gen. WebAuthn ist aus unserer Sicht ein wichtiger
kleinen Unternehmen. Durch den Einsatz derselben Baustein für die Verbindung vielschichtiger und
Programmiersprache im Frontend und Backend konn- sicherheitsrelevanter Prozesse im Netz.
ten wir die Agilität kleiner Teams erhöhen und die
Erstellungs- und Instandhaltungskosten für unsere
Kunden reduzieren.
In den letzten Jahren wurden viele monolithische
server-seitige Applikationen in leichtgewichtige Mic-
roservices aufgebrochen (u. a. auch mit Node.js). Da
die Komplexität der SPAs immer weiter zugenommen
hat, gibt es mittlerweile auch im Frontend die Be-
strebung, die Monolithen aufzuteilen. Der Ansatz von
Micro Frontends wird daher aus unserer Sicht an Be-
deutung gewinnen.13
Selektierte Einzelbewertungen
Das Radar für JavaScript-Projekte enthält über 50 bewährte Elemente. Nachfolgend sind bei-
spielhaft fünf Elemente aus unterschiedlichen Kategorien und mit hoher Aktualität aufge-
führt.
Jest • einsetzen
>> Jest ist ein leichtgewichtiges Testing Framework, welches uns vor allem durch seine ein-
fache Bedienung, gute Performance und interessanten Features wie Snapshot Testing
überzeugt. Es ist sehr leicht zu konfigurieren und gibt dem Entwickler ein schnelles und
aussagekräftiges Feedback über den Status seiner Tests. Darüber hinaus bietet Jest eine
einfache Migration von bestehenden Unittests, wodurch es sich auch für bereits laufende
Projekte als eine echte Alternative zu Karma, Mocha und Co. eignet.
PWAs • einsetzen
>> Der Begriff Progressive Web App (PWA) stellt im Wesentlichen einen Eigenschaftenkata-
log dar, dessen Anwendung eine Webseite zu einer Web App mit Merkmalen einer nativen
App macht. Neben der responsiven Umsetzung muss eine PWA als Mindestanforderung
offline funktionieren, Push-Benachrichtigungen unterstützen, den App-Zustand über
Links verfügbar machen und über HTTPS ausgeliefert werden. Werden diese Anforde-
rungen erfüllt, erlauben alle mobilen Browser (mit Einschränkungen bei Safari Mobile),
dass sich die PWA neben nativen Apps auf dem Hauptbildschirm platzieren und sich dem
Nutzer fortan wie eine native App präsentieren kann – also z. B. ohne Navigationsleiste
oder sonstige Hinweise, dass die App in einem Webbrowser läuft.
Micro Frontends • einsetzen
>> Micro Frontends sind ein Architekturstil, der an dem Grundgedanken der Microservice-Ar-
chitektur angelehnt ist. Da in den vergangen Jahren dank der SPAs die Frontend-Anwen-
dungen immer komplexer wurden, haben wir es auch hier mittlerweile häufig mit grossen
monolithischen Anwendungen zu tun, die sehr komplex in Bezug auf Wartbarkeit und
Erweiterbarkeit sind. Mit einer Micro-Frontend-Architektur kann ein solcher Monolith in
mehrere kleine eigenständige Web Apps aufgeteilt werden. Zudem bietet dieser Ansatz
die Möglichkeit, verschiedene Frameworks parallel zu nutzen.
WebXR • evaluieren
>> WebXR ist ein junger Standard, der immer mehr an Bedeutung gewinnt. XR steht für „Ex-
tended Reality” und beschreibt die Erweiterungen oder das Überdecken der Realität mit
virtuellen Inhalten – also ein gemeinsamer Standard für AR und VR. Es können AR- und
VR-Features in einer Webanwendung bzw. im Browser genutzt werden. Die denkbaren
Einsatzgebiete sind vielfältig und wir haben bereits erste Projekte für unsere Kunden
damit umgesetzt.
WebAuthn • evaluieren
>> Die Web Authentication API (auch WebAuthn) benutzt eine asymmetrische Verschlüs-
selung anstelle eines Passwortes oder einer SMS zur Registration und Authentifikation.
Hierbei übernimmt ein von der Webseite losgelöstes Browser-Modul die Authentifizie-
rung. Die vom Server geschickte Challenge wird mithilfe von Identifikationsmerkmalen
(Iris, Stimme, Fingerabdruck, Smartcard oder anderer Tokens) signiert. Im Anschluss wird
sie an den Server zurück übertragen, welcher die Korrektheit mittels des öffentlichen
Schlüssels nachprüfen kann. Somit werden keine Schlüssel über das Netzwerk übertragen
und der Nutzer muss sich keine Passwörter mehr merken.14 adesso
TECHNOLOGIE
RADAR 2019/2020
PLATTFORMEN
Yammer
MICROSOFT-
PROJEKTE Windows
IM RADAR 10 Mobile
Azure
Service SQL Server
Fabric
UWP
SharePoint
Windows Microsoft
Phone 8 365
Dyna- Dynamics
mics 365 365
Operations and
Financial
Azure
BizTalk DevOps
Server
ÜBERDENKEN EVALUIEREN
CAML
d3.js
R Server
datatables.
jQuery
net
ADO.Net
knockout.
.Net Core js
less
jQuery UI
Entity
Framework
Core
Kendo UI
SPRACHEN UND
FRAMEWORKS15
METHODEN
UND
TECHNIKEN
Azure
Functions
Azure
Web und
Microsoft
iOS Mobile Solutions
Framework
(MSF)
IIS
Azure Do-
DevOps main Dri-
Azu- Azure
ven Design
re Storage
(DDD)
Network
Ser-
FastTrack
Azu-
Azure AD
re Ku-
bernetes
Service
CMMI DevOps und
Anwendungsle-
MS Data benszyklus-Ver-
Azure AD Azure & AI Plat- waltung
B2C Datenban- form
ken
Azu- Con- Scrum
re Com- tinuous
Azure Agile Pla-
pute Ser- ASP.NET nungsmetho- integration
vices Web API den (KanBan) (CI)
EINSETZEN EVALUIEREN ÜBERDENKEN
Balsa- Browser Microsoft Visual
.NET Fra- Stack LINQPad Studio
ASP.NET miq_ms Flow
mework Code
Terra-
form (von
HashiCorp)
Fiddler Git_ms K2 Black MS Build
bootstrap Pearl
ASPX
Sysinter-
Entity Fra- nals Tools
mework HyperV ILSpy
Nintex PowerShell
Forms
LINQ
C#
Nintex
Mono for NuGet Workflows Browserify
PowerApps
Xamarin Power BI
Rx
Microsoft Postman
Graph / DHC REST
Client Mi-
NUnit WebEssen-
MS Bot crosoft
Framework tials Teams/
WebCom- Groups
SignalIR piler
VMWare
F#
InfoPath WERKZEUGE
LINQ2SQL16 adesso
TECHNOLOGIE
RADAR 2019/2020
MICROSOFT-PROJEKTE IM RADAR
Bei Microsoft-Projekten stellen wir fest, dass Business Intelligence, Advanced Analytics und
Cloud-Plattformen eine zunehmend wichtige Rolle Künstliche Intelligenz (KI)
spielen. Zentral ist dabei aber deren Integration in Die Analyse von Informationen und Daten spielt für
die bestehenden On-Premises-Umgebungen unserer viele unserer Kunden gerade bei Digitalisierungsvorha-
Kunden. Die Microsoft Cloud bietet eine Basis für An- ben, Customer Management, klassischen DWH-The-
wendungen, die sich aus dezentralisierten Diensten men und auch im Bereich KI eine wesentliche Rolle.
zusammensetzen, egal ob diese On-Premises oder Die Azure-Komponenten der Microsoft-Data-Platt-
aus der Cloud bereitgestellt werden. Die Microsoft form unterstützen Big-Data- und Advanced-Analy-
Cloud besteht aus Azure für Infrastructure- und Plat- tics-Themen und bieten damit eine hochskalierbare
form-as-a-Service-Diensten. Office 365 ist die Platt- Infrastruktur quasi aus der Steckdose. Der Aufwand
form für den kollaborativen Einsatz. Darüber hinaus für den Aufbau und den Betrieb einer eigenen In-
steht mit Dynamics 365 eine Umgebung für Business house-Big-Data-Plattform ist für unsere Kunden also
Applications bereit. Unsere Kunden profitieren zu- kein limitierender Faktor mehr.
nehmend davon, dass sich Azure-Dienste wie bei-
spielsweise Machine Learning oder Cognitive Services
Plattform-unabhängig nutzen lassen.
Business Productivity
Collaboration ist die Basis für einen modernen Ar-
beitsplatz. Dafür stellt Microsoft diverse einfache
und effektive Lösungen bereit. Unsere Kunden setzen
hier vermehrt auf Microsoft 365, bei dem kollabora-
tive Dienste wie SharePoint, Skype for Business oder
Teams um Sicherheitskomponenten wie beispielswei-
se Conditional Multi-Factor Access ergänzt werden.
PowerApps und Flow sind inzwischen etablierte Tools,
um Services innerhalb von Microsoft 365 zu verknüp-
fen. Wir stellen zunehmend fest, dass Microsoft Cog-
nitive Services wichtige Elemente für die Workforce
Automation eines modernen Arbeitsplatzes darstel-
len.
Customer Experience Management (CEM)
Die Bereitstellung relevanter, aufbereiteter Informati-
onen über den kompletten Customer Lifecycle hinweg
ist ein Schlüssel zum Erfolg. Die Dynamics-365-Platt-
form bietet dazu unter anderem die Common Data
Service und Power Apps. Damit schaffen wir für unse-
re Kunden eine durchgängige Verbindung von Infor-
mationen, Touchpoints und Prozessen und können zu
einem nachhaltigen CEM beitragen.17
Selektierte Einzelbewertungen
Aus der Vielzahl der Einträge im Radar für Microsoft-Projekte sind nachfolgend die Elemente
aufgeführt, die eine hohe Relevanz für unsere Kunden aufweisen:
Microsoft Data & AI Platform • einsetzen
>> Das maschinelle Lernen nimmt in unseren Projekten einen immer höheren Stellenwert
ein. Mit den Cognitive Services und mit LUIS stehen vortrainierte, intelligente Komponen-
ten für die Bearbeitung von Daten, Bildern, Sprache und Text bereit. Das erlaubt eine ein-
fache Operationalisierung und Integration in Applikationen und Workflows. Der Microsoft
SQL-Server und die dazu verfügbaren BI-Services haben nach wie vor einen festen Platz in
unseren BI-Projekten und beweisen mit den aktuellen Versionen ihre Leistungsfähigkeit.
Die Verfügbarkeit von Power BI in reinen On-Premises-Szenarien hat die Attraktivität
weiter erhöht. In Branchen ohne starke regulatorische Einschränkungen beobachten wir
eine zunehmende Nachfrage nach Cloud-Data-Platform-Lösungen mit Komponenten wie
Azure SQL Database, Azure Analysis Services sowie den Modern-BI-Ansätzen auf Basis
von Azure Data Lake, Azure Databricks und Power BI.
Microsoft Bot Framework • einsetzen
>> Bei der Erstellung von Bots setzt Microsoft auf ein für Entwickler zugängliches Frame-
work. Für Szenarien wie Bestellprozesse, FAQs oder Ticketsysteme können somit die Ent-
wicklungsaufwände erheblich reduziert werden. Die so erstellten Assistenten können in
verschiedene Anwendungen integriert werden. Kanäle wie zum Beispiel Teams, Slack oder
der Facebook Messenger werden unterstützt – auch mit natürlicher Sprache als Eingabe-
medium.
Microsoft 365 • einsetzen
>> In unseren Projekten erkennen wir den Bedarf, den modernen Arbeitsplatz technologisch
von der Infrastruktur über die Integration von Microsoft Cloud Services bis zur Anwen-
dungsentwicklung abzubilden. Microsoft 365 mit Office 365 und Enterprise Mobility und
Security bietet die erforderliche technologische Grundlage. Über die Sicherheits- und
Compliance-Dienste von Microsoft 365 werden Anwendungen gemäss den Regularien der
Unternehmen abgesichert.
Dynamics 365 • einsetzen
>> In unseren Projekten erkennen wir den Trend, dass der Reifegrad der Kunden im Thema
CRM und CEM steigen soll. Nachdem sich inzwischen klassische CRM-Funktionen etab-
liert haben, werden die gewonnenen Daten nun verwendet, um mehr kaufmännischen
Nutzen zu generieren. Hierbei stehen die Digitalisierung des Marketings und optimierte
Lead-Nurturing-Prozesse im Fokus. Zunehmend soll auch im Bereich der Services weite-
res Potenzial gehoben werden. Die Dynamics-365-Plattform hält Lösungsbausteine und
Werkzeuge für Low-Code Development bereit, um optimierte Lösungen zu schaffen, die
sich einfach in bestehende Architekturen integrieren lassen.
Azure Kubernetes Services (AKS) • einsetzen
>> Microservices ist das State-of-the-art Architekturmuster für den Aufbau moderner, mo-
dularer Anwendungen. Es setzt darauf, sehr viele kleine Services in einem harmonischen
Zusammenspiel arbeiten zu lassen. Kubernetes ist ein Orchestrator, der in solchen Umge-
bungen hilft, Komplexität zu vermeiden. Mithilfe des .NET Core verpacken wir unsere Ser-
vices in Docker Container, die dann durch Kubernetes orchestriert und betrieben werden.
Solche Lösungen können einfach betrieben werden und erfüllen auch alle Anforderungen
an DevOps-Paradigmen.18 adesso
TECHNOLOGIE
RADAR 2019/2020
PLATTFORMEN
MOBILE XCode
Server
Google
Home/
ENTWICKLUNG HomeKit
IM RADAR Android TV
Android
Auto/Apple
Car
Teamcity
SAP iOS
Bitbucket
Visual
Studio Team-
service
ÜBERDENKEN EVALUIEREN
PDFKit Ionic
Realm
Vuforia
(AR)
Kotlin
Angular
ReactNa-
tive
RxSwift
SAP UI5
Qt for
Swift for Mobile
Android
GreenDAO
SPRACHEN UND Robolectric
FRAMEWORKS19
METHODEN
UND
Amazon
Alexa
TECHNIKEN
Sales-
force CRM
(Mobile
SDK)
End-
to-End
Testing
inMotion
Asset Ge-
neration
Cordova
Predictive
UI
Backend
Optimistic as a Ser-
UI vice Viper
iOS
Android Usability Depen-
Testing dency
Injection
EINSETZEN EVALUIEREN ÜBERDENKEN
VisualStu-
ObjectiveC Java Fastlane dio Blackbelt
Gradle An-
droid
Studio/
IntelliJ Xray (Jira)
Swift
Xcode
TypeScript
Cocoapods Saucelabs
SonarQube Microsoft
C#
Grunt Flow
RxAndro-
Gulp
id/RxJava NuGet
Appium/
SwaggerUI Postman
Selenium
Visu-
Webpack alStudio
online
SQLCipher
Xamarin. TFS/De-
Native & Xa-
marin.Forms vOps AppCode
LoRa
Tensor-
flow.Lite
Flutter/ Carthage
Dart
WERKZEUGE
Angular.JS
PSPDFKit20 adesso
TECHNOLOGIE
RADAR 2019/2020
MOBILE ENTWICKLUNG IM RADAR
Die Durchdringung von Mobile Devices im privaten Cross-Plattform-Lösungen
und beruflichen Kontext schreitet immer weiter voran. Aus technologischer Sicht hat das letzte Jahr ver-
Eine Mobile-Strategie ist Kernbestandteil der Digita- gleichsweise wenige disruptive Änderungen gebracht.
lisierungsvorhaben, die uns im letzten Jahr begegnet Auf nativer Seite sind Swift und Kotlin nach wie vor
sind. Gerade im Bereich „Digital Workplace“ nimmt gesetzt und auch im Bereich der Cross-Plattform-Fra-
die Zahl der Projekte, in denen Mitarbeitende bei ihrer meworks war im letzten Jahr wenig Bewegung zu be-
täglichen Arbeit mit mobilen Lösungen unterstützt obachten. Als Cross-Plattform-Lösungen setzen wir
werden, weiter zu. Im Zuge der wachsenden Bedeu- nach wie vor hauptsächlich auf Cordova/Ionic und Xa-
tung von Mobile für Unternehmen versuchen immer marin (Native & Forms). Je nach Projekt entscheiden
mehr Unternehmen auch intern Prozess- und Archi- wir uns bereits während der Konzeption, welche der
tektur-Knowhow für Mobile-Projekte aufzubauen. genannten Technologien zum Einsatz kommt.
Alternative Cross-Plattform-Lösungen wie React.Na-
tive oder Flutter beobachten wir nach wie vor und prü-
Weg von Offline
fen in regelmässigen Abständen einen Einsatz. React.
Eine weiterer Trend, den wir in unseren Projekten be- Native bietet gegenüber unserem aktuellen Toolset
obachten, ist eine Wegentwicklung von der weiterge- keine gravierenden Vorteile, die einen Ein- oder Um-
henden Offline-Fähigkeit von Applikationen. Aktuelle stieg attraktiv machen würden. In Flutter sehen wir
Apps verfügen zwar über eine stabile Basisfunktiona- grosses Potenzial. Jedoch hat das Framework nach
lität, ihren eigentlichen Funktionsumfang erreichen einem anfänglichen Pushen durch Google auch im
sie aber meist nur im Zusammenspiel mit Backends letzten Jahr keinen wirklichen Schub erfahren, sodass
und Cloud-Diensten bei bestehender Online-Verbin- abzuwarten bleibt, ob sich Flutter kurzfristig etabliert
dung, sodass die Offline-Fähigkeit sich meist auf oder sich in die lange Reihe der von Google beerdigten
ein Caching der lokalen Daten bis zur nächsten On- Projekte einreiht.
line-Verbindung beschränkt. Zusätzlich getrieben
wird diese Entwicklung durch Themen wie Machine
Learning oder Chatbots, die in den meisten Fällen
eine ständige Verbindung zu den jeweiligen Backends
benötigen.21
Selektierte Einzelbewertungen
Besonderes Augenmerk im Rahmen unserer Radar-Bewertungen setzen wir auf diese Ele-
mente:
CoreML & ARKit • evaluieren
>> Die nativen ML Frameworks von iOS und Android bieten spannende Möglichkeiten, so-
wohl im Zusammenspiel mit den immer besser werdenden Kameras als auch in Kombina-
tion mit individuellen Modellen z. B. auf Tensorflow.Lite Basis.
RxSwift • überdenken
>> Nachdem es in den letzten beiden Jahren eine Reactive-„Welle“ gab und entsprechende
Frameworks auf allen Plattformen und in allen Sprachen in den Projekten zu finden wa-
ren, ebbt die Euphorie bzgl. Reactive gerade im iOS-Bereich ab, da die Frameworks bzw.
der Reactive-Ansatz als solches aktuell bei iOS keine spürbaren Probleme löst.
SwaggerUI • einsetzen
>> Da alle von uns entwickelten Lösungen mit mindestens einem Backend kommunizieren,
ist Swagger.UI inzwischen in jedem Mobilen Projekt im Einsatz. Die Qualität des generier-
ten Client Codes ist zwar gerade im iOS-Bereich (noch) nicht immer optimal, die Vorteile
von Swagger überwiegen aber trotzdem deutlich, sodass es in zukünftigen Projekten für
uns eine gesetzte Technologie ist.
Qt • evaluieren
>> Auch wenn Qt und C++ sicher keine neuen Technologien sind, ist die Cross-Plattform-Ent-
wicklung mit Qt gerade für Kunden aus dem Bereich Manufacturing Industries eine inte-
ressante Variante, da bestehende Maschinen-Interfaces oder Displays häufig auf C++/
Qt-Basis entwickelt werden und es hier Synergien geben kann.
Azure DevOps • einsetzen
>> Auch wenn Azure DevOps auf kurze und vermutlich auch mittelfristige Sicht unsere be-
stehende Toolchain nicht ersetzen wird, setzen wir es verstärkt für Kunden ein, die eine
eigene Build-/Toolchain aufbauen möchten bzw. eine exklusive Instanz für ihr Projekt
haben möchten. Daneben kommt DevOps bei unseren Xamarin-Projekten zum Einsatz.
Einer der grossen Vorteile ist dabei die komfortable Verknüpfung von Tickets, Builds, Re-
lease etc.22 adesso
TECHNOLOGIE
RADAR 2019/2020
PLATTFORMEN
Bamboo
FOKUS-RADAR:
JAVA TOOLCHAIN
GoCD
Jenkins
VMware
ESX Server
ÜBERDENKEN EVALUIEREN
Failsafe
SPRACHEN UND
FRAMEWORKS23
METHODEN
UND
TECHNIKEN
Nexus
Graylog 2
Conti-
nuous
Delivery
Gitlab
Elastic Stack
Auto-
als Log-Platt
matisierte Continu-
form
End-to-end ous Integ-
Tests ration
Docker
EINSETZEN EVALUIEREN ÜBERDENKEN
Chef Bitbucket Maven Vagrant
Sonarqube Postman Gatling
Intellij IDEA / OWASP
Webstorm Dependendy
Balsamiq Check
Java
Structure Mission
Eclipse jQAssis- Control
tant 101
Swagger
Puppet
JIRA Rest-assu-
JMeter
red logFaces
Gradle
Java Me-
Ansible
lody
Test-Ma-
SpiraTest nager/
Lab-Mana-
ger
UpSource
YouTrack
WERKZEUGE24 adesso
TECHNOLOGIE
RADAR 2019/2020
FOKUS-RADAR: JAVA TOOLCHAIN
Java als technologische Plattform hat zweifelsfrei seit Mehr Cloud-artige Strukturen
vielen Jahren die Reife für den breiten und vielfältigen Ein Trend, der ebenfalls aus der Open-Source-Welt in
Einsatz in Unternehmen. Gleichzeitig verändert sich die Unternehmenswelt „schwappt“, ist ungebrochen
das Ökosystem jedoch immer wieder grundlegend, da der Trend zu „cloud-artigen“ Strukturen. Auf der Welle
Innovationen insbesondere im methodischen Quad- der Container-Nutzung sind Themen wie Cloud-native
ranten zu veränderten Entwicklungsprozessen füh- heute in Unternehmen präsent. Kubernetes-basierte
ren. Diese stellen neue Anforderungen an die Werk- Plattformen werden von immer mehr Unternehmen
zeuge und Plattformen. eingesetzt und verändern die Art und Weise wie Soft-
ware entwickelt wird, wie Software-Delivery-Prozes-
se gestaltet sind, wie Software betrieben wird. Be-
Social Coding sonders interessant ist hier auch die Wechselwirkung
Ein Beispiel für diese Veränderungen sind Soci- zwischen den Features der modernen Betriebsplatt-
al Coding Practices, die über den Einsatz in Open— formen und den Softwarearchitekturen, die beispiel-
Source-Projekten auf GitHub, GitLab und Co. hinaus weise für Aufgaben, die bisher als Teil der Software-
heute auch sinnvoll in unseren Kundenprojekten ein- entwicklung „eingebaut“ wurden, nun durch Services
gesetzt werden. Für den Einsatz in Kundenprojekten der Betriebsplattformen abgebildet werden können.
werden, teilweise von den Open-Source-Plattformen Konzepte wie Side-Cars mit Istio oder Service-Regis-
selbst, passende Pakete ihrer Plattformen bereitge- tries einer Kubernetes-Plattform sind Beispiele dafür.
stellt, die so z. B. On-Premise oder mit entsprechen- Im Projekt ergeben sich hierdurch zahlreiche neue
den Integrationen und Funktionen für den Einsatz in Herausforderungen, die einerseits den Softwareent-
Unternehmen ausgestattet sind. wicklungsprozess selbst betreffen, andererseits den
Die Leader in diesem Segment sind GitLab und Atlas- Betrieb dieser Stacks umfassen. Ersteres ist in vielen
sian Bitbucket, wobei beide Systeme unterschiedliche Projekten mittels Prozess-Frameworks wie Git Flow
Philosophien verfolgen. Während GitLab sich als voll- bereits gelebte Realität, benötigt aber auch eine
integrierten Stack innerhalb eines geschlossenen Öko- Anlaufphase. Letzteres zieht tiefgreifende Verände-
systems sieht und den gesamten Projektprozess vom rungen nach sich, weil das erforderliche Know-How
Requirements Engineering über Code-Verwaltung und im Projektteam um Themen wie Software Defined
-Build bis zur containerbasierten Auslieferung abbil- Networking, Kapazitätsplanung, Überwachung und
den will, ist Bitbucket eher als Baustein im Kontext Orchestrierung sowie Lifecycle ergänzt werden und
des gesamten Atlassian-Stacks gedacht. Dieser er- mit entsprechenden Werkzeugen (Ansible, Kuber-
weitert Git als Configuration Management-Werkzeug netes usw.) unterfüttert werden muss. Zudem ent-
um Komponenten der Zusammenarbeit, überlässt stehen hierdurch neue Herausforderungen für den
aber die anderen Bestandteile des Prozesses etablier- klassischen IT-Betrieb, weil die Projekte wesentliche
ten Tools wie Jira, Confluence oder Bamboo. Teile der Betriebsverantwortung übernehmen – hier-
für muss die IT an der Schnittstelle zu den Projekten
entsprechend aufgestellt sein, um dieser technisch
wie organisatorisch anspruchsvollen Anforderung ge-
recht werden zu können.25
Selektierte Einzelbewertungen
Aus den Einträgen im Radar für Java Toolchain möchten wir die Bewertung der folgenden
Elemente hervorheben:
Nexus • einsetzen
>> Nexus wird im Rahmen der adesso-Continuous-Integration-Infrastruktur zur Ablage von
Artefakten bereitgestellt und wird in vielen adesso-Projekten erfolgreich eingesetzt.
Chef, Puppet, Ansible • einsetzen
>> Chef oder alternativ Puppet/Ansible sind Systemkonfigurationswerkzeuge für die Pro-
visionierung von hauptsächlich Unix-basierten Systemen. Speziell im Rahmen von Pro-
jekten mit DevOps-Anteilen sind sie interessante Kandidaten. Sie sind verbreitete und
notwendige Lösungen, die sich längst etabliert und in Projekten bewährt haben.
Bamboo • überdenken
>> Eine einfache Möglichkeit, Continuous Integration trotz schwieriger Ausgangslage und
Infrastruktur einzusetzen. Allerdings hat Bamboo keinen Support für Pipeline as Code.
Bitbucket • einsetzen
>> Das Tool ermöglicht professionelle Softwareentwicklung mit oder ohne Branching-Mo-
delle. Durch Social Coding Features ist eine intensive und professionelle Auseinanderset-
zung mit dem Code im Team möglich.
Gitlab • einsetzen
>> Gitlab ist als Alternative zum Atlassian Stack zu bewerten. Viele unserer Projekte bevor-
zugen Gitlab insbesondere gegenüber der Kombination aus Bitbucket, Bamboo und Co.
wegen der tiefen Integration und der Unterstützung von Pipeline as Code.26 adesso
TECHNOLOGIE
RADAR 2019/2020
Die adesso-Softwarearchitekten:27 Das Technologie-Radar wird fortlaufend von den adesso-Experten evaluiert und erweitert. Die Print-Ausgabe erscheint einmal jährlich. In der Zwischenzeit wenden Sie sich für Fragen, Hinweise oder Aktualisierungen gerne an: info@adesso.ch
adesso Schweiz AG
28 Vulkanstrasse
adesso
106
TECHNOLOGIE
8048 Zürich
RADAR 2019
T +41 58 520 98 00
info@adesso.ch
www.adesso.chSie können auch lesen