Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

75
IBM SmartCloud for Social Business: Programmatic Access & Extensibility Philippe Riand, IBM Collaboration Solutions Social Application Development Architect Niklas Heidloff, IBM Collaboration Solutions App Dev Advocate Mark Wallace, IBM Collaboration Solutions Social Business Toolkit SDK Architect 12/10/13

description

IBM SmartCloud for Social Business (IBM Connections in the cloud) provides an unique set of social and collaborative services like profiles, file sharing, community discussions and much more. Attend this webinar to see how to develop your own apps rapidly by leveraging these services from IBM Connections via the IBM Social Business Toolkit SDK. Additionally you will learn how to extend and customize IBM SmartCloud for Social Business via the extension framework. Speakers: Philippe Riand, IBM Collaboration Solutions Social Application Development Architect Niklas Heidloff, IBM Collaboration Solutions Community Advocate Mark Wallace, IBM Collaboration Solutions Social Business Toolkit SDK Architect https://ibmdw.net/social

Transcript of Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

Page 1: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

IBM SmartCloud for Social Business: Programmatic Access & Extensibility

Philippe Riand, IBM Collaboration Solutions Social Application Development ArchitectNiklas Heidloff, IBM Collaboration Solutions App Dev Advocate

Mark Wallace, IBM Collaboration Solutions Social Business Toolkit SDK Architect

12/10/13

Page 2: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation2

Disclaimers

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.

Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.

The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Page 3: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Agenda

● Quick introduction to SmartCloud for Social Business● Real life scenarios involving the platform● Getting started for developers using the SDK● References, what's coming next and conclusion

Page 4: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

What's is Smartcloud for Social Business?

● Smartcloud for Social Business is a social framework● Provides a set of social services

that can be consumed by any application● Social: Profiles, communities,

activities, files, activity streams...● Instant messaging and meetings● Email

● Provides an end user UI for accessing the social data● Web and Mobile

Page 5: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

What is relevant from an Application Development Standpoint?

● Extending or consume cloud services ● Integrating with the Smartcloud UI● Consuming our cloud social services in other applications

Profiles, communities, activities...● Provisioning and managing your customers and users

● Working with BSS provisioning UI and APIs ● Creating subscriptions

● Customizing the cloud look and feel ● Themes, logos, URLs

● Extensibility is based on open standards● The services are exposed through a series of REST APIs

● Based on either the ATOM standard, or the OpenSocial specifications

● Security and authentication - OAuth, SAML

Page 6: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation6

Scenarios: Extensibility and Social Apps

● Extensibility / Inside – Out● Extend the SmartCloud for Social Business user interface to include

jumping off points to your functions● Examples: Extensions to communities, embedded experiences in the

activity streams● Via the Smartcloud Extension Manager

● Social Apps / Outside – In● Utilize the services of SmartCloud for Social Business as

infrastructure for your offerings● Examples: Context based searches in IBM Connections from apps,

discussions stored in communities● Via the Social Business Tookit SDK

Page 7: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation7

Sample Scenario: Partner Community

● IBM SmartCloud for Social Business (SC4SB) provides a big set of out of the box functionality, for example:● Ability to invite guests● File synchronization for offline mobile usage● Communities with forums, files, etc.

● Apps can be developed to extend the SC4SB functionality to implement specific business requirements, specifically:● Workflow functionality / task assignments● Internal discussions

Page 8: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation8

Sample Scenario: Partner Community

● Zeta Insurance is a fictive health insurance company that sells their products through partners, the insurance brokers

● For the communication with partners a SC4SB community is used● New partners can easily be added as guests● Product brochures are stored in the community as files● Brokers can ask questions about products via forums

● Insurances brokers use the out of the box SC4SB community UX● Web UI and mobile app● File synch to mobile app for offline usage

● The Zeta Insurance support team uses an internal support app● To avoid that multiple people work on same question● To avoid having internal discussions in front of partners

Page 9: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation9

Sample Scenario: Partner Community

Zeta InsuranceSupport Specialists

Samantha Daryn Alan GoodwinPaul Zhou

Insurance Brokers

SC4SB Community

Internal Support App

Page 10: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation10

Page 11: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation11

Page 12: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation12

Page 13: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation13

Page 14: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation14

Page 15: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation15

Page 16: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation16

Page 17: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation17

Page 18: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation18

Page 19: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation19

Page 20: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation20

Page 21: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation21

Page 22: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation22

Page 23: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation23

Page 24: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation24

Page 25: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation25

Page 26: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation26

Page 27: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation27

Page 28: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation28

Page 29: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation29

Page 30: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation30

Page 31: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation31

Page 32: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation32

Page 33: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation33

Page 34: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation34

Page 35: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation35

Page 36: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Getting Started with SmartCloud for Social Business

● Free trial is offered, at no cost!● 60 days of no-cost access● Full suite of collaboration tools● Unlimited web meetings for up to 199 participants● Webmail, calendar, and contacts● 25 accounts, each with 1.0 GB of collaboration and 1.0 GB of mail● https://www.ibm.com/cloud-computing/social/us/en/

Page 37: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

The SmartCloud Administration UI

● The SmartCloud Administration UI is available to the organization administrators● Role to set at the user account level

● For developers, it allows:● Management of internal apps

● OAuth Keys● Management of the extensions

● Action items, menus...● Add custom fields to Profiles

● Ex: External identity on Twitter, Facebook...

Page 38: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Managing the Extensions

Administration → Manage OrganizationOrganization Extensions → Add Extension

Page 39: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

OAuth for API Access

Create the credentials for OAuth 1.0a & 2.0

Page 40: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

The Social Business SDK

● Provides ready to use code libraries to connect with the social platform● Targets JavaTM, JavaScript and XPages developers● Supports Dojo and JQuery as JavaScript libraries

● Large set of reusable code snippets● 550+ JavaScript code snippets● 200+ Java code snippets● XPages, and more coming

● Layered APIs● Core layer handling all the low level details (authentication, servers...) ● Higher level wrappers hiding the REST services and providing an easy

to use API● Full ATOM/JSON content is always available

● UI controls to directly embed social data and behaviors within HTML pages● Growing list of available components: communities, files, profiles...

Page 41: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

The Social Business Playground and the API Explorer

● Developer's landing place to understand the Social APIs and the SDK● Available on IBM GreenHouse from any browser

http://bit.ly/sbtplayground● Exposes JavaScript, Java and XPages Snippets

● The code snippets are ready to be copy/paste into applications● API Explorer

● Shows REST APIs in action● A subset of the APIs are currently available, but the goal is to expose

all the APIs this way

Page 42: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

The Social Business Playground and the API Explorer

Page 43: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

The Social Business Playground and the API Explorer

Page 44: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Get Access to the Community

● The developers entry points● IBM DeveloperWorks: https://developer.ibm.com/social● IBM Greenhouse playground for APIs:

https://greenhouse.lotus.com/sbt/sbtplayground.nsf/Home.xsp● SDK Documentation: http://bit.ly/ibmsbtdoc

● Leveraging the existing developer hubs● SBT YouTube channel: http://www.youtube.com/user/IBMSBT● Bi-weekly webminars, see: https://www.ibmdw.net/social/events/● Source code on GitHub: https://github.com/OpenNTF/SocialSDK● Presentation on SlideShare: http://www.slideshare.net/IBMSBT

● Questions and answers StackOverflow: http://stackoverflow.com/questions/tagged/ibmsbt

Page 45: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Using the Social Business SDK

● Sign up for SmartCloud for Social Business trial● Takes < 5 mins to create an account and you just need an email address

www.ibm.com/cloud-computing/social/us/en/startatrial/

● Create your first SDK-based application● Deploy JavaScript library and Server Assets

● Explore SDK samples● Show different types of samples

● Integrate your application with SmartCloud for Social Business● Using SmartCloud Navigation bar

Page 46: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Creating a Social Application

● Clone our Git repository or copy source (master or release)https://github.com/OpenNTF/SocialSDK.githttps://github.com/OpenNTF/SocialSDK/archive/master.ziphttps://github.com/OpenNTF/SocialSDK/releases

● Build commons and sdk projectscd to SocialSDK/commons and run mvn clean installcd to SocialSDK/sdk and run mvn clean installBuilds available in a public Maven repository soon

● Configure your preferred J2EE server in EclipseSocial Business Toolkit SDK – Installation Guide

● Import Social Business Toolkit JS Library and My Social sampleSocialSDK/sdk/com.ibm.sbt.webSocialSDK/samples/j2ee/templates/mysocial.webapp

Page 47: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Creating a Social Application

1) Configure SmartCloud endpointSelect OAuth 2.0 endpoint in managed beans xml

Configure OAuth 2.0 settings in sbt.propertiessmartcloudOA2.url=<https://apps.na.collabserv.com>smartcloudOA2.appName=<mysocial_local>smartcloudOA2.clientID=<app_XXXX>smartcloudOA2.clientSecret=<XXXXXX>

Page 48: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Creating a Social Application

Screensho

ts

Page 49: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Eclipse IDE (Java EE)Web applications deployed to Tomcat

Page 50: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Enable SSL (context.xml and keystore)Provide configuration (sbt.properties)

Page 51: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → managed-beans.xml

Page 52: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → web.xml

Page 53: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → pom.xml

Page 54: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → index.html (head)

Page 55: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → index.html (body)

Page 56: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → Grant Access

Page 57: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → Social Data

Page 58: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → Custom Actions

Page 59: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Explore SDK Samples

Screensho

ts

Page 60: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Playground

Page 61: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Demonstration Snippet

Page 62: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

API Snippets

Page 63: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Control Snippets

Page 64: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

REST Snippets

Page 65: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Integrate Your Application

Screensho

ts

Page 66: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Admin → Mange Organizations → Organization Extensions

Page 67: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Add Extension → Service → Top Navigation bar

Page 68: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

Apps → My Social App

Page 69: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → index.html → Add SmartCloud theme

Page 70: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → index.html → Add SmartCloud Navigation bar

Page 71: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

mysocial.webapp → SmartCloud Navigation bar

Page 72: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

SmartCloud for Social Business Documentation

● http://www-10.lotus.com/ldd/bhwiki.nsf

Page 73: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation

What is Coming Next?

● Continuing on the API parity and completeness● Embedded Experience for the Activity Streams● Access SPIs using MQTT broker and custom events● Custom login page● Community applications

● All APIs exposed in thePlayground - API Explorer

Page 74: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation74

Resources and Questions

● Home page: http://ibmdw.net/social● SDK: http://ibmsbt.openntf.org● GitHub: https://github.com/OpenNTF/SocialSDK● StackOverflow: #ibmsbt● Twitter: @ibmsbt● YouTube: http://youtube.com/ibmsbt● Playground: http://bit.ly/sbtplayground

Page 75: Programmatic Access to and Extensibility of the IBM SmartCloud for Social Business

© 2013 IBM Corporation75

Acknowledgements and Disclaimers

© Copyright IBM Corporation 2013. 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, Rational, the Rational logo, Telelogic, the Telelogic logo, Green Hat, the Green Hat logo, and other IBM products and services 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.shtmlOther company, product, or service names may be trademarks or service marks of others.

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.