SlideShare ist ein Scribd-Unternehmen logo
1 von 43
ENTERPRISE 2.0 WITH OPEN SOURCE
Frameworks like Agorava
Werner Keil | Bio
•
•
•
•
•
•
•
•

Consultant – Coach
Creative Cosmopolitan
Software Architect
Java Godfather
JCP Executive Committee Member
Eclipse UOMo Project Lead
Agorava Cofounder
ETCS Guy

@wernerkeil
Proliferation
Proliferation of Social Media
Social Gaga

Image © 2012 Lady Gaga. All Rights Reserved.
Before Java Social
(JSR 357)
Twitter4J
• Twitter4J is an unofficial Java library for Twitter
API.
With Twitter4J, you can easily integrate your
Java application with Twitter.
• Its author, Yusuke Yamamoto used to work at
Twitter.
While he did, he was briefly meant to represent
Twitter in the Social JSR (357) EG.
• It’s light and compatible even with Java 1.4 to be
integrated e.g. in mobile apps
Scribe Java
• Scribe is Java framework that provides basic
OAuth function
• It also contains configuration for a lot of Social
Media
• Only one dependency on Apache Common
Codec

• Was at the heart of Agorava 0.5
DaliCore – CMS
• More than a CMS → DaliCore
• Adds functionality common to users, content and
permissions on top of Java EE 6.
• Focus on Users and Permissions.
• In about every DaliCore project, users should be
able to login with existing credentials
(Facebook, Twitter, Google Connect,...)
• Dali modules extend DaliCore
Spring Social
• Spring social somewhat inspirational to Seam
Social and Agorava has been around a bit
longer
• Spring Social module were used to create first
Agorava modules (thanks to OSS and ASL2)
• But it’s Spring a only module....
In Memoriam
PHILIP SEYMOUR HOFFMAN

July 23, 1967 – February 2, 2014

Image © 2003 Universal Pictures. All Rights Reserved.
Along came JSR 357
• In march 2012 on Werner Keil’s initiative, Java
Social was submitted to the JCP to become a
JSR
• It proposed to standardize high level access to
Social Media for the Java Platform
• It was voted down by 8 votes against 5

Image © 2003 Universal Pictures. All Rights Reserved.
What went Wrong?
(Feedback from vote)
Too Broad?

Maybe...
Too Soon?

Maybe...

Lack of real POC...
It can’t be standardized?

FALSE

Maybe...
Standard part in
Social Media
• All social medias use REST as
transmission protocol
• Most of them transmit data in JSON
format and some in XML
• Identification & Authentication are almost
Maybe...
entirely based on OAuth protocol
18
REST
• REpresentational State Transfer : Requests
about resource representation (customer,
book, order)
• REST is based on low level HTTP
• Each resource has a unique identifier (URI). 4
HTTP verbs can be applied to a URI : GET,
POST, PUT, DELETE
Maybe...
• Java has REST standard: JAX-RS. Version 1.0
doesn’t provide client API yet, JAX-RS 2.0
does

19
JSON
1: {
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23: }

"firstName": "John",
"lastName" : "Smith",
"age"
: 25,
"address" :
{
"streetAddress": "21 2nd Street",
"city"
: "New York",
"state"
: "NY",
"postalCode" : "10021"
},
"phoneNumber":
[
{
"type" : "home",
"number": "212 555-1234"
},
{
"type" : "fax",
"number": "646 555-4567"
}
]

20

• JavaScript Object
Notation: Data format
inspired by
JavaScript. It became
a standard for online
services including
Social Media.

Maybe...
OAuth
• OAuth is a protocol to delegate rights
for an application to act on the behalf of a
user who granted its rights without giving
away login / password
• Developed by Twitter, Magnolia and
Google, it was made standard by IETF in
April 2010 under RFC 5849

21
OAuth (2)
• Version 2.0, simpler to use but often criticized
for too many implementation was
standardized in October 2012 under RFC
6749 and 6750. Already widely used
(Facebook, Google, Microsoft)
• All Social Media services are based on
OAuth 1.0a or 2.0.
• To use OAuth, one has to create an
application on the targeted service to have an
entry point for consumer

22
OAuth has 3 steps
• Creating an application in
an OAauth service
• Initialization: right granting
phase also called OAuth Dance.
At its end we obtain an access
token (formed by public and secret part)
to use in next step
• Signature: each request is signed with an
access token identifying the OAuth
application granted rights to

23

Image © 2003 Universal Pictures. All Rights Reserved.
Standards that
didn’t make it

24
Some Images © 2003 Universal Pictures. All Rights Reserved.
OpenSocial
• Become an
OpenSocial Container
Get Shindig (PHP or Java)
or Google implementations*
• http://shindig.apache.org

– Look at examples & documentation
• http://code.google.com/p/opensocialresources/wiki/SampleApps
25

» * See later why

OpenSocial Container
OpenSocial – Shindig
– Open source implementation of OpenSocial &
Gadgets specification
– An Apache Software project
– Available in Java & PHP
– http://shindig.apache.org

It’s Goal: “Shindig's goal was to allow new sites to
start hosting social apps in under an hour's worth of
work“
• Those who tried it confirm, this failed quite
miserably
26
OpenSocial – What is a
Gadget?

Simple gadgets for getting a Grid proxy credential and
running remote commands. Both run on my own
Web server.
27
OpenSocial Fork
The “official” OpenSocial implementation has shifted – from
Shindig to Google Code

https://code.google.com/p/opensocial-resources/
And just plans to move yet again, this time to GitHub!
In fact, Google’s OpenSocial Ruby Gem moved there 4
years ago, and the code hasn’t changed since
https://github.com/revans/opensocial
(original Google Code SVN by MySpace also still exists;-)

28
Who uses OpenSocial?
• Social “Herrings”
– MySpace
– Orkut
– Friendster
– Hi5
– Jive
– IBM (formerly known as Lotus Notes;-)

29
Who does not use
OpenSocial?
• Big “Fish”
– Facebook
– Twitter
– LinkedIn
– XING*
– Yammer
– Foursquare
– Google+

...
30

* Abandoned it for lack of Security among other reasons
What’s said about
OpenSocial
– OpenSocial is what Google created for
MySpace
(Yammer CTO and co-founder Adam Pisoni)
– Out of the box, most gadgets are publicly
available content that do not require
authentication and authorization.
(ThoughtWorks Studios about OpenSocial
gadgets)

31
What’s said about
OpenSocial (2)
– OpenSocial is a specification that provides a
standard way to share content between semitrusted applications.
– While initially proposed for public facing social
networking sites, it has possibly more potential
within the corporate firewall
(ThoughtWorks Radar, March 2012)

– Latest twist: OpenSocial is now proposed as
W3C recommendation
32
The non Standard parts
• No standard identity management or any
other API across Social Media
(for Java JSR 351 tries to establish that)

• More than that. There is no Social Media
that guarantee:
– Its API won’t change for a given period

33

– Backward compatibility when its API
changes
What would be a standard
for Social?
• A basic heart providing basic services :
– OAuth and Rest request
– Multi Social Media connections
– Polymorphic services to enforce standard on
social Media
– Connector definition for Social module

• So this standard would be a kind Java
Social Connector definition standard
34
From JSR 357 to Agorava
• Before Agorava there was Seam
Social, part of the JBoss Seam 3 project
• Early 2012, Seam was stopped to be
merged in Apache DeltaSpike
• Agorava was born mainly from Seam
Social after JSR 357 attempt
• One of it’s goals is to be the missing POC
for a new Java Social Standard
35
Differences to
Spring Social
• Spring Social works primarily with Spring

• Other UI frameworks than Spring MVC
are harder to integrate
• Focus on Facebook, so far examples only
provide Single Service support, unlike
Agorava Multiservice approach
Differences to
Spring Social (2)
• Despite otherwise still somewhat active
Spring community, even at Pivotal /
VMware there’s doubt about support and
activity, especially after some people left
• Currently supports .NET, too
Differences to
DaliCore
• Also offering Social Container and
CMS, partial OpenSocial support
• Persistence support via EJB, JPA, etc.
• Not so clear separation of
modules, especially API/Spec and
Implementation, in most cases they share
same module and even package

38
Differences to
DaliCore (2)
• Currently seems a little heavier, strong
dependencies on the Full Java EE stack,
i.e. using only Web Profile or Java SE
seems hard right now

• Glassfish support and Integration
Oracle stopped professional GF support
• Demonstrated Scalability also under
heavy usage
39
Agorava 0.7
Macro architecture
– Agorava core is the
«smart module» of the
framework
– Modules are mainly
REST API and JSON
mapping
– Agorava provides full CDI
implementation
– In progress from 0.7 on:
• Full Java SE support (e.g. CDI 2)
• JSR 330 (Guice | Dagger, maybe
Spring) support

40
Let’s Dance...
emo...
Image © 2003 Universal Pictures. All Rights Reserved.
Agorava Book
– A first book about Agorava is
scheduled for release to print
and online (Amazon, Google
Play!, iTunes) this Spring.
– Please check
http://developerpress.com/en
/enterprise-20-agorava-0/

42
Links
• Agorava Project:
http://agorava.org

#smwagorava
@wernerkeil
@AgoravaProj

• Github:
https://github.com/agorava
• JBoss Developer Framework:
http://www.jboss.org/jdf/about/roadmap/

Weitere ähnliche Inhalte

Was ist angesagt?

Guide to open source
Guide to open source Guide to open source
Guide to open source Javier Perez
 
Liferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalLiferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalNavin Agarwal
 
Java Community News - September 2015
Java Community News - September 2015Java Community News - September 2015
Java Community News - September 2015Yolande Poirier
 
Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016Yolande Poirier
 
More java community insider secrets
More java community insider secretsMore java community insider secrets
More java community insider secretsYolande Poirier
 
Open social gadgets in ibm connections
Open social gadgets in ibm connectionsOpen social gadgets in ibm connections
Open social gadgets in ibm connectionsVincent Burckhardt
 
Looking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and futureLooking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and futureArtefactual Systems - AtoM
 
How to "Hack" the DSpace Community
How to "Hack" the DSpace CommunityHow to "Hack" the DSpace Community
How to "Hack" the DSpace CommunityTim Donohue
 
OSGeo Incubation 2014
OSGeo Incubation 2014OSGeo Incubation 2014
OSGeo Incubation 2014Jody Garnett
 
Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)rivetlogic
 
The Journey of Apache ManifoldCF: Learning from ASF's Successes
The Journey of Apache ManifoldCF: Learning from ASF's SuccessesThe Journey of Apache ManifoldCF: Learning from ASF's Successes
The Journey of Apache ManifoldCF: Learning from ASF's SuccessesPiergiorgio Lucidi
 
Liferay Developer Best Practices for a Successful Deployment
Liferay Developer Best Practices for a Successful DeploymentLiferay Developer Best Practices for a Successful Deployment
Liferay Developer Best Practices for a Successful Deploymentrivetlogic
 
Liferay Configuration and Customization
Liferay Configuration and CustomizationLiferay Configuration and Customization
Liferay Configuration and CustomizationThành Nguyễn
 
Mavenizing your Liferay project
Mavenizing your Liferay projectMavenizing your Liferay project
Mavenizing your Liferay projectmimacom
 
Open Social Frameworks
Open Social FrameworksOpen Social Frameworks
Open Social Frameworksrsandhu1
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 

Was ist angesagt? (20)

Guide to open source
Guide to open source Guide to open source
Guide to open source
 
Liferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalLiferay architecture By Navin Agarwal
Liferay architecture By Navin Agarwal
 
Java Community News - September 2015
Java Community News - September 2015Java Community News - September 2015
Java Community News - September 2015
 
Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016
 
More java community insider secrets
More java community insider secretsMore java community insider secrets
More java community insider secrets
 
Open social gadgets in ibm connections
Open social gadgets in ibm connectionsOpen social gadgets in ibm connections
Open social gadgets in ibm connections
 
Looking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and futureLooking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and future
 
How to "Hack" the DSpace Community
How to "Hack" the DSpace CommunityHow to "Hack" the DSpace Community
How to "Hack" the DSpace Community
 
Management de communaute
Management de communauteManagement de communaute
Management de communaute
 
OSGeo Incubation 2014
OSGeo Incubation 2014OSGeo Incubation 2014
OSGeo Incubation 2014
 
Devoxx Java Social and Agorava
Devoxx Java Social and AgoravaDevoxx Java Social and Agorava
Devoxx Java Social and Agorava
 
Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)
 
The Journey of Apache ManifoldCF: Learning from ASF's Successes
The Journey of Apache ManifoldCF: Learning from ASF's SuccessesThe Journey of Apache ManifoldCF: Learning from ASF's Successes
The Journey of Apache ManifoldCF: Learning from ASF's Successes
 
Liferay Developer Best Practices for a Successful Deployment
Liferay Developer Best Practices for a Successful DeploymentLiferay Developer Best Practices for a Successful Deployment
Liferay Developer Best Practices for a Successful Deployment
 
Liferay Configuration and Customization
Liferay Configuration and CustomizationLiferay Configuration and Customization
Liferay Configuration and Customization
 
Liferay with xebia
Liferay with xebiaLiferay with xebia
Liferay with xebia
 
Liferay on docker
Liferay on dockerLiferay on docker
Liferay on docker
 
Mavenizing your Liferay project
Mavenizing your Liferay projectMavenizing your Liferay project
Mavenizing your Liferay project
 
Open Social Frameworks
Open Social FrameworksOpen Social Frameworks
Open Social Frameworks
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 

Ähnlich wie Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)

Appleseed Social Networking
Appleseed Social NetworkingAppleseed Social Networking
Appleseed Social NetworkingFSCONS
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712weitzelm
 
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferaydaveayan
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six MonthsAnthony Baker
 
OpenSocial gadgets at Eclipse
OpenSocial gadgets at EclipseOpenSocial gadgets at Eclipse
OpenSocial gadgets at EclipseBenjamin Cabé
 
UI Dev in Big data world using open source
UI Dev in Big data world using open sourceUI Dev in Big data world using open source
UI Dev in Big data world using open sourceTech Triveni
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022 Michael Yagudaev
 
Buiding application for social networks
Buiding application for social networksBuiding application for social networks
Buiding application for social networksĐỗ Duy Trung
 
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 159 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15Open API Initiative (OAI)
 
LTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS IntegrationLTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS IntegrationCharles Severance
 
Java API für Social Media
Java API für Social MediaJava API für Social Media
Java API für Social MediaWerner Keil
 
Open API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative (OAI)
 
Adopt A JSR - MoroccoJUG
Adopt A JSR - MoroccoJUGAdopt A JSR - MoroccoJUG
Adopt A JSR - MoroccoJUGMorocco JUG
 
Using oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureUsing oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureHiro Yoshioka
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014Steven Andrews
 
Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Stefane Fermigier
 
2014 Q4 IAM Open Source Support Program Update
2014 Q4 IAM Open Source Support Program Update2014 Q4 IAM Open Source Support Program Update
2014 Q4 IAM Open Source Support Program UpdateJohn Gasper
 
Devfest09 OpenSocial Enterprise
Devfest09 OpenSocial EnterpriseDevfest09 OpenSocial Enterprise
Devfest09 OpenSocial EnterpriseChris Schalk
 

Ähnlich wie Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014) (20)

An Introduction to MIT's Drupal Cloud
An Introduction to MIT's Drupal CloudAn Introduction to MIT's Drupal Cloud
An Introduction to MIT's Drupal Cloud
 
Appleseed Social Networking
Appleseed Social NetworkingAppleseed Social Networking
Appleseed Social Networking
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712
 
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferay
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six Months
 
OpenSocial gadgets at Eclipse
OpenSocial gadgets at EclipseOpenSocial gadgets at Eclipse
OpenSocial gadgets at Eclipse
 
UI Dev in Big data world using open source
UI Dev in Big data world using open sourceUI Dev in Big data world using open source
UI Dev in Big data world using open source
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Buiding application for social networks
Buiding application for social networksBuiding application for social networks
Buiding application for social networks
 
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 159 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
 
LTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS IntegrationLTI Advantage: The Next Big Thing in LMS Integration
LTI Advantage: The Next Big Thing in LMS Integration
 
Java API für Social Media
Java API für Social MediaJava API für Social Media
Java API für Social Media
 
Open API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative: Six months and counting
Open API Initiative: Six months and counting
 
Adopt A JSR - MoroccoJUG
Adopt A JSR - MoroccoJUGAdopt A JSR - MoroccoJUG
Adopt A JSR - MoroccoJUG
 
Using oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureUsing oss at an internet company and hacker culture
Using oss at an internet company and hacker culture
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014
 
Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?
 
2014 Q4 IAM Open Source Support Program Update
2014 Q4 IAM Open Source Support Program Update2014 Q4 IAM Open Source Support Program Update
2014 Q4 IAM Open Source Support Program Update
 
Devfest09 OpenSocial Enterprise
Devfest09 OpenSocial EnterpriseDevfest09 OpenSocial Enterprise
Devfest09 OpenSocial Enterprise
 

Mehr von Werner Keil

Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Werner Keil
 
OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021Werner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021Werner Keil
 
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualOpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualWerner Keil
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualWerner Keil
 
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRJCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRWerner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020Werner Keil
 
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Werner Keil
 
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Werner Keil
 
NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)Werner Keil
 
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayHow JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayWerner Keil
 
JNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesJNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesWerner Keil
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesEclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesWerner Keil
 
Physikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichPhysikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichWerner Keil
 
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Werner Keil
 
Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Werner Keil
 
Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Werner Keil
 
Java2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudJava2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudWerner Keil
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartWerner Keil
 
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgThe First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgWerner Keil
 

Mehr von Werner Keil (20)

Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21Securing eHealth, eGovernment and eBanking with Java - DWX '21
Securing eHealth, eGovernment and eBanking with Java - DWX '21
 
OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021OpenDDR and Jakarta MVC - JavaLand 2021
OpenDDR and Jakarta MVC - JavaLand 2021
 
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
How JSR 385 could have Saved the Mars Climate Orbiter - Zurich IoT Day 2021
 
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 VirtualOpenDDR and Jakarta MVC - Java2Days 2020 Virtual
OpenDDR and Jakarta MVC - Java2Days 2020 Virtual
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 Virtual
 
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDRJCON 2020: Mobile Java Web Applications with MVC and OpenDDR
JCON 2020: Mobile Java Web Applications with MVC and OpenDDR
 
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
How JSR 385 could have Saved the Mars Climate Orbiter - JFokus 2020
 
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
Money, Money, Money, can be funny with JSR 354 (Devoxx BE)
 
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)Money, Money, Money, can be funny with JSR 354 (DWX 2019)
Money, Money, Money, can be funny with JSR 354 (DWX 2019)
 
NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)NoSQL: The first New Jakarta EE Specification (DWX 2019)
NoSQL: The first New Jakarta EE Specification (DWX 2019)
 
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR DayHow JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
How JSR 385 could have Saved the Mars Climate Orbiter - Adopt-a-JSR Day
 
JNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL DatabasesJNoSQL: The Definitive Solution for Java and NoSQL Databases
JNoSQL: The Definitive Solution for Java and NoSQL Databases
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabasesEclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Databases
 
Physikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG MunichPhysikal - Using Kotlin for Clean Energy - KUG Munich
Physikal - Using Kotlin for Clean Energy - KUG Munich
 
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
Physikal - JSR 363 and Kotlin for Clean Energy - Java2Days 2017
 
Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017Performance Monitoring for the Cloud - Java2Days 2017
Performance Monitoring for the Cloud - Java2Days 2017
 
Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363Eclipse Science F2F 2016 - JSR 363
Eclipse Science F2F 2016 - JSR 363
 
Java2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the CloudJava2Days - Security for JavaEE and the Cloud
Java2Days - Security for JavaEE and the Cloud
 
Apache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ StuttgartApache DeviceMap - Web-Dev-BBQ Stuttgart
Apache DeviceMap - Web-Dev-BBQ Stuttgart
 
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-BrandenburgThe First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
The First IoT JSR: Units of Measurement - JUG Berlin-Brandenburg
 

Kürzlich hochgeladen

Jual Obat Aborsi Palu ( Taiwan No.1 ) 085657271886 Obat Penggugur Kandungan C...
Jual Obat Aborsi Palu ( Taiwan No.1 ) 085657271886 Obat Penggugur Kandungan C...Jual Obat Aborsi Palu ( Taiwan No.1 ) 085657271886 Obat Penggugur Kandungan C...
Jual Obat Aborsi Palu ( Taiwan No.1 ) 085657271886 Obat Penggugur Kandungan C...ZurliaSoop
 
CASH PAYMENT ON GIRL HAND TO HAND HOUSEWIFE
CASH PAYMENT ON GIRL HAND TO HAND HOUSEWIFECASH PAYMENT ON GIRL HAND TO HAND HOUSEWIFE
CASH PAYMENT ON GIRL HAND TO HAND HOUSEWIFECall girl Jaipur
 
BDSM⚡Call Girls in Sector 76 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 76 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 76 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 76 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Generate easy money from tiktok using this simple steps on the book.
Generate easy money from tiktok using this simple steps on the book.Generate easy money from tiktok using this simple steps on the book.
Generate easy money from tiktok using this simple steps on the book.AFFFILIATE
 
Call Girls In South Ex. Delhi O9654467111 Women Seeking Men
Call Girls In South Ex. Delhi O9654467111 Women Seeking MenCall Girls In South Ex. Delhi O9654467111 Women Seeking Men
Call Girls In South Ex. Delhi O9654467111 Women Seeking MenSapana Sha
 
Film show pre-production powerpoint for site
Film show pre-production powerpoint for siteFilm show pre-production powerpoint for site
Film show pre-production powerpoint for siteAshtonCains
 
Ignite Your Online Influence: Sociocosmos - Where Social Media Magic Happens
Ignite Your Online Influence: Sociocosmos - Where Social Media Magic HappensIgnite Your Online Influence: Sociocosmos - Where Social Media Magic Happens
Ignite Your Online Influence: Sociocosmos - Where Social Media Magic HappensSocioCosmos
 
Ready to get noticed? Partner with Sociocosmos
Ready to get noticed? Partner with SociocosmosReady to get noticed? Partner with Sociocosmos
Ready to get noticed? Partner with SociocosmosSocioCosmos
 
Film show production powerpoint for site
Film show production powerpoint for siteFilm show production powerpoint for site
Film show production powerpoint for siteAshtonCains
 
Capstone slidedeck for my capstone final edition.pdf
Capstone slidedeck for my capstone final edition.pdfCapstone slidedeck for my capstone final edition.pdf
Capstone slidedeck for my capstone final edition.pdfeliklein8
 
Film show post-production powerpoint for site
Film show post-production powerpoint for siteFilm show post-production powerpoint for site
Film show post-production powerpoint for siteAshtonCains
 
Production diary Film the city powerpoint
Production diary Film the city powerpointProduction diary Film the city powerpoint
Production diary Film the city powerpointAshtonCains
 
College & House wife Call Girls in Paharganj 9634446618 -Best Escort call gi...
College & House wife  Call Girls in Paharganj 9634446618 -Best Escort call gi...College & House wife  Call Girls in Paharganj 9634446618 -Best Escort call gi...
College & House wife Call Girls in Paharganj 9634446618 -Best Escort call gi...Heena Escort Service
 
Hire↠Young Call Girls in Hari Nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esco...
Hire↠Young Call Girls in Hari Nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esco...Hire↠Young Call Girls in Hari Nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esco...
Hire↠Young Call Girls in Hari Nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esco...Delhi Call girls
 
VIP Call Girls Morena 9332606886 Free Home Delivery 5500 Only
VIP Call Girls Morena 9332606886 Free Home Delivery 5500 OnlyVIP Call Girls Morena 9332606886 Free Home Delivery 5500 Only
VIP Call Girls Morena 9332606886 Free Home Delivery 5500 Onlykhanf3647647
 
Pondicherry Call Girls Book Now 8617697112 Top Class Pondicherry Escort Servi...
Pondicherry Call Girls Book Now 8617697112 Top Class Pondicherry Escort Servi...Pondicherry Call Girls Book Now 8617697112 Top Class Pondicherry Escort Servi...
Pondicherry Call Girls Book Now 8617697112 Top Class Pondicherry Escort Servi...Nitya salvi
 
Capstone slide deck on the TikTok revolution
Capstone slide deck on the TikTok revolutionCapstone slide deck on the TikTok revolution
Capstone slide deck on the TikTok revolutioneliklein8
 
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceVellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceDamini Dixit
 
Enjoy Night⚡Call Girls Palam Vihar Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Palam Vihar Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Palam Vihar Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Palam Vihar Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 

Kürzlich hochgeladen (20)

Jual Obat Aborsi Palu ( Taiwan No.1 ) 085657271886 Obat Penggugur Kandungan C...
Jual Obat Aborsi Palu ( Taiwan No.1 ) 085657271886 Obat Penggugur Kandungan C...Jual Obat Aborsi Palu ( Taiwan No.1 ) 085657271886 Obat Penggugur Kandungan C...
Jual Obat Aborsi Palu ( Taiwan No.1 ) 085657271886 Obat Penggugur Kandungan C...
 
CASH PAYMENT ON GIRL HAND TO HAND HOUSEWIFE
CASH PAYMENT ON GIRL HAND TO HAND HOUSEWIFECASH PAYMENT ON GIRL HAND TO HAND HOUSEWIFE
CASH PAYMENT ON GIRL HAND TO HAND HOUSEWIFE
 
BDSM⚡Call Girls in Sector 76 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 76 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 76 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 76 Noida Escorts >༒8448380779 Escort Service
 
Generate easy money from tiktok using this simple steps on the book.
Generate easy money from tiktok using this simple steps on the book.Generate easy money from tiktok using this simple steps on the book.
Generate easy money from tiktok using this simple steps on the book.
 
Call Girls In South Ex. Delhi O9654467111 Women Seeking Men
Call Girls In South Ex. Delhi O9654467111 Women Seeking MenCall Girls In South Ex. Delhi O9654467111 Women Seeking Men
Call Girls In South Ex. Delhi O9654467111 Women Seeking Men
 
Film show pre-production powerpoint for site
Film show pre-production powerpoint for siteFilm show pre-production powerpoint for site
Film show pre-production powerpoint for site
 
Ignite Your Online Influence: Sociocosmos - Where Social Media Magic Happens
Ignite Your Online Influence: Sociocosmos - Where Social Media Magic HappensIgnite Your Online Influence: Sociocosmos - Where Social Media Magic Happens
Ignite Your Online Influence: Sociocosmos - Where Social Media Magic Happens
 
The Butterfly Effect
The Butterfly EffectThe Butterfly Effect
The Butterfly Effect
 
Ready to get noticed? Partner with Sociocosmos
Ready to get noticed? Partner with SociocosmosReady to get noticed? Partner with Sociocosmos
Ready to get noticed? Partner with Sociocosmos
 
Film show production powerpoint for site
Film show production powerpoint for siteFilm show production powerpoint for site
Film show production powerpoint for site
 
Capstone slidedeck for my capstone final edition.pdf
Capstone slidedeck for my capstone final edition.pdfCapstone slidedeck for my capstone final edition.pdf
Capstone slidedeck for my capstone final edition.pdf
 
Film show post-production powerpoint for site
Film show post-production powerpoint for siteFilm show post-production powerpoint for site
Film show post-production powerpoint for site
 
Production diary Film the city powerpoint
Production diary Film the city powerpointProduction diary Film the city powerpoint
Production diary Film the city powerpoint
 
College & House wife Call Girls in Paharganj 9634446618 -Best Escort call gi...
College & House wife  Call Girls in Paharganj 9634446618 -Best Escort call gi...College & House wife  Call Girls in Paharganj 9634446618 -Best Escort call gi...
College & House wife Call Girls in Paharganj 9634446618 -Best Escort call gi...
 
Hire↠Young Call Girls in Hari Nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esco...
Hire↠Young Call Girls in Hari Nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esco...Hire↠Young Call Girls in Hari Nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esco...
Hire↠Young Call Girls in Hari Nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esco...
 
VIP Call Girls Morena 9332606886 Free Home Delivery 5500 Only
VIP Call Girls Morena 9332606886 Free Home Delivery 5500 OnlyVIP Call Girls Morena 9332606886 Free Home Delivery 5500 Only
VIP Call Girls Morena 9332606886 Free Home Delivery 5500 Only
 
Pondicherry Call Girls Book Now 8617697112 Top Class Pondicherry Escort Servi...
Pondicherry Call Girls Book Now 8617697112 Top Class Pondicherry Escort Servi...Pondicherry Call Girls Book Now 8617697112 Top Class Pondicherry Escort Servi...
Pondicherry Call Girls Book Now 8617697112 Top Class Pondicherry Escort Servi...
 
Capstone slide deck on the TikTok revolution
Capstone slide deck on the TikTok revolutionCapstone slide deck on the TikTok revolution
Capstone slide deck on the TikTok revolution
 
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceVellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Vellore Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
 
Enjoy Night⚡Call Girls Palam Vihar Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Palam Vihar Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Palam Vihar Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Palam Vihar Gurgaon >༒8448380779 Escort Service
 

Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)

  • 1. ENTERPRISE 2.0 WITH OPEN SOURCE Frameworks like Agorava
  • 2.
  • 3. Werner Keil | Bio • • • • • • • • Consultant – Coach Creative Cosmopolitan Software Architect Java Godfather JCP Executive Committee Member Eclipse UOMo Project Lead Agorava Cofounder ETCS Guy @wernerkeil
  • 6. Social Gaga Image © 2012 Lady Gaga. All Rights Reserved.
  • 8. Twitter4J • Twitter4J is an unofficial Java library for Twitter API. With Twitter4J, you can easily integrate your Java application with Twitter. • Its author, Yusuke Yamamoto used to work at Twitter. While he did, he was briefly meant to represent Twitter in the Social JSR (357) EG. • It’s light and compatible even with Java 1.4 to be integrated e.g. in mobile apps
  • 9. Scribe Java • Scribe is Java framework that provides basic OAuth function • It also contains configuration for a lot of Social Media • Only one dependency on Apache Common Codec • Was at the heart of Agorava 0.5
  • 10. DaliCore – CMS • More than a CMS → DaliCore • Adds functionality common to users, content and permissions on top of Java EE 6. • Focus on Users and Permissions. • In about every DaliCore project, users should be able to login with existing credentials (Facebook, Twitter, Google Connect,...) • Dali modules extend DaliCore
  • 11. Spring Social • Spring social somewhat inspirational to Seam Social and Agorava has been around a bit longer • Spring Social module were used to create first Agorava modules (thanks to OSS and ASL2) • But it’s Spring a only module....
  • 12. In Memoriam PHILIP SEYMOUR HOFFMAN July 23, 1967 – February 2, 2014 Image © 2003 Universal Pictures. All Rights Reserved.
  • 13. Along came JSR 357 • In march 2012 on Werner Keil’s initiative, Java Social was submitted to the JCP to become a JSR • It proposed to standardize high level access to Social Media for the Java Platform • It was voted down by 8 votes against 5 Image © 2003 Universal Pictures. All Rights Reserved.
  • 17. It can’t be standardized? FALSE Maybe...
  • 18. Standard part in Social Media • All social medias use REST as transmission protocol • Most of them transmit data in JSON format and some in XML • Identification & Authentication are almost Maybe... entirely based on OAuth protocol 18
  • 19. REST • REpresentational State Transfer : Requests about resource representation (customer, book, order) • REST is based on low level HTTP • Each resource has a unique identifier (URI). 4 HTTP verbs can be applied to a URI : GET, POST, PUT, DELETE Maybe... • Java has REST standard: JAX-RS. Version 1.0 doesn’t provide client API yet, JAX-RS 2.0 does 19
  • 20. JSON 1: { 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: } "firstName": "John", "lastName" : "Smith", "age" : 25, "address" : { "streetAddress": "21 2nd Street", "city" : "New York", "state" : "NY", "postalCode" : "10021" }, "phoneNumber": [ { "type" : "home", "number": "212 555-1234" }, { "type" : "fax", "number": "646 555-4567" } ] 20 • JavaScript Object Notation: Data format inspired by JavaScript. It became a standard for online services including Social Media. Maybe...
  • 21. OAuth • OAuth is a protocol to delegate rights for an application to act on the behalf of a user who granted its rights without giving away login / password • Developed by Twitter, Magnolia and Google, it was made standard by IETF in April 2010 under RFC 5849 21
  • 22. OAuth (2) • Version 2.0, simpler to use but often criticized for too many implementation was standardized in October 2012 under RFC 6749 and 6750. Already widely used (Facebook, Google, Microsoft) • All Social Media services are based on OAuth 1.0a or 2.0. • To use OAuth, one has to create an application on the targeted service to have an entry point for consumer 22
  • 23. OAuth has 3 steps • Creating an application in an OAauth service • Initialization: right granting phase also called OAuth Dance. At its end we obtain an access token (formed by public and secret part) to use in next step • Signature: each request is signed with an access token identifying the OAuth application granted rights to 23 Image © 2003 Universal Pictures. All Rights Reserved.
  • 24. Standards that didn’t make it 24 Some Images © 2003 Universal Pictures. All Rights Reserved.
  • 25. OpenSocial • Become an OpenSocial Container Get Shindig (PHP or Java) or Google implementations* • http://shindig.apache.org – Look at examples & documentation • http://code.google.com/p/opensocialresources/wiki/SampleApps 25 » * See later why OpenSocial Container
  • 26. OpenSocial – Shindig – Open source implementation of OpenSocial & Gadgets specification – An Apache Software project – Available in Java & PHP – http://shindig.apache.org It’s Goal: “Shindig's goal was to allow new sites to start hosting social apps in under an hour's worth of work“ • Those who tried it confirm, this failed quite miserably 26
  • 27. OpenSocial – What is a Gadget? Simple gadgets for getting a Grid proxy credential and running remote commands. Both run on my own Web server. 27
  • 28. OpenSocial Fork The “official” OpenSocial implementation has shifted – from Shindig to Google Code https://code.google.com/p/opensocial-resources/ And just plans to move yet again, this time to GitHub! In fact, Google’s OpenSocial Ruby Gem moved there 4 years ago, and the code hasn’t changed since https://github.com/revans/opensocial (original Google Code SVN by MySpace also still exists;-) 28
  • 29. Who uses OpenSocial? • Social “Herrings” – MySpace – Orkut – Friendster – Hi5 – Jive – IBM (formerly known as Lotus Notes;-) 29
  • 30. Who does not use OpenSocial? • Big “Fish” – Facebook – Twitter – LinkedIn – XING* – Yammer – Foursquare – Google+ ... 30 * Abandoned it for lack of Security among other reasons
  • 31. What’s said about OpenSocial – OpenSocial is what Google created for MySpace (Yammer CTO and co-founder Adam Pisoni) – Out of the box, most gadgets are publicly available content that do not require authentication and authorization. (ThoughtWorks Studios about OpenSocial gadgets) 31
  • 32. What’s said about OpenSocial (2) – OpenSocial is a specification that provides a standard way to share content between semitrusted applications. – While initially proposed for public facing social networking sites, it has possibly more potential within the corporate firewall (ThoughtWorks Radar, March 2012) – Latest twist: OpenSocial is now proposed as W3C recommendation 32
  • 33. The non Standard parts • No standard identity management or any other API across Social Media (for Java JSR 351 tries to establish that) • More than that. There is no Social Media that guarantee: – Its API won’t change for a given period 33 – Backward compatibility when its API changes
  • 34. What would be a standard for Social? • A basic heart providing basic services : – OAuth and Rest request – Multi Social Media connections – Polymorphic services to enforce standard on social Media – Connector definition for Social module • So this standard would be a kind Java Social Connector definition standard 34
  • 35. From JSR 357 to Agorava • Before Agorava there was Seam Social, part of the JBoss Seam 3 project • Early 2012, Seam was stopped to be merged in Apache DeltaSpike • Agorava was born mainly from Seam Social after JSR 357 attempt • One of it’s goals is to be the missing POC for a new Java Social Standard 35
  • 36. Differences to Spring Social • Spring Social works primarily with Spring • Other UI frameworks than Spring MVC are harder to integrate • Focus on Facebook, so far examples only provide Single Service support, unlike Agorava Multiservice approach
  • 37. Differences to Spring Social (2) • Despite otherwise still somewhat active Spring community, even at Pivotal / VMware there’s doubt about support and activity, especially after some people left • Currently supports .NET, too
  • 38. Differences to DaliCore • Also offering Social Container and CMS, partial OpenSocial support • Persistence support via EJB, JPA, etc. • Not so clear separation of modules, especially API/Spec and Implementation, in most cases they share same module and even package 38
  • 39. Differences to DaliCore (2) • Currently seems a little heavier, strong dependencies on the Full Java EE stack, i.e. using only Web Profile or Java SE seems hard right now • Glassfish support and Integration Oracle stopped professional GF support • Demonstrated Scalability also under heavy usage 39
  • 40. Agorava 0.7 Macro architecture – Agorava core is the «smart module» of the framework – Modules are mainly REST API and JSON mapping – Agorava provides full CDI implementation – In progress from 0.7 on: • Full Java SE support (e.g. CDI 2) • JSR 330 (Guice | Dagger, maybe Spring) support 40
  • 41. Let’s Dance... emo... Image © 2003 Universal Pictures. All Rights Reserved.
  • 42. Agorava Book – A first book about Agorava is scheduled for release to print and online (Amazon, Google Play!, iTunes) this Spring. – Please check http://developerpress.com/en /enterprise-20-agorava-0/ 42
  • 43. Links • Agorava Project: http://agorava.org #smwagorava @wernerkeil @AgoravaProj • Github: https://github.com/agorava • JBoss Developer Framework: http://www.jboss.org/jdf/about/roadmap/