Lars Röwekamp

Lars Röwekamp
Lars Röwekamp ist Gründer des IT-Beratungs- und Entwicklungsunternehmens open knowledge GmbH, beschäftigt sich im Rahmen seiner Tätigkeit als „CIO New Technologies“ mit der eingehenden Analyse und Bewertung neuer Software- und Technologietrends. Ein besonderer Schwerpunkt seiner Arbeit liegt derzeit in den Bereichen Enterprise und Mobile Computing, wobei neben Design- und Architekturfragen insbesondere die Real-Life-Aspekte im Fokus seiner Betrachtung stehen. Lars Röwekamp, Autor mehrerer Fachartikel und -bücher, beschäftigt sich seit der Geburtsstunde von Java mit dieser Programmiersprache, wobei er einen Großteil seiner praktischen Erfahrungen im Rahmen großer internationaler Projekte sammeln konnte.

@mobileLarson

Beiträge dieses Autors

Reduce to the Max: Microservices

Es gibt wohl kaum ein Thema in der Softwareentwicklung, das derzeit so heiß diskutiert wird wie die Wunderwelt der Microservices. Von „einfach genial“ bis hin zu „alter Wein in neuen Schläuchen“ trifft man auf die unterschiedlichsten Meinungen. Nicht selten begründen sich dabei die verschiedenen Einstellungen der Diskutanten schon in der Auffassung, was sich denn genau hinter dem Begriff „Microservices“ verbirgt. Grund genug für EnterpriseTales, einen Blick hinter die Kulissen zu wagen.

Wenn Scopes fremdgehen: Mehr Spaß mit CDI-Scopes

Eine klassische Webarchitektur besteht mindestens aus einer Serviceschicht, die in CDI @ApplicationScoped ist, und einer darüberliegenden Controllerschicht, deren Beans je nach Anwendungsfall @RequestScoped, @ConversationScoped oder @SessionScoped sind und die Services injiziert bekommen. So weit, so normal. Dank des CDI-Proxy-Mechanismus ist aber auch der umgekehrte Weg möglich, also die Injection einer @RequestScoped, @ConversationScoped oder @SessionScoped Bean in eine @ApplicationScoped Bean (also z. B. in den Service). Auf diese Weise lässt sich z. B. ein @RequestScoped EntityManager, der gerade angemeldete Benutzer oder der aktuelle Mandant überall injizieren, wo sie benötigt werden – jedenfalls in der klassischen Webanwendung. Sobald man aber asynchron unterwegs ist, ergeben sich einige Schwierigkeiten, die wir in dieser Kolumne näher beleuchten und umschiffen wollen.

Was erwartet uns in Java EE 8?

Kaum haben wir uns an die neuen Features von Java EE 7 gewöhnt, ist auch schon die nächste Version des Java-Enterprise-Standards am Horizont sichtbar. Pünktlich zur JavaOne 2014 wurde der zu Java EE 8 gehörende JSR 366 vom Java EE Executive Committee (EC) einstimmig angenommen. Grund genug, einmal zu schauen, was uns zum geplanten Releasetermin in Q3 2016 so alles erwartet.

Microservices: (noch) keine einheitliche Definition

Mitte Februar. Ganz Berlin im Berlinale-Fieber. Ganz Berlin? Nein! Eine „kleine“ Gruppe von Interessierten und Experten tauschte sich parallel zur Galaveranstaltung zwei Tage lang auf der microxchg 2015 Konferenz – der ersten Veranstaltung ihrer Art in Deutschland – über die Wunderwelt der Microservices aus. Und das alles ganz ohne roten Teppich und Smoking, dafür aber mit vielen Erkenntnissen.

Mobile Messaging: Google Cloud Messaging Service

Die Situation, dass eine mobile App mit einem Server kommuniziert, kommt in der Praxis recht häufig vor. Normalerweise wird die Kommunikation dabei vom Client (also der App) initiiert. Abgesehen von ein paar kleinen Stolpersteinen, etwa einer nicht vorhandenen Netzwerkverbindung, ist […]

Android Lollipop: Neue UI-Widgets

Nachdem wir in der letzten Folge gezeigt haben, welche Möglichkeiten die neuen Animationen in Android 5.0 „Lollipop“ mit sich bringen, wollen wir in der aktuellen Kolumne [zuerst erschienen im Java Magazin 11.14, Anm. d. Red.] einen Blick auf zwei neue UI-Widgets – CardView und RecyclerView – werfen und klären, ob deren Einsatz in der eigenen App zukünftig Vorteile mit sich bringen kann.

Java EE 8 meets MVC: ein Blick in die Kristallkugel

Für viele überraschend hat Oracle für Java EE 8 einen neuen Java Specification Request zur Ergänzung des aktuellen Web-Development-Stacks angekündigt: MVC 1.0. Obwohl bisher kaum Details zum neuen API bekannt wurden, spaltet der JSR 371 schon jetzt die Community. Grund genug, einen Blick hinter die Kulissen zu wagen.

Multi-Browser-Tab-Support in Java EE 7

Webentwickler kennen das Problem. Bei der Umsetzung bestimmter Use Cases (z. B. Wizards) ist es notwendig, Daten über mehrere Requests hinweg vorzuhalten. Vor Java EE 6 gab es da nur die Möglichkeit, die Daten @SessionScoped abzulegen. Wenn aber der Benutzer die Webanwendung in zwei oder mehr Browsertabs oder -Fenstern verwendet, werden diese Daten zwischen beiden Tabs oder Fenstern geteilt, was meist zu unerwünschten Effekten führt. Der mit JSF 2.0 neu hinzugekommene View Scope (den es seit JSF 2.2 auch als CDI Scope gibt) löst das Problem, solange man sich auf einer XHTML-Seite befindet. Möchte man aber Daten (innerhalb eines Tabs) über mehrere Seiten hinweg behalten und dabei nicht auf Multi-Browser-Tab-Support verzichten, muss man zu anderen Mitteln greifen. Wir werden in dieser Kolumne betrachten, welche Möglichkeiten es da gibt und worauf man dabei achten muss.

Android KitKat: Speicherschonender Schokoriegel

Seit einigen Monaten ist Android KitKat (4.4) released. Nachdem die Vorgängerversionen mit dem Project Butter den Fokus auf höhere Performance gelegt haben, liegt der Schwerpunkt von Android 4.4 auf dem geringeren Speicherverbrauch. Erreicht wurde dies durch das Project Svelte. Damit einher geht auch eine bessere Unterstützung von Low-Budget-Geräten, die von Haus aus über wenig Speicher verfügen.

Anziehend: Android Wear

Für viele überraschend, hat Google mit Android Wear im März eine völlig neue Spielwiese betreten: Tragbare Devices aka Wearables. Zwar sind einige der neu vorgestellten Konzepte bereits aus den Anfängen der hauseigenen Wunderbrille bekannt, doch scheint Google – anders als beim Projekt Glass – mit Android Wear und dem zugehörigen SDK deutlich konkretere Ziele zu verfolgen. Erste Geräte von verschiedensten Herstellern sollen bereits diesen Sommer am Markt erscheinen.

Android Emulator Tipps und Tricks

So interessant die Entwicklung von Android-Apps auch sein mag, spätestens beim Testen auf den verschiedenen AVDs via Android Emulator bekommt die Euphorie einen gewaltigen Dämpfer. Nach einer scheinbar ewigen Bootphase des virtuellen Devices stottert die App langsam vor sich hin und lässt schnell an den eigenen Fähigkeiten zweifeln. Es stellt sich die berechtigte Frage, warum dem so ist und was man dagegen machen kann.

Android L: Was kann Googles neues Betriebssystem?

Sonst eher von dem Mitbewerber aus dem Nachbarörtchen Cupertino gewohnt, schaffte es Google auf der diesjährigen Google I/O, mit einer echten Überraschung aufzuwarten. Das Betriebssystem Android hat – anders als von den meisten erwartet – mit „Android L“ einen gewaltigen Sprung in Richtung Zukunft gemacht. Ein komplett überarbeitetes User Interface namens „Material Design“ und eine (fast) neue Runtime sind nur zwei der grundlegenden Neuerungen. 

Android UI Testing mit dem Espresso-Testkit

„If you don’t test Android, Android tests you!“. Treffender als Valera Zakharov, Software Engineer bei Google, im Rahmen seines GTAC 2013 Talks, kann man die Relevanz von Tests – ja, dazu zählen auch UI-Tests – wohl kaum formulieren. Wie passend, dass er gleich sein eigenes Test-Kit im Gepäck hatte, das mittlerweile als Open-Source-Lösung zur Verfügung steht: Espresso.

JSF: Einer für alle, alle für einen? Kommentar zum ThoughtWorks Technology Radar

In dem immer wieder empfehlenswerten Technology Radar der Firma ThoughtWorks, der verschiedenste Technologien ähnlich wie Aktien bewertet, konnte man vor kurzem lesen, dass das Java EE Web Framework JSF 2.0 von den Autoren auf „hold“ gesetzt wurde. Einhergehend mit dieser Bewertung erfolgte die Empfehlung JSF 2.0 für Webanwendungen zu vermeiden. Ist die Lage für JSF wirklich so kritisch oder fehlt der Betrachtung evtl. nur eine gewisse Differenzierung?