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

Post on 10-May-2015

2.254 views 4 download

Tags:

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

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

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

© 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

© 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

© 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

© 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

© 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

© 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

© 2013 IBM Corporation9

Sample Scenario: Partner Community

Zeta InsuranceSupport Specialists

Samantha Daryn Alan GoodwinPaul Zhou

Insurance Brokers

SC4SB Community

Internal Support App

© 2013 IBM Corporation10

© 2013 IBM Corporation11

© 2013 IBM Corporation12

© 2013 IBM Corporation13

© 2013 IBM Corporation14

© 2013 IBM Corporation15

© 2013 IBM Corporation16

© 2013 IBM Corporation17

© 2013 IBM Corporation18

© 2013 IBM Corporation19

© 2013 IBM Corporation20

© 2013 IBM Corporation21

© 2013 IBM Corporation22

© 2013 IBM Corporation23

© 2013 IBM Corporation24

© 2013 IBM Corporation25

© 2013 IBM Corporation26

© 2013 IBM Corporation27

© 2013 IBM Corporation28

© 2013 IBM Corporation29

© 2013 IBM Corporation30

© 2013 IBM Corporation31

© 2013 IBM Corporation32

© 2013 IBM Corporation33

© 2013 IBM Corporation34

© 2013 IBM Corporation35

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

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

© 2013 IBM Corporation

Managing the Extensions

Administration → Manage OrganizationOrganization Extensions → Add Extension

© 2013 IBM Corporation

OAuth for API Access

Create the credentials for OAuth 1.0a & 2.0

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

© 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

© 2013 IBM Corporation

The Social Business Playground and the API Explorer

© 2013 IBM Corporation

The Social Business Playground and the API Explorer

© 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

© 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

© 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

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

© 2013 IBM Corporation

Creating a Social Application

Screensho

ts

© 2013 IBM Corporation

Eclipse IDE (Java EE)Web applications deployed to Tomcat

© 2013 IBM Corporation

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

© 2013 IBM Corporation

mysocial.webapp → managed-beans.xml

© 2013 IBM Corporation

mysocial.webapp → web.xml

© 2013 IBM Corporation

mysocial.webapp → pom.xml

© 2013 IBM Corporation

mysocial.webapp → index.html (head)

© 2013 IBM Corporation

mysocial.webapp → index.html (body)

© 2013 IBM Corporation

mysocial.webapp → Grant Access

© 2013 IBM Corporation

mysocial.webapp → Social Data

© 2013 IBM Corporation

mysocial.webapp → Custom Actions

© 2013 IBM Corporation

Explore SDK Samples

Screensho

ts

© 2013 IBM Corporation

Playground

© 2013 IBM Corporation

Demonstration Snippet

© 2013 IBM Corporation

API Snippets

© 2013 IBM Corporation

Control Snippets

© 2013 IBM Corporation

REST Snippets

© 2013 IBM Corporation

Integrate Your Application

Screensho

ts

© 2013 IBM Corporation

Admin → Mange Organizations → Organization Extensions

© 2013 IBM Corporation

Add Extension → Service → Top Navigation bar

© 2013 IBM Corporation

Apps → My Social App

© 2013 IBM Corporation

mysocial.webapp → index.html → Add SmartCloud theme

© 2013 IBM Corporation

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

© 2013 IBM Corporation

mysocial.webapp → SmartCloud Navigation bar

© 2013 IBM Corporation

SmartCloud for Social Business Documentation

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

© 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

© 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

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