Date post: | 10-May-2015 |
Category: |
Technology |
Upload: | niklas-heidloff |
View: | 3,097 times |
Download: | 1 times |
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.