A proposed API for accessing social networking information can only be a good thing right?
The latest Java Specification Request for Java 7 has surfaced, proposing an API for accessing private and public social information networks, ranging from Facebook and Twitter to networks within the enterprise and institutions.
Primarily targetting Java SE, the Social Media API (JSR 357) will build upon standards and formats specified by the OpenSocial 2.0 project, particularly Apache Shindig and Spring Social. However, according to Spec Lead Werner Keil, there needs to be a renovation of these projects stating that they were ‘built on top of quasi-standards or proprietary technologies adding the risk of a vendor lock-in even if the API itself may be provided Free or Open Source. ‘ He adds:
Apache Shindig has been contributed by Google, but the project has not seen a lot of activity in recent years, unlike the most common social networks. It is said to be RI for Open Social 0.8.x and 0.9.x, but Google also released an Open Social Java Client on Google Code. Neither of them use Java (EE) standards like CDI or JSR 330, instead frameworks like Guice are used directly.
While Shindig tends to separate model and implementation, and e.g. for Persistence even uses JPA, the Google version lacks both. It also puts a strong emphasis on MySpace which increasingly lost users to other services.
Packaged under the name javax.social, the proposed API would be built on top of other well established and successful Java APIs such as CDI, RESTful Web Services, Java Identity (JSR 351), JSON (JSR 353) or WebSockets (JSR 356). Red Hat and Twitter are already part of the Expert Group, whilst the likes of eXo and Atlassian have shown their support for the implementation of this API into Java.
It’s pretty clear that Java needs a bang up-to-date social media API to deal with an everchanging field. Benefits for Java EE could be widespread too, through its link to CDI and making it more cloud-friendly by providing standardized access to public social networks like Yammer for example. Java appears to be on a cloud charm offensive at the moment and it’s great to see.
The Review Ballot is now open to both SE/EE committees (before they merge), with an early draft expected in Q3 of 2012, with a final version appearing next in 2013 should it pass the ballot.