Sie sehen zum Thema java aus dem Zeitraum bis in
  • Java9 – Features abseits von Jigsaw und JShell

    Vortrag Michael Vitz JCON 2017

    Spricht man mit Entwicklern über Java9 so fällt den meisten zuerst Jigsaw und nach einigem Überlegen noch JShell als neue Features ein. Neben diesen beiden, im Rampenlicht stehenden, Features bietet Java9 jedoch noch eine Menge an weiteren neuen Features. Einige dieser “Hidden” Features lernen Sie in dieser Session kennen. Und wer weiß, vielleicht ist auch eines dabei, dass Sie viel besser verwenden können als die beiden Großen.

    Mehr lesen
  • Die Magie hinter Spring-Boot-Startern

    Vortrag Michael Simons Java User Group Darmstadt Oktober 2017

    Zusammen mit Spring Boot wird fast immer der Spring Initializr auf start.spring.io erwähnt: Eine komfortable REST-Anwendung, mit deren Hilfe sich Entwicklerinnen die Abhängigkeiten einer neuen Anwendung einfach zusammenklicken können.

    Diese Abhängigkeiten sind in der Regel sogenannte Starter. Starter deklarieren zum einen transitive Abhängigkeiten und bringen eine automatische Konfiguration für das Thema des Starters mit.

    Die Deklaration des spring-boot-starter-web reicht zum Beispiel vollkommen aus, um nicht nur Spring Web MVC vollständig zu konfigurieren, sondern schließt weiterhin einen eingebetteten Servlet-Container mit ein.

    In diesem Vortrag wird gezeigt, wie der Mechanismus eines Starters funktioniert: Ist es wirklich Magie ist oder wurden vielmehr vorhandene Spring Konzepte intelligent genutzt, um eine möglichst widerstandsfähige und leicht erweiterbare Schnittstelle zur internen und externen Konfiguration einer Spring-Anwendung zu schaffen. Während der Demo wird ein individueller Dialekt für die Templatesprache Thymeleaf entwickelt, der mit einem Spring-Boot-Starter-Modul zur Verfügung gestellt wird.

    Mehr lesen
  • Java 9 – Features abseits von Jigsaw und JShell

    Vortrag Michael Vitz JUG Berlin-Brandenburg Oktober 2017 Folien verfügbar

    Spricht man mit Entwicklern über Java 9 so fällt den meisten zuerst Jigsaw und nach einigem Überlegen noch JShell als neue Features ein.

    Neben diesen beiden, im Rampenlicht stehenden, Features bietet Java 9 jedoch noch eine Menge an weiteren neuen Features. Einige dieser “Hidden” Features lernen Sie in dieser Session kennen. Und wer weiß, vielleicht ist auch eines dabei, dass Sie viel besser verwenden können als die beiden Großen.

    Mehr lesen
  • Java 9 Release: „Für mich sind die Erweiterungen der bestehenden APIs die wichtigsten Features“

    Link Michael Vitz

    In der Interview-Reihe von jaxenter.com mit verschiedenen Java-Experten zum Release von Java 9 war unser Kollege Michael Vitz zu Gast. Im Gespräch geht es um die Features, die ihm in Java noch fehlen, und um die neue Veröffentlichungsstrategie der Programmiersprache. Er skizziert außerdem, welche Probleme die mangelnde Aufgeschlossenheit gegenüber Updates bei Unternehmen verursachen kann.

  • Java9 – Features abseits von Jigsaw und JShell

    Vortrag Michael Vitz BED-Con 2017 Folien verfügbar

    Spricht man mit Entwicklern über Java9 so fällt den meisten zuerst Jigsaw und nach einigem Überlegen noch JShell als neue Features ein. Neben diesen beiden, im Rampenlicht stehenden, Features bietet Java9 jedoch noch eine Menge an weiteren neuen Features. Einige dieser “Hidden” Features lernen Sie in dieser Session kennen. Und wer weiß, vielleicht ist auch eines dabei, dass Sie viel besser verwenden können als die beiden Großen.

    Mehr lesen
  • Cloud-native Java

    Vortrag Michael Plöd JAX 2017

    “It is not necessary to change. Survival is not mandatory.” W. Edwards Deming

    Work takes time to flow through an organization and ultimately be deployed to production where it captures value. It’s critical to reduce time-to-production. Software – for many organizations and industries – is a competitive advantage.

    Organizations break their larger software ambitions into smaller, independently deployable, feature-centric batches of work – microservices. In order to reduce the round-trip between stations of work, organizations collapse or consolidate as much of them as possible and automate the rest; developers and operations beget “devops”, cloud-based services and platforms (like Cloud Foundry) automate operations work and break down the need for ITIL tickets and change management boards.

    But velocity, for velocity’s sake, is dangerous. Microservices invite architectural complexity that few are prepared to address. In this talk, we’ll look at how high performance organizations like Ticketmaster, Alibaba, and Netflix make short work of that complexity with Spring Boot and Spring Cloud.

    Mehr lesen
  • Cloud-native Java (the Workshop)

    Vortrag Michael Plöd JAX 2017

    In this workshop we’ll look at how to build cloud-native Java applications. A cloud-native application is one that is designed to fully exploit a cloud platform both in the application layer – where things decompose into microservices – and at the data layer where NoSQL offers better horizontal scaling and fitness for specific purpose. We’ll look at:

    • writing services and handling non-functional requirements like metrics and logging with Spring Boot
    • scaling out safely and building fault-tolerant systems using Spring Cloud and its support for distributed systems patterns like the circuit breaker, service registration and discovery, and centralized configuration management.
    • offloading as much operational work as possible to the platform, Cloud Foundry
    Mehr lesen
  • Microservices mit Java, Spring Boot & Spring Cloud

    Vortrag Eberhard Wolff Microservices Summit 2016

    In diesem Workshop geht es um die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Implementierung von Java-Anwendungen mit dem Spring-Framework. Spring Boot unterstützt den Betrieb von Anwendungen ohne Application Server und hat auch Ansätze für den Betrieb der Anwendungen.

    • Was ist Spring Boot?
    • Implementierung von REST-Services mit Spring Boot
    • Spring Boot mit oder ohne Application Server
    • Betrieb von Spring-Boot-Anwendungen

    Microservices sind verteilte Systeme. Sie stellen Entwickler vor völlig andere Herausforderungen als klassische Deployment-Monolithen. Spring Cloud löst diese Probleme durch eine Integration von Technologien aus dem Netflix-Stack, der sich für den Entwurf von Microservice-Systemen bewährt hat.

    • Spring Cloud: Grundlegende Ansätze und Überblick über die Technologien
    • Service Discovery mit Eureka
    • Ausfallsicherheit und Resilience mit Hystrix
    • Load Balancing with Ribbon
    • Routing mit Zuul
    Mehr lesen
  • Microservices: Architekturen und Technologien

    Vortrag Eberhard Wolff Continuous Lifecycle 2016 / Container Conf 2016

    Als Architektur nicht nur für Continuous Delivery sind Microservices in aller Munde. Dieser Workshop zeigt die Grundlagen einer Microservices-Architektur und Technologien für den Aufbau eines Microservices-Systems. Zunächst gibt es eine Einführung in Microservices-Architekturen, ihre Vor- und Nachteile sowie wesentlichen Eigenschaften.

    Dann geht es in die Praxis: Microservices mit Java und Spring Boot sowie die Koordination der Anwendungen mit Spring Cloud und dem Netflix-Stack werden vermittelt. Am Ende können wir eine Anwendung aus mehreren Microservices betreiben und weiterentwickeln.

    Skills

    Grundlegendes Verständnis von Java ist hilfreich, aber nicht unbedingt notwendig.

    Lernziele

    • Kenntnisse über Microservice-Architekturen, Vor- und Nachteile und Einsatz-Szenarien
    • Kennenlernen eines möglichen Technologie-Stacks
    • Deployment und Betrieb von Microservices mit Docker

    Technische Anforderungen

    Es sind vorab keine technischen Vorbereitungen nötig.

    Agenda

    • ab 8:30 Registrierung und Begrüßungskaffee
    • 9:00 Beginn
    • Microservice Architekturen
    • 10.30 - 10.45 Vormittagskaffeepause
    • Docker
    • 12.15 - 13.15 Mittagspause
    • Spring Boot / Spring Cloud / Netflix Stack
    • 14.45 - 15.00 Nachmittagskaffeepause
    • Spring Cloud / Netflix Stack
    • ca. 16:00 Ende
    Mehr lesen
  • Horden von Zombies

    Artikel Phillip Ghadir

    Kennen Sie das Computer-Spiel „Plants vs. Zombies“? Das Szenario ist einfach: Zombies stürmen auf unser Haus zu. Als Spieler haben wir eigentlich nur eine Chance, der Übermacht zu begegnen: Wir müssen die Verteidigungsmechanismen vorbereiten, die wir im Eifer des Gefechts brauchen werden. Paprikaschoten, Erbsen und Walnüsse werden uns helfen, die Angriffswut der Zombies zu stoppen. In dieser Ausgabe nutze ich die Kulisse des Spiels, um ein paar Eigenschaften von Reactive Extensions vorzustellen.

    Mehr lesen
  • Features in Java 9

    Artikel Michael Vitz

    Passend zum Schwerpunktthema “Java – die Neunte” dreht sich auch diese Kolumne um Neuigkeiten, die uns mit Java 9 zur Verfügung gestellt werden. Da sich den großen neuen Themen wie Jigsaw, JShell und HTTP/2 in diesem Heft eigene Artikel widmen, stelle ich Ihnen ein paar der vielen weiteren, jedoch deutlich kleineren Neuerungen vor. Freuen Sie sich also auf ein buntes Sammelsurium.

    Mehr lesen
  • Deployment und Monitoring von Microservices

    Artikel Alexander Heusingfeld

    Beim Deployment von Microservices verschwimmen die Grenzen zwischen Mikro- und Makroarchitektur. Während das Team die Mikroarchitektur für jeden Service individuell entscheiden kann, muss man sich bei Makroarchitektur-Themen mit anderen Teams zusammensetzen, um die beste Lösung für Themen zu finden, die mehrere Services betreffen. In diesem Artikel wollen wir uns ansehen, welche Entscheidungen ein Team für sich treffen kann und welche mit anderen Teams abgestimmt werden müssen. Zu diesem Zweck möchte ich beispielhaft den Lernprozess beschreiben, den ich in Teams erleben durfte, die “einfach mal” mit Microservices angefangen haben.

    Mehr lesen
  • Zwei Jahre nach dem Tod der Java Application Server

    Artikel Eberhard Wolff

    Vor zwei Jahren wurde der Tod der Java Application Server ausgerufen. Zeit also ein Fazit zu ziehen und die Thesen aus dem Artikel einem kritischen Review zu unterziehen.

    Mehr lesen
  • Wie klein können Java-Microservices sein?

    Vortrag Eberhard Wolff Berlin Expert Days – BED-Con Folien verfügbar

    Bei Microservices denken die meisten an Frameworks wie Spring Boot und Docker Container. Es geht aber viel kleiner, wenn man technologische Kompromisse eingeht.

    Dieser Vortrag gibt einen Überblick über Microservice-Technologien wie Spring Cloud oder Spring Boot - und Ansätze wie Java EE, OSGi und Amazon Lambda, mit denen noch viel kleinere Systeme möglich ist. Dabei zeigt der Vortrag die Vorteile aber auch die Nachteile dieser Ansätze.

    Mehr lesen
  • Java & relationale Datenbanken

    Vortrag Christine Koppelt, Lena Scheubert Informatica Feminale – Internationales Sommerstudium für Frauen in der Informatik

    Fünftägiger Workshop im Rahmen der Informatica Feminale – 19. Sommerstudium für Frauen in der Informatik

    Workshoptage:

    • Sa 20.8. 11.00–12.30 und 13.30–17.00 Uhr
    • So 21.8. 11.00–12.30 und 13.30–17.00 Uhr
    • Mo 22.8. 11.00–12.30 und 14.00–16.30 Uhr
    • Di 23.8. 09.00–12.30 und 14.00–16.30 Uhr
    • Mi 24.8. 09.00–10.30 Uhr

    Java-Anwendungen benötigen oftmals eine Anbindung an eine relationale Datenbank. Hierfür gibt es seit vielen Jahren etablierte Standards und Frameworks. Durch das Aufkommen neuer Programmierparadigmen, wie z.B. der reaktiven Programmierung, ergeben sich aber auch neue Ansätze für die Implementierung des Datenbankzugriffes.

    Im Rahmen des Kurses beschäftigen wir uns schwerpunktmäßig mit der Abbildung von Java Objekten in Datenbanken, der Formulierung von Anfragen und dem Testen des entsprechenden Quellcodes. Dabei kommen JDBC, JPA/Hibernate, Spring Data und weitere Bibliotheken zum Einsatz.

    Zusätzlich werden Wege für Änderungen am Datenbankschema und Möglichkeiten der Performanceoptimierung des Datenbankzugriffs, wie z.B. Caching und Connection Pooling, betrachtet.

    Wir werfen auch einen genaueren Blick auf die Datenbank selbst und geben tiefere Einblicke in Themen wie Datenmodellierung und Performanceoptimierung.

    Zielgruppe: offen

    Voraussetzung: Grundkenntnisse in Softwaretechnik, grundlegende Datenbankkenntnisse, solide Java-Kenntnisse. Eigener Laptop mit Installationsrechten und Systemkenntnis erforderlich.

    Sprache: Die Unterrichtssprache wird Deutsch sein. / The teaching language will be German. The Lecturer will provide support in English if needed.

    Anforderung: Informationsaustausch vor dem Sommerstudium, Übungen beim und für Credit Points Aufgabenbearbeitung nach dem Sommerstudium

    Teilnehmerinnen: 12

    Credit Points (ECTS): mit kleiner Ausarbeitung 1, mit großer Ausarbeitung 2

    Mehr lesen
  • Microservices mit Java, Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff Microservices Summit 2016

    In diesem Workshop geht es um die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Implementierung von Java-Anwendungen mit dem Spring-Framework. Es unterstützt den Betrieb von Anwendungen ohne Application Server und hat auch Ansätze für den Betrieb der Anwendungen.

    • Was ist Spring Boot?
    • Implementierung von REST-Services mit Spring Boot
    • Spring Boot mit oder ohne Application Server
    • Betrieb von Spring-Boot-Anwendungen

    Microservices sind verteilte Systeme. Sie stellen Entwickler vor völlig andere Herausforderungen als klassische Deployment-Monolithen. Spring Cloud löst diese Probleme durch eine Integration von Technologien aus dem Netflix-Stack, der sich für den Entwurf von Microservice-Systemen bewährt hat.

    • Spring Cloud: Grundlegende Ansätze und Überblick über die Technologien
    • Service Discovery mit Eureka
    • Ausfallsicherheit und Resilience mit Hystrix
    • Load Balancing with Ribbon
    • Routing mit Zuul
    Mehr lesen
  • Web Scraping mit PhantomJS-CEF

    Blog-Post Andreas Knuth

    In Anlehnung an den Blogbeitrag von Martin Weck zu Beginn des Jahres, stellt Gastautor Andreas Knuth in diesem Artikel mit PhantomJS-CEF ein weiteres Tool vor, mit dem sich effizientes Web Scraping betreiben lässt.

    Mehr lesen
  • Caching with Spring: Advanced Topics and Best Practices

    Vortrag Michael Plöd Spring I/O 2016 Folien verfügbar

    Caching is relevant for a wide range of business applications and there is a huge variety of products in the market, ranging from easy to adopt local heap based caches to powerful distributed data grids. This talk addresses advanced usage of Spring’s caching abstractions such as integrating a cache provider that is not integrated by the default Spring Package.

    In addition, I will also give an overview of the JCache Specification and its adoption in the Spring ecosystem. Finally, the presentation will also address several best practices for integrating various caching solutions into enterprise grade applications that don’t have the luxury of having „eventual consistency“ as a non-functional requirement.

    Mehr lesen
  • Workshop: Microservices mit Java, Spring Cloud und Spring Boot

    Vortrag Eberhard Wolff Software Architecture Summit 2016

    Dieser Workshop zeigt die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Entwicklung von Java-Anwendungen mit dem Spring Framework. Es erlaubt den Ablauf von Anwendungen ohne Application Server und unterstützt auch sehr einfache Ansätze für den Betrieb. Spring Boot eignet sich daher sehr gut für Microservices.

    Themen:

    • Was ist Spring Boot?
    • REST-Services mit Spring Boot implementieren
    • Betrieb von Spring Boot Anwendungen

    Microservices sind verteilte Systeme. Die Herausforderungen bei der Implementierung solcher Systeme sind ganz anders als das Vorgehen bei klassischen Deployment Monolithen. Spring Cloud löst diese Probleme durch die Integration von Technologien aus dem Netflix-Stack – dem de-facto Standard für Microservices.

    • Spring Cloud: Grundlegender Ansatz
    • Überblick über die in Spring Cloud integrierten Technologien
    • Services Discovery mit Eureka
    • Resilience und Hochverfügbarkeit mit Hystrix
    Mehr lesen
  • Web Scraping

    Blog-Post Martin Weck

    This blog post provides examples how to implement web scraping using HtmlUnit, Selenium, ui4j or jaunt and compares them.

    Mehr lesen
  • Microservices with Java, Spring Boot and Spring Cloud

    Vortrag Eberhard Wolff Voxxed Days Berlin 2016 Folien verfügbar

    Spring Boot makes creating small Java application easy - and also facilitates operations and deployment. But for Microservices need more: Because Microservices are a distributed systems issues like Service Discovery or Load Balancing must be solved. Spring Cloud adds those capabilities to Spring Boot using e.g. the Netflix stack. This talks covers Spring Boot and Spring Cloud and shows how these technologies can be used to create a complete Microservices environment.

    Mehr lesen
  • Voxxed Days Berlin 2016

    News

    Am 28. und 29. Januar finden zum ersten Mal die Voxxed Days Berlin statt. Diese Konferenz gehört zu einer Serie von Events, die jeweils von regionalen Communities organisiert werden. Die Voxxed Days bietet eine Mischung aus international und national bekannten Java-Experten. Wir freuen uns, die Konferenz als Sponsor zu unterstützen. Mehr lesen
  • Microservices mit Java, Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff Microservices Summit

    In diesem Workshop geht es um die Implementierung von Microservices mit Java und Spring Boot. Spring Boot vereinfacht die Implementierung von Java-Anwendungen mit dem Spring-Framework. Spring Boot unterstützt den Betrieb von Anwendungen ohne Application Server und hat auch Ansätze für den Betrieb der Anwendungen.

    • Was ist Spring Boot?
    • Implementierung von REST-Services mit Spring Boot
    • Spring Boot mit oder ohne Application Server
    • Betrieb von Spring-Boot-Anwendungen

    Microservices sind verteilte Systeme. Sie stellen Entwickler vor völlig andere Herausforderungen als klassische Deployment-Monolithen. Spring Cloud löst diese Probleme durch eine Integration von Technologien aus dem Netflix-Stack, der sich für den Entwurf von Microservice-Systemen bewährt hat.

    • Spring Cloud: Grundlegende Ansätze und Überblick über die Technologien
    • Service Discovery mit Eureka
    • Ausfallsicherheit und Resilience mit Hystrix
    • Load Balancing with Ribbon
    • Routing mit Zuul
    Mehr lesen
  • Hands-On Integration mit openHAB

    Artikel Thomas Eichstädt-Engelen, Kai Kreuzer

    Zum Abschluss der Serie wollen wir in die Praxis einsteigen: Unter Verwendung von openHAB zeigen wir, wie sich eine individuelle Smart-Home-Lösung aufbauen lässt, welche einfach erweiterbar ist und den Schutz der persönlichen Daten gewährleistet.

    Mehr lesen
  • Sicherheit und Datenschutz

    Artikel Thomas Eichstädt-Engelen, Kai Kreuzer

    Schon vor mehr als einem Jahr fragte sogar die Bild-Zeitung “Wie sicher ist das smarte Eigenheim”? Gestellt wurde diese Frage im Kontext der Übernahme von Nest - dem amerikanischen Hersteller smarter Raumthermostate - durch Google. Gemeint war hier allerdings weniger die Sicherheit im Sinne des Zugriffsschutzes, sondern vielmehr die der Privatssphäre. Seitdem hat sich die Situation eher verschlimmert denn verbessert. Der vorliegende Artikel erklärt warum und zeigt Lösungsmöglichkeiten auf.

    Mehr lesen
  • Steuerung und Automatisierung

    Artikel Thomas Eichstädt-Engelen, Kai Kreuzer

    “Ein Smart Home ist ein per Smartphone oder Tablet bedienbares Heim” - dies ist eine gängige Definition, die allerdings viel zu kurz greift. Auch wenn die Steuerung das augenfälligste Merkmal ist, so ist die Automatisierung doch ein viel wesentlicherer Bestandteil.

    Mehr lesen
  • Standards, Open Source und Forschung

    Artikel Thomas Eichstädt-Engelen, Kai Kreuzer

    Der Internet-of-Things- und im Speziellen der Smart-Home-Markt sind so breit, dass einzelnen Anbietern schlicht das Durchhaltevermögen für die große Lösung fehlt. Ein Ausweg sind Allianzen ein anderer echte Standards. Im folgenden Artikel wollen wir uns einen Überblick verschaffen und eine Einordnung vornehmen.

    Mehr lesen
  • Geräteabstraktion und ihre Schwierigkeiten

    Artikel Thomas Eichstädt-Engelen, Kai Kreuzer

    Für den Softwareentwickler ist ein Schalter nichts weiter als ein boolscher Wert. Doch bei der Programmierung von Smart-Home-Hardware ist fast jedes System bzw. Gerät unterschiedlich anzusteuern. Woran das liegt und was man dagegen tun kann wollen wir im folgenden Artikel näher untersuchen.

    Mehr lesen
  • Marktüberblick über Systeme und Protokolle

    Artikel Thomas Eichstädt-Engelen, Kai Kreuzer

    “Bevor ich mich falsch entscheide, lasse ich es lieber gleich …” - ein häufig gehörtes Argument gegen das Smart Home. Richtig ist, dass der Markt schon jetzt unübersichtlich ist und sich das in Zukunft nicht verbessern wird. Wer allerdings die richtigen Fragen kennt, kann die Vielfalt einschränken und damit schließlich zu seiner Entscheidung kommen. In diesem Artikel stellen wir die wichtigsten Systeme vor und geben Entscheidungshilfen.

    Mehr lesen
  • Heimautomatisierung und das Internet der Dinge

    Artikel Thomas Eichstädt-Engelen, Kai Kreuzer

    Das vergangene Jahr ist das Jahr des Smart Homes. Nie zuvor wurde so viel über das intelligente Zuhause gesprochen. Nicht nur Apple hat mit HomeKit in iOS8 den Markteintritt gewagt, auch Google hat mit dem Zukauf von Nest und Dropcam für einigen Wirbel gesorgt. Doch was genau verstehen wir unter einem Smart Home und was hat das Internet der Dinge damit zu tun?

    Mehr lesen
  • Java-Microservices praktisch mit Spring Boot und Spring Cloud

    Vortrag Eberhard Wolff majug – Java User Group Mannheim August 2015

    Microservices sind nicht einfach kleine Anwendungen mit REST-Schnittstelle. Der Aufbau verteilter Systeme stellt Entwickler vor ganze neue Herausforderungen. Spring Boot hilft, indem es kleine Services einfach implementierbar macht. Spring Cloud bietet die Infrastruktur für die Gesamtarchitektur. Dieser Vortrag zeigt, wie die beiden Technologien die Implementierung von Microservices vereinfachen.

    Mehr lesen
  • Microservices with Java, Spring and Spring Boot Cloud

    Vortrag Eberhard Wolff Software Architecture Summit 2015

    This workshop shows how to implement Microservices with Java and Spring Boot. Spring Boot simplifies the deployment of Java applications using the Spring framework. It allows to run application without an Application Server and implements novel approaches to operations. Spring Boot is not specific for Microservices - it might as well be used for classic applications.

    • What is Spring Boot?
    • Implementing REST services with Spring Boot
    • Spring Boot with or without Application Servers
    • Operations of Spring Boot applications

    Microservices are distributed systems. The challenges when implementing such systems are completely different from traditional deployment monoliths. Spring Cloud solves these problems by integrating technologies of the Netflix stack - the de-facto standard for the design of Microservice.

    • Spring Cloud: Basic approach
    • Overview of the technologies integrated in Spring Cloud
    • Service Discovery with Eureka
    • Reliability and Resilience with Hystrix
    Mehr lesen
  • Umfrage zum zwanzigsten Geburtstag von Java: “Oder bist du überhaupt nur eine Programmiersprache?”

    Artikel Eberhard Wolff jaxenter.de

    Das Java Magazin hat anlässlich des zwanzigsten Geburtstags von Java Autoren und Leser gefragt, was sie mit der Programmiersprache verbindet. Warum Eberhard Wolff es nur vorteilhaft findet, dass ein Compiler die Werke des Entwicklers stumm erträgt, lesen Sie in der ersten Folge der Geburtstags-Interview-Serie.

  • Caching in Business-Anwendunge­n: Einsatz, Patterns & Best Practices

    Vortrag Michael Plöd Java User Group Hamburg September MeetUp

    Das Thema Caching ist für zahlreiche Business Anwendungen relevant und der Markt für Caching-Lösungen reicht von einfachen lokalen Caches bis hin zu mächtigen und komplexen Data Grids. Ein weiteres Differenzierungsmerkmal ist die Konsistenzgarantie beziehungsweise die transaktionale Integrität, welche die unterschiedlichen Lösungen bieten. Allerdings unterscheiden sich Anwendungen, welche Geschäftsprozesse in gewachsenen Unternehmenslandschaften umsetzen stark von sozialen Netzwerken oder Internetdiensten, welche aus dem Startup-Umfeld kommen.

    Der Vortrag adressiert in erster Linie das erste Szenario: Caching in Unternehmensanwendungen, welche auf Basis einer bereits bestehenden Infrastruktur umgesetzt werden. Hierbei werden zuerst die Herausforderungen, die diese Anwendungen an das Thema Caching stellen, vorgestellt. Aspekte die hierbei betrachtet werden sind: Security, Monitoring, Audit-Compliance, Art der Daten sowie Geschäftsprozesse. Im zweiten Teil werden unterschiedliche Arten des Cachings vorgestellt und im Hinblick auf die eben erwähnten Herausforderungen bewertet. Abschließend geht der Vortrag darauf ein, welche Patterns und Best Practices sich in der Praxis bewährt haben und wie das Thema Caching möglichst transparent und deterministisch in Business-Anwendungen integriert werden kann.

    Mehr lesen
  • Java Anwendungen mit dem Spring Framework

    Vortrag Christine Koppelt Informatica Feminale – Internationales Sommerstudium für Frauen in der Informatik

    Dreitägiger Kurs. Zeiten:

    Mo 24.8. 11.00–12.30 und 14.00–16.30 Uhr
    Di 25.8. 09.00–12.30 und 14.00–16.30 Uhr
    Mi 26.8. 09.00–10.30 Uhr

    Spring ist ein modulares Framework für die Erstellung von Unternehmensanwendungen mit Java. Die Vielzahl von Modulen, u.a. für Datenzugriff, Cloud Computing und Web APIs, die sich leicht um zusätzliche Bibliotheken ergänzen lassen, ermöglichen einen breiten Einsatzbereich. Das einheitliche Programmiermodell des Frameworks vereinfacht die Erstellung und das Testen von Anwendungen.

    Der Kurs richtet sich an Teilnehmerinnen, welche die Backend-Entwicklung von Webanwendungen mit Java kennen lernen wollen. Wir erstellen eine Anwendung mit Spring Boot und befassen uns dabei mit den folgenden Themen: - Überblick über Spring
    - Erstellung einer REST API
    - Zugriff auf relationale Datenbanken
    - Validierung von eingehenden Anfragen
    - Erstellung automatisierter Tests
    - Sicherheit

    Mehr lesen
  • Informatica Feminale 2015 in Bremen und Furtwangen

    News

    In diesem Sommer findet an der Hochschule Bremen vom 17. – 28. August 2015 das achtzehnte internationale Sommerstudium für Frauen in der Informatik im Rahmen der Informatica Feminale statt. Mehr lesen
  • Build-Management für Java-Projekte mit Maven

    Vortrag Christine Koppelt informatica feminale Baden-Württemberg 2015

    Dreitägiger Kurs. Zeiten:
    Do 30.07. 16.00 - 17.30
    Fr 31.07. 9.00 - 17.45
    Sa 01.08. 9.00 - 13.15

    Apache Maven ist ein Build-Management Tool mit dem Java-Projekte automatisiert kompiliert, getestet und paketiert werden können. Es ist ein häufig genutztes Tool im Umfeld komplexer Java Anwendungen, das zum einen die Standardisierung des Build-Prozesses ermöglicht und sich zum anderen durch zahlreiche Plugins an verschiedene Anforderungen und Rahmenbedingungen anpassen lässt. Der Kurs besteht abwechselnd aus Vortragsblöcken und Übungen, in denen die Teilnehmerinnen Maven anhand eines Beispielprojektes kennenlernen. Jeweils zwei Teilnehmerinnen arbeiten zusammen und reviewen gegenseitig den erstellten Build Code. Die Übungen werden die folgenden Themen abdecken:
    - Kompilieren, Testen und Paketieren von Java Anwendungen
    - Überblick über Maven Konventionen (Konfiguration, Anwendungsstruktur, Lebenszyklus)
    - Verwaltung von Abhängigkeiten, Erweiterung des Build-Prozesses mit Plugins, Verwendung von Profilen
    - Verwendung von Maven mit der Kommandozeile, Eclipse und IntelliJ Idea
    - Versionierung von Anwendungen, Erstellung von Releases
    - Integration in einen Continuous Integration Server (Jenkins)

    Ziel ist es, dass die Teilnehmerinnen am Ende des Kurses die Konzepte von Maven kennen, mit Maven effizient arbeiten können und selbst (einfache) Builds erstellen können.

    Mehr lesen
  • Caching mit Hibernate

    Vortrag Michael Plöd Java User Group Frankfurt

    Hibernate bietet ein mächtiges und flexibles Caching System, welches in diesem Vortrag vorgestellt und erläutert wird. Wir werden dabei sowohl den 1st-, den 2nd-Level- als auch den Query-Cache betrachten. Zudem wird der Vortrag gängige Pitfalls und Best Practices erläutern. Abschließend werden wir noch betrachten welche Features exklusiv für Hibernate zur Verfügung stehen und welcher Funktionsumfang auch schon durch den Standard JPA abgedeckt ist.

    Mehr lesen
  • RXJava

    Vortrag Phillip Ghadir Java Forum Stuttgart 2015

    Mit RXJava - dem Reactive Programming-Framework von Netflix - lassen sich Datenflüsse mit Komponenten programmieren, die strukturell unabhängig sind, ohne dabei auf Higher-Order-Functions wie map, reduce oder filter verzichten zu müssen. In diesem Vortrag stelle ich Reactive Programming mit RXJava vor und zeige, wie die Konzepte für veränderliche Werte, Observables in der Kombination mit ein paar Praxistipps dabei helfen können, reaktionsfreudige Systeme zu bauen.

    Mehr lesen
  • Batch-Computing in Java

    Artikel Phillip Ghadir, Frank Hinkel

    Auch heute noch gibt es Bedarf für die wohl älteste Form der elektronischen Datenverarbeitung. Dass Batch immer noch relevant ist, zeigt der junge JSR 352 für Batch-Verarbeitung in Java EE 7. In diesem Beitrag diskutieren wir verschiedene Fragestellungen, die im Zusammenhang mit der Modernisierung bestehender und Umsetzung neuer Batch-Prozesse auftreten, und gehen auf Strategien und Technologieauswahl ein, die bei der Implementierung von Batch in der JVM auftreten können.

    Mehr lesen
  • Microservices, Internet of Things und RxJava beim Java Forum Stuttgart

    News

    Am 09. Juli treffen sich rund 1.600 Softwareentwickler in Stuttgart, um zahlreichen Talks zu Themen aus dem Java-Umfeld zu lauschen. innoQ ist beim diesjährigen Java Forum Stuttgart mit drei Talks und einem Stand dabei. Mehr lesen
  • Per request debugging with Log4j 2 filters

    Blog-Post Alexander Heusingfeld

    Customers quite regularly call on me to support them when an application is not behaving as expected. On a development machine there are a lot of ways and utilities to analyse the situation. But troubleshooting the erroneous application behaviour in production environments quite often limits your tool belt to a minimum.

    Mehr lesen
  • Micro Services on the JVM – a practical overview

    Vortrag Alexander Heusingfeld, Martin Eigenbrodt OOP 2015 - Software meets Business Folien verfügbar

    There is a lot of buzz going on about micro services. Though actually not-so-new this service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts. In this session we‘d like to show different implementations of MicroServices on the JVM and their individual benefits. We‘ll look at Dropwizard, Spring Boot + Java8 and Play2 + Scala. The attendees will get an idea of how to get started with Micro Services and how to slice a „monolithic idea“ into vertical services.

    You will:

    1. get an idea of how to get started with Micro Services
    2. get tips on how to slice a “monolithic app” into vertical services
    3. Learn about typical gotchas in systems of systems

    This session is an extension of our JavaOne 2014 talk which used an example application to showcase a typical monolithic architecture. As simple as this scenario is, it holds types of use cases which can be found in a majority of real world applications. It was sliced into different vertical applications each implemented with a different JVM technology.

    With this session businesses and developers will gain a greater overview of the micro service concept and will be able to compare it to their established approaches. By keeping services small and self-contained, the concept of micro services enables companies to improve their architecture e.g. by replacing services/ applications faster.

    Mehr lesen
  • Grenzenlose Freiheit?

    Artikel Silvia Schreier

    „Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt“, stellte schon Ludwig Wittgenstein fest. Auch wenn zwei Programmiersprachen Turing-vollständig sind und somit die gleichen Probleme lösen können, beeinflussen ihre Eigenschaften dennoch die Art und Qualität der Problemlösung. Mit der JVM steht uns heute eine Plattform zur Verfügung, bei der wir für jedes Problem die am besten geeignete Sprache wählen können. Auch wenn sich prinzipiell jede JVM-Sprache mit jeder anderen kombinieren lässt, gibt es einige Stolpersteine. In diesem Artikel wollen wir analysieren, wie gut sich Clojure mit Java verträgt.

    Mehr lesen
  • Wissen, was läuft

    Artikel Tammo van Lessen

    Mit gutem Logging kann man eine Menge über laufende Anwendungen oder gar Anwendungsverbunde erfahren. Eine entscheidende Einschränkung geht mit Logging einher: Logs sind nur ein Strom von eingetretenen Ereignissen. Um herauszufinden, wie gut eine Anwendung läuft, ist jedoch deren Zustand interessanter.

    Mehr lesen

    Concurrency in Enterprise Java

    Vortrag Alexander Heusingfeld Devoxx 2014 Folien verfügbar

    This session will introduce the benefits and gotchas of concurrent programming in Java EE by showing different scenarios we can make use of the new functionality in JSR236. This includes advanced use cases for ContextualProxies, RxJava, ListenableFuture (Guava) and CompletableFuture.

    Mehr lesen
  • Durchbruch

    Artikel Thomas Eichstädt-Engelen, Kai Kreuzer

    Der Markt für Heimautomatisierung erlebt derzeit große Veränderungen, denn die Zahl der Geräte der neuen Gattung “IoT-Gadgets” wächst von Tag zu Tag. Im Jahr 2022 wird jeder Durchschnittshaushalt mit ungefähr 50 solcher Gadgets ausgestattet sein, die sinnvolle kleine Teilaufgaben erledigen. Fraglich ist, wie nützlich deren Einsatz ist, wenn keine übergreifenden Anwendungsszenarien möglich sind. Die gute Nachricht ist: Es gibt Lösungen, um diese neuen Geräte nahtlos in ein umfassendes Smart Home zu integrieren.

    Mehr lesen

    Welten verbinden

    Artikel Thomas Eichstädt-Engelen, Kai Kreuzer

    Auch wenn inzwischen viele Voraussetzungen dafür geschaffen sind, dass sich der Smart Home Markt zum Massenmarkt entwickeln kann, sind noch längst nicht alle Probleme gelöst. Im Gegenteil, aufgrund der großen Fragmentierung haben die Nutzer häufig mehr Fragen als Antworten. Dieser Artikel soll dazu dienen, einige dieser Fragen zu klären und dabei eine Lösung an einem durchgängigen Beispiel vorzustellen.

    Mehr lesen
  • Micro-Services in Java realisieren – Teil 2: Web-Apps in Docker-Umgebungen

    Artikel Phillip Ghadir

    In dem ersten Teil dieser zweiteiligen Reihe haben wir uns mit der Realisierung von Web-Apps mit dem leichtgewichtigen Framework DropWizard beschäftigt. In diesem Teil beschäftigen wir uns mit der offenen Plattform Docker. Damit lassen sich Umgebungen definieren und voneinander isolieren. Wie sich Docker von virtuellen Maschinen unterscheidet und was das für unsere Anwendungen bringt, stellt dieser Artikel vor.

    Mehr lesen

    Micro Services on the JVM - a practical overview

    Vortrag Martin Eigenbrodt, Alexander Heusingfeld JavaOne 2014 Folien verfügbar

    There is a lot of chatting going on about the new cool kid on the block - micro services. Though actually not-so-new this service-oriented approach to system architecture promises great advantages compared to its monolithic counter parts which are often found in real-life businesses. Unfortunately it seems that many developers get lost on the way due to a lack of concrete practical examples.

    In this session we’d like to show different implementations of MicroServices on the JVM and their individual benefits. We’ll look at Dropwizard, Spring Boot + Java8 and Play2 + Scala. Doing this the attendees will get an idea of how to get started with Micro Services, how to slice a “monolithic idea” into vertical services and what the benefits are.

    Link to JavaOne CON4952 talk

    Mehr lesen
  • Hystrix – damit Ihnen rechtzeitig die Sicherung durchbrennt

    Artikel Arne Landwehr, Holger Kraus

    Sicherungen wurden ursprünglich eingeführt, um die Eskalation einer Situation zu verhindern. Wenn Ihnen ab und zu die Sicherung durchbrennt, ist das deshalb durchaus zu begrüßen, jedenfalls wenn es sich dabei um einen Circuit-Breaker im Sinne von Hystrix handelt. In diesem Artikel möchten wir Ihnen Hystrix vorstellen, eine Bibliothek, die ihnen dabei hilft, die Stabilität ihrer verteilten Anwendung zu verbessern und kaskadierende Fehlerszenarien zu verhindern.

    Mehr lesen
  • Micro-Services in Java realisieren – Teil 1: Leichtgewichtige Web-Apps mit DropWizard

    Artikel Phillip Ghadir

    Dieser Beitrag in zwei Teilen stellt zwei interessante Zutaten für den Bau von Micro-Services vor: Docker.io zum Bereitstellen von definierten Umgebungen für unsere Services und DropWizard zum Realisieren von Web-Anwendungen. In dieser Ausgabe beschäftigen wir uns zuerst einmal mit der Realisierung und einem dafür passenden Framework.

    Mehr lesen
  • Logging und Metriken: Näher dran statt nur dabei

    Vortrag Tammo van Lessen Java User Group Darmstadt Folien verfügbar

    Log-Dateien schreibt jeder. Meistens liest man darin, wenn der Kunde sich bereits über einen Fehler beschwert hat. Dann beginnt das mühsame Interpretieren der Vergangenheit. Es gibt aber noch mehr Möglichkeiten, um den Zustand seiner Anwendungen zu überwachen – und zwar im Hier und Jetzt, mit Near-Time-Überwachungen. Mittels gezielt eingesetzter Metriken kann man nahe am Geschehen sein. Und mit gewissen fachlichen Metriken weiß man nicht nur, wie gut oder schlecht seine Anwendung generell, sondern auch das Geschäft läuft. Gute Metriken in Kombination mit gutem Logging sind ein Erfolgsfaktor für den Betrieb einer modernen Anwendung.

    In dieser Session sprechen wir über die Möglichkeiten und Tools, um Daten aus Logs und Metriken automatisiert zu aggregieren und auszuwerten.

    Mehr lesen
  • Hystrix – Wider den Totalausfall

    Artikel Phillip Ghadir

    Michael T. Nygard hat in seinem Buch „Release It!” sehr anschaulich die Folgen von sich fortpflanzenden Fehlern beschrieben. Seine klare Empfehlung lautete, Isolationsmuster wie zum Beispiel Leistungsschutzschalter – engl. Circuit Breaker – in die Software zu integrieren, um Totalausfälle zu vermeiden. Mit Hystrix hat Netflix ein Framework bereitgestellt, das den Einbau von solchen Schaltern vereinfacht. Dieser Beitrag stellt das Framework vor.

    Mehr lesen
  • Wenn Systeme aus dem Ruder laufen

    Podcast Arne Landwehr, Stefan Tilkov

    In der fünfzehnten Folge unseres Podcasts spricht Arne Landwehr mit Stefan Tilkov über Stabilitäts-Pattern für verteilte Anwendungen und die Bibliothek "Hystrix". Arne erläutert dabei unter anderem, um was es sich bei "Circuit-Breakern" handelt und wie sie uns zu stabileren Systemen führen können. Mehr lesen
  • Tschüss JavaEE Thread-Sorgen, hallo JSR236

    Vortrag Alexander Heusingfeld JAX 2014 Folien verfügbar

    Kopfschmerzen wegen Multi-Threading in Java-EE-Applikationen waren gestern. Die “Concurrency Utilities for Java EE” bringen ThreadPool-Management und Monitoring in den Application Server, sodass Entwicklern diese Sorgen genommen werden. Welche Vorteile bringt der JSR 236 eigentlich mit? Wie können die ManagedExecutor Entwicklern und Operatoren helfen, Asynchronität und Parallelverarbeitung zu realisieren, zu steuern und zu überwachen? Was hat Spring 4.0 eigentlich mit dem JSR 236 zu tun? Diese und weitere Fragen sollen in der Session beantwortet werden.

    Mehr lesen

    „It’s not rocket science“, aber ganz nah dran

    Vortrag Alexander Heusingfeld JAX 2014

    Java EE: Kaum ein anderes Framework schafft es dermaßen gut, vorhandene Komplexität hinter einfachen Spezifikationen und APIs zu verstecken. Was in der Theorie der Lehrbücher und in einfachen Beispielen problemlos funktioniert, führt in der Praxis allerdings nicht selten zu nicht brauchbaren und wenig performanten Architekturen - von Skalierung ganz zu schweigen. Wo liegt das Problem? Enterprise-Computing-Projekte haben ihre eigenen Herausforderungen und Gesetze, denen man leider nur selten mit 08/15-Lösungen Herr werden kann. Der Teufel steckt wie immer im (Praxis-)Detail und es gilt aus den Erfahrungen anderer zu lernen, um nicht jeden Fehler selber machen zu müssen. Die anwesenden Java-EE-Experten zeigen in dieser Session klassische Pitfalls und Anti-Pattern aus ihrem Praxisalltag auf, die in der Theorie zwar gute Lösungen zu sein scheinen, in der Praxis aber ins Chaos führen – Alternativen inklusive. Lassen sie sich überraschen und stellen sie sich auf den einen oder anderen Aha-Effekt ein!

    Mehr lesen
  • REST: Implementierungsansätze auf der JVM

    Vortrag Stefan Tilkov, Martin Eigenbrodt BEDcon 2014 Folien verfügbar

    REST-basierte APIs werden immer populärer, und damit steigt auch die Anzahl von Bibliotheken und deren Mächtigkeit. In diesem Vortrag wollen wir die Theorie auf das absolute Minimum begrenzen und ganz praktisch zeigen, wie man REST-APIs mit Java und anderen JVM-Sprachen realisiert.

    Die Verwendung von verschiedenen Sprachen, Bibliotheken und Frameworks gibt uns die Chance, die unterschiedlichen Lösungsansätze für Aufgaben und Problemstellungen wie URL/Pfad-Mapping, (Un)Marshalling, Content Negotiation, Caching und Headermanipulation sowie deren Vor- und Nachteile gegenüberzustellen – und bei der Gelegenheit auch gleich die Stärken und Schwächen der jeweiligen Umgebung zu betrachten.

    Mehr lesen
  • Multi-Threading in Java-EE-Applikationen

    Vortrag Alexander Heusingfeld JavaLand 2014 Folien verfügbar

    Kopfschmerzen wegen Multi-Threading in Java EE Applikationen waren gestern. Die “Concurrency Utilities for Java EE” bringen ThreadPool Management und Monitoring in den ApplicationServer, so dass Entwicklern diese Sorgen genommen werden. Welche Vorteile bringt der JSR236 eigentlich mit? Wie können die ManagedExecutor Entwicklern und Operatoren helfen Asynchronität und Parallelverarbeitung zu realisieren, steuern und überwachen? Was hat Spring 4.0 eigentlich mit dem JSR236 zu tun? Diese und weitere Fragen sollen in der Session beantwortet werden.

    Mehr lesen
  • Enterprise Application Integration War Stories

    Vortrag Alexander Heusingfeld, Martin Huber OOP 2014 Folien verfügbar

    In den heutigen heterogenen Systemlandschaften stehen Entwickler und Architekten häufig vor komplexen Herausforderungen, wenn es um die Integration von Anwendungen geht. Über die Zeit entstehen so durch wechselnde Anforderungen häufig Moloch-ähnliche Systeme, die eng an die angebundenen Schnittstellen gekoppelt und kaum noch wartbar sind.

    In diesem Talk erklären wir, was “Enterprise Integration Patterns” sind und zeigen Beispiele aus der Praxis, welche durch den Einsatz der Pattern verbessert werden konnten.

    Mehr lesen
  • Endlich viel erben?

    Artikel Phillip Ghadir, Oliver Tigges

    Im Fahrwasser der Lambda-Funktionen werden in Java 8 Default-Methoden eingeführt, um Interfaces aus dem JDK abwärtskompatibel um neue Methoden zu erweitern. Hier schließen wir an den Artikel von Christian Robert (Default-Methoden in Java 8, JavaSPEKTRUM 03/2013) an. Wir klären bis zu welchem Grad Mehrfacherbung in Java einzieht und wie wir die Möglichkeiten und das Risiko für bestehende Systeme einschätzen.

    Mehr lesen
  • Enterprise Integration Patterns - Best Practices for Application Integration

    Vortrag Alexander Heusingfeld, Martin Huber W-JAX 2013

    In den heutigen heterogenen Systemlandschaften stehen Entwickler und Architekten häufig vor komplexen Herausforderungen, wenn es um die Integration von Anwendungen geht. Über die Zeit entstehen so häufig molochähnliche Systeme, die eng an die angebundenen Schnittstellen gekoppelt sind. Doch auch, wenn es um individuelle Schnittstellen geht, muss man “das Rad nicht neu erfinden”. Dieser Talk gibt eine Einführung in Enterprise Integration Patterns, die häufige Problemstellungen bei der Integration von Enterprise-Applikationen in heterogene Umgebungen aufzeigen und Lösungskonzepte anbieten. Um die Theorie in die Praxis zu bringen, dient eine Java-basierte Auftragsverwaltung eines Logistikdienstleisters, die verschiedene Schnittstellen unterschiedlicher Geschäftspartner anbindet. Hier werden eigene Implementierungen der Patterns mithilfe der Java-EE–7-APIs wie JMS 2.0 und JAX-RS 2.0 den Ansätzen von Spring Integration und Apache Camel gegenübergestellt und die Vor- und Nachteile der konkreten Lösungen aufgezeigt.

    Mehr lesen
  • Modern Batch

    Podcast Frank Hinkel, Stefan Tilkov

    In dieser Folge unterhalten sich Frank Hinkel und Stefan Tilkov über Batchverarbeitung, was gerade für große Unternehmen immer ein wichtiger Bestandteil der IT gewesen ist und bleiben wird. Frank stellt die Herausforderungen der Thematik vor und spricht über die Bedeutung von Frameworks wie Spring Batch. Mehr lesen
  • Home Automation for Geeks [CON9177]

    Vortrag Thomas Eichstädt-Engelen - innoQ, Kai Kreuzer - Deutsche Telekom JavaOne 2013

    Home automation nowadays comprises much more than just lighting and HVAC. New Internet of Things devices and services are hitting the market constantly. But how to easily integrate them with each other? The open source project openHAB addresses this problem: it connects to a multitude of different systems and comes with powerful automation rules and nice UIs. Its modular architecture guarantees simple extensibility. While running it on small and cheap embedded devices such as the Raspberry Pi, you can explore the world of home automation beyond the ordinary: do a presence simulation with the push of a button, see live charts of your sensor data, or adjust your irrigation schedule through Google Calendar. Be prepared to see geeky hardware in the live demo in this session.

    Mehr lesen
  • Enterprise Integration Patterns with Java EE (CON7969)

    Vortrag Alexander Heusingfeld JavaOne 2013 Folien verfügbar

    In today’s heterogeneous system/application environments, enterprise developers and architects are often faced with complex integration challenges that often result in Moloch-like code. This session introduces common patterns for enterprise application integration (EAI) that can easily be used to integrate Java EE applications into heterogeneous system environments. Learn how to face the challenges of small and medium businesses by leveraging the benefits of Java EE APIs and see different implementations with Apache Camel and Spring Integration.

    An order management application of a logistics service provider that implements multiple interfaces of heterogeneous business partner systems serves as an example.

    Mehr lesen
  • openHAB: Home-Automation mit Java

    Podcast Thomas Eichstädt-Engelen, Kai Kreuzer, Stefan Tilkov

    In diesem Podcast unterhalten sich die openHAB-Committer Kai Kreuzer und Thomas Eichstädt-Engelen mit Stefan Tilkov über den technischen Hintergrund des openHAB-Projektes, die Community die sich darum gebildet hat und die Erfahrungen mit einem populären Open Source-Projekt. Mehr lesen
  • openHAB - die Welt der Dinge in der Hand

    Vortrag Thomas Eichstädt-Engelen - innoQ, Kai Kreuzer - Deutsche Telekom JAX 2013

    Das IoT bringt viele coole Gadgets hervor, die jedoch meist nur mit ihrem eigenen Backend verbunden und somit nicht miteinander vernetzt sind. Für den Anwender fehlt eine zentrale Instanz, die als Integrationsplattform einheitliche Protokolle und Datenstrukturen bereitstellt und es dem Anwender erlaubt, Anwendungslogik zu definieren und auszuführen. openHAB ist eine solche Plattform. Dieser Talk geht auf deren Konzepte ein und zeigt live, wie einfach sich die Welt der Dinge mit Leben füllen lässt.

    Mehr lesen
  • Java – Funktional ohne Zauberei

    Artikel Phillip Ghadir

    In dieser Ausgabe stelle ich die verschiedenen Möglichkeiten vor, mit der quelloffenen Bibliothek Totally Lazy in Java funktional zu programmieren. Mit Hilfe bekannter Higher-Oder-Functions erlaubt sie, Collections elegant sequenziell oder auch nebenläufig zu verarbeiten. Dabei stellt Totally Lazy sicher, dass die Verarbeitung der Sequenzen lazy erfolgt. Wie Totally Lazy hilft, Teile unseres Quellcodes wartungsfreundlicher zu gestalten, ist Gegenstand dieses Artikels.

    Mehr lesen
  • Eine Lanze für XML brechen

    Artikel Phillip Ghadir

    Heute – zehn Jahre nach der ersten Vorstellung von JAXB im JavaSPEKTRUM – möchte ich noch einmal eine Lanze für XML brechen. Auch wenn JSON, der sympathische Cousin von XML, immer mehr Freunde gewinnt, bietet XML immer noch einiges, wenn auch selten genutztes Potenzial. In dieser Kolumne möchte ich ein paar Aspekte von XML noch mal in Erinnerung rufen.

    Mehr lesen
  • Ride the Camel like a Pro

    Vortrag Martin Huber JBoss One Day Talk 2012

    Apache Camel ist ein Integrationsframework basierend auf Java. Apache Camel ist mit seiner Vielzahl an Integrationsmöglichkeiten zu einem mächtigen Tool herangewachsen. Dabei muss man nicht immer gleich an ESBs denken wenn es um Integration geht. Man findet schnell einige Anwendungsfälle für Apache Camel, deren Lösung mit Bord-Mitteln in der Java-Welt unweit schwieriger zu lösen wären. Neben einer kurzen Einführung in die “Philosophie der Kamele” werden wir uns in dieser Session einige fortgeschrittene Anwendungsfälle vornehmen in denen sich der Einsatz eines Integrationsframeworks als vorteilhaft erweist. Wir werden dazu auch reale Code-Beispiele in Camel durchgehen, die die pragmatischen Lösungsansätze veranschaulichen.

    Mehr lesen
  • Java-Programme mit Clojure würzen

    Artikel Phillip Ghadir

    Für jeden, der einen Lisp-Dialekt auf der JVM verwenden will, ist Clojure eine naheliegende Wahl. Es verbindet die Ausdruckskraft von Lisp mit der Vielzahl von bestehenden Java-Bibliotheken. Was zur Integration von Clojure mit Java gehört und wie sich die Mächtigkeit von Clojure auswirkt, wollen wir am Beispiel der Clojure-Bibliothek Incanter betrachten.

    Mehr lesen
  • Webanwendungen mit dem Play!-Framework

    Artikel Phillip Ghadir, Philipp Haußleiter

    Das Play!-Framework ist ein recht junges, vollständiges MVC-Framework, das den Charme von Ruby on Rails hat. Aber anstatt unreflektiert jede Entwurfsentscheidung von Rails ins Play!-Framework zu übernehmen - wie das manch andere Rails-Klone gemacht haben -, haben die Entwickler darauf geachtet, es so zu konstruieren, dass es sich gut in das Ökosystem eines typischen Java-Entwicklers einfügt.

    Mehr lesen
  • Effiziente Systemintegration mit Apache Camel

    Vortrag Martin Huber, innoQ Deutschland GmbH, Kai Spichale, Kai Wähner, MaibornWolff et al GmbH JBoss OneDayTalk 2011

    Der Datenaustausch zwischen Unternehmen oder einzelnen Bereichen wird immer intensiver. Die Zahl der Anwendungen, die integriert werden müssen, steigt stetig an. Die Schnittstellen nutzen diverse Technologien, Protokolle und Datenformate. Die Integration dieser Anwendungen soll aber trotzdem standardisiert modellierbar, effizient umsetzbar und automatisiert testbar sein. Apache Camel ist ein Framework, welches diese Anforderungen erfüllt. Es implementiert die allseits bekannten Enterprise Integration Patterns (EIP) und bietet dadurch eine standardisierte, domänenspezifische Sprache, welche für die Integration von Anwendungen eingesetzt wird. Neben Java kann auch Spring XML, Scala oder Groovy für die Integration genutzt werden. Dieser Vortrag stellt Apache Camel vor und zeigt an Hand eines realistischen Praxisbeispiels inklusive Live-Demo, wie dieses Framework in fast jedem Integrationsprojekt im JVM-Umfeld sinnvoll und effizient eingesetzt werden kann. Dabei spielt es keine Rolle, welche Technologien sowie Transport- und Nachrichtenprotokolle eingesetzt werden. Alle Integrationsprojekte können einheitlich und ohne redundanten, „Boilerplate-Code“ umgesetzt werden.

    Mehr lesen
  • Smart Enterprise Application Integration with Apache Camel (Live-Demo)

    Vortrag Martin Huber, innoQ Deutschland GmbH, Kai Spichale, Kai Wähner, MaibornWolff et al GmbH Jazoon 2011

    Data exchanges between companies increase a lot. The number of applications which must be integrated increases, too. The interfaces use different technologies, protocols and data formats. Nevertheless, the integration of these applications shall be modeled in a standardized way, realized efficiently and supported by automatic tests.

    Apache Camel is an integration framework, which fulfils these requirements. It implements the well-known Enteprise Integration Patterns (EIP) and therefore offers a standardized, domain-specific language to integrate applications. Besides Java, also Spring XML, Scala or Groovy can be used for integration.

    After a short introduction to the framework, this session presents a realistic use case and demonstrates a live-demo to show how Apache Camel can be used in almost every integration project within the JVM environment - no matter which technologies, transport protocols or data formats are used. All integration projects can be realized in a consistent way without redundant boilerplate code.

    Finally, a visual designer will be shown to model an integration based on EIPs graphically. The corresponding Camel source code is generated automatically.

    The target audience is Java developers, architects and project managers. The level is “beginner”, so no knowledge in Apache Camel is required.

    Mehr lesen
  • Panel: Java - die nächste Dekade

    Vortrag Stefan Tilkov, Eberhard Wolff, Lothar Wieske JAX 2011

    Gerade in letzter Zeit gab es im Java-Ökosystem durch die Übernahme von Sun durch Oracle und Konflikte zwischen Oracle und Google bzw. der Apache Software Foundation einige Verunsicherung. Gleichzeitig tauchen neue Technologietrends wie Cloud, mobile Endgeräte und Social Media auf, denen Java begegnen muss. Genügend Anlass, die Zukunft von Java einmal zu diskutieren. Dieses Panel bietet die Möglichkeit, mit dem Advisory Board der Artikelserie im Java Magazin gerne auch kontrovers zu diskutieren und es auszufragen. Nutzen Sie diese Chance!

    Mehr lesen
  • Integration von Apache CAMEL mit HornetQ

    Vortrag Martin Huber JBoss Usergroup

    Apache Camel ist ein mächtiges Open Source Framework, dass es ermöglicht die bekannten Enterprise Integration Patterns zu implementieren. Über eine einfache DSL-basierte Sprache können verschiedenste Systeme integriert und die Hürden verschiedener Transportprotokolle überwunden werden - ohne dabei den Überblick zu verlieren.

    In diesem Vortrag soll eine kleine Einführung in Apache Camel gegeben werden, vor allem in Hinblick auf die Integration mit HornetQ. An einem kleinen Beispiel wird die Integration von Apache Camel mit HornetQ vorgeführt.

    Mehr lesen
  • Clojure: Funktional, parallel, genial

    Artikel bn, Stefan Tilkov Dreiteilige Artikelserie in JavaSPEKTRUM 02–04/2010

    Clojure ist eine neue, fortgeschrittene, JVM-basierte Sprache, die das Beste aus Lisp mit einer modernen Umgebung, der Unterstützung für parallele Verarbeitung in Mehrkern-Umgebungen und perfekter Java-Integration kombiniert.

  • RESTful Web Services mit Java

    Artikel Stefan Tilkov JavaMagazin 01/2009

    Prinzipiell lassen sich REST-konforme Anwendungen schon seit langem mit dem Servlet API realisieren – schließlich ist die Grundvoraussetzung nur die Unterstützung von Webstandards wie HTTP und URIs. Sun hat aus diesem Grund (und ganz sicher auch wegen des damals beginnenden REST-Hypes) im Februar 2007 den JSR 311 ins Leben gerufen, der sich mit der Spezifikation für ein explizit RESTorientiertes API beschäftigt.

  • Die Java Persistence API

    Artikel Phillip Ghadir, Oliver Tigges, Serge Pagop JavaSPEKTRUM 02/07

    Mit EJB 3 wurde im Rahmen des Java Community Process das Java Persistence API (JPA) entworfen und verabschiedet. JPA ist zwar im Rahmen von EJB 3 entstanden, aber durchaus auch separat verwendbar. Die Mission: einen einheitlichen Persistenzmechanismus sowohl für Standard-Java als auch für Enterprise-Java bereitzustellen, der alle anderen Standard-Persistenz-Mechanismen wie JDO (Java Data Objects) oder EJB (Enterprise JavaBeans) ablösen soll.