Posts byCarolyn Molski

Deep-Dive into Annotations – Teil 2

#JAVAPRO #Annotations #CoreJava Java-Annotationen sind ein mächtiges Sprachmerkmal, deren Interna vielen Entwicklern wahrscheinlich nicht sehr bekannt sind. In Teil 2 unserer dreiteiligen Serie wird aufgezeigt, wie sich eigene Annotationen erstellen und mit den notwendigen Eigenschaften versehen lassen. Im ersten Teil unserer Serie wurden die typischen Begegnungsszenarien zwischen Programmierer und Java aufgezeigt, nämlich die fünf Standardannotationen.
WEITERLESEN

Agile Transition braucht kulturellen Wandel

Schnelllebige Märkte, wirtschaftliche Unwägbarkeiten und eine fortschreitende Digitalisierung stellen Unternehmen vor große Herausforderungen. Für das wirtschaftliche Überleben ist ein hohes Maß an Anpassungsfähigkeit gefragt. Unternehmen müssen agiler werden. Die Einführung agiler Methoden wird jedoch häufig nur aus technischer Sicht betrachtet. Dabei benötigt eine Organisation auf dem Weg zu mehr Resilienz und Antifragilität vor allem einen
WEITERLESEN

Versionsverwaltung mit Expressions

Im Umgang mit Source-Control-Management-Systemen (SCM) wie Git oder Subversion haben sich im Lauf der Zeit vielerlei Praktiken bewährt. Neben unzähligen Beiträgen über Workflows zum Branchen und Mergen ist auch das Formulieren verständlicher Beschreibungen in den Commit-Messages ein wichtiges Thema. Ab und zu kommt es vor, dass in kollaborativen Teams vereinzelte Code-Änderungen zurückgenommen werden müssen. So
WEITERLESEN

Sicherer Code durch Dev(Sec)Op

Traditionell ist der Software-Entwicklungsprozess in zwei verschiedene Phasen und zugehörige Teams unterteilt: Entwickler schreiben Code und geben diesen an das Operations-Team weiter. Die IT-Sicherheit sorgt dafür, dass bei Freigabe der Software keine Sicherheitsprobleme bestehen. In den letzten Jahren hat sich aber die Art und Weise der Software-Entwicklung grundlegend verändert. Heute muss Sicherheit in alle Phasen
WEITERLESEN

Neun Best-Practices für Container

IT-Prioritäten verschieben sich: Waren es früher Konsolidierung und Kostenreduktion, stehen heute Agilität und Geschwindigkeit ganz oben auf der Agenda. Neue IT-Modelle, Entwicklungs- und Betriebsprozesse wie Container, DevOps und Microservices gewinnen daher zunehmend an Bedeutung. Die Vorteile von Containern liegen auf der Hand: Erstens definieren sie ein einheitliches Format für Applikationen, die deshalb erheblich schneller produktiv
WEITERLESEN

Skills, Tools und das richtige Mindset für DevOps

DevOps gilt als zukunftsträchtiger Prozessverbesserungsansatz zwischen Entwicklung und Betrieb von Software, der einen großen Vorteil für Entwickler, Betreiber wie auch Auftraggeber einer Software darstellt. Anknüpfend an den Ansatz der agilen Software-Entwicklung findet eine Transformation hin zum „digitalen Fließband“ statt – der Code wird unter Zuhilfenahme automatisierter Prozesse von der Idee bis zum Endprodukt durchgereicht. Die
WEITERLESEN

IDE-Wars – Die Foundation schlägt zurück

Die Eclipse IDE ist nun bald 20 Jahre alt, für Software- und insbesondere Entwicklungswerkzeuge ein beinahe biblisches Alter. Während es zu damaligen Zeiten nur wenig Alternativen gab und Eclipse den Markt klar dominierte, hat sich das mittlerweile stark verändert. Immer mehr IDEs kämpfen um die Gunst der Entwickler und mittlerweile hat IntelliJ IDEA der Eclipse
WEITERLESEN

Application-Server, Container oder lieber gleich Serverless?

Rückblickend auf Software-Projekte der letzten Jahre ist ein klarer Trend erkennbar. Die Snowflake-Server haben in modernen Architekturen ausgedient. Was aber ist die nächste Stufe der Evolution: Automatisierung mit Ansible, Chef und Co., Container à la Docker, Cluster-Lösungen wie Kubernetes oder komplett ohne Server als Serverless-Functions? Alle Ansätze haben ihre Vor- und Nachteile und sollten je
WEITERLESEN

Flow-Design – Wider den Abhängigkeiten

#JAVAPRO #Architecture #IODA #FlowDesign Abhängigkeiten sind das Grundübel in Software-Systemen. Sie machen Softwarekomplex und oft unwartbar. Auf unterster Ebene werden Abhängigkeiten durch Methodenaufrufe induziert, die sich dann auf abstrakteren Ebenen zu einem Abhängigkeitsgestrüpp hochschaukeln, das manchmal kaum noch zu entwirren ist. Flow-Design ist angetreten, die Abhängigkeiten einzudämmen und auf ein gesundes Maß zu beschränken. Ohne
WEITERLESEN

Neues in Java 11

#JAVAPRO #CoreJava #JDK11 #Java Oracle hat Anfang 2018 für Java einen völlig neuen Release-Zyklus eingeführt und dazu jetzt ein neues Lizenz- und Support-Modell bekannt gegeben. Im Rahmen dieses Artikels werfen wir einen Blick auf die Neuerungen, die neuen Features der neuesten Java Version 11 und auf die bereits im Frühjahr 2019 erwartete Java Version 12.
WEITERLESEN

Deep-Dive into Annotations – Teil 1

#JAVAPRO #Annotations Java-Annotationen sind ein mächtiges Sprachmerkmal, deren Interna vielen Entwicklern wahrscheinlich nicht sehr bekannt sind. In Teil 1 unserer dreiteiligen Serie wird aufgezeigt, was Annotationen eigentlich sind, und für welche Szenarien die fünf Standard-Annotationen gedacht sind. Mit Version 5 der Java-Plattform, Standard-Edition (Java SE) im Jahre 2004 erhielten Annotationen nebst diversen anderen bedeutenden Sprachänderungen
WEITERLESEN

Java 11 – die freie JDK-Wahl

#JAVAPRO #CoreJava #JDK11 #Java Das neue Oracle JDK 11 wurde am 25. September 2018 als Long-Term-Support-Release (LTS) veröffentlicht. Neben Bug-Fixes und Security-Patches stecken im JDK 11 Feature-Release, Sprach- und JVM-Änderungen, Erweiterungen, zugefügte und entfernte Klassen und Methoden, deprecated-markierte Features und JDK-Tool-Änderungen. Anwender werden sich darüber freuen, dass sie ein JDK oder ein OpenJDK verschiedener Hersteller
WEITERLESEN

Serverless Development

#JAVAPRO #Serverless Zu Beginn waren sie noch eine Kuriosität. Mittlerweile haben sich Serverless-Applications so stark verbreitet, dass sich zu Beginn der Software-Entwicklung häufig die Frage stellt: Kann ich meine Anwendung serverless entwickeln? Dieser Artikel gibt einen Überblick über die Vorteile dieses Architekturstils und erläutert, welche Besonderheiten und Möglichkeiten AWS-Lambda für die Java-Welt bietet. Anwendungsentwickler sollen
WEITERLESEN

Alexa + Java = Fun

#AWS #Alexa Mit AWS Lambda und einer Prise Java macht es richtig Spaß, Amazons Alexa neue Tricks beizubringen. Das ist kein Hexenwerk, sondern mit einfachem Java- und etwas AWS-Know-how leicht zu bewerkstelligen. Alexa? Wer ist das denn? Als Alexa bei uns eingezogen ist, war meine Frau nicht gerade erfreut. Neben Ihr sollte es keine Andere
WEITERLESEN

Call-for-Papers für JCON 2019 gestartet

#JCON2019 #Java #Multiplexkino Die JCON 2019 steht schon in den Startlöchern! Der Call for Papers ist ab sofort offen. Wer als Speaker dabei sein möchte, kann bis zum 28. Februar 2019 bzw. 31. März 2019 Vortragsvorschläge auf jcon.one einreichen. Alle Speaker erhalten den 3-Tages-Pass und Zusatztickets für Kollegen, Freunde und Geschäftspartner. Von allen Vorschlägen, die
WEITERLESEN

Software-Modernisierung mit Microservices und Container

#Microservices #Container In nahezu allen Unternehmen hat sich die IT zum zentralen Faktor für den Geschäftserfolg entwickelt. Damit sie nicht zum Hemmschuh wird, muss die IT eine hohe Flexibilität unterstützen und damit die zügige Umsetzung neuer Geschäftsanforderungen ermöglichen. Der Einsatz von Microservices und Container-Technologie spielt dabei eine entscheidende Rolle. Wie bei anderen IT-Trends auch, folgt
WEITERLESEN

IoT-Security mit MQTT

#Kotlin #IoT #MQTT MQTT ist das de facto Standardprotokoll für das Internet-of-Things. Die Eclipse-Paho-MQTT-Client-Bibliothek und das Plugin-System des MQTT-Brokers HiveMQ ermöglichen die Integrationen mit Java. Dieser Artikel bietet eine kurze Einführung in MQTT und zeigt, wie MQTT sicher verwendet werden kann. Das Internet-of-Things (IoT) ist heutzutage in aller Munde. Selbst kleinste Geräte verfügen dank moderner
WEITERLESEN

Wie sicher ist Open Source?

#Equifax #ApacheStruts 2017 wurde der Finanzdienstleister Equifax Opfer eines groß angelegten Hackerangriffs.Die Ursache soll eine Sicherheitslücke in einer Open-Source-Software gewesen sein, die Equifax einsetzte. Nach derart großen Pannen werden immer wieder Stimmen laut, Open Source wäre unsicher. Die Ursachen sind jedoch meist auf einen fahrlässigen Umgang mit Open-Source-Software und bereits bekannten Sicherheitslücken zurückzuführen. Wer selbst
WEITERLESEN

Microservices – The Dark Side

#Microservices Microservices erfreuen sich als Architekturparadigma großer Beliebtheit. Dabei werden zwei wichtige Tatsachen weitgehend ausgeblendet: Erstens verursachen Microservices sowohl bei der Entwicklung als auch im Betrieb zusätzliche Kosten, die gerechtfertigt werden müssen. Zweitens sind viele der angestrebten Vorteile allein durch saubere Modularisierung erreichbar. Aus der Diskussion dieser Aspekte wird eine Liste von Fragen entwickelt, die
WEITERLESEN

Reaktive Programmierung – Teil 2

#Java #ReaktiveProgrammierung #SpringReactorCore Reaktive Architekturen werden immer beliebter. Beim Einzug in das Big-Data- und Cloud-Zeitalter entfalten sie Ihre Stärke. Neue syntaktische Elemente von JDK8 wie Lambda und Streams erhören die Akzeptanz und glätten die Lernkurve aus. Der zweite Teil dieser Serie bietet eine Übersicht über parallele Verarbeitung von Daten, Testen von Publisher und Subscriber, Konzept
WEITERLESEN

Kotlin DSLs mit Extension-Functions

#Kotlin #Spring #TornadoFX #JavaFX In Kotlin lässt sich Code mit Hilfe von domänenspezifischen Erweiterungen starkvereinfachen. Inzwischen gibt es zahlreiche solcher DSLs in Kotlin, z.B. für SQL, Gradle und Vaadin. In diesem Workshop beleuchten wir die Extension-Functions von Kotlin am Beispiel einer JavaFX-Anwendung und werden anschließend selbst eine kleine domänenspezifische Erweiterung konstruieren. In diesem Workshop werden
WEITERLESEN

Bessere Abstraktion mit IODA

#Java #Architecture #IODA Programmierer mischen oft zwei verschiedene Aspekte ohne viel darüber nachzudenken: den Aspekt der Operation und den der Integration. Aber Kontrollstrukturen und Domänen-Logik als Aspekte der Operation gehören strikt getrennt von Methodenaufrufen als Aspekte der Integration, um Software änderungsfähig zu halten und damit zukunftsfähig zu sein. Die IODA-Architektur ist das Richtige dafür. Meistens
WEITERLESEN

Alles fließt: Fast-Data-Streaming und Messaging gehören zusammen

#Java #Kafka #DataStreaming Der Trend zu immer mehr und immer schneller stellt hohe Anforderungen an dynamisch reagierende Systeme. Bei Microservices und Fast-Data führt kein Weg an losgekoppelten Systemen und der ereignisbasierten Verarbeitung vorbei. Apache-Kafka verspricht, die beiden bisher getrennten Welten, asynchrone Nachrichtenverarbeitung und Datenverarbeitung, näher miteinander zu verbinden. Immer schneller, immer kleiner Bisher waren die
WEITERLESEN

Was gibt’s Neues in JPA 2.2

#JavaEE #JPA Für die beliebte Persistenzspezifikation gab es im Rahmen von Java EE 8 bislangerst ein Maintenance-Release. Aber auch darin verbergen sich ein paar interessante Features, auf die viele Entwickler bereits gewartet haben. Java EE 8 brachte einige Neuerungen in die Java-Enterprise-Welt. Für die Java-Persistence-API -Spezifikation (JSR 338) blieb allerdings nicht viel Zeit übrig und
WEITERLESEN

Zu neuen Ufern

#JavaEE #EE4J #Eclipse Die bislang unter dem Namen „Java EE“ bekannte Entwicklungsplattform ist wiederim Aufwind. Nach einer längeren Phase der Ungewissheit, während der sogar das Ende der Plattform befürchtet wurde, erschien im September endlich das neue Release Java EE 8. Die ersten kompatiblen Application Server stehen so langsam in den Startlöchern – höchste Zeit also
WEITERLESEN

Java Annotation-Prozessoren

#Java #Annotation Java Annotation-Prozessoren sind ein sehr mächtiges Tool im Werkzeugkasten eines Entwicklers. Mit ihnen lassen sich z.B. Informationen zur Build-Zeit protokollieren. Der Build kann mit einer Fehlermeldung abgebrochen werden, es können Konfigurationen und Dokumentationen erzeugt, Klassen verändert oder neu erstellt werden. Nachfolgend betrachten wir die grundsätzliche Funktionsweise von Annotation-Prozessoren anhand eines kleinen Beispiels. Die
WEITERLESEN

Reaktive Programmierung – Teil 1

#Java #ReaktiveProgrammierung #SpringReactorCore Reaktive Architekturen werden immer beliebter. Beim Einzug in das Big-Data- und Cloud-Zeitalter entfalten sie ihre Stärke. Neue syntaktische Elemente von JDK8 wie Lambda und Streams erhöhen die Akzeptanz und glätten die Lernkurve aus. Der 1. Teil der 3-teiligen Serie bietet eine praktische Einführung in das reaktive Framework Spring Reactor Core 3. Die
WEITERLESEN

Danke für die JCON 2018

#JCON2018 #JCON2019 #JAVAPRO #JAVA Danke an alle Teilnehmer, an unsere großartigen Speaker, Aussteller und Partner für die überragende JCON 2018 und für das positive Feedback, das wir von allen Seiten erhalten haben ! Insgesamt haben sich über 800 Teilnehmer für die JCON 2018 angemeldet – knapp 40 Prozent mehr als im ersten Jahr! Die Location
WEITERLESEN