Posts byCarolyn Molski

Penetrationstests von Web-Anwendungen

#JAVAPRO #Testing #Penetrationstest || Penetrationstests sind mittlerweile in vielen Unternehmen geübte Praxis, auch wenn es noch Firmen gibt, in welchen bis heute noch kein einziger Penetrationstest durchgeführt wurde. Bei diesen Tests wird die Angreiferperspektive eingenommen und ein professioneller Tester führt dabei dynamische Analysen durch. Penetrationstests können vielerlei Ziele und Methoden haben. So gibt es ganz
WEITERLESEN

Agile Führung bedeutet Teamwork

#JAVAPRO #Agile #Teamwork Was wir von Robin Hood und seinen Gefährten lernen können: Agilität bringt Wandel. Silostrukturen werden aufgelöst, es herrscht höhere Transparenz, das Nutzererlebnis rückt in den Vordergrund, Führungskräfte begeben sich auf Augenhöhe mit den Mitarbeitern. Diese und weitere Aspekte der agilen Transformation rütteln gehörig an den etablierten Unternehmensstrukturen. Auf der Führungsebene wirft dies
WEITERLESEN

Verzögerungskosten aufdecken erhöht die Produktivität

#JAVAPRO #Agile #Wertstromanalyse || „Wie kommt ein Projekt ein Jahr in Verzug? Ein Tag nach dem anderen.“ Das hat Fred Brooks einmal so weise gesagt. Der Lean-Gedanke und die Warteschlangentheorie bieten das Wissen an, um dieses Problem zu vermeiden. Die vorgeschlagene Abhilfemaßnahme ist, für einen ständigen Durchfluss (auch in der Entwicklung) zu sorgen, um die
WEITERLESEN

Agilität und Hierarchie – ein Widerspruch?

#JAVAPRO #Agile #Strategy || Die Digitalisierung verdichtet, schafft neue Möglichkeiten und macht unser Leben einfacher. Paradoxerweise macht sie dadurch das Leben auch schneller, stressiger,  komplexer und unberechenbarer. Dieser grundlegende Wandel definiert Führung neu und erfordert neue Modelle der Zusammenarbeit. Er erfordert eine hohe Veränderungsbereitschaft, hohe Flexibilität sowie eine ausgeprägte Fähigkeit zur Selbstorganisation/-steuerung. Dieser Artikel stellt
WEITERLESEN

Java-basierter MQTT-Broker HiveMQ ist OpenSource

Bei HiveMQ wissen wir, dass die OpenSource-Community ein Haupttreiber bei der Entstehung von neuen und innovativen Technologien ist. Sowohl MQTT als auch HiveMQ haben in der Vergangenheit stark von der OpenSource und Open-Standard-Community profitiert. Wir denken nun ist der Zeitpunkt gekommen einen wichtigen nächsten Schritt mit HiveMQ zu gehen und dürfen die Entstehung der HiveMQ
WEITERLESEN

Agile-Strategy-Map – Die innovative Führungsmethode

Die Agile-Strategy-Map basiert auf dem Verständnis, dass Organisationen in einem komplexen Marktumfeld leben, sich stetig weiterentwickeln und sowohl die Strategie als auch operative Ziele entsprechend angepasst werden müssen. Die Agile-Strategy-Map ist sowohl eine Methode als auch eine Software, welche jede Organisation befähigt ihre Strategie zu entwickeln, Zusammenhänge zu verstehen, Zusammenarbeit zu fördern und ein aktuelles
WEITERLESEN

Selbstorganisation in agilen Teams

#JAVAPRO #Agile #Teams #Selbstorganisation || In vielen Schriften zum Thema Agilität heißt es, das Besondere an agilen Teams sei u.a. deren Fähigkeit und Möglichkeit zur Selbstorganisation. Das klingt meist so, als ob die Teams vor der Agilisierung nicht selbstorganisierend gewesen wären. Doch Selbstorganisation findet ständig statt – in allen Teams! Sich selbst organisierende Systeme Ein
WEITERLESEN

Machine Learning – eine Challenge für Architekten

#JAVAPRO #MachineLearning || Aufgrund vielfältiger potenzieller Geschäftschancen, die Machine-Learning bietet,starten viele Unternehmen Initiativen für datengetriebene Innovationen. Dabei gründen sie Analytics-Teams, schreiben neue Stellen für Data-Scientists aus, bauen intern Knowhow auf und fordern von der IT-Organisation eine Infrastruktur für heavy Data-Engineering & Processing samt Bereitstellung einer Analytics-Toolbox ein. Für IT-Architekten warten hier spannende Herausforderungen, u.a. bei
WEITERLESEN

Warum wir Blockchain (nicht) brauchen

 #JAVAPRO #Kryptowährung #Blockchain || Bitcoin-Bashing, Blockchain-Bashing usw. sind heutzutage erlaubt. Viele Kryptowährungen haben 2018 80% ihres Wertes verloren. Selbst McKinsey wagt sich nun aus der Deckung. Nachdem sie 2017 noch gesagt haben, dass kreative Unternehmen von Blockchain profitieren könnten, revidieren sie ihre Aussagen Anfang 2019 wieder. Als 2018 das Buch „Und es wurde… Krypto“ auf
WEITERLESEN

Cross-Platform-Development mit RapidClipse 4

#JAVAPRO #RapidClipse #Eclipse #Vaadin #Java11 Knapp zwei Jahre sind seit dem letzten Major Release RapidClipse 3.0 vergangen. Jetzt ist die neue Version 4.0 verfügbar. Hauptgrund für die lange Wartezeit waren gravierende Änderungen bei den Release-Zyklen von Java und Eclipse sowie der Wechsel auf eine neue UI-Basistechnologie bei Vaadin, was zu erheblichen Unklarheiten geführt hat. Mittlerweile
WEITERLESEN

Flow-Design – Xtend Your Horizon – Teil 3

#JAVAPRO #Architecture #IODA #FlowDesign Der Flow-Design-Ansatz ist so fundamental wie der objektorientierte oder der funktionale, sodass sich die Umsetzung als eigenständiges Sprachkonstrukt geradezu aufdrängt. Doch es muss nicht gleich eine eigene Programmiersprache sein. In Xtend lassen sich über interne DSLs Spracherweiterungen hinzufügen. Der 3. Teil unserer Serie zeigt, wie eine konkrete interne DSL für Flow-Design
WEITERLESEN

Cloud-Computing in der Industrie

 #JAVAPRO #Cloud #IoT || Die Cloud-Computing-Technologie ist die heutige Basis für das Internet-of-Things (IoT) bzw. für Industrie 4.0. Das Internet der Dinge basiert auf einer Reihe von grundlegenden Technologien, wobei Cloud-Computing eines der zentralen Elemente ist und als Plattform für die Anwendungsbereitstellung, Verbindung von Geräten und Sammlung bzw. Aggregation von Daten in Echtzeit dient. Cloud
WEITERLESEN

5 Aspekte über reaktive Programmierung in Java

#JAVAPRO #ReaktiveProgrammierung || Niedrige Antwortzeiten sind ein zentrales nichtfunktionales Feature modernerWeb-Anwendungen. Neben Caching, effizienter Programmierung und moderner Hardware ist die Verwendung reaktiver Bibliotheken eines der vielversprechendsten Konzepte um niedrige Antwortzeiten in einer Web-Anwendung sicherzustellen. In diesem Artikel werden fünf Aspekte herausgestellt, die man bei der Verwendung des reaktiven Patterns berücksichtigen sollte. Das Standard-Threading-Modell bei der
WEITERLESEN

GlassFish 5.1

 #JAVAPRO #GlassFish #JakartaEE #Eclipse Die Java-EE-Referenz-Implementation Eclipse-GlassFish wurde in Version 5.1 Ende Januar 2019 erstmals von der Eclipse-Foundation veröffentlicht. Diese Version implementiert den Java-EE-8-Standard und soll den Grundstein für eine Folgeversion GlassFish 5.2 auf Basis von Jakarta-EE-8 legen, die wenn alles gut läuft, noch in diesem Jahr erscheinen könnte. Prozessänderung und Kompatibilität Wie alle Eclipse-Projekte
WEITERLESEN

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