Blog

Einfach Mappen mit MapStruct
„Och nö, auf diese langweiligen Aufgaben habe ich keinen Bock. Diese blöden Mapping-Klassen mit den ganzen getter/setter-Aufrufen nerven einfach nur“. Klaas, unser Junior-Entwickler war absolut nicht begeistert.
!sredna hcua nnak hcI
Guten Tag! Ich bin ihr Large-Language-Model und kann jetzt rückwärts buchstabieren.
"ChatGPT ist einer meiner engsten Freunde"
Früher haben wir das selbst gemacht. Stimmt. Früher haben wir auch in Lexika nachgeschlagen, die heute gar nicht mehr produziert werden.
Gute Übersicht für alle Beteiligten
Stehen ein Moderator und vier Stakeholder vor einer Leinwand. Sagt der eine: „So und jetzt machen wir mal alles sichtbar.“ Klingt wie ein Witz? Ist es aber nicht. Denn Canvas kann das!
Leckere Tapas und lästige Tests
Tapas kennen wir. Das sind die köstlichen, mundgerechten Häppchen aus der spanischen Küche. Tapas sind viel mehr als nur kleingeschnittenes Obst oder eine nussige Knabberei. Sie bestehen aus mehreren, oft aufwendig zubereiteten Zutaten, die gemeinsam eine interessante Gesamtkomposition ergeben. Und was hat das mit IT-Tests zu tun? Kommt gleich!
Hier ist jede*r willkommen!
Die IKS setzt sich gezielt dafür ein mehr Frauen ins Team zu holen. Und wer wäre besser geeignet als die eigenen Mitarbeiterinnen, um einen echten Einblick zu gewähren?
Der eine Ort der Wahrheit
In der Straßenbahn habe ich ihn noch im Kopf: Den Master-Plan für den heutigen Arbeitstag. Im Büro will ich dann mal sportlich sein, die Treppe statt des Aufzugs nehmen und sammle auf dem Weg nach oben direkt eine neue Aufgabe ein. Das wiederholt sich an der Kaffeemaschine. Digital geht es im Posteingang und bei Teams so weiter.Der Gedanke liegt nahe: „Alle bedrohen meinen Plan.“Augenblicklich frage ich mich: „Wie kriege ich nur schnell den Kopf wieder frei?“
Stell dir mal vor, ...
... du hast gerade dein Abi gemacht – Check! Dann startest Du eine Ausbildung zum Fachinformatiker bei der IKS. Du kommst am ersten Arbeitstag ins Büro. Nervös? Aufgeregt? Klar, das geht allen so.
Schicksalsmomente eines Programmierers
500 auf Bahn 1 setzen. Die gewinnt sicher. Verdammt, 500 weg. Alles oder nichts. Restliches Geld auf Bahn 5 diesmal. Wieder Pech. Alles Geld verspielt. Wie erklär ich das meiner Frau?
Entdecken Sie die Möglichkeiten von Streaming!
Streaming-Plattformen ermöglichen die zuverlässige Übertragung großer Datenmengen in Echtzeit. Sie sind auf Skalierung ausgelegt und bieten vielfältige Optionen für die Integration von Anwendungen.
Viele Webservices verderben den Brei?
Cloud Computing Anbieter liefern heutzutage Hunderte verschiedenster Services "frei Haus". Die Vorteile Zuverlässigkeit, Skalierbarkeit, Agilität der eingesetzten Mittel und "nur bezahlen, was ich nutze" liegen hierbei auf der Hand. Aber kommt man mit einfachen Rezepten mit maximal 5-7 Services zum Erfolg? Aus unserer Projekterfahrung sagen wir JA.
Mit Data Thinking zum erfolgreichen Datenprodukt
Data-Science-Projekte scheitern. Und zwar häufig, wenn man auf Quellen wie Gartner („Through 2022, only 20% of analytic insights will deliver business outcomes“) oder VentureBeat (Why do 87% of data science projects never make it into production?) blickt. Woran liegt das? Einer der Gründe: Fokus auf die Technik, statt auf den Nutzer.
Warten und gleichzeitig Potentiale für neue Projekte heben - geht das?
Wie Wartungsverträge mit IT-Dienstleistern Ihnen mehr Spielräume verschaffen.
IBM i – nicht nur für Alte – auch modern
IBM i – jenseits von schwarz-grün; wie Sie Ihre Applikation moderner gestalten und damit gleich mehrere Herausforderungen der Zukunft angehen/meistern können.
Weil wir alle voneinander lernen können.
Wir machen individuelle Software.Wir denken Probleme und Lösungen individuell. Deshalb liegt es uns auch am Herzen unsere Kolleg*innen individuell zu betrachten und zu fördern, insbesondere die jungen. So wurde das IKS-Mentoring-Programm ins Leben gerufen.
Die Möglichkeiten von Model-to-Code ausschöpfen
Sind Sie neugierig, welche weiteren Möglichkeiten Model-to-Code bietet?In diesem Abschnitt zeige ich Ihnen, wie Sie die benötigten Klassen aus dem Metamodell erzeugen lassen können. Und wie Sie die erzeugten Klassen (Modellklassen) um selbst definierte Methoden erweitern  können.
XML-Parser: Ein praxisnahes Beispiel für Model-to-Code
In diesem Abschnitt stelle ich ein praxisnahes Beispiel vor, das die Möglichkeiten von Model-to-Code zeigt. Der Übersichtlichkeit halber habe ich die Aufgabe allerdings stark vereinfacht und vom Umfang verringert.
Tutorial "Model-to-Code"
Mit diesem Tutorial erhalten Sie einen schnellen Einstieg in Model-to-Code mit Eclipse Epsilon. Sie installieren Eclipse Epsilon und lernen an einem einfachen Beispiel die Techniken „Model-to-Code“, „Model Validation“ und „Model-to-Model-Transformation“.
Schneller entwickeln!
Effizienter arbeiten, ganz ohne Lochkarten! „Weben“ Sie Code, statt Stoff? In dieser Artikelserie lernen Sie „mehr Meter“ zu machen. Und wie Sie von einfachen zu beliebig komplexen „Webmustern“ kommen.
Ein kleiner Einblick in Vue.js
Sind wir auf der Suche nach einem JavaScript Framework, um eine Webseite zu erstellen, kann es leicht zu einem Gefühl der Überforderung durch das Angebot am Markt kommen.
Erfahrungen mit komplexen Tabellen
Nach zwei Jahren Webentwicklung mit DevExpress-Komponenten ist mir das ASPxGridView-Control ans Herz gewachsen.
Einweg kann weg
Wie Software länger lebt.
Es kam der Tag an dem ich den Java-Jahrmarkt besuchte
20 Jahre Java-Treue - auch das ein Anlass für einen Brief. Denn noch haben nicht alle Schluß gemacht.
Von Waffeleisen und Wissenslücken
Wissensmonopole in Projekten mit Git aufdecken.
Ich habe eine Neue
Ein Abschiedsbrief an meine langjährige Freundin Java
Den Rückblick nutzen und Fallstricke vermeiden
Grundlagen, Ablauf, Herausforderungen und Vorschläge zur Durchführung
One Tool to rule them all?
Alle Aufgaben mit nur einer Programmiersprache erledigen? Geht das?
Testautomation mit Windows Application Driver Teil 3 - Weiterführende Aspekte
Dieser Teil schließt den Artikel zu WinAppDriver ab und stellt noch einige weitergehende Aspekte des Automationstools heraus.
Testautomation mit Windows Application Driver Teil 2 - Testdesign und -ausführung
Nachdem in Teil 1 die notwendigen Vorbereitungen getroffen wurden, zeige ich nun, wie GUI-Tests mittels WinAppDriver durchgeführt werden. Dabei sind minimal die folgenden Schritte notwendig:
Testautomation mit Windows Application Driver Teil 1 - Einleitung/Vorbereitung
Für GUI-Tests von Webanwendungen hat sich Selenium WebDriver in der Entwicklerwelt etabliert. Für das Testen von Apps steht das Automations-Framework Appium zur Verfügung. Microsoft hat nun nachgezogen und seine eigene Variante eines Automationsservers entwickelt: den Windows Application Driver (WinAppDriver).
Viele Wege – Ein Ziel
In den letzten Blogs zum Thema Angewandte Modularität hatte ich verschiedene Implementierungen der HOO-Fachdomäne vorgestellt, mit deren Hilfe ich unterschiedliche Modularitätsformen vorgestellt habe. In diesem letzten Blog dieser Serie möchte ich diese abschließend vergleichen.
Choreographie versus Orchestrierung
Im vorletzten Blog hatte ich drei Modularitätsformen (mit jeweils einer Implementierung der HOO-Fachdomäne) vorgestellt, die es nicht erlauben wechselseitige und zyklische Abhängigkeiten zu verwenden (Verteilter Monolith, OSGi und Java9Modules).
Modularität in Java ohne Frameworks
Im vorigen Blog zur Serie „Angewandte Modularität“ hatte ich drei HOO-Implementierungen vorgestellt, nämlich die des verteilten Monolithen, die OSGi-Implementierung und die Java9Modules-Version. In diesem Blog möchte ich zwei weitere Implementierungen vorstellen, die auch wieder die HOO-Fachdomäne nutzen.
Zwei Java Frameworks für Modularität
In dem letzten Blog zur Serie „Angewandte Modularität“ hatte ich die Fachdomäne HOO (kurz für HOroscope Online) vorgestellt, an deren Beispiel ich verschiedene Modularitätsansätze vergleichen möchte.
Was Sie schon immer über Domain Driven Design wissen wollten – kostenfreies Whitepaper zum Download
Komplexe Strukturen und Prozesse in stabiler Software abzubilden erfordert ein kompetentes, agiles Team und eine Entwicklungsphilosophie, die fachliche Komplexität ins Zentrum des Softwaredesigns rückt.
Der HOO-Service als Beispieldomäne
In diesem vierten Blog zur Serie „Angewandte Modularität“ geht es lediglich darum eine Fachdomäne vorzustellen, die in den folgenden Blogs benutzt wird, um verschiedene Arten von Modularität in Form von konkreten Implementierungen vorzustellen.
Wie funktioniert modulare Software?
Dies ist der dritte Blog zum Thema “Angewandte Modularität” und vorerst letzte mit theoretischem Inhalt.
Warum modular und wann besser nicht?
Dies ist der zweite Blog zum Thema “Angewandte Modularität”. Der erste Blog machte deutlich, was Modularität in der Softwareentwicklung bedeutet.
Was ist Modularität?
Was ist Modularität? Dieser Blog ist der erste einer Serie zum Thema “Angewandte Modularität“. Die ersten drei Blogs dieser Serie haben zwar theoretischen Charakter, bereiten aber mehrere Blogs vor, in denen Modularität in sehr praktischer Form (u.a. OSGi, Micro-Services, Modulkonzept von Java 9) vorgestellt wird.
Im Mittelpunkt steht die Fachlichkeit
An der Entstehung und auch Pflege von Software sind viele unterschiedliche Personen mit unterschiedlichen Rollen und vor allem unterschiedlichen Sichten auf die Software und deren Fachlichkeit beteiligt.
Taktisches Design
Das strategische Design liefert die Struktur des Lösungsraums und damit des Softwaresystems und ist Grundlage für das weitere Softwaredesign.
Strategic Design – Stabile Software durch gute Beziehungen
In den letzten Artikeln wurde festgestellt, wie wichtig ein Domänenmodell und eine domänenbezogene Teamsprache für die Erstellung langlebiger und stabiler Software sind.
Die ubiquitäre Sprache – Der rote Faden im Softwaresystem
„To create a supple, knowledge-rich design calls for a versatile, shared team language“ schreibt Eric Evans. Um Software gut zu designen, braucht das Team eine gemeinsame sprachliche Basis.
Das Domänenmodell – Dreh- und Angelpunkt der Entwicklung
Die Erstellung eines lebendigen, mitwachsenden Domänenmodells steht im Zentrum des Domain Driven Design.
Domain Driven Design – Was ist das und warum macht man das?
In der Blogserie über Microservice-Architekturen wurde das Thema Domain Driven Design angesprochen, um natürliche Grenzen für Microservices zu finden.
Ja oder nein? Entscheidungshilfen pro und contra Microservices
Microservices helfen, schnell auf neue Anforderungen zu reagieren. Zum einen, weil die Software strukturell modular aufgebaut ist und die einzelnen Microservices unabhängig voneinander deployed werden können.
Testverfahren für Microservices
End-to-End-Tests End-To-End-Tests sind Tests, welche das System als Gesamtheit testen. Für den Test von monolithischen Systemen wird die Form des Tests häufig eingesetzt, um die Funktionalität des Systems zu testen.
Microservices aus Sicht des Teams und der Organisation
Die Modularität der Microservices und insbesondere die Möglichkeit des unabhängigen Deployments der Microservicesin eigenen Lightweight Containern eröffnen neue Chancen im Entwicklungsprozess:
Microservices aus Sicht der Software- und Facharchitektur
Die größte Herausforderung beim Einsatz von Microservices ist es, den richtigen Zuschnitt der Services zu finden. Services müssen kohärent sein.
Microservices aus Sicht der Technologie
Auswirkungen auf den Technologie-Stack für die Softwareentwicklung Enterprise Service Bus (ESB) ist einer der zentralen Umsetzungsstrategien für SOA.
Was ist eine Microservice-Architektur?
Die Erkenntnis ist nicht neu, dass weder die fachlichen Anforderungen an eine langlebiges System, noch dessen Architektur statisch oder gar vorhersagbar sind. Neue fachliche oder technologische Anforderungen beeinflussen im Laufe der Zeit die Architektur.
MOGLi Code Creator - Open-Source-Projekt
Der MOGLi Code Creator ist ein Open-Source-Projekt der IKS. MOGLiCC ist ein leichtgewichtiges Codegenerierungs-Tool!
IKS zur Gast bei der rheinjug und JUG Cologne
Unsere Referenten Herr Dr. Reik Oberrath und Herr Jörg Vollmer hielten im Rahmen der Java User Group Düsseldorf (rheinjug) ihren Vortrag „Über Faulheit, Feigheit, Unfähigkeit und Clean Code“.
Betrachtung des Standards
Als Abschluss der kleinen Reihe über Batchverarbeitung in JEE7 wird in diesem Teil ein Blick auf  die Implementierungen des Standards geworfen.
Partitionierung
Ein weiteres Konzept der Ablaufsteuerung (siehe auch Ablaufsteuerung eines Jobs, Batchverarbeitung in JEE7 – Teil 4 ) heißt Partitionierung.
Ablaufsteuerung eines Jobs
Die Konfiguration eines Jobs (siehe Batchverarbeitung in JEE7 - Teil 3) zeigt, wie ein Job konfiguriert wird. Damit sind einfache Jobs zu konfigurieren.
Beschreibungssprache für Jobs (JSL)
In Batchverarbeitung in JEE7 – Teil 1: Konzepte wurden die Konzepte der Batchverarbeitung vorgestellt. In diesem Teil wird vorgestellt, wie ein Job konfiguriert wird.
Batchlaufzeitumgebung
Das Konzept der Verarbeitungskontexte ist der Schlüssel zum Verständnis der Batchverarbeitung in JEE7.
Hardware Skins für virtuelle Mobilgeräte
Apps für Mobilgeräte werden – wie andere Software auch – auf Desktop-Rechnern entwickelt.
Konzepte
Batchanwendungen fristen im Java-Biotop ein stiefmütterliches Dasein.
Hardware-Skins - Echtes Look and Feel - ein Artikel der IKS im web & mobile developer
Mit dem AVD (Android Virtual Device) Manager, der mit Android Studio geliefert wird, können virtuelle Android-Geräte erstellt werden, die sich zum Testen bei der App-Entwicklung eignen. Solche Geräte lassen sich optional mit einem Hardware-Skin ausstatten.
JavaScript MVC Frameworks - Teil 4
KnockoutJS
KnockoutJS Im vierten und letzten Teil dieser kleinen Artikelserie betrachten wir KnockoutJS. Ebenfalls wie AngularJS und EmberJS wird es oft als Basis für Single Page Applications empfohlen, beispielsweise im Thoughtworks Technology Radar.
JavaScript MVC Frameworks - Teil 3
EmberJS
Im letzten Teil des Artikels habe ich ein wenig über die Konzepte und die Umsetzung unserer Beispielapplikation mithilfe von AngularJS erzählt. In diesem Teil möchte ich nun mein Augenmerk auf EmberJS legen.
JavaScript MVC Frameworks - Teil 2
AngularJS
Wie im letzten Artikel besprochen, starte ich den kleinen Streifzug durch die Single-Application-Framework-Landschaft mit einem Blick auf AngularJS:
JavaScript MVC Frameworks - Teil 1
JavaScript MVC Frameworks – Ein Vergleich
Der Begriff Single Page Application (SPA)  ist momentan in aller Munde.Viele moderne Webapplikationen verfügen über diesen “Wow”-Effekt und bedienen sich fast besser als ihre Desktop Pendants.
Datenschutz mit CyanogenMod - Teil 3
So schützen Sie Ihr Smartphone vor Datenklau: Apps
Das konfigurierte aber noch sehr karg ausgestattete Smartphone aus Teil 2 statte ich nun mit einigen Apps aus, die dem Datenschutz dienen bzw. diesen gewährleisten.
Softwareentwicklungsschmutz - Teil 3
Effiziente Team-Techniken gegen Softwareentwicklungsschmutz
Im 1. Artikel habe ich erläutert, was Softwareentwicklungsschmutz ist und welche Rahmenbedingungen dazu beitragen, dass er entstehen kann.
Schmutz im Code erkennen und vermeiden
Wie schon im 1. Artikel beschrieben, führt Softwareentwicklungsschmutz zu Ineffizienz und Verzögerungen im Entwickleralltag. Als Schmutz wird all das verstanden, was die Softwareentwicklung verlangsamt und die Akteure behindert.
Softwareentwicklungsschmutz - Teil 1
Oh Schreck – Schmutz in der Softwareentwicklung?!
Softwareentwicklungsschmutz? Was ist denn das? Manche haben diesen Begriff vielleicht noch nie gehört, haben aber in ihrem Entwickler-Alltag sicherlich schon mit “ihm“ zutun gehabt.
Datenschutz mit CyanogenMod - Teil 2
So schützen Sie Ihr Smartphone vor Datenklau: Konfiguration
Das in Teil 1 aufgesetzte CyanogenMod (CM) ist noch unkonfiguriert, daher werde ich im Folgenden einige sicherheitsrelevante Einstellungen vornehmen. Dabei arbeite ich mit der CM-Version 11 M9 (Android 4.4.4).
Datenschutz mit CyanogenMod - Teil 1
So schützen Sie Ihr Smartphone vor Datenklau: Installation von CyanogenMod
In dieser dreiteiligen Schritt-für-Schritt-Anleitung zeige ich, wie Sie mit dem auf Android basierenden CyanogenMod (CM), den Tools Heimdall Suite und ClockWorkMod Recovery, und einem älteren Smartphone (Samsung Galaxy S3) ein sicheres Smartphone aufsetzen.
Apps erstellen
Apps erstellen leicht gemacht – eine “Feature-Roadmap” für Mobile Apps
Bevor eine App erfolgreich am Markt platziert werden kann, sind einige Rahmenbedingungen zu beachten. Eine App-Strategie zu entwickeln erfordert Zeit, Teamgeist und eine klare Vision.
Test-Automation mit Selenium WebDriver
Test-Automation mit Selenium WebDriver - ein Artikel der IKS im dotnetpro-Magazin
Nur wenn Softwaretests einfach durchzuführen sind, werden sie im Projekt auch wirklich eingesetzt und verhelfen zu mehr Softwarequalität. Idealerweise geschieht dies automatisiert.
gearconf 2012
IKS auf der gearconf 2012 - Vortrag: Clean Code: Von der Lehre in den Alltag (Download)
Bereits zum 4. Mal fand im Juni 2012 die "gearconf", Deutschlands einzige Konferenz zur Softwareentwicklung im Team statt.
e-Marketingday
IKS auf dem e-Marketingday der IHK - Download der Vortragsfolien
Mobile Applikationen für Smartphones und Tablets sind längst kein Hype mehr. Doch die Entwicklung von Business-Apps wirft viele Fragen auf:
Mobile Applikationen
Download der Vortragsfolien zum IKS-Vortrag "Mobile Applikationen" für den BVMW e.V. Mönchengladbach
Der Kreisverband Mönchengladbach des Bundesverbandes der mittelständischen Wirtschaft e.V. (BVMW) lud am 17. November 2011 zur Veranstaltung "Business Apps - Spielerei für den Manager oder hilfreich für das Geschäft?" ein.