Suche
Artikel

Buchtipp: Building Modular Cloud Apps with OSGi

Viele Köche verderben den Brei. Diese Binsenweisheit trifft auf das OSGi-Projekt voll und ganz zu: Wegen der Vielzahl verschiedener Anbieter ist es schwer, ein Buch zu finden, das das Thema vollumfänglich abbildet.

Aus der Java-Trickkiste: Class Loading

Java lädt und initialisiert Klassen über einen ausgefeilten Mechanismus. Damit kommt man zwar im Programmieralltag nicht oft in Berührung, es hilft aber z. B. dabei, das Verhalten von Application Servern zu verstehen.

Warum das C in CDI den Unterschied macht

Immer mehr Dependency-Injection-(DI-)Frameworks erblicken das Licht der Welt, beispielsweise „Dagger“ und „Boon“. Darunter sind allerdings nur wenige CDI-Frameworks, was bedauerlich ist – schließlich ist das C (für „Contexts“) doch das eigentlich Interessante an CDI. Der folgende Beitrag zeigt, warum das C den Unterschied macht und wie man es einsetzen kann – übrigens nicht nur auf der Java-EE-Seite.

Was lange währt: Das neue MVC Framework in Java EE

Mit Java EE 8 erhält die Plattform ein neues Webframework. Im Unterschied zu den JavaServer Faces (JSF) wird dieses nicht komponenten-, sondern actionbasiert sein. Eine Entscheidung, die durchaus kontrovers diskutiert wird. Während manche Entwickler eine jahrelange Hoffnung endlich erfüllt sehen, halten andere diesen Schritt für unnötig. Dieser Artikel bietet einen Einstieg in die Thematik, skizziert Gründe für die Entscheidung und wirft einen ersten Blick auf die neue Spezifikation, die stark an JAX-RS angelehnt ist.

Orion auf Speed

Wer an die Eclipse Foundation denkt, sieht vor seinem inneren Auge einen Anbieter von „Anti-Visual-Studio“. Doch diese Wahrnehmung ist zu simpel: Die Foundation wurde mit dem Ziel gegründet, Open-Source-Entwicklern Infrastruktur zur Verfügung zu stellen. Dass sich daraus eine führende IDE entwickelte, war dem Marktumfeld geschuldet: Es gab zum damaligen Zeitpunkt schlichtweg kein anderes Produkt, das die Bedürfnisse der Open-Source-Welt so effizient abdecken konnte. Da die Entwickler ihr Programm stets selbst benutzten (Dogfooding), bekam es im Laufe der Zeit immer mehr nützliche Funktionen.

Eclipse Oomph bringt Schwung ins Projekt

Wer hat nicht schon einmal geflucht, wenn die ersten Tage in einem neuen Softwareprojekt für das Aufsetzen von IDE und Workspace flöten gehen? Die Installationsanleitung ist so lang wie die Bibel – und genauso alt. Dutzende Plug-ins müssen installiert werden, diverse Repositories geklont und importiert. Wie bitte, Gerrit, Hudson und Bugzilla sind einzurichten? Warum ist der Workspace voller Fehler? Und was ist eine Target Platform? Kurz: Warum beginnt der agile Prozess eigentlich erst nach dieser nervenaufreibenden und kostspieligen Tortur?

Geomapping und Tortenbacken: Eclipse Geoff stellt sich vor

Das im Folgenden beschriebene Projekt wird innerhalb der Eclipse LocationTech IWG (Industry Working Group) der Eclipse Foundation unter dem Namen „GeoFF (Geo Fast Forward)“ geführt und freut sich über Interessenten, die ihre Geodaten in einer Eclipse- oder Webumgebung visualisieren möchten.

Smart Home mit OSGi

Lösungen für das intelligente Heim gibt es schon seit einigen Jahren, sie haben sich jedoch aus verschiedenen Gründen nie in der breiten Masse etablieren können. Viele Lösungen waren entweder zu kostspielig oder nicht ausgereift. Die Industrie hat in den vergangenen Jahren hart daran gearbeitet, neue kostengünstigere Technologien zu entwickeln bzw. bestehende stetig zu verbessern, darunter etliche Kommunikationsprotokolle wie ZigBee, Z-Wave und EnOcean. Mit dem vor zwei Jahren beginnenden Hype rund um das „Internet der Dinge“ hat Smart Home eine deutlich größere Sichtbarkeit auch in der Öffentlichkeit erlangt.

Systems Engineering mit Eclipse

Eclipse hat sich schon längst von der reinen Java-Entwicklung emanzipiert und wird in zahlreichen Domänen eingesetzt. In diesem Artikel geht es um die Systementwicklung, in der sich in den letzten Jahren im Eclipse-Umfeld einiges getan hat. Insbesondere das auf Topcased basierende PolarSys und Papyrus haben hier die Aufmerksamkeit – nicht zuletzt, weil Konzerne wie Airbus und Ericsson hier hohe Beträge investieren. Doch diese Ansätze sind schwergewichtig. In diesem Artikel zeigen wir, wie man auch leichtgewichtig mit Eclipse ins Systems Engineering einsteigen kann. Die dazugehörigen Materialien gibt es in dem Communityprojekt SE-Teaching.

Eclipse Che: Microservices für Eclipse

Che ist ein Java-Framework, das der Erstellung verteilter und lose gekoppelter Anwendungen dient, die über einen browserbasierten Client sowie serverseitige RESTful Services verfügen. Die Anwendungen werden durch Zusammensetzen von Extensions gebaut und folgen zahlreichen Grundsätzen der Eclipse RCP.

Willkommen EGerrit: Code Reviews mit Eclipse

Gerrit ist nicht nur der Vorname eines niederländischen Technikers namens Gerrit Blaauw, der in den frühen 60er-Jahren richtungsweisend an der Entwicklung der Großrechnerarchitektur System/360 bei IBM beteiligt war. Gerrit ist auch der Name eines äußerst populären Code-Review-Systems. Beide teilen sich jedoch nicht nur ihren Namen. Während Gerrit Blaauw den Weg für die 8-Bit-Rechnerarchitektur als Nachfolger der damals vorherrschenden 6-Bit-Architektur ebnete, so hat Gerrit, das Code-Review-System, maßgeblich dazu beigetragen, Code-Review als fixen Bestandteil des Softwareentwicklungsprozesses einzuführen und salonfähig zu machen.

Entwicklung und Dokumentation von REST-APIs

Für die Beschreibung von REST-APIs gibt es (glücklicherweise) keinen Standard, der Innovationen bremst, sondern unterschiedliche Formate und Best Practices, die im Laufe der Zeit entstanden und von den Erfahrungen ihrer jeweiligen Vorgänger profitierten. Der jüngste Spross in dieser Reihe ist RAML, eine „RESTful API Modeling Language“, die in diesem Artikel als wichtiges Werkzeug für API First Development vorgestellt wird.

Die Befreiung der Anwendungen

Das Dorf in den Bergen ist zu beneiden, denn anders als in der IT-Branche ist hoch oben der Almabtrieb schnell vollzogen. Wir in der digitalen Welt sehen uns hingegen mit einer schier unendlichen Menge an Kühen konfrontiert, die eine nach der anderen durch unser Dorf getrieben wird. In dieser niemals endenden Zeremonie ist schwer zu sondieren, welche der Kühe denn nun tatsächlich Relevanz hat und welche einfach nur aus Marketinggründen ins Tal der Entwickler und Anwender muss.

Warum Entwickler keine Berufserfahrung brauchen

Will man sich um einen Entwickler-Job bewerben, sollte man nicht nur die geforderten Studienabschlüsse und einige nette Zusatzqualifikationen mitbringen, sondern im Idealfall auch bereits mehrere Jahre Berufserfahrung. Einsteiger haben deutlich geringere Chancen auf einen lukrativen Job als diejenigen Bewerber, die sich im echten Entwickleralltag schon bewiesen haben und eine mehrseitige Liste erfolgreich abgeschlossener Projekte als Referenz aufführen können. Doch ist Berufserfahrung tatsächlich so wichtig, wie es die Recruiter dieser Welt vermuten lassen?

Mastering JavaServer Faces 2.2

„Mastering JavaServer Faces 2.2“ ist kein Buch für Anfänger. Anghel Leonard setzt ein gewisses Mindestmaß an Vorwissen zu JavaServer Faces voraus und baut darauf auf. Aber keine Angst: Expertenwissen ist hier nicht die Voraussetzung, sondern das Ziel.

SmartHome in Action mit openHAB und MQTT

Wie kann ein Smart Home in Zukunft zur Sicherheit in den eigenen vier Wänden beitragen? Anhand eines Beispiels gehen wir dieser Frage auf den Grund und zeigen, wie mit frei verfügbarer Hard- und Software ein Smart-Home-System mit Sicherheitsfunktionen aufgebaut werden kann. Dabei geben wir einen Einblick in die Konfigurationsmöglichkeiten von openHAB und in das Protokoll MQTT.

Alles valide? Bean Validation in POJOs mittels aspektorientierter Programmierung

Wir berichteten im Rahmen dieser Kolumne bereits über die Neuerungen von Bean Validation 1.1. Besonders erwähnenswert war und ist dabei das neue Feature der Method Validation. Leider ist die Integration dieses Features noch nicht sehr weit vorangeschritten. Bisher ist es nur bei CDI-Beans möglich, sich darauf zu verlassen, dass z. B. ein Parameter, der mit @NotNull annotiert ist, auch wirklich niemals null ist. In allen anderen Situationen hilft es normalerweise nur, die Method Validation aus dem Code heraus „von Hand“ aufzurufen. In dieser Kolumne wollen wir eine alternative Möglichkeit vorstellen. Damit ist es möglich, in beliebigen POJOs auf Method Validation zu setzen.