SlideShare une entreprise Scribd logo
1  sur  30
Java API for Social Media
From Agorava to Ωrkut
JustJava


               Werner Keil
           Antoine Sabot-Durand


             Sao Paulo, Brazil
                18 / 05 / 12
Our Goal

          A JAVA API FOR ACCESS TO
          SOCIAL NETWORKS

2   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Who am I?

                   Werner Keil



                                     Consultant – Coach
                                     Creative Cosmopolitan
                                     Open Source Evangelist
                                     Software Architect
                                     …
                    Twitter @wernerkeil


3   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Proliferation




4   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Proliferation of Social Media




5   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Social Gaga




6   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Apache 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"




 8   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
OpenSocial Container
    • Become an OpenSocial Container
     o Get Shindig (PHP or Java) or the Google implementation
         http://shindig.apache.org
     o Look at examples & documentation
         http://code.google.com/p/opensocial-
          resources/wiki/SampleApps

        •    The “official” OpenSocial
             implementation has
             shifted – from Shindig
             to Google Code



9   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
What Is a Gadget?




     Simple gadgets for getting a Grid proxy credential and
     running remote commands. Both run on my own
     Web server.
10   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Who uses OpenSocial
     •    MySpace
     •    Orkut
     •    Friendster
     •    Hi5




11   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Who does not use OpenSocial
•    Facebook
•    Twitter
•    LinkedIn
•    XING*
•    Yammer
•    Foursquare
•    Google+
•    ...




* Abandoned it for Security and other reasons

12   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
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 OpemSocial gadgets)
     • 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)




13   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Portable Contacts
     • REST API for Person and Contacts
        • Open source implementation
     • Compatible with OpenSocial
        • http://portablecontacts.net




14   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
SocialSite – Sun’s approach to Social
Sun Microsystems
  • Socialsite: Shindig + gadget based UI written in Java
  • Open Source https://socialsite.dev.java.net/




 15   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Facebooks’ Query Language
     • All of the Facebook API is basically a set of
       wrappers around their SQL like FQL query
       language. So you can, if you prefer, make
       custom methods out of FQL query strings.
             var myQuery='SELECT name FROM user WHERE
             uid='+api.get_session().uid;
             api.fql_query(myQuery, getFQLResponse);


     getFQLResponse() is a developer-written callback function

     If it’s SQL like, could we use something like JPA around it?


16   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
DaliCore – History

           DaliCMS (2006): “Web 2.0 ready CMS”
           Open-source “CMS” with community features
           2008: integration with Shindig, provides
            OpenSocial Implementation (JavaScript code
            from Shindig, Java code in DaliCMS)
           Developed as Glassfish incubator project



17   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
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 project that uses DaliCore,
     users should be able to login with existing
     credentials (Facebook, Twitter, Google
     Connect,...)
    Dali modules extend DaliCore
DaliCore – Connect

 public abstract class ExternalNetwork
     public abstract Response connect(String callback);
     public abstract ExternalToken callback(String
     requestToken, String verifier);
     public abstract OnlineAccount
     createOnlineAccount(ExternalToken accessToken) throws
     DaliCoreException;


    ExternalNetwork class is extended by
        FacebookExternalNetwork
        TwitterExternalNetwork
        GoogleExternalNetwork
DaliCore – Integrate

    The User concept in DaliCore can have 0 or
     more instances of “OnlineAccount”
    In projects created with DaliCore, the
     administrator/configurator decides what social
     networks are supported.
    Users can access all functionality using their
     social network credentials.
Seam Social – a bootstrap for the API
• A full CDI API to interact with Social Networks
• Developed by Antoine Sabot-Durand (one of the proposed co-
  Spec Leads)
• Independent of CDI implementation
• A helper for:
   o Consuming REST services
   o Consuming OAuth 1 and 2 services
   o Identification via OAuth
   o JSON binding of Social Services API
• Ready to adopt JSR 351, 353 and JSR 339 and maybe others
• Will move to Apache Delta Spike initiative during 2012


21   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Twitter4J – History

           Twitter4J is an unofficial Java library for
            the Twitter API.
            With Twitter4J, you can easily integrate your
            Java application with Twitter.
           Its author, Yusuke Yamamoto now officially
            working at Twitter. Designated to represent
            Twitter in Social JSR EG. Agorava


22   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Social Gagorava




23   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Agoravian
                                          LIKE




                                      SOCI




24   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Agorava – a kind of JCA for Social Media




25   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Agorava Socializer




26   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Agorava Socializer – Architecture
                                                                  Agorava Core

                     API („Spec“)                                                      CDI

                                                                Agorava Connectors

                          Facebook                                                   Twitter,…

                                                                Agorava Socializer

                   JSF Web App                                                         „RI“

27   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Mr. Agorava




               Birthday 18th May!
               FB: https://www.facebook.com/antoine.sabotdurand or @antoine_sd
28   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Let’s Socialize

DEMO
Q&A

AGORAVA AGORA!
Contact

                 Website: http://agorava.org

              GitHub: https://github.com/agorava

                         Google Group:
 https://groups.google.com/forum/?hl=de&fromgroups#!forum/java-
                               social

               Email: Java-social@catmedia.us

           Twitter: @Java_Social or @AgoravaProj

Contenu connexe

Tendances

Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages ApplicationsNiklas Heidloff
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialRyan Baxter
 
Enterprise Social using Open Source Frameworks
Enterprise Social using Open Source FrameworksEnterprise Social using Open Source Frameworks
Enterprise Social using Open Source FrameworksWerner Keil
 
Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)Werner Keil
 
Rethinking Mobile with Ionic
Rethinking Mobile with IonicRethinking Mobile with Ionic
Rethinking Mobile with IonicMike Hartington
 
Mobile Controls for IBM Lotus Domino XPages on OpenNTF
Mobile Controls for IBM Lotus Domino XPages on OpenNTFMobile Controls for IBM Lotus Domino XPages on OpenNTF
Mobile Controls for IBM Lotus Domino XPages on OpenNTFNiklas Heidloff
 
Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Us...
Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Us...Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Us...
Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Us...Niklas Heidloff
 
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)Werner Keil
 
Hands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesHands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesRyan Baxter
 
Enterprise 2.0 with Open Source Frameworks like Agorava
Enterprise 2.0 with Open Source Frameworks like AgoravaEnterprise 2.0 with Open Source Frameworks like Agorava
Enterprise 2.0 with Open Source Frameworks like AgoravaWerner Keil
 
OpenNTF.Org Third Generation
OpenNTF.Org Third GenerationOpenNTF.Org Third Generation
OpenNTF.Org Third GenerationNiklas Heidloff
 
OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13Niklas Heidloff
 
Enterprise Social Networking with Alfresco 4
Enterprise Social Networking with Alfresco 4Enterprise Social Networking with Alfresco 4
Enterprise Social Networking with Alfresco 4rivetlogic
 
XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11Niklas Heidloff
 
App forum2015 London - Building RhoMobile Applications with Ionic
App forum2015 London - Building RhoMobile Applications with IonicApp forum2015 London - Building RhoMobile Applications with Ionic
App forum2015 London - Building RhoMobile Applications with Ionicrobgalvinjr
 
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTFIBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTFNiklas Heidloff
 

Tendances (20)

Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages Applications
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
 
Enterprise Social using Open Source Frameworks
Enterprise Social using Open Source FrameworksEnterprise Social using Open Source Frameworks
Enterprise Social using Open Source Frameworks
 
Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)
 
Rethinking Mobile with Ionic
Rethinking Mobile with IonicRethinking Mobile with Ionic
Rethinking Mobile with Ionic
 
Mobile Controls for IBM Lotus Domino XPages on OpenNTF
Mobile Controls for IBM Lotus Domino XPages on OpenNTFMobile Controls for IBM Lotus Domino XPages on OpenNTF
Mobile Controls for IBM Lotus Domino XPages on OpenNTF
 
Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Us...
Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Us...Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Us...
Ad111 Lotusphere 2011 - Developing Mobile Apps Rapidly for WebKit Browsers Us...
 
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
 
Hands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesHands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded Experiences
 
Enterprise 2.0 with Open Source Frameworks like Agorava
Enterprise 2.0 with Open Source Frameworks like AgoravaEnterprise 2.0 with Open Source Frameworks like Agorava
Enterprise 2.0 with Open Source Frameworks like Agorava
 
OpenNTF.Org Third Generation
OpenNTF.Org Third GenerationOpenNTF.Org Third Generation
OpenNTF.Org Third Generation
 
Open source
Open sourceOpen source
Open source
 
Open Source @ Uber
Open Source @ Uber Open Source @ Uber
Open Source @ Uber
 
OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13OpenNTF Updates 03/05/13
OpenNTF Updates 03/05/13
 
Enterprise Social Networking with Alfresco 4
Enterprise Social Networking with Alfresco 4Enterprise Social Networking with Alfresco 4
Enterprise Social Networking with Alfresco 4
 
Open source
Open sourceOpen source
Open source
 
XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11
 
SIGAda Hibachi Workshop Presentation
SIGAda Hibachi Workshop PresentationSIGAda Hibachi Workshop Presentation
SIGAda Hibachi Workshop Presentation
 
App forum2015 London - Building RhoMobile Applications with Ionic
App forum2015 London - Building RhoMobile Applications with IonicApp forum2015 London - Building RhoMobile Applications with Ionic
App forum2015 London - Building RhoMobile Applications with Ionic
 
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTFIBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
IBM Collaboration Solutions Community Meeting 11/11 - OpenNTF
 

En vedette

Java Tech & Tools | Social Media in Programming in Java | Khanderao Kand
Java Tech & Tools | Social Media in Programming in Java | Khanderao KandJava Tech & Tools | Social Media in Programming in Java | Khanderao Kand
Java Tech & Tools | Social Media in Programming in Java | Khanderao KandJAX London
 
A Unified SOAP/JSON API with Symfony2
A Unified SOAP/JSON API with Symfony2A Unified SOAP/JSON API with Symfony2
A Unified SOAP/JSON API with Symfony2Craig Marvelley
 
Google Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEAGoogle Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEAnerazz08
 
SDN API & Unified Coomunications
SDN API & Unified CoomunicationsSDN API & Unified Coomunications
SDN API & Unified CoomunicationsIMTC
 
Boas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful APIBoas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful APIFernando Camargo
 
concepts and basics of research methodolgy
concepts and basics of research methodolgyconcepts and basics of research methodolgy
concepts and basics of research methodolgylakhveer singh
 
Zingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHPZingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHPChau Thanh
 

En vedette (7)

Java Tech & Tools | Social Media in Programming in Java | Khanderao Kand
Java Tech & Tools | Social Media in Programming in Java | Khanderao KandJava Tech & Tools | Social Media in Programming in Java | Khanderao Kand
Java Tech & Tools | Social Media in Programming in Java | Khanderao Kand
 
A Unified SOAP/JSON API with Symfony2
A Unified SOAP/JSON API with Symfony2A Unified SOAP/JSON API with Symfony2
A Unified SOAP/JSON API with Symfony2
 
Google Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEAGoogle Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEA
 
SDN API & Unified Coomunications
SDN API & Unified CoomunicationsSDN API & Unified Coomunications
SDN API & Unified Coomunications
 
Boas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful APIBoas práticas no desenvolvimento de uma RESTful API
Boas práticas no desenvolvimento de uma RESTful API
 
concepts and basics of research methodolgy
concepts and basics of research methodolgyconcepts and basics of research methodolgy
concepts and basics of research methodolgy
 
Zingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHPZingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHP
 

Similaire à Java API for Social Media

Advanced Media Management Drupal 7 / Drupal 8 - DrupalCamp Finland
Advanced Media Management Drupal 7 / Drupal 8 - DrupalCamp FinlandAdvanced Media Management Drupal 7 / Drupal 8 - DrupalCamp Finland
Advanced Media Management Drupal 7 / Drupal 8 - DrupalCamp FinlandJarkko Oksanen
 
A .net developer experiences with web2.0 and social media
A .net developer experiences with web2.0 and social mediaA .net developer experiences with web2.0 and social media
A .net developer experiences with web2.0 and social mediaRoy Lachica
 
Android Based Instant Messaging Application Using Firebase
Android Based Instant Messaging Application Using FirebaseAndroid Based Instant Messaging Application Using Firebase
Android Based Instant Messaging Application Using FirebaseIRJET Journal
 
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
 
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
 
Lecture3: What is the DATA on the Social Web (VU Amsterdam Social Web Course)
Lecture3: What is the DATA on the Social Web (VU Amsterdam Social Web Course)Lecture3: What is the DATA on the Social Web (VU Amsterdam Social Web Course)
Lecture3: What is the DATA on the Social Web (VU Amsterdam Social Web Course)Lora Aroyo
 
1st OPENi Hackathon
1st OPENi Hackathon1st OPENi Hackathon
1st OPENi Hackathonopeni_ict
 
BP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application DeveloperBP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application DeveloperSerdar Basegmez
 
IRJET- Animal Welfare and Wellness Application using Javascript
IRJET- Animal Welfare and Wellness Application using JavascriptIRJET- Animal Welfare and Wellness Application using Javascript
IRJET- Animal Welfare and Wellness Application using JavascriptIRJET Journal
 
Inopi roundtable 2013 web collaboration and design
Inopi roundtable 2013 web collaboration and designInopi roundtable 2013 web collaboration and design
Inopi roundtable 2013 web collaboration and designClaus Schmidt
 
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
 
Free and Open Source for Education
Free and Open Source for EducationFree and Open Source for Education
Free and Open Source for EducationSavitri Wilder
 
DevOps -- A 10 year retrospective (based on interviews conducted at DevOps Da...
DevOps -- A 10 year retrospective (based on interviews conducted at DevOps Da...DevOps -- A 10 year retrospective (based on interviews conducted at DevOps Da...
DevOps -- A 10 year retrospective (based on interviews conducted at DevOps Da...Barton George
 
CloudEngine at Dev8D 2011
CloudEngine at Dev8D 2011CloudEngine at Dev8D 2011
CloudEngine at Dev8D 2011Nick Freear
 
Aditi Technologies : Social media case study by alivenow
Aditi Technologies : Social media case study by alivenowAditi Technologies : Social media case study by alivenow
Aditi Technologies : Social media case study by alivenowSocial Samosa
 
Developing Online Application with Kivy A Python Framework
Developing Online Application with Kivy A Python FrameworkDeveloping Online Application with Kivy A Python Framework
Developing Online Application with Kivy A Python Frameworkijtsrd
 
Getting Social with OpenSocial
Getting Social with OpenSocialGetting Social with OpenSocial
Getting Social with OpenSocialTimothy Fisher
 

Similaire à Java API for Social Media (20)

Advanced Media Management Drupal 7 / Drupal 8 - DrupalCamp Finland
Advanced Media Management Drupal 7 / Drupal 8 - DrupalCamp FinlandAdvanced Media Management Drupal 7 / Drupal 8 - DrupalCamp Finland
Advanced Media Management Drupal 7 / Drupal 8 - DrupalCamp Finland
 
A .net developer experiences with web2.0 and social media
A .net developer experiences with web2.0 and social mediaA .net developer experiences with web2.0 and social media
A .net developer experiences with web2.0 and social media
 
Android Based Instant Messaging Application Using Firebase
Android Based Instant Messaging Application Using FirebaseAndroid Based Instant Messaging Application Using Firebase
Android Based Instant Messaging Application Using Firebase
 
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)
 
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)
 
Lecture3: What is the DATA on the Social Web (VU Amsterdam Social Web Course)
Lecture3: What is the DATA on the Social Web (VU Amsterdam Social Web Course)Lecture3: What is the DATA on the Social Web (VU Amsterdam Social Web Course)
Lecture3: What is the DATA on the Social Web (VU Amsterdam Social Web Course)
 
1st OPENi Hackathon
1st OPENi Hackathon1st OPENi Hackathon
1st OPENi Hackathon
 
BP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application DeveloperBP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application Developer
 
IRJET- Animal Welfare and Wellness Application using Javascript
IRJET- Animal Welfare and Wellness Application using JavascriptIRJET- Animal Welfare and Wellness Application using Javascript
IRJET- Animal Welfare and Wellness Application using Javascript
 
Inopi roundtable 2013 web collaboration and design
Inopi roundtable 2013 web collaboration and designInopi roundtable 2013 web collaboration and design
Inopi roundtable 2013 web collaboration and design
 
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
 
Free and Open Source for Education
Free and Open Source for EducationFree and Open Source for Education
Free and Open Source for Education
 
DevOps -- A 10 year retrospective (based on interviews conducted at DevOps Da...
DevOps -- A 10 year retrospective (based on interviews conducted at DevOps Da...DevOps -- A 10 year retrospective (based on interviews conducted at DevOps Da...
DevOps -- A 10 year retrospective (based on interviews conducted at DevOps Da...
 
CloudEngine at Dev8D 2011
CloudEngine at Dev8D 2011CloudEngine at Dev8D 2011
CloudEngine at Dev8D 2011
 
Aditi Technologies B2B Social Media Case Study
Aditi Technologies B2B Social Media Case StudyAditi Technologies B2B Social Media Case Study
Aditi Technologies B2B Social Media Case Study
 
Aditi Technologies : Social media case study by alivenow
Aditi Technologies : Social media case study by alivenowAditi Technologies : Social media case study by alivenow
Aditi Technologies : Social media case study by alivenow
 
Developing Online Application with Kivy A Python Framework
Developing Online Application with Kivy A Python FrameworkDeveloping Online Application with Kivy A Python Framework
Developing Online Application with Kivy A Python Framework
 
Getting Social with OpenSocial
Getting Social with OpenSocialGetting Social with OpenSocial
Getting Social with OpenSocial
 
Social Media Marketing Open Social App Standards
Social Media Marketing Open Social App StandardsSocial Media Marketing Open Social App Standards
Social Media Marketing Open Social App Standards
 

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

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Dernier (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Java API for Social Media

  • 1. Java API for Social Media From Agorava to Ωrkut JustJava Werner Keil Antoine Sabot-Durand Sao Paulo, Brazil 18 / 05 / 12
  • 2. Our Goal A JAVA API FOR ACCESS TO SOCIAL NETWORKS 2 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 3. Who am I? Werner Keil Consultant – Coach Creative Cosmopolitan Open Source Evangelist Software Architect … Twitter @wernerkeil 3 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 4. Proliferation 4 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 5. Proliferation of Social Media 5 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 6. Social Gaga 6 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 7. Apache 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" 8 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 8. OpenSocial Container • Become an OpenSocial Container o Get Shindig (PHP or Java) or the Google implementation  http://shindig.apache.org o Look at examples & documentation  http://code.google.com/p/opensocial- resources/wiki/SampleApps • The “official” OpenSocial implementation has shifted – from Shindig to Google Code 9 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 9. What Is a Gadget? Simple gadgets for getting a Grid proxy credential and running remote commands. Both run on my own Web server. 10 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 10. Who uses OpenSocial • MySpace • Orkut • Friendster • Hi5 11 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 11. Who does not use OpenSocial • Facebook • Twitter • LinkedIn • XING* • Yammer • Foursquare • Google+ • ... * Abandoned it for Security and other reasons 12 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 12. 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 OpemSocial gadgets) • 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) 13 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 13. Portable Contacts • REST API for Person and Contacts • Open source implementation • Compatible with OpenSocial • http://portablecontacts.net 14 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 14. SocialSite – Sun’s approach to Social Sun Microsystems • Socialsite: Shindig + gadget based UI written in Java • Open Source https://socialsite.dev.java.net/ 15 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 15. Facebooks’ Query Language • All of the Facebook API is basically a set of wrappers around their SQL like FQL query language. So you can, if you prefer, make custom methods out of FQL query strings. var myQuery='SELECT name FROM user WHERE uid='+api.get_session().uid; api.fql_query(myQuery, getFQLResponse); getFQLResponse() is a developer-written callback function If it’s SQL like, could we use something like JPA around it? 16 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 16. DaliCore – History  DaliCMS (2006): “Web 2.0 ready CMS”  Open-source “CMS” with community features  2008: integration with Shindig, provides OpenSocial Implementation (JavaScript code from Shindig, Java code in DaliCMS)  Developed as Glassfish incubator project 17 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 17. 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 project that uses DaliCore, users should be able to login with existing credentials (Facebook, Twitter, Google Connect,...)  Dali modules extend DaliCore
  • 18. DaliCore – Connect public abstract class ExternalNetwork public abstract Response connect(String callback); public abstract ExternalToken callback(String requestToken, String verifier); public abstract OnlineAccount createOnlineAccount(ExternalToken accessToken) throws DaliCoreException;  ExternalNetwork class is extended by  FacebookExternalNetwork  TwitterExternalNetwork  GoogleExternalNetwork
  • 19. DaliCore – Integrate  The User concept in DaliCore can have 0 or more instances of “OnlineAccount”  In projects created with DaliCore, the administrator/configurator decides what social networks are supported.  Users can access all functionality using their social network credentials.
  • 20. Seam Social – a bootstrap for the API • A full CDI API to interact with Social Networks • Developed by Antoine Sabot-Durand (one of the proposed co- Spec Leads) • Independent of CDI implementation • A helper for: o Consuming REST services o Consuming OAuth 1 and 2 services o Identification via OAuth o JSON binding of Social Services API • Ready to adopt JSR 351, 353 and JSR 339 and maybe others • Will move to Apache Delta Spike initiative during 2012 21 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 21. Twitter4J – History  Twitter4J is an unofficial Java library for the Twitter API. With Twitter4J, you can easily integrate your Java application with Twitter.  Its author, Yusuke Yamamoto now officially working at Twitter. Designated to represent Twitter in Social JSR EG. Agorava 22 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 22. Social Gagorava 23 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 23. Agoravian LIKE SOCI 24 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 24. Agorava – a kind of JCA for Social Media 25 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 25. Agorava Socializer 26 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 26. Agorava Socializer – Architecture Agorava Core API („Spec“) CDI Agorava Connectors Facebook Twitter,… Agorava Socializer JSF Web App „RI“ 27 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 27. Mr. Agorava Birthday 18th May! FB: https://www.facebook.com/antoine.sabotdurand or @antoine_sd 28 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 30. Contact Website: http://agorava.org GitHub: https://github.com/agorava Google Group: https://groups.google.com/forum/?hl=de&fromgroups#!forum/java- social Email: Java-social@catmedia.us Twitter: @Java_Social or @AgoravaProj