Blog und Veröffentlichungen

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.