SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Java API für Social Media
Social Media Week Hamburg
Mobile Monday @ Mobile World Congress


                 Werner Keil
             Antoine Sabot-Durand


             Hamburg, Deutschland
                  13 / 02 / 12
Zielsetzung

          EINHEITLICHES JAVA API FÜR
          SOZIALER NETZWERKE

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




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




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




5   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
IN MEMORIAM
    Whitney Houston




                                                       9. August, 1963 –11. Februar, 2012

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"




 7   © 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



8   © 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.

9   © 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




10   © 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/




 11   © 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?


12   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
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
• Will move to Apache Delta Spike initiative during 2012


13   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Java Social – a kind of JCA for Social




14   © 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



15   © 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.
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.


19   © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
Let„s Socialize

Q&A
Kontaktinfos

              Website: http://java-social.java.net

             GitHub: https://github.com/java-social

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

               Email: Java-social@catmedia.us

           Twitter: @Java_Social bzw. @wernerkeil

Weitere ähnliche Inhalte

Andere mochten auch

"Inventing an Online Persona: How to Balance Authenticity and Your Online Bra...
"Inventing an Online Persona: How to Balance Authenticity and Your Online Bra..."Inventing an Online Persona: How to Balance Authenticity and Your Online Bra...
"Inventing an Online Persona: How to Balance Authenticity and Your Online Bra...NEXT Conference
 
Presentation by Per Roman (GP Bullhound)
Presentation by Per Roman (GP Bullhound)Presentation by Per Roman (GP Bullhound)
Presentation by Per Roman (GP Bullhound)NEXT Conference
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk Yi-Fan Chu
 
Using the Power of the Archetypes to Create Hero Brands
Using the Power of the Archetypes to Create Hero BrandsUsing the Power of the Archetypes to Create Hero Brands
Using the Power of the Archetypes to Create Hero BrandsNEXT Conference
 
Wireless sensor network wireless network
Wireless sensor network wireless networkWireless sensor network wireless network
Wireless sensor network wireless networkTeced Ce
 
NEXT11 Sponsoring Opportunites
NEXT11 Sponsoring OpportunitesNEXT11 Sponsoring Opportunites
NEXT11 Sponsoring OpportunitesNEXT Conference
 

Andere mochten auch (6)

"Inventing an Online Persona: How to Balance Authenticity and Your Online Bra...
"Inventing an Online Persona: How to Balance Authenticity and Your Online Bra..."Inventing an Online Persona: How to Balance Authenticity and Your Online Bra...
"Inventing an Online Persona: How to Balance Authenticity and Your Online Bra...
 
Presentation by Per Roman (GP Bullhound)
Presentation by Per Roman (GP Bullhound)Presentation by Per Roman (GP Bullhound)
Presentation by Per Roman (GP Bullhound)
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk
 
Using the Power of the Archetypes to Create Hero Brands
Using the Power of the Archetypes to Create Hero BrandsUsing the Power of the Archetypes to Create Hero Brands
Using the Power of the Archetypes to Create Hero Brands
 
Wireless sensor network wireless network
Wireless sensor network wireless networkWireless sensor network wireless network
Wireless sensor network wireless network
 
NEXT11 Sponsoring Opportunites
NEXT11 Sponsoring OpportunitesNEXT11 Sponsoring Opportunites
NEXT11 Sponsoring Opportunites
 

Ähnlich wie Java API für Social Media

Java API for Social Media
Java API for Social MediaJava API for Social Media
Java API for Social MediaWerner Keil
 
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
 
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
 
Enterprise Social Networking with Alfresco 4
Enterprise Social Networking with Alfresco 4Enterprise Social Networking with Alfresco 4
Enterprise Social Networking with Alfresco 4rivetlogic
 
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
 
uBox A Distributed Resource Management Architecture for the Web-of-Things
uBox A Distributed Resource Management Architecture for the Web-of-ThingsuBox A Distributed Resource Management Architecture for the Web-of-Things
uBox A Distributed Resource Management Architecture for the Web-of-ThingsTill Riedel
 
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
 
Linked Open Data (LOD) Cloud & Ontology Life Cycles
Linked Open Data (LOD) Cloud & Ontology Life Cycles Linked Open Data (LOD) Cloud & Ontology Life Cycles
Linked Open Data (LOD) Cloud & Ontology Life Cycles Kingsley Uyi Idehen
 
Basics of Android
Basics of Android Basics of Android
Basics of Android sabi_123
 
1st OPENi Hackathon
1st OPENi Hackathon1st OPENi Hackathon
1st OPENi Hackathonopeni_ict
 
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
 
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
 
CloudEngine at Dev8D 2011
CloudEngine at Dev8D 2011CloudEngine at Dev8D 2011
CloudEngine at Dev8D 2011Nick Freear
 
Resume - Alsey Coleman Miller - iOS Developer
Resume -  Alsey Coleman Miller - iOS DeveloperResume -  Alsey Coleman Miller - iOS Developer
Resume - Alsey Coleman Miller - iOS DeveloperAlsey Miller
 
Getting Social with OpenSocial
Getting Social with OpenSocialGetting Social with OpenSocial
Getting Social with OpenSocialTimothy Fisher
 
Presentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van DijkPresentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van Dijkkirstenveelo
 
Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016
Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016
Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016Prateek Jain
 

Ähnlich wie Java API für Social Media (20)

Java API for Social Media
Java API for Social MediaJava API for Social Media
Java API for Social Media
 
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
 
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)
 
Enterprise Social Networking with Alfresco 4
Enterprise Social Networking with Alfresco 4Enterprise Social Networking with Alfresco 4
Enterprise Social Networking with Alfresco 4
 
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
 
uBox A Distributed Resource Management Architecture for the Web-of-Things
uBox A Distributed Resource Management Architecture for the Web-of-ThingsuBox A Distributed Resource Management Architecture for the Web-of-Things
uBox A Distributed Resource Management Architecture for the Web-of-Things
 
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)
 
Linked Open Data (LOD) Cloud & Ontology Life Cycles
Linked Open Data (LOD) Cloud & Ontology Life Cycles Linked Open Data (LOD) Cloud & Ontology Life Cycles
Linked Open Data (LOD) Cloud & Ontology Life Cycles
 
Basics of Android
Basics of Android Basics of Android
Basics of Android
 
1st OPENi Hackathon
1st OPENi Hackathon1st OPENi Hackathon
1st OPENi Hackathon
 
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
 
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
 
CloudEngine at Dev8D 2011
CloudEngine at Dev8D 2011CloudEngine at Dev8D 2011
CloudEngine at Dev8D 2011
 
DaliCore
DaliCoreDaliCore
DaliCore
 
Resume - Alsey Coleman Miller - iOS Developer
Resume -  Alsey Coleman Miller - iOS DeveloperResume -  Alsey Coleman Miller - iOS Developer
Resume - Alsey Coleman Miller - iOS Developer
 
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
 
Getting Social with OpenSocial
Getting Social with OpenSocialGetting Social with OpenSocial
Getting Social with OpenSocial
 
Presentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van DijkPresentatie Code Jam Niels van Dijk
Presentatie Code Jam Niels van Dijk
 
Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016
Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016
Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016
 

Mehr von Werner Keil

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

Mehr von Werner Keil (20)

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

Kürzlich hochgeladen

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
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
 
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
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
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
 

Kürzlich hochgeladen (20)

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
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
 
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
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
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
 

Java API für Social Media

  • 1. Java API für Social Media Social Media Week Hamburg Mobile Monday @ Mobile World Congress Werner Keil Antoine Sabot-Durand Hamburg, Deutschland 13 / 02 / 12
  • 2. Zielsetzung EINHEITLICHES JAVA API FÜR SOZIALER NETZWERKE 2 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 3. Proliferation 3 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 4. Proliferation of Social Media 4 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 5. Social Gaga 5 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 6. IN MEMORIAM Whitney Houston 9. August, 1963 –11. Februar, 2012 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" 7 © 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 8 © 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. 9 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 10. Portable Contacts • REST API for Person and Contacts • Open source implementation • Compatible with OpenSocial • http://portablecontacts.net 10 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 11. SocialSite – Sun’s approach to Social Sun Microsystems • Socialsite: Shindig + gadget based UI written in Java • Open Source https://socialsite.dev.java.net/ 11 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 12. 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? 12 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 13. 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 • Will move to Apache Delta Spike initiative during 2012 13 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 14. Java Social – a kind of JCA for Social 14 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 15. 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 15 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 16. 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
  • 17. 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
  • 18. 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.
  • 19. 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. 19 © 2010-2012 Werner Keil, Antoine Sabot-Durand and Others
  • 21. Kontaktinfos Website: http://java-social.java.net GitHub: https://github.com/java-social Google Group: https://groups.google.com/forum/?hl=de&fromgroups#!forum/java- social Email: Java-social@catmedia.us Twitter: @Java_Social bzw. @wernerkeil