SlideShare une entreprise Scribd logo
1  sur  45
ENTERPRISE 2.0 WITH OPEN SOURCE
Frameworks like Agorava
Who am I?
2 © 2012-2016 Creative Arts & Technologies
Werner Keil
• Consultant – Coach
• Creative Cosmopolitan
• Open Source Evangelist
• Software Architect
• JCP EC Member
• Agorava Co Founder
• JSR-363 Co Spec Lead
• IoT Enabler …
Twitter @wernerkeil
Email werner@catmedia.us
Proliferation
3 © 2012-2016 Creative Arts & Technologies
Proliferation of Social Media
4 © 2012-2016 Creative Arts & Technologies
Social Gaga
Image © 2012 Lady Gaga. All Rights Reserved.
Before Java Social
(JSR 357)
6 © 2012-2016 Creative Arts & Technologies
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....
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...
14
Too Soon?
Lack of real POC...
15
It can’t be standardized?
FALSE
16
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 entirely
based on OAuth protocol
17
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
•Java has REST standard: JAX-RS. Version 1.0
didn’t provide client API yet, JAX-RS 2.0 does
18
1: {
2: "firstName": "John",
3: "lastName" : "Smith",
4: "age" : 25,
5: "address" :
6: {
7: "streetAddress": "21 2nd Street",
8: "city" : "New York",
9: "state" : "NY",
10: "postalCode" : "10021"
11: },
12: "phoneNumber":
13: [
14: {
15: "type" : "home",
16: "number": "212 555-1234"
17: },
18: {
19: "type" : "fax",
20: "number": "646 555-4567"
21: }
22: ]
23: }
JSON
•JavaScript Object
Notation: Data format
inspired by JavaScript. It
became a standard for
online services including
Social Media.
19
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
20
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
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
Image © 2003 Universal Pictures. All Rights Reserved.
Standards that
didn’t make it
Some Images © 2003 Universal Pictures. All Rights Reserved.
23
OpenSocial Container
•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/opensocial-resources/wiki/SampleApps
• * See later why
OpenSocial
24
• 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
•And in 2015 Apache archived Shindig
OpenSocial – Shindig
Simple gadgets for getting a Grid proxy credential and
running remote commands. Both run on my own
Web server.
OpenSocial – What is a Gadget?
25 © 2012-2016 Creative Arts & Technologies
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;-)
OpenSocial Fork
26 © 2012-2016 Creative Arts & Technologies
27
Who uses OpenSocial?
•Social “Herrings”
• MySpace
• Orkut
• Friendster
• Hi5
• Jive
• IBM (Lotus Notes;-)
28
Who does not use
OpenSocial?
•Big “Fish”
• Facebook
• Twitter
• LinkedIn
• XING*
• Yammer
• Foursquare
• Google+
...
* Abandoned it for lack of Security among other reasons
29
• 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)
What’s said about
OpenSocial
30
• OpenSocial is a specification that provides a
standard way to share content between semi-trusted
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 was proposed as W3C
recommendation
What’s said about
OpenSocial (2)
31
Sun Microsystems
Socialsite: Shindig + gadget based UI written in Java
Open Source https://socialsite.dev.java.net/
SocialSite –
Sun’s Approach to Social
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
• Backward compatibility when its API changes
33
•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
What would be a standard
for Social?
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
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
•DaliCore no longer Open Source
37 © 2012-2016 Creative Arts & Technologies
49
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
38 © 2012-2016 Creative Arts & Technologies
Differences to
Oracle SocialLink
•Feels almost like Eclipse or Microsoft project
(ISocialNetwork)
•Still very new, looks immature in several areas
•Seemingly non-existent community support
•No Modularity or separation between API and
Implementation
•Last commit 3 years ago, so it’s practically dead
39 © 2012-2016 Creative Arts & Technologies
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
In Memoriam
January 8, 1947 – January 10, 2016
David Bowie
Image © 1983 EMI America Records. All Rights Reserved.
Image © 2003 Universal Pictures. All Rights Reserved.
Let’s Dance...emo...
43
Agorava Book
• A first book about Agorava is
scheduled for release to print
and online (Amazon, Google
Play!, iTunes) this Spring.
• Agorava Project:
http://agorava.org
• Github:
https://github.com/agorava
#Agorava
@wernerkeil
@AgoravaProj
Links
44
Q & A

Contenu connexe

Tendances

Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...Matt Raible
 
How to enhance Email with Embedded Experiences
How to enhance Email with Embedded ExperiencesHow to enhance Email with Embedded Experiences
How to enhance Email with Embedded ExperiencesIBM Connections Developers
 
MWC/ADC 2013 Introduction to Asha application development
MWC/ADC 2013 Introduction to Asha application developmentMWC/ADC 2013 Introduction to Asha application development
MWC/ADC 2013 Introduction to Asha application developmentMicrosoft Mobile Developer
 
Reactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorReactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorTrayan Iliev
 
SCIM in the Real World: Adoption is Growing
SCIM in the Real World: Adoption is GrowingSCIM in the Real World: Adoption is Growing
SCIM in the Real World: Adoption is GrowingKelly Grizzle
 
Jan19 scim webinar-04
Jan19 scim webinar-04Jan19 scim webinar-04
Jan19 scim webinar-04Paul Madsen
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...Matt Raible
 
CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...
CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...
CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...CloudIDSummit
 
Mobile Cloud Demo
Mobile Cloud DemoMobile Cloud Demo
Mobile Cloud DemoMee Nam Lee
 
AD104 - IBM Connections ActivityStream Integration - IBM Connect 2013
AD104 - IBM Connections ActivityStream Integration - IBM Connect 2013AD104 - IBM Connections ActivityStream Integration - IBM Connect 2013
AD104 - IBM Connections ActivityStream Integration - IBM Connect 2013Brian O'Gorman
 
Engineering and Industrial Mobile Application (APP) Development
Engineering and Industrial Mobile Application (APP) DevelopmentEngineering and Industrial Mobile Application (APP) Development
Engineering and Industrial Mobile Application (APP) DevelopmentLiving Online
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on herokuAnand B Narasimhan
 
When IGA meets PAM ... through their mutual friend SCIM
When IGA meets PAM ... through their mutual friend SCIMWhen IGA meets PAM ... through their mutual friend SCIM
When IGA meets PAM ... through their mutual friend SCIMKelly Grizzle
 
Social Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSocial Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSalesforce Developers
 
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門SwapSkills
 
What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?E2LOGY
 

Tendances (19)

Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...
 
Swing is not dead
Swing is not deadSwing is not dead
Swing is not dead
 
How to enhance Email with Embedded Experiences
How to enhance Email with Embedded ExperiencesHow to enhance Email with Embedded Experiences
How to enhance Email with Embedded Experiences
 
MWC/ADC 2013 Introduction to Asha application development
MWC/ADC 2013 Introduction to Asha application developmentMWC/ADC 2013 Introduction to Asha application development
MWC/ADC 2013 Introduction to Asha application development
 
Reactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorReactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring Reactor
 
SCIM in the Real World: Adoption is Growing
SCIM in the Real World: Adoption is GrowingSCIM in the Real World: Adoption is Growing
SCIM in the Real World: Adoption is Growing
 
Jan19 scim webinar-04
Jan19 scim webinar-04Jan19 scim webinar-04
Jan19 scim webinar-04
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...
 
CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...
CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...
CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...
 
Mobile Cloud Demo
Mobile Cloud DemoMobile Cloud Demo
Mobile Cloud Demo
 
AD104 - IBM Connections ActivityStream Integration - IBM Connect 2013
AD104 - IBM Connections ActivityStream Integration - IBM Connect 2013AD104 - IBM Connections ActivityStream Integration - IBM Connect 2013
AD104 - IBM Connections ActivityStream Integration - IBM Connect 2013
 
Engineering and Industrial Mobile Application (APP) Development
Engineering and Industrial Mobile Application (APP) DevelopmentEngineering and Industrial Mobile Application (APP) Development
Engineering and Industrial Mobile Application (APP) Development
 
Scim overview
Scim overviewScim overview
Scim overview
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on heroku
 
When IGA meets PAM ... through their mutual friend SCIM
When IGA meets PAM ... through their mutual friend SCIMWhen IGA meets PAM ... through their mutual friend SCIM
When IGA meets PAM ... through their mutual friend SCIM
 
Social Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSocial Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku Webinar
 
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門
 
What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?
 

Similaire à Enterprise 2.0 with Open Source Frameworks like Agorava

Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)Werner Keil
 
Appleseed Social Networking
Appleseed Social NetworkingAppleseed Social Networking
Appleseed Social NetworkingFSCONS
 
Guide to open source
Guide to open source Guide to open source
Guide to open source Javier Perez
 
Java API für Social Media
Java API für Social MediaJava API für Social Media
Java API für Social MediaWerner Keil
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014Steven Andrews
 
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
 
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
 
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
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712weitzelm
 
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
 
OpenSocial gadgets at Eclipse
OpenSocial gadgets at EclipseOpenSocial gadgets at Eclipse
OpenSocial gadgets at EclipseBenjamin Cabé
 
Lecture2: What People Do on the Social Web (VU Amsterdam Social Web Course)
Lecture2: What People Do on the Social Web (VU Amsterdam Social Web Course)Lecture2: What People Do on the Social Web (VU Amsterdam Social Web Course)
Lecture2: What People Do on the Social Web (VU Amsterdam Social Web Course)Lora Aroyo
 
VU University Amsterdam - The Social Web 2016 - Lecture 2
VU University Amsterdam - The Social Web 2016 - Lecture 2VU University Amsterdam - The Social Web 2016 - Lecture 2
VU University Amsterdam - The Social Web 2016 - Lecture 2Davide Ceolin
 
Devfest09 OpenSocial Enterprise
Devfest09 OpenSocial EnterpriseDevfest09 OpenSocial Enterprise
Devfest09 OpenSocial EnterpriseChris Schalk
 
How I Learned to Stop Worrying and Love Open Source Identity (Paris Edition)
How I Learned to Stop Worrying and Love Open Source Identity (Paris Edition)How I Learned to Stop Worrying and Love Open Source Identity (Paris Edition)
How I Learned to Stop Worrying and Love Open Source Identity (Paris Edition)Pat Patterson
 
How we build project for Open Source
How we build project for Open SourceHow we build project for Open Source
How we build project for Open SourceAlexander Zayats
 
February 13th, 2014 - Unicon IAM Webinar Update
February 13th, 2014 - Unicon IAM Webinar UpdateFebruary 13th, 2014 - Unicon IAM Webinar Update
February 13th, 2014 - Unicon IAM Webinar UpdateMisagh Moayyed
 

Similaire à Enterprise 2.0 with Open Source Frameworks like Agorava (20)

Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWCPH 2014)
 
Appleseed Social Networking
Appleseed Social NetworkingAppleseed Social Networking
Appleseed Social Networking
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
Java API für Social Media
Java API für Social MediaJava API für Social Media
Java API für Social Media
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014
 
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...
 
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
 
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
 
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
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712
 
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
 
OpenSocial gadgets at Eclipse
OpenSocial gadgets at EclipseOpenSocial gadgets at Eclipse
OpenSocial gadgets at Eclipse
 
Lecture2: What People Do on the Social Web (VU Amsterdam Social Web Course)
Lecture2: What People Do on the Social Web (VU Amsterdam Social Web Course)Lecture2: What People Do on the Social Web (VU Amsterdam Social Web Course)
Lecture2: What People Do on the Social Web (VU Amsterdam Social Web Course)
 
VU University Amsterdam - The Social Web 2016 - Lecture 2
VU University Amsterdam - The Social Web 2016 - Lecture 2VU University Amsterdam - The Social Web 2016 - Lecture 2
VU University Amsterdam - The Social Web 2016 - Lecture 2
 
Developing Social Networks
Developing Social NetworksDeveloping Social Networks
Developing Social Networks
 
Devfest09 OpenSocial Enterprise
Devfest09 OpenSocial EnterpriseDevfest09 OpenSocial Enterprise
Devfest09 OpenSocial Enterprise
 
How I Learned to Stop Worrying and Love Open Source Identity (Paris Edition)
How I Learned to Stop Worrying and Love Open Source Identity (Paris Edition)How I Learned to Stop Worrying and Love Open Source Identity (Paris Edition)
How I Learned to Stop Worrying and Love Open Source Identity (Paris Edition)
 
How we build project for Open Source
How we build project for Open SourceHow we build project for Open Source
How we build project for Open Source
 
February 13th, 2014 - Unicon IAM Webinar Update
February 13th, 2014 - Unicon IAM Webinar UpdateFebruary 13th, 2014 - Unicon IAM Webinar Update
February 13th, 2014 - Unicon IAM Webinar Update
 

Plus de 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
 

Plus de 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
 

Dernier

Film show evaluation powerpoint for site
Film show evaluation powerpoint for siteFilm show evaluation powerpoint for site
Film show evaluation powerpoint for siteAshtonCains
 
Interpreting the brief for the media IDY
Interpreting the brief for the media IDYInterpreting the brief for the media IDY
Interpreting the brief for the media IDYgalaxypingy
 
Unlock the power of Instagram with SocioCosmos. Start your journey towards so...
Unlock the power of Instagram with SocioCosmos. Start your journey towards so...Unlock the power of Instagram with SocioCosmos. Start your journey towards so...
Unlock the power of Instagram with SocioCosmos. Start your journey towards so...SocioCosmos
 
SELECTING A SOCIAL MEDIA MARKETING COMPANY
SELECTING A SOCIAL MEDIA MARKETING COMPANYSELECTING A SOCIAL MEDIA MARKETING COMPANY
SELECTING A SOCIAL MEDIA MARKETING COMPANYdizinfo
 
Film the city investagation powerpoint :)
Film the city investagation powerpoint :)Film the city investagation powerpoint :)
Film the city investagation powerpoint :)AshtonCains
 
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCRStunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCRDelhi Call girls
 
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
 
Film show production powerpoint for site
Film show production powerpoint for siteFilm show production powerpoint for site
Film show production powerpoint for siteAshtonCains
 
Call Girls In Gurgaon Dlf pHACE 2 Women Delhi ncr
Call Girls In Gurgaon Dlf pHACE 2 Women Delhi ncrCall Girls In Gurgaon Dlf pHACE 2 Women Delhi ncr
Call Girls In Gurgaon Dlf pHACE 2 Women Delhi ncrSapana Sha
 
Top Call Girls In Telibagh ( Lucknow ) 🔝 8923113531 🔝 Cash Payment
Top Call Girls In Telibagh ( Lucknow  ) 🔝 8923113531 🔝  Cash PaymentTop Call Girls In Telibagh ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment
Top Call Girls In Telibagh ( Lucknow ) 🔝 8923113531 🔝 Cash Paymentanilsa9823
 
9990611130 Find & Book Russian Call Girls In Crossings Republik
9990611130 Find & Book Russian Call Girls In Crossings Republik9990611130 Find & Book Russian Call Girls In Crossings Republik
9990611130 Find & Book Russian Call Girls In Crossings RepublikGenuineGirls
 
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service 👖
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service  👖CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service  👖
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service 👖anilsa9823
 
Factors-on-Authenticity-and-Validity-of-Evidences-and-Information.pptx
Factors-on-Authenticity-and-Validity-of-Evidences-and-Information.pptxFactors-on-Authenticity-and-Validity-of-Evidences-and-Information.pptx
Factors-on-Authenticity-and-Validity-of-Evidences-and-Information.pptxvemusae
 
c Starting with 5000/- for Savita Escorts Service 👩🏽‍❤️‍💋‍👨🏿 8923113531 ♢ Boo...
c Starting with 5000/- for Savita Escorts Service 👩🏽‍❤️‍💋‍👨🏿 8923113531 ♢ Boo...c Starting with 5000/- for Savita Escorts Service 👩🏽‍❤️‍💋‍👨🏿 8923113531 ♢ Boo...
c Starting with 5000/- for Savita Escorts Service 👩🏽‍❤️‍💋‍👨🏿 8923113531 ♢ Boo...gurkirankumar98700
 
Improve Your Brand in Waco with a Professional Social Media Marketing Company
Improve Your Brand in Waco with a Professional Social Media Marketing CompanyImprove Your Brand in Waco with a Professional Social Media Marketing Company
Improve Your Brand in Waco with a Professional Social Media Marketing CompanyWSI INTERNET PARTNER
 
Your LinkedIn Makeover: Sociocosmos Presence Package
Your LinkedIn Makeover: Sociocosmos Presence PackageYour LinkedIn Makeover: Sociocosmos Presence Package
Your LinkedIn Makeover: Sociocosmos Presence PackageSocioCosmos
 

Dernier (20)

Film show evaluation powerpoint for site
Film show evaluation powerpoint for siteFilm show evaluation powerpoint for site
Film show evaluation powerpoint for site
 
Interpreting the brief for the media IDY
Interpreting the brief for the media IDYInterpreting the brief for the media IDY
Interpreting the brief for the media IDY
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Masudpur
Delhi  99530 vip 56974  Genuine Escort Service Call Girls in MasudpurDelhi  99530 vip 56974  Genuine Escort Service Call Girls in Masudpur
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Masudpur
 
Unlock the power of Instagram with SocioCosmos. Start your journey towards so...
Unlock the power of Instagram with SocioCosmos. Start your journey towards so...Unlock the power of Instagram with SocioCosmos. Start your journey towards so...
Unlock the power of Instagram with SocioCosmos. Start your journey towards so...
 
SELECTING A SOCIAL MEDIA MARKETING COMPANY
SELECTING A SOCIAL MEDIA MARKETING COMPANYSELECTING A SOCIAL MEDIA MARKETING COMPANY
SELECTING A SOCIAL MEDIA MARKETING COMPANY
 
Film the city investagation powerpoint :)
Film the city investagation powerpoint :)Film the city investagation powerpoint :)
Film the city investagation powerpoint :)
 
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCRStunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
Stunning ➥8448380779▻ Call Girls In Paharganj Delhi NCR
 
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
 
Film show production powerpoint for site
Film show production powerpoint for siteFilm show production powerpoint for site
Film show production powerpoint for site
 
Vip Call Girls Tilak Nagar ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Tilak Nagar ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Tilak Nagar ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Tilak Nagar ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Call Girls In Gurgaon Dlf pHACE 2 Women Delhi ncr
Call Girls In Gurgaon Dlf pHACE 2 Women Delhi ncrCall Girls In Gurgaon Dlf pHACE 2 Women Delhi ncr
Call Girls In Gurgaon Dlf pHACE 2 Women Delhi ncr
 
Top Call Girls In Telibagh ( Lucknow ) 🔝 8923113531 🔝 Cash Payment
Top Call Girls In Telibagh ( Lucknow  ) 🔝 8923113531 🔝  Cash PaymentTop Call Girls In Telibagh ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment
Top Call Girls In Telibagh ( Lucknow ) 🔝 8923113531 🔝 Cash Payment
 
9990611130 Find & Book Russian Call Girls In Crossings Republik
9990611130 Find & Book Russian Call Girls In Crossings Republik9990611130 Find & Book Russian Call Girls In Crossings Republik
9990611130 Find & Book Russian Call Girls In Crossings Republik
 
Bicycle Safety in Focus: Preventing Fatalities and Seeking Justice
Bicycle Safety in Focus: Preventing Fatalities and Seeking JusticeBicycle Safety in Focus: Preventing Fatalities and Seeking Justice
Bicycle Safety in Focus: Preventing Fatalities and Seeking Justice
 
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service 👖
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service  👖CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service  👖
CALL ON ➥8923113531 🔝Call Girls Takrohi Lucknow best Female service 👖
 
Russian Call Girls Rohini Sector 35 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Rohini Sector 35 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...Russian Call Girls Rohini Sector 35 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Rohini Sector 35 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
 
Factors-on-Authenticity-and-Validity-of-Evidences-and-Information.pptx
Factors-on-Authenticity-and-Validity-of-Evidences-and-Information.pptxFactors-on-Authenticity-and-Validity-of-Evidences-and-Information.pptx
Factors-on-Authenticity-and-Validity-of-Evidences-and-Information.pptx
 
c Starting with 5000/- for Savita Escorts Service 👩🏽‍❤️‍💋‍👨🏿 8923113531 ♢ Boo...
c Starting with 5000/- for Savita Escorts Service 👩🏽‍❤️‍💋‍👨🏿 8923113531 ♢ Boo...c Starting with 5000/- for Savita Escorts Service 👩🏽‍❤️‍💋‍👨🏿 8923113531 ♢ Boo...
c Starting with 5000/- for Savita Escorts Service 👩🏽‍❤️‍💋‍👨🏿 8923113531 ♢ Boo...
 
Improve Your Brand in Waco with a Professional Social Media Marketing Company
Improve Your Brand in Waco with a Professional Social Media Marketing CompanyImprove Your Brand in Waco with a Professional Social Media Marketing Company
Improve Your Brand in Waco with a Professional Social Media Marketing Company
 
Your LinkedIn Makeover: Sociocosmos Presence Package
Your LinkedIn Makeover: Sociocosmos Presence PackageYour LinkedIn Makeover: Sociocosmos Presence Package
Your LinkedIn Makeover: Sociocosmos Presence Package
 

Enterprise 2.0 with Open Source Frameworks like Agorava

  • 1. ENTERPRISE 2.0 WITH OPEN SOURCE Frameworks like Agorava
  • 2. Who am I? 2 © 2012-2016 Creative Arts & Technologies Werner Keil • Consultant – Coach • Creative Cosmopolitan • Open Source Evangelist • Software Architect • JCP EC Member • Agorava Co Founder • JSR-363 Co Spec Lead • IoT Enabler … Twitter @wernerkeil Email werner@catmedia.us
  • 3. Proliferation 3 © 2012-2016 Creative Arts & Technologies
  • 4. Proliferation of Social Media 4 © 2012-2016 Creative Arts & Technologies
  • 5. Social Gaga Image © 2012 Lady Gaga. All Rights Reserved.
  • 6. Before Java Social (JSR 357) 6 © 2012-2016 Creative Arts & Technologies
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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....
  • 11. 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.
  • 14. 14 Too Soon? Lack of real POC...
  • 15. 15 It can’t be standardized? FALSE
  • 16. 16 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 entirely based on OAuth protocol
  • 17. 17 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 •Java has REST standard: JAX-RS. Version 1.0 didn’t provide client API yet, JAX-RS 2.0 does
  • 18. 18 1: { 2: "firstName": "John", 3: "lastName" : "Smith", 4: "age" : 25, 5: "address" : 6: { 7: "streetAddress": "21 2nd Street", 8: "city" : "New York", 9: "state" : "NY", 10: "postalCode" : "10021" 11: }, 12: "phoneNumber": 13: [ 14: { 15: "type" : "home", 16: "number": "212 555-1234" 17: }, 18: { 19: "type" : "fax", 20: "number": "646 555-4567" 21: } 22: ] 23: } JSON •JavaScript Object Notation: Data format inspired by JavaScript. It became a standard for online services including Social Media.
  • 19. 19 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
  • 20. 20 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
  • 21. 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 Image © 2003 Universal Pictures. All Rights Reserved.
  • 22. Standards that didn’t make it Some Images © 2003 Universal Pictures. All Rights Reserved.
  • 23. 23 OpenSocial Container •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/opensocial-resources/wiki/SampleApps • * See later why OpenSocial
  • 24. 24 • 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 •And in 2015 Apache archived Shindig OpenSocial – Shindig
  • 25. Simple gadgets for getting a Grid proxy credential and running remote commands. Both run on my own Web server. OpenSocial – What is a Gadget? 25 © 2012-2016 Creative Arts & Technologies
  • 26. 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;-) OpenSocial Fork 26 © 2012-2016 Creative Arts & Technologies
  • 27. 27 Who uses OpenSocial? •Social “Herrings” • MySpace • Orkut • Friendster • Hi5 • Jive • IBM (Lotus Notes;-)
  • 28. 28 Who does not use OpenSocial? •Big “Fish” • Facebook • Twitter • LinkedIn • XING* • Yammer • Foursquare • Google+ ... * Abandoned it for lack of Security among other reasons
  • 29. 29 • 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) What’s said about OpenSocial
  • 30. 30 • OpenSocial is a specification that provides a standard way to share content between semi-trusted 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 was proposed as W3C recommendation What’s said about OpenSocial (2)
  • 31. 31 Sun Microsystems Socialsite: Shindig + gadget based UI written in Java Open Source https://socialsite.dev.java.net/ SocialSite – Sun’s Approach to Social
  • 32. 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 • Backward compatibility when its API changes
  • 33. 33 •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 What would be a standard for Social?
  • 34. 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
  • 36. 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
  • 37. 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 •DaliCore no longer Open Source 37 © 2012-2016 Creative Arts & Technologies
  • 38. 49 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 38 © 2012-2016 Creative Arts & Technologies
  • 39. Differences to Oracle SocialLink •Feels almost like Eclipse or Microsoft project (ISocialNetwork) •Still very new, looks immature in several areas •Seemingly non-existent community support •No Modularity or separation between API and Implementation •Last commit 3 years ago, so it’s practically dead 39 © 2012-2016 Creative Arts & Technologies
  • 40. 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
  • 41. In Memoriam January 8, 1947 – January 10, 2016 David Bowie Image © 1983 EMI America Records. All Rights Reserved.
  • 42. Image © 2003 Universal Pictures. All Rights Reserved. Let’s Dance...emo...
  • 43. 43 Agorava Book • A first book about Agorava is scheduled for release to print and online (Amazon, Google Play!, iTunes) this Spring.
  • 44. • Agorava Project: http://agorava.org • Github: https://github.com/agorava #Agorava @wernerkeil @AgoravaProj Links 44
  • 45. Q & A

Notes de l'éditeur

  1. Changed Page
  2. New Page