SlideShare une entreprise Scribd logo
1  sur  56
© 2014 IBM Corporation
BP308 The Journey to
Becoming a Social
Application Developer
Serdar Basegmez, Developi Information Systems
Graham Acres, Brytek Systems Inc.
Serdar Basegmez
Developi Information Systems
 IBM Collaboration Solutions Champion (2011-2014)
 Owner of Developi Information Systems (Istanbul, Turkey)
 Founder and Co-leader of LUGTR – Turkish Lotus User Group
 Bilingual Blogger at LotusNotus.com (Turkish/English)
 OpenNTF Guy in Turkey
– Contributor in XSnippets and CollaborationToday.info
– Member Director at OpenNTF Board
 IBM Notes/Domino and Social Business Toolkit Design Partner
 Featured on The View, NotesIn9; Speaker at IBM Connect and LUGs
 Away from work
– Blogger and Podcaster on Scientific Scepticism
2
follow me
@sbasegmez
Graham Acres
Brytek Systems Inc.
 IBM Lotus Notes® Developer/Designer since 1992 (v2.1)
 Brytek is an IBM Business Partner based in Vancouver, Canada
 Experienced as both an IBM customer and Business Partner
 Currently focus on application development (Social Business, XPages, Mobile)
 Featured on NotesIn9; Speaker at Connect/Lotusphere, LUGs
 Blog: www.bleedyellow.com/blogs/brytekblog
 LinkedIn: www.linkedin.com/in/grahamacres
 Away from work
– Coach minor hockey
– Cyclist, Ride to Conquer Cancer
3
follow me
@gacres99
Products Discussed in this Presentation
 IBM® Connections
 IBM SmartCloud®
 Domino®
 Lotus Notes®
 Sametime®
 WebSphere®
 JavaTM
 EclipseTM
 FacebookTM
 DropBoxTM
 Apache TomcatTM
 Apache ShindigTM
 JBossTM
 PHPTM
4
 TwitterTM
 LinkedInTM
 PinterestTM
 Box.netTM
 InstagramTM
 Google AnalyticsTM
 FitbitTM
 GarminTM
 Basecamp®
Disclaimer
 This presentation will not include a conversation of how many people in your country use
Facebook
 Further, it will not talk about the transformation from Web 2.0 to Web 3.0
 Widgets and Gadgets are a key part of the SBT, but not this presentation
 OpenSocial is a big factor in this subject too, but we only have so much time today
 This presentation was built before the most recent release of the SBT SDK, Saturday.
 Social is still a ‘Buzzword’ that we cannot escape from
5
Agenda
 Your First Step on the Journey to Becoming a Social Application Developer
 The Social Business Toolkit SDK
 Social Business Toolkit SDK Setup
 Basic Concepts
 Demo Time
 Homework
 Resources
 Questions
6
7
Your First Step on the
Journey to Becoming a
Social Application Developer
Social Application (Social Software)
 Social Application is the new Collaborative Application (with a couple of changes)
8
• for a community rather than focusing on individualsCommunity-centered
• exploiting the collaborative and collective capacityCollaboration/collectiveness
• explicit association between usersCompanionship/relationship
• supports human activities and addresses social problemsHuman/social activities
• enables social inclusion, enforcing links/trust in communitiesSocial inclusion
Source: Wikipedia
Social Adaption and Integration
 Would you write your own ERP application?
 Integrate to collaborative environments
– ... instead of developing your own.
 The Keyword is API (We now live in the world of the API)
– An application programming interface (API) specifies how some software components
should interact with each other*
– ProgrammableWeb** lists over 10,000 public APIs available on the Internet
– APIs are indispensable for Business apps too!
 Another Concept: SDK
– A software development kit (SDK or "devkit") is typically a set of software development
tools that allows for the creation of applications [...]*
– SDK’s provide higher-level integration with tooling, components, samples, etc.
9
* Source: Wikipedia ** Source: http://www.programmableweb.com
Becoming a Social Application Developer
 Our Mission: Embedding the ‘Social’ context into your Business Applications
– Social Applications are everywhere:
• Helping collaboration
• Connecting people
• Enabling communication
• Crowdsourcing content
– Business Application are adapting to Social contexts
10
Business Apps Social Apps
Names / Groups Profiles / Communities
Attachments Files with their own context (comments, rating, revisions, etc.)
Textual Content Tagged content
Search in “silos” Universal search
Notifications Activity Streams, Embedded Experiences
11
Demo Time
Demo – 1 : XPages + Basecamp + Connections
12
IBM Connections Server
IBM Domino Server
Basecamp
Web BrowserWeb Browser
Connections REST API
Java Beans / SDK Core
OAuth2
Endpoint
SSO
Endpoint
XPages
HTML/CSS/JS
HighLevelAPICalls
REST Calls
widget.xml
iWidget
Demo – 1 : XPages + Basecamp + Connections
13
OAuth2 for Basecamp
SSO for Connections
Demo – 1 : XPages + Basecamp + Connections
14
Demo – 1 : XPages + Basecamp + Connections
15
Demo – 1 : XPages + Basecamp + Connections
16
17
The Social Business Toolkit SDK
The Social Business Toolkit SDK
 Basically, it is intended to make your life easy as a developer!
 SDK for the IBM Social Platform:
– Developing applications for Social
– Integrate social components
– Customize the IBM Social Platform
 On premises and in the cloud:
– IBM Connections, IBM Notes / Domino, IBM Sametime
– IBM SmartCloud for Social Business, etc.
– Non-IBM Service APIs (Twitter, Dropbox and many more...)
 SBT is a Software Development Kit (and more)
– IBM products have their own APIs
– SDK encapsulates different APIs
• but does not span the entire functionality of each yet
18
SDK Structure
• HTML / JavaScript controls
Widgets
• Social components/entities
• XPages plugins
• Endpoint implementations
• More ...
High-Level
• Utilities
• Helpers
• Endpoints
• Authenticators
• More ...
Low-level
19
SDK Simplifies Development
20
No SDK
Low-Level API High-Level API
High-Level API vs. Low-Level API
 Low-Level API
– Base-level modules
– Everything we need to consume REST services directly
 For instance:
– Endpoint to handle connections
• How to connect
• How to authenticate
• How to maintain authentication
– Parsers to extract response
• JSON, XML
– Servlets to process workflows
• Proxy redirections, OAuth dance...
21
High-Level API vs. Low-Level API
 High-Level API
– Product-specific development experience (e.g. Profiles)
– No need to know about REST patterns
– Advanced capabilities (e.g. caching)
 For instance:
– ProfileService encapsulate the profile provider
• Doesn’t matter if it’s Connections or SmartCloud
• Contains many useful methods
– Profile class represents a person profile
• Easier than extracting XML content!
22
The Architecture
23
For Java Developers
 Java developers can:
– Utilize Low-level API to integrate applications with remote API’s,
– Use High-level API to utilize IBM Social Platform components
 SBT can work on:
– Java Application Servers (WebSphere, Tomcat, JBoss, etc.)
– IBM Domino Server (XPages, DOTS)
– As Standalone applications
– As OSGi Plugins
24
For JavaScript Developers
 For client-side development, the SDK provides a comprehensive JavaScript API
– Embed social components over the client-level user interface
– Language-agnostic for back-end
– Ready to use UI widgets for faster development
 Two important points:
– JavaScript components need a Java Application Server on the back end (e.g. Tomcat)
– JavaScript API provides only client-side integration.
 More options for back-end coming soon
25
26
For XPages Developers
 The SBT replaced Social Enabler delivered by Extension Library (OpenNTF version)
– It might conflict with the old version of ExtLib
– Installable via NSF based update sites
 Provides a set of plugins for IBM Domino server and IBM Domino Designer
– Sample database and Playground
– Java classes and SSJS functions (Endpoints, Service classes, Parsers etc.)
– Data Sources (Activity Streams, Twitter, etc.)
– UI Components
– OpenSocial support
What About Others?
 The Social Business Toolkit can be used to connect many APIs over the Internet!
– Twitter, Facebook, LinkedIn, DropBox, Pinterest, Box.net
– Instagram, Google Analytics, Fitbit, Garmin, Basecamp
 Practical if there is...
– REST API
– OAUTH or OAUTH2 authentication
– JSON, XML, Atom
 But...
27
Validate Yourself!
 Does your solution really add business value?
 Will it create more complexity?
 Will it be easy to maintain?
 Are you sure you can do it?
 DIY vs. Buy
28
Just Because You Can,
Doesn’t Mean You Should!
Ask Yourself These Questions
 Am I integrating with IBM Connections or IBM SmartCloud?
– If yes, SBT is the way to go
 Is there an SDK supported/suggested by the provider?
– If yes, consider using it instead (Google Analytics is a good example)
 Does it use REST API, OAuth, Username/Password authentication?
 What identity will I use to interact/authenticate?
– Will every user have their own account?
– Will one application-level account be used (If so, consider OAuth capabilities)
 Are there any security restrictions (e.g. Twitter uses HMAC)
 Are there any limiting factors that might block you (e.g. usage, rate limit)
 Triggering vs. Polling
– Remote service supports triggers; rate limit might prevent frequent polling
29
30
Social Business Toolkit SDK Setup
Social Business Toolkit SDK Download
 Two versions of the Social Business Toolkit SDK
– Daily builds: http://github.com/OpenNTF/SocialSDK
– Releases: http://ibmsbt.openntf.org
 Included in download:
– Source code
– Tomcat server
– Playground (for Domino and J2EE)
– Sample applications
– Notes/Domino plugins, sample NSFs
31
Social Business Toolkit SDK Install Options
 Gotchas
– Must have Java installed and JRE in the path
– Ports!
• A playground server may have Connections (IHS), Domino and Tomcat installed –
who gets HTTP port 80? (8080, 8081)
– «sbt.properties»
– SSL is important for OAUTH
• Check wikis to enable SSL for Tomcat
– Use the documentation!
• Link included in resources section of this presentation
• Look for differences between Connections 4.0 and 4.5 in the wiki pages
32
Social Business Toolkit SDK Install Options
 Domino Designer
– SDK is an Eclipse plugin
– Instructions in wiki on same page as Domino Server install
• Uses the same Update Site database
 Eclipse
– Instructions in wiki in ‘Configuring’ section
 DOTS support via OpenSocial Component on Domino
 Other Systems
– Configure your own endpoints using «managed-beans.xml»
33
34
Basic Concepts:
The OAuth Dance
The OAuth Dance
 Why is OAuth important?
– Authentication
– Username / Password
• Don’t have to provide your username / password to all apps
• You can change your password without losing your token
 OAuth2 has been developed to simplify OAuth 1.0a process.
– OAuth2 provides short-lived tokens but allows renewal without user interaction
– No need to encrypt every request (but trafic should be secured with SSL)
– Flow is simplified for non-HTTP applications
– Allows application-level access (i.e. user name-password) and assertion (e.g. SAML)
35
The OAuth Dance
36
* Courtesy Julian Robichaux
http://www.slideshare.net/dominopoint/dd12-oauth-for-domino-developers
*OAuth 1.0
37
Basic Concepts:
Endpoint Configuration
Endpoint
 Provider of social information that is consumed by SDK
– Specifies:
• Security (e.g. authentication method)
• How to connect (URLs, etc.)
• How to service
– Defined at the app-level
• Declared at design-time
• Might be modified at runtime
– Authentication handled by SDK
• Intitiation (e.g. OAuth dance)
• Workflow (e.g. Signing requests)
38
Design-Time
Configuration
managed-beans.xml
Operational
Configuration
sbt.properties
Design-Time
Configuration
managed-beans.xml
Endpoint Configuration
39
Endpoint
Name and alias
Java class (type)
Other details
Operational
Configuration
sbt.properties
Definitions
OAuth keys
URLs
Username/passwords
Runtime
Configuration
Credential Store
Definitions
OAuth Tokens
Username/passwords
Endpoint Configuration
40
Design-Time
Configuration
managed-beans.xml
Operational
Configuration
sbt.properties
Endpoint Configuration - Gotchas
 No need to memorize anything
– SDK provides copies of all configuration files.
 «sbt.properties» file location
– Better to place this file into the server
– So different target systems can be used for development and production
 For XPages,
– There is no «sbt.properties» file
• Sensitive information written into «Faces-config» directly
• No testing environment
– There is no NSF-based credential store support (yet)
• Memory store loses tokens/credentials after a while (or restart)
• Coming soon
41
42
Demo Time
Demo – 2 : Notes + DOTS + Connections
43
IBM Connections Server
IBM Domino Server
UserUser
Connections REST API
Notes App
SBT
Endpoint
Activity Stream
Staging App
DOTS
Tasklet
Workflow action creates
document(s) on save Get/Post Data
Check updates
High Level API Calls
ProfileServices.getProfile(...)
ActivityStreamServices.postEntry(...)
...
Notes Client
Web Browser
Demo – 2 : Notes + DOTS + Connections
44
Demo – 2 : Notes + DOTS + Connections
45
Demo – 2 : Notes + DOTS + Connections
46
Demo – 2 : Notes + DOTS + Connections
47
48
Conclusion
What’s New with Social Business Toolkit SDK 20140125
 Mobile API for iOS
 OpenSocial Explorer support in the Playground
 Alpha Support For Rendering Gadgets In Your Own App
 Reusable Files View control
 Alpha version of PHP support for Moodle and WordPress
49
Homework...
 Start Today!
– Introduce yourself to the IBM SBT Team (Meet the Developers Lab)
– Discuss your business case and the details of the platforms you use
– Ask questions, provide feedback...
 Start with baby steps...
– Watch videos on the IBM SBT Channel...
– Setup your Eclipse IDE and/or IBM Domino environment
– Register IBM SmartCloud and/or IBM Greenhouse
– Setup, run, learn and use SBT Playground...
– Learn SBT Playground again 
 Stay connected to the community... Don’t be shy
– IBM Social Business Toolkit community, OpenNTF, Stackoverflow, Twitter, etc.
 Watch videos again.
50
51
Resources
Resources: Other Sessions
 JMP103 : Extending Your Application Arsenal With OpenSocial
 SHOW501 : Mastering Social Development Using the IBM Collaboration Quickstart
 AD301 : What's New on the IBM Social Business Toolkit Version 2.0
 ID101 : Extending IBM SmartCloud Applications in 30 Minutes
 INV111 : The Evolution from Simple Sharing to Purposeful Collaboration
 AD207 : Widgets, Live Text and Now OpenSocial: Linking Your Data to the World!
 SB311 : Unlock Social Integration Secrets with the Latest Open Technologies
 BP302 : Running a Successful Pilot Program with Social Software
– Next! 11:15 AM Dolphin N. Hem E
 AD206 : Build Apps Rapidly by Leveraging Services from IBM Collaboration Solutions
– Today 5:30 PM Dolphin S. Hem III
52
Resources
 Stackoverflow: Ask your questions with #ibmsbt
 Links to sites and samples
 http://ibmsbt.openntf.org
 https://www.ibmdw.net/social/
 http://www.youtube.com/user/IBMSBT
 http://ibm.co/1hySsi4 (SBT SDK Documentation)
 http://ibm.co/1dPpd5l (Ecosystem Development Community on Greenhouse)
 https://greenhouse.lotus.com/sbt/SBTPlayground.nsf
 Demos and slides will be available from our blogs
– Follow @sbasegmez and @gacres99
53
54
Questions
 Access Connect Online to complete your session surveys using any:
– Web or mobile browser
– Connect Online kiosk onsite
55
56
Acknowledgements and Disclaimers
© Copyright IBM Corporation 2014. All rights reserved.
 U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 IBM, the IBM logo, ibm.com, and Lotus, Notes, Domino, Sametime, WebSphere, and SmartCloud are trademarks or registered trademarks of International Business Machines
Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or
™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law
trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml
Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither
intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information
contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise
related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or
its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and
performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you
will result in any specific sales, revenue growth or other results.
 Twitter and the Twitter logo are trademarks of Twitter Inc.
 Facebook is a registered trademark of Facebook, Inc.
 Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Oracle and/or its affiliates.
 Eclipse is a trademark of Eclipse Foundation, Inc.
 Dropbox and the Dropbox logo are trademarks of Dropbox, Inc.
 Apache Tomcat, Tomcat, and Apache Sindig are trademarks of the Apache Software
Foundation
 Basecamp and Basecamp logo are registered trademark of 37Signals, LLC.
 JBoss is a registered trademark of RedHat, Inc.
 PHP is a registered trademark of Mike Mackintosh.
 LinkedIn is a registered trademark of LinkedIn Corporation
 Pintrest is a registered trademark of Pintrest, Inc.
 Box.net is a registered trademark of Box.net, Inc.
 Instagram is a registered trademark of Instagram
 Google Analytics is a registered trademark of Google Inc.
 FitBit is a registered trademark of FitBit, Inc.
 Garmin is a registered trademark of Garmin Ltd.

Contenu connexe

Tendances

Business Partner Day 406 - Ignite your IBM SmartCloud for Social Business Int...
Business Partner Day 406 - Ignite your IBM SmartCloud for Social Business Int...Business Partner Day 406 - Ignite your IBM SmartCloud for Social Business Int...
Business Partner Day 406 - Ignite your IBM SmartCloud for Social Business Int...
paulbastide
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Bruce Elgort
 

Tendances (13)

Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
 
Business Partner Day 406 - Ignite your IBM SmartCloud for Social Business Int...
Business Partner Day 406 - Ignite your IBM SmartCloud for Social Business Int...Business Partner Day 406 - Ignite your IBM SmartCloud for Social Business Int...
Business Partner Day 406 - Ignite your IBM SmartCloud for Social Business Int...
 
IBM Social Business Toolkit SDK - Playground and Scenarios
IBM Social Business Toolkit SDK - Playground and ScenariosIBM Social Business Toolkit SDK - Playground and Scenarios
IBM Social Business Toolkit SDK - Playground and Scenarios
 
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
IBM Connect AD206 IBM Domino XPages –  Embrace, Extend, IntegrateIBM Connect AD206 IBM Domino XPages –  Embrace, Extend, Integrate
IBM Connect AD206 IBM Domino XPages – Embrace, Extend, Integrate
 
Build cognitive Apps that help enhance, scale and accelerate Human Expertise
Build cognitive Apps that help enhance, scale and accelerate Human ExpertiseBuild cognitive Apps that help enhance, scale and accelerate Human Expertise
Build cognitive Apps that help enhance, scale and accelerate Human Expertise
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocial
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
 
Connect 2014 - AD202 - Get the best out of bootstrap with bootstrap4 x-pages
Connect 2014 - AD202 -  Get the best out of bootstrap with bootstrap4 x-pagesConnect 2014 - AD202 -  Get the best out of bootstrap with bootstrap4 x-pages
Connect 2014 - AD202 - Get the best out of bootstrap with bootstrap4 x-pages
 
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
IBM Connect 2014 - AD206 - Build Apps Rapidly by Leveraging Services from IBM...
 
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections CommunitiesIBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
IBM Connect 2014 - AD302: New Ways to Work With Your IBM Connections Communities
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM Bluemix
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
 

En vedette

FlorianóPoliscele
FlorianóPolisceleFlorianóPoliscele
FlorianóPoliscele
guest997182
 

En vedette (20)

BP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoBP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM Domino
 
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
 
Engage 2016: Back From the Dead: How Bad Code Kills a Good Server
Engage 2016: Back From the Dead: How Bad Code Kills a Good ServerEngage 2016: Back From the Dead: How Bad Code Kills a Good Server
Engage 2016: Back From the Dead: How Bad Code Kills a Good Server
 
ICONUK 2015: How to Embrace Your XPages Plugin Super Powers
ICONUK 2015: How to Embrace Your XPages Plugin Super PowersICONUK 2015: How to Embrace Your XPages Plugin Super Powers
ICONUK 2015: How to Embrace Your XPages Plugin Super Powers
 
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good ServerICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
 
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
 
ICONUK 2016: REST Assured, Freeing Your Domino Data Has Never Been That Easy!
ICONUK 2016: REST Assured, Freeing Your Domino Data Has Never Been That Easy!ICONUK 2016: REST Assured, Freeing Your Domino Data Has Never Been That Easy!
ICONUK 2016: REST Assured, Freeing Your Domino Data Has Never Been That Easy!
 
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good ServerIBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
 
Feedback presentation
Feedback presentationFeedback presentation
Feedback presentation
 
Ordinate
OrdinateOrdinate
Ordinate
 
FlorianóPoliscele
FlorianóPolisceleFlorianóPoliscele
FlorianóPoliscele
 
The Many Facets of IPL Community Building
The Many Facets of IPL Community BuildingThe Many Facets of IPL Community Building
The Many Facets of IPL Community Building
 
Time management
Time managementTime management
Time management
 
Sergio Figueiras / InnovaSuMMa and PRIS projects: Health innovation through p...
Sergio Figueiras / InnovaSuMMa and PRIS projects: Health innovation through p...Sergio Figueiras / InnovaSuMMa and PRIS projects: Health innovation through p...
Sergio Figueiras / InnovaSuMMa and PRIS projects: Health innovation through p...
 
Infra ppp corporate presentation jun2015en
Infra ppp corporate presentation jun2015enInfra ppp corporate presentation jun2015en
Infra ppp corporate presentation jun2015en
 
Hiv hcv killer twins
Hiv hcv killer twinsHiv hcv killer twins
Hiv hcv killer twins
 
Alain-Michael Boudet / Workshop 1 Emergence Forum Barcelona
Alain-Michael Boudet / Workshop 1 Emergence Forum BarcelonaAlain-Michael Boudet / Workshop 1 Emergence Forum Barcelona
Alain-Michael Boudet / Workshop 1 Emergence Forum Barcelona
 
L'aliança de la nanobiomedicina a Catalunya
L'aliança de la nanobiomedicina a CatalunyaL'aliança de la nanobiomedicina a Catalunya
L'aliança de la nanobiomedicina a Catalunya
 
Search description
Search descriptionSearch description
Search description
 

Similaire à BP 308 - The Journey to Becoming a Social Application Developer

AD308: XPages in a Social World
AD308: XPages in a Social WorldAD308: XPages in a Social World
AD308: XPages in a Social World
paidi_ed
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Ryan Baxter
 
JMP102 Extending Your App Arsenal With OpenSocial
JMP102 Extending Your App Arsenal With OpenSocialJMP102 Extending Your App Arsenal With OpenSocial
JMP102 Extending Your App Arsenal With OpenSocial
Ryan Baxter
 
Ibm connect 2014 recap asean perspective
Ibm connect 2014 recap   asean perspectiveIbm connect 2014 recap   asean perspective
Ibm connect 2014 recap asean perspective
Joseph George
 

Similaire à BP 308 - The Journey to Becoming a Social Application Developer (20)

Social Applications made easy with the new Social Business Toolkit SDK
Social Applications made easy with the new Social Business Toolkit SDKSocial Applications made easy with the new Social Business Toolkit SDK
Social Applications made easy with the new Social Business Toolkit SDK
 
Connect 2014 - Key108 - Application Development Strategy
Connect 2014 - Key108  - Application Development StrategyConnect 2014 - Key108  - Application Development Strategy
Connect 2014 - Key108 - Application Development Strategy
 
AD308: XPages in a Social World
AD308: XPages in a Social WorldAD308: XPages in a Social World
AD308: XPages in a Social World
 
Open Standards For Social Business Apps
Open Standards For Social Business AppsOpen Standards For Social Business Apps
Open Standards For Social Business Apps
 
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
 
ICS usergroup dev day2014_application development für die ibm smartcloud for ...
ICS usergroup dev day2014_application development für die ibm smartcloud for ...ICS usergroup dev day2014_application development für die ibm smartcloud for ...
ICS usergroup dev day2014_application development für die ibm smartcloud for ...
 
IBM Connect 2014 - AD206: Build Apps Rapidly by Leveraging Services from IBM ...
IBM Connect 2014 - AD206: Build Apps Rapidly by Leveraging Services from IBM ...IBM Connect 2014 - AD206: Build Apps Rapidly by Leveraging Services from IBM ...
IBM Connect 2014 - AD206: Build Apps Rapidly by Leveraging Services from IBM ...
 
Extensibility of IBM Connections using XPages and Open Source from OpenNTF
Extensibility of IBM Connections using XPages and Open Source from OpenNTFExtensibility of IBM Connections using XPages and Open Source from OpenNTF
Extensibility of IBM Connections using XPages and Open Source from OpenNTF
 
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM ConnectionsSocial Connections Amsterdam 2012 - Extensibility of IBM Connections
Social Connections Amsterdam 2012 - Extensibility of IBM Connections
 
Becoming an IBM Connections Developer
Becoming an IBM Connections DeveloperBecoming an IBM Connections Developer
Becoming an IBM Connections Developer
 
Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0
Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0
Show110 - Make your business Open and Social using IBM Notes Social Edition 9.0
 
JMP102 Extending Your App Arsenal With OpenSocial
JMP102 Extending Your App Arsenal With OpenSocialJMP102 Extending Your App Arsenal With OpenSocial
JMP102 Extending Your App Arsenal With OpenSocial
 
Do Try This at Home! Extend IBM Connections using IBM Worklight
Do Try This at Home! Extend IBM Connections using IBM WorklightDo Try This at Home! Extend IBM Connections using IBM Worklight
Do Try This at Home! Extend IBM Connections using IBM Worklight
 
IBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development StrategyIBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development Strategy
 
IBM Connect2014 JMP106
IBM Connect2014 JMP106IBM Connect2014 JMP106
IBM Connect2014 JMP106
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applications
 
IBM Connect 2014 KEY102
IBM Connect 2014 KEY102IBM Connect 2014 KEY102
IBM Connect 2014 KEY102
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
 
Ibm connect 2014 recap asean perspective
Ibm connect 2014 recap   asean perspectiveIbm connect 2014 recap   asean perspective
Ibm connect 2014 recap asean perspective
 

Dernier

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Dernier (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 

BP 308 - The Journey to Becoming a Social Application Developer

  • 1. © 2014 IBM Corporation BP308 The Journey to Becoming a Social Application Developer Serdar Basegmez, Developi Information Systems Graham Acres, Brytek Systems Inc.
  • 2. Serdar Basegmez Developi Information Systems  IBM Collaboration Solutions Champion (2011-2014)  Owner of Developi Information Systems (Istanbul, Turkey)  Founder and Co-leader of LUGTR – Turkish Lotus User Group  Bilingual Blogger at LotusNotus.com (Turkish/English)  OpenNTF Guy in Turkey – Contributor in XSnippets and CollaborationToday.info – Member Director at OpenNTF Board  IBM Notes/Domino and Social Business Toolkit Design Partner  Featured on The View, NotesIn9; Speaker at IBM Connect and LUGs  Away from work – Blogger and Podcaster on Scientific Scepticism 2 follow me @sbasegmez
  • 3. Graham Acres Brytek Systems Inc.  IBM Lotus Notes® Developer/Designer since 1992 (v2.1)  Brytek is an IBM Business Partner based in Vancouver, Canada  Experienced as both an IBM customer and Business Partner  Currently focus on application development (Social Business, XPages, Mobile)  Featured on NotesIn9; Speaker at Connect/Lotusphere, LUGs  Blog: www.bleedyellow.com/blogs/brytekblog  LinkedIn: www.linkedin.com/in/grahamacres  Away from work – Coach minor hockey – Cyclist, Ride to Conquer Cancer 3 follow me @gacres99
  • 4. Products Discussed in this Presentation  IBM® Connections  IBM SmartCloud®  Domino®  Lotus Notes®  Sametime®  WebSphere®  JavaTM  EclipseTM  FacebookTM  DropBoxTM  Apache TomcatTM  Apache ShindigTM  JBossTM  PHPTM 4  TwitterTM  LinkedInTM  PinterestTM  Box.netTM  InstagramTM  Google AnalyticsTM  FitbitTM  GarminTM  Basecamp®
  • 5. Disclaimer  This presentation will not include a conversation of how many people in your country use Facebook  Further, it will not talk about the transformation from Web 2.0 to Web 3.0  Widgets and Gadgets are a key part of the SBT, but not this presentation  OpenSocial is a big factor in this subject too, but we only have so much time today  This presentation was built before the most recent release of the SBT SDK, Saturday.  Social is still a ‘Buzzword’ that we cannot escape from 5
  • 6. Agenda  Your First Step on the Journey to Becoming a Social Application Developer  The Social Business Toolkit SDK  Social Business Toolkit SDK Setup  Basic Concepts  Demo Time  Homework  Resources  Questions 6
  • 7. 7 Your First Step on the Journey to Becoming a Social Application Developer
  • 8. Social Application (Social Software)  Social Application is the new Collaborative Application (with a couple of changes) 8 • for a community rather than focusing on individualsCommunity-centered • exploiting the collaborative and collective capacityCollaboration/collectiveness • explicit association between usersCompanionship/relationship • supports human activities and addresses social problemsHuman/social activities • enables social inclusion, enforcing links/trust in communitiesSocial inclusion Source: Wikipedia
  • 9. Social Adaption and Integration  Would you write your own ERP application?  Integrate to collaborative environments – ... instead of developing your own.  The Keyword is API (We now live in the world of the API) – An application programming interface (API) specifies how some software components should interact with each other* – ProgrammableWeb** lists over 10,000 public APIs available on the Internet – APIs are indispensable for Business apps too!  Another Concept: SDK – A software development kit (SDK or "devkit") is typically a set of software development tools that allows for the creation of applications [...]* – SDK’s provide higher-level integration with tooling, components, samples, etc. 9 * Source: Wikipedia ** Source: http://www.programmableweb.com
  • 10. Becoming a Social Application Developer  Our Mission: Embedding the ‘Social’ context into your Business Applications – Social Applications are everywhere: • Helping collaboration • Connecting people • Enabling communication • Crowdsourcing content – Business Application are adapting to Social contexts 10 Business Apps Social Apps Names / Groups Profiles / Communities Attachments Files with their own context (comments, rating, revisions, etc.) Textual Content Tagged content Search in “silos” Universal search Notifications Activity Streams, Embedded Experiences
  • 12. Demo – 1 : XPages + Basecamp + Connections 12 IBM Connections Server IBM Domino Server Basecamp Web BrowserWeb Browser Connections REST API Java Beans / SDK Core OAuth2 Endpoint SSO Endpoint XPages HTML/CSS/JS HighLevelAPICalls REST Calls widget.xml iWidget
  • 13. Demo – 1 : XPages + Basecamp + Connections 13 OAuth2 for Basecamp SSO for Connections
  • 14. Demo – 1 : XPages + Basecamp + Connections 14
  • 15. Demo – 1 : XPages + Basecamp + Connections 15
  • 16. Demo – 1 : XPages + Basecamp + Connections 16
  • 17. 17 The Social Business Toolkit SDK
  • 18. The Social Business Toolkit SDK  Basically, it is intended to make your life easy as a developer!  SDK for the IBM Social Platform: – Developing applications for Social – Integrate social components – Customize the IBM Social Platform  On premises and in the cloud: – IBM Connections, IBM Notes / Domino, IBM Sametime – IBM SmartCloud for Social Business, etc. – Non-IBM Service APIs (Twitter, Dropbox and many more...)  SBT is a Software Development Kit (and more) – IBM products have their own APIs – SDK encapsulates different APIs • but does not span the entire functionality of each yet 18
  • 19. SDK Structure • HTML / JavaScript controls Widgets • Social components/entities • XPages plugins • Endpoint implementations • More ... High-Level • Utilities • Helpers • Endpoints • Authenticators • More ... Low-level 19
  • 20. SDK Simplifies Development 20 No SDK Low-Level API High-Level API
  • 21. High-Level API vs. Low-Level API  Low-Level API – Base-level modules – Everything we need to consume REST services directly  For instance: – Endpoint to handle connections • How to connect • How to authenticate • How to maintain authentication – Parsers to extract response • JSON, XML – Servlets to process workflows • Proxy redirections, OAuth dance... 21
  • 22. High-Level API vs. Low-Level API  High-Level API – Product-specific development experience (e.g. Profiles) – No need to know about REST patterns – Advanced capabilities (e.g. caching)  For instance: – ProfileService encapsulate the profile provider • Doesn’t matter if it’s Connections or SmartCloud • Contains many useful methods – Profile class represents a person profile • Easier than extracting XML content! 22
  • 24. For Java Developers  Java developers can: – Utilize Low-level API to integrate applications with remote API’s, – Use High-level API to utilize IBM Social Platform components  SBT can work on: – Java Application Servers (WebSphere, Tomcat, JBoss, etc.) – IBM Domino Server (XPages, DOTS) – As Standalone applications – As OSGi Plugins 24
  • 25. For JavaScript Developers  For client-side development, the SDK provides a comprehensive JavaScript API – Embed social components over the client-level user interface – Language-agnostic for back-end – Ready to use UI widgets for faster development  Two important points: – JavaScript components need a Java Application Server on the back end (e.g. Tomcat) – JavaScript API provides only client-side integration.  More options for back-end coming soon 25
  • 26. 26 For XPages Developers  The SBT replaced Social Enabler delivered by Extension Library (OpenNTF version) – It might conflict with the old version of ExtLib – Installable via NSF based update sites  Provides a set of plugins for IBM Domino server and IBM Domino Designer – Sample database and Playground – Java classes and SSJS functions (Endpoints, Service classes, Parsers etc.) – Data Sources (Activity Streams, Twitter, etc.) – UI Components – OpenSocial support
  • 27. What About Others?  The Social Business Toolkit can be used to connect many APIs over the Internet! – Twitter, Facebook, LinkedIn, DropBox, Pinterest, Box.net – Instagram, Google Analytics, Fitbit, Garmin, Basecamp  Practical if there is... – REST API – OAUTH or OAUTH2 authentication – JSON, XML, Atom  But... 27
  • 28. Validate Yourself!  Does your solution really add business value?  Will it create more complexity?  Will it be easy to maintain?  Are you sure you can do it?  DIY vs. Buy 28 Just Because You Can, Doesn’t Mean You Should!
  • 29. Ask Yourself These Questions  Am I integrating with IBM Connections or IBM SmartCloud? – If yes, SBT is the way to go  Is there an SDK supported/suggested by the provider? – If yes, consider using it instead (Google Analytics is a good example)  Does it use REST API, OAuth, Username/Password authentication?  What identity will I use to interact/authenticate? – Will every user have their own account? – Will one application-level account be used (If so, consider OAuth capabilities)  Are there any security restrictions (e.g. Twitter uses HMAC)  Are there any limiting factors that might block you (e.g. usage, rate limit)  Triggering vs. Polling – Remote service supports triggers; rate limit might prevent frequent polling 29
  • 31. Social Business Toolkit SDK Download  Two versions of the Social Business Toolkit SDK – Daily builds: http://github.com/OpenNTF/SocialSDK – Releases: http://ibmsbt.openntf.org  Included in download: – Source code – Tomcat server – Playground (for Domino and J2EE) – Sample applications – Notes/Domino plugins, sample NSFs 31
  • 32. Social Business Toolkit SDK Install Options  Gotchas – Must have Java installed and JRE in the path – Ports! • A playground server may have Connections (IHS), Domino and Tomcat installed – who gets HTTP port 80? (8080, 8081) – «sbt.properties» – SSL is important for OAUTH • Check wikis to enable SSL for Tomcat – Use the documentation! • Link included in resources section of this presentation • Look for differences between Connections 4.0 and 4.5 in the wiki pages 32
  • 33. Social Business Toolkit SDK Install Options  Domino Designer – SDK is an Eclipse plugin – Instructions in wiki on same page as Domino Server install • Uses the same Update Site database  Eclipse – Instructions in wiki in ‘Configuring’ section  DOTS support via OpenSocial Component on Domino  Other Systems – Configure your own endpoints using «managed-beans.xml» 33
  • 35. The OAuth Dance  Why is OAuth important? – Authentication – Username / Password • Don’t have to provide your username / password to all apps • You can change your password without losing your token  OAuth2 has been developed to simplify OAuth 1.0a process. – OAuth2 provides short-lived tokens but allows renewal without user interaction – No need to encrypt every request (but trafic should be secured with SSL) – Flow is simplified for non-HTTP applications – Allows application-level access (i.e. user name-password) and assertion (e.g. SAML) 35
  • 36. The OAuth Dance 36 * Courtesy Julian Robichaux http://www.slideshare.net/dominopoint/dd12-oauth-for-domino-developers *OAuth 1.0
  • 38. Endpoint  Provider of social information that is consumed by SDK – Specifies: • Security (e.g. authentication method) • How to connect (URLs, etc.) • How to service – Defined at the app-level • Declared at design-time • Might be modified at runtime – Authentication handled by SDK • Intitiation (e.g. OAuth dance) • Workflow (e.g. Signing requests) 38 Design-Time Configuration managed-beans.xml Operational Configuration sbt.properties
  • 39. Design-Time Configuration managed-beans.xml Endpoint Configuration 39 Endpoint Name and alias Java class (type) Other details Operational Configuration sbt.properties Definitions OAuth keys URLs Username/passwords Runtime Configuration Credential Store Definitions OAuth Tokens Username/passwords
  • 41. Endpoint Configuration - Gotchas  No need to memorize anything – SDK provides copies of all configuration files.  «sbt.properties» file location – Better to place this file into the server – So different target systems can be used for development and production  For XPages, – There is no «sbt.properties» file • Sensitive information written into «Faces-config» directly • No testing environment – There is no NSF-based credential store support (yet) • Memory store loses tokens/credentials after a while (or restart) • Coming soon 41
  • 43. Demo – 2 : Notes + DOTS + Connections 43 IBM Connections Server IBM Domino Server UserUser Connections REST API Notes App SBT Endpoint Activity Stream Staging App DOTS Tasklet Workflow action creates document(s) on save Get/Post Data Check updates High Level API Calls ProfileServices.getProfile(...) ActivityStreamServices.postEntry(...) ... Notes Client Web Browser
  • 44. Demo – 2 : Notes + DOTS + Connections 44
  • 45. Demo – 2 : Notes + DOTS + Connections 45
  • 46. Demo – 2 : Notes + DOTS + Connections 46
  • 47. Demo – 2 : Notes + DOTS + Connections 47
  • 49. What’s New with Social Business Toolkit SDK 20140125  Mobile API for iOS  OpenSocial Explorer support in the Playground  Alpha Support For Rendering Gadgets In Your Own App  Reusable Files View control  Alpha version of PHP support for Moodle and WordPress 49
  • 50. Homework...  Start Today! – Introduce yourself to the IBM SBT Team (Meet the Developers Lab) – Discuss your business case and the details of the platforms you use – Ask questions, provide feedback...  Start with baby steps... – Watch videos on the IBM SBT Channel... – Setup your Eclipse IDE and/or IBM Domino environment – Register IBM SmartCloud and/or IBM Greenhouse – Setup, run, learn and use SBT Playground... – Learn SBT Playground again   Stay connected to the community... Don’t be shy – IBM Social Business Toolkit community, OpenNTF, Stackoverflow, Twitter, etc.  Watch videos again. 50
  • 52. Resources: Other Sessions  JMP103 : Extending Your Application Arsenal With OpenSocial  SHOW501 : Mastering Social Development Using the IBM Collaboration Quickstart  AD301 : What's New on the IBM Social Business Toolkit Version 2.0  ID101 : Extending IBM SmartCloud Applications in 30 Minutes  INV111 : The Evolution from Simple Sharing to Purposeful Collaboration  AD207 : Widgets, Live Text and Now OpenSocial: Linking Your Data to the World!  SB311 : Unlock Social Integration Secrets with the Latest Open Technologies  BP302 : Running a Successful Pilot Program with Social Software – Next! 11:15 AM Dolphin N. Hem E  AD206 : Build Apps Rapidly by Leveraging Services from IBM Collaboration Solutions – Today 5:30 PM Dolphin S. Hem III 52
  • 53. Resources  Stackoverflow: Ask your questions with #ibmsbt  Links to sites and samples  http://ibmsbt.openntf.org  https://www.ibmdw.net/social/  http://www.youtube.com/user/IBMSBT  http://ibm.co/1hySsi4 (SBT SDK Documentation)  http://ibm.co/1dPpd5l (Ecosystem Development Community on Greenhouse)  https://greenhouse.lotus.com/sbt/SBTPlayground.nsf  Demos and slides will be available from our blogs – Follow @sbasegmez and @gacres99 53
  • 55.  Access Connect Online to complete your session surveys using any: – Web or mobile browser – Connect Online kiosk onsite 55
  • 56. 56 Acknowledgements and Disclaimers © Copyright IBM Corporation 2014. All rights reserved.  U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  IBM, the IBM logo, ibm.com, and Lotus, Notes, Domino, Sametime, WebSphere, and SmartCloud are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.  Twitter and the Twitter logo are trademarks of Twitter Inc.  Facebook is a registered trademark of Facebook, Inc.  Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.  Eclipse is a trademark of Eclipse Foundation, Inc.  Dropbox and the Dropbox logo are trademarks of Dropbox, Inc.  Apache Tomcat, Tomcat, and Apache Sindig are trademarks of the Apache Software Foundation  Basecamp and Basecamp logo are registered trademark of 37Signals, LLC.  JBoss is a registered trademark of RedHat, Inc.  PHP is a registered trademark of Mike Mackintosh.  LinkedIn is a registered trademark of LinkedIn Corporation  Pintrest is a registered trademark of Pintrest, Inc.  Box.net is a registered trademark of Box.net, Inc.  Instagram is a registered trademark of Instagram  Google Analytics is a registered trademark of Google Inc.  FitBit is a registered trademark of FitBit, Inc.  Garmin is a registered trademark of Garmin Ltd.