Meet Agorava, The Social Framework

Posted by Antoine Sabot-Durand on Jun 22, 2012 | Comments

Did you ever looked for a nice solution in java to authenticate your users with their Twitter, Facebook or LinkedIn account ? Have you ever looked for a nice way to post tweets or Facebook updates from your Java application? Do you need to read your timeline or perform a search on a Social Media services from Java EE web application? If you answered yes to one of these questions Agorava is (or will be soon) the right answer to your needs.
Agorava is the missing framework to deal with Social Media based on OAuth 1.0a and OAuth 2.0. It provides a way to authenticate on Social Media, use APIs and map JSON answers to Java pojo. It’ll have multiple implementations (like CDI, Java SE, JSR 330 supporting framework and others) to support your needs. Right now the only implementation is based on CDI but we’ll provide others in the coming months.

Agorava genesis

Agorava’s short history is important because it helps to understand the goals of our team. In March 2011 the project Seam Social was launched. This project was a collection of CDI beans and extension to support Social Network consuming. It lived inside Seam 3 project which was an ambitious JBoss project aimed to provide a rich ecosystem for Java EE 6 thru CDI extensions. For all kind of reasons we won’t develop here, Seam 3 project was stopped at the end of 2011 to create a new project around CDI ecosystem : Apache Deltaspike (merging Seam 3, Apache CODI and others initiatives).
In parallel of this event, a few people launched a JCP proposal on Social Media : Java Social JSR 357. Projects like Seam Social or DaliCore were main influencers for this proposal. This proposal was voted down for all kind of reasons, but mainly because there wasn’t a real proof of concept (an implementation) behind it.
So the conjunction of these 2 stories brought us to create a new project : start from Seam Social code to provide an implementation for Java Social with the goal to go back to JCP in the future. This project is also a experiment to answer the problem and challenges in creating a standard API for Social Media API for Java platform. Thus Agorava is born

But most Social Media already have their own APIs. So why do we reinvent the wheel?

Yes it’s true, but these social APIs are almost always in Javascript only and if it