One To Watch

The Java Social Media API is dead: Long Live Agorava

Chris Mayer
agorava

Rising from the embers of the Social Media API, the open source framework Agorava is hoping to inject some life into Java and archaic social media connections

Social media is an ever changing place- that’s a given. Over the
past decade, some social networks have flourished, some have died a
sorry death. But with numerous social networks seemingly appearing
by the day, Java hasn’t really had chance to connect to the latest
network making a big splash. Many Java developers are left
frustrated by the dearth of options when wanting to authenticate
users’ Twitter, Facebook or LinkedIn accounts or post tweets or
Facebook updates automatically from within their
applications.

Fortunately, a new project has emerged to provide the missing link
between Java and Social Media. Agorava is an open source framework
that will, according to its Tech Lead Antoine Sabot-Durand,
“provide a way to authenticate on Social Media, use APIs and map
JSON answers to Java pojo.”

Currently based on CDI, which is gaining increasing importance
within Java communities, the plan is to bring in multiple
implementations (such as Java SE, JSR 330 supporting framework and
others) to support your needs. But this is of course further down
the pipeline, with the current focus being on creating influence
with the CDI implementation.

It’s important to give context the genesis of this project, with
the area of social media standardisation in Java having been
discussed at great length. Agorava was born after two main events.
In March 2011 the project Seam Social was launched, aiming to
provide a collection of CDI beans and extension to support growing
social network consumption. With Seam 3 project ending at the back
of last year, (and merged into
Apache Deltaspike
with Apache CODI and others), some of the
team decided launch the JCP proposal: Java Social JSR
357
.

However, some on the Executive Committee were sceptical of its
timing and its broad scope,
rejecting it early in
proceedings. Sabot-Durand believes that it was down to not having
“real proof of concept (an implementation) behind it.”

Hence Agorava comes into play – taking stock of those JCP comments
and aiming to start over by experimenting in creating a standard
API for Java to solve all these social media problems within the
language. Not that there haven’t been attempts to amend this social
shortcoming – only recently was Java Specification Request 357:
Social Media API rejected due to such a broad scope and many felt
it wasn’t the right time to standardise.

Now some of you are probably thinking here – don’t most (if not
all) networks have their own APIs? What would be the point of
reinventing the wheel so to speak? Sabot-Durand fields this in his
blogpost:

Yes it’s true, but these social APIs are almost always in
Javascript only and if it’s available in Java, mostly its created
by a third part or its build for one or few particular Social
Media. So they are ok if you want to deal with GUI or simple
manipulation.

Having a vendor free solution to deal with these Services is also
an advantage, we’ll try to implement all the available public APIs
and provide similar functionalities across “all Social Media”.

Sabot-Durands also details just some of the roadmap ahead, and from
the looks of it, it’s a pretty ambitious one. The 0.5.0 snapshot
release is expected this summer, with a heavy focus on supporting
stateless architectures – quite a big deal. Further down the line
in the first final release, we can expect the following:

  • Change REST engine for JAX-RS 2.0 client framework
  • Implement OAuth implementation on JAX-RS client Framework
  • Provide compatibility with Weld-OSGi
  • Java SE implementation
  • JSR 330 specific API and implementation (Guice or Spring)
  • Finished Twitter, LinkedIn, Facebook Modules

It’s a bold ambitious to tackle so much, but are the team behind
Agorava biting off more than they can chew? It may be an incredibly
noble goal, as Java absolutely needs to be cohesive with social
media. But with the field still changing, is it too much at once?
We do agree though that this is the correct way to go about getting
a Social Media API in Java.

We’re eager to monitor the progress of this huge undertaking and
hope that it can live up to the claims made. There’s also heavy
praise for Spring Social, and we’re wondering how it can possibly
differentiate from that project.

You won’t be surprised to hear Agorava is already up and running –
You can test the demo application Socializer or fork
the Socializer project
on Github
. As you’d hope with a project devoted to the area,
there’s oodles of social networking going on too – follow on
Twitter @Agoravaproj
and check out the Google
User Group
for more discussion surrounding the project. Why not
join in?

Author
Comments
comments powered by Disqus