Das Social-Media-API für Java ist tot – es lebe Agorava!

Hartmut Schlosser

Wer auf der Suche nach einer Lösung in Java ist, um User mit seinem Twitter-, Facebook- oder LinkedIn-Account zu verbinden oder Suchen aus Java-EE-Anwendungen heraus auf Social-Media-Dienste auszuführen, sollte einmal einen Blick auf das neue Projekt Agorava werfen.

Ausnahmsweise ist im Fall von Agorava die Entstehungsgeschichte eines Projektes einmal aufschlussreich über dessen Stoßrichtung. Zwei Ereignisse der jüngeren Java-Geschichte standen nämlich Pate für Agorava:

Einerseits wurde das JBoss-CDI-Projekt Seam 3 Ende 2011 durch das Projekt Apache DeltaSpike ersetzt, in dem Seam, CODI und andere Initiativen aufgehen sollen. Andererseits wurde Anfang 2012 das JCP-Proposal für ein Java Social API (JSR 357) abgelehnt, unter anderem aufgrund eines fehlenden Proof of Concepts in Form einer Referenzimplementierung.

Als Reaktion auf diese beiden Events wurde nun Agorava aus der Taufe gehoben. Das Rezept: Man nehme den Seam-Social-Quellcode zum Ausgangspunkt und stelle selbst eine Implementierung des Java Social APIs bereit – auch mit dem klaren Ziel, nochmals an den JCP heranzutreten und das Social API für Java neu vorzuschlagen.

This project is also a experiment to answer the problem and challenges in creating a standard API for Social Media API for Java platform.

In der Projektvorstellung wird nochmals die Motivation beschrieben, die auch hinter dem JSR 357 gestanden hatte: Zwar haben alle Social-Dienste ihre eigenen APIs, diese sind aber meist nur in JavaScript verfügbar. Wo Java-Versionen existieren, sind diese von Drittpartei-Unternehmen realisiert, eine Erweiterbarkeit ist dann nur schwer möglich. Eine Anbieter-neutrale Lösung in Form eines offenen Standards würde dieses Problem lösen. Außerdem gibt es heute kaum einheitliche, geschweige denn vollständige Features in Java über die verschiedenen Dienste hinweg. Daher wird mit Agorava der Versuch unternommen, alle verfügbaren öffentlichen Social APIs in Java zu implementieren und ein durchgängiges Funktionsset für alle Dienste zu etablieren.

Agorava is already alive and active!

Agorava ist bereits jetzt in einer ersten Version funktionsfähig (0.5.0 SNAPSHOT). Auf Basis von OAuth 1.0a und OAuth 2.0 sollen sich authentifizierte Zugriffe auf Social Media durchführen, APIs nutzen und JSON-Antworten auf Java POJOs abbilden lassen. Mit einer ersten Demo-Anwendung Socializer kann auf GitHub gespielt werden. Auch eine Dokumentation liegt auf einem Wiki bereit.

Als nächstes steht das volle 0.5.0 Release auf der Roadmap, das sich auf eine reine CDI-Implementierung konzentrieren wird. In der 1.0.0 sind die Pläne dann ambitionierter: REST Engine für das JAX-RS 2.0 Client Framework austauschen, Kompatibilität zu Weld-OSGi, Java-SE-Implementierung, JSR 330 spezifisches API (Guice oder Spring), Fertigstellung der Twitter-, LinkedIn- und Facebook-Module, etc.

Mitstreiter am Projekt sind willkommen, am einfachsten auf der Website http://agorava.org, auf Twitter unter @Agoravaproj, in der User Group oder auf GitHub unter https://github.com/agorava melden!

Wir auf JAXenter sind gespannt, was aus dem Experiment Agorava wird. Sollte sich das Projekt als praxistauglich erweisen und eine aktive Community um sich scharen können, dürfte es auch dem JCP-Exekutiv-Komitee schwer fallen, das Social Media API für Java erneut durchfallen zu lassen.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.