Adding social features to new or existing applications has never been easier with the advent of the Social Business Toolkit SDK. At this session we will discuss how social features can add real business value and you will see how easily they can be built using the SDK. The SDK heralds a transformation is how you develop applications on the IBM Social Platform so come along learn more.
2. 2
Please note:
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.
3. Philippe Riand
STSM
ICS Social Application Development Architect
Lead Architect for XPages and Domino App Dev
Former CTO of TrilogGroup
4. Agenda
● ICS Social Application Development Strategy
● Introduction to the Social Business Toolkit SDK
● Conclusion
4
5. ICS social application development strategy
Application
Development
Reach the broader
set of developers
Embrace
Open Standards
Nurture and entertain a
community of developers
Provide an easy access
to the platform
Enable the community
Make it easy to
consume the platform
6. Reaching a broader group of developers
● Use the technologies that current developers use
● Develop components using Web and Mobile technologies
– HTML5/CSS3/JavaScript, Mobile native and hybrid
● Provide language independent data access using REST services
– Wrap the APIs for different languages.
● Target different platforms
● IBM preferred platforms (WebSphere, IBM Domino...) and others (PHP, Ruby,
.NET...)
● Minimize the technology dependencies
● Support many libraries and tooling
– Dojo, JQuery, and other JavaScript libraries
– Eclipse, IBM Rational Application Developer, IBM Domino Designer
● Run the same components into different containers
● Minimize the porting effort across the containers
– Plain web applications, OpenSocial Gadgets, Portlets, iWidgets, Web Parts...
7. Embracing open standards
● Enabling the next generation of socially-
enabled solutions to enhance customers'
existing investments and heterogeneous
platforms
● Focus on open standards and “loosely
coupled” web-centric architectures
● A commitment to drive and leverage open
standards
● Maximize choice, flexibility, and ease of
integration
● Drive enterprise innovation and leverage
rapid innovation on the public web
● Minimize incremental cost of targeting
additional desktop and mobile platforms
● Leverage dominant skill-sets based around
web technologies
8. Making it easier to consume the platform
● Get developers started in minutes
● Test the IBM APIs and Services directly from the cloud, without having to install
anything
● Make the on premises install as simple as possible
● Provide reusable code libraries
● Encapsulate the services access into easy to use libraries
● Call any service with a few lines of code
● Provide a large set of code snippets
● Understand how the APIs can be used by looking at the self-documented snippets
● Copy, paste and run the code samples directly to your own application
● Provide an extended documentation
● Make the documentation live in a constantly updated wiki
● Provide developer API documentation generated from the source code
(Java/JavaScript doc)
9. Provide easier access to the platform
The IBM Quickstart Image for Social Business
● Includes the latest version of IBM Connections, Notes/Domino and Sametime, all
configured together with a sample set of users. The SDK is also pre-installed!
Pre-integrated software appliance
IBM Social Business Toolkit APIs
IBM Social Business Core Modules
Workflow and
forms
IBM Domino
Workflow and
forms
IBM Domino
Social
collaboration
IBM Connections
Social
collaboration
IBM Connections
Unified
communications
IBM Sametime
Unified
communications
IBM Sametime
IBM Social Business Toolkit
SDK
IBM Social Business Toolkit
Playground
VMWare® IBM developerWorks Cloud
10. Nurture and enable a community of developers
#ibmsbt
/OpenNTF/SocialSDK
http://ibmsbt.openntf.org/
http://ibmdw.net/social
http://bit.ly/VyedAB
Product documentation in wikis
Developer Workshops
Twitter, Facebook, LinkedIn
StackOverflow
GitHUB
http://www.youtube.com/user/IBMSBT
YouTube Channel
http://www.slideshare.net/IBMSBT
SlideShare
https://twitter.com/ibmsbt
11. New developerWorks site for Social Business
● Landing page for Social Business application developers
● http://ibmdw.net/social
● http://developer.ibm.com/social
● Content
● Gettting started information for different types of
developers
● Blog and news
● Events
● Community links, esp. StackOverflow and GitHub
● Documentation navigator
● Part of bigger IBM developerWorks effort
● Plan to provide new topical sites like social, cloud,
mobile, big data, and analytics
● Focus on the specific content rather than everything
IBM related
● Focus on community, including non IBM-owned sites
12. Agenda
● ICS Social Application Development Strategy
● Introduction to the Social Business Toolkit SDK
● Conclusion
12
13. The IBM Social Business Toolkit SDK
● Let developers add social capabilities to their applications in minutes
● Through the consumption of ready to use code libraries
– Not a new set of APIs, but helpers on top of the existing APIs
● Illustrated by many comprehensive examples that can simply be copy/paste to
existing applications
– And established developer patterns for social business
● Target the broader range of developers
● Focus on web technologies: HTML, JavaScript and CSS
– But also support Java developers, and more over time
● Supports J2EE and OSGI based servers, and more to come
● Supports on-premises and cloud deployments
● Delivered as an open source project (Apache 2.0 license) and available on GitHub
● External contributions will be accepted
● Supported using a community on developerWorks and OpenNTF
14. SDK Keypoints
● Easy to consume, starting library for any application developer
● Saves application developers from writing cumbersome, static code
● Isolates various characteristics related to connectivity to social services
– Makes it easy to switch between multiple environments (production, development, etc..)
● Isolates complexity related to authentication mechanisms
– The application code is agnostic of the underlying authentication mechanism
● No more demo/poc code that should be revisited later
● Complex authentication flows are handled seamlessly by the SDK
– Currently supports OAuth 1.0a, OAuth 2.0, and Basic authentication
● SSO (LTPA, SAML) are experimentally supported for now
● Provides easy to use objects with many code examples
● Low level APIs for directly consuming REST services
● Higher level objects with advanced capabilities (caching, etc.)
● Hide some platform specific requirements (ie: OpenSocial XHR API, Portlet APIs,
etc...)
15. The IBM Social Business Toolkit SDK – Now!
Sample Applications
OpenSocial
Support
Security
Code Snippets
Language Bindings Developer Playground
Documentation
Server Assets
J2EE/Domino
Pre-configured Tomcat
16. Social Business Playground – Today and Next
● Live on Greenhouse
● Delivered with the source code as part of the SDK
● Code snippets
● JavaScript, Java, XPages...
● API Explorer
● API Documentation
● http://bit.ly/sbtplayground
17. Social Business Toolkit SDK – Samples
● The SDK comes with several sample applications
● JavaScript code snippets
● Java code snippets
● Full-fledged ACME Airlines demo application
– Shows the use of social capabilities within an existing application
18. JavaScript developers experience
● The SDK is included with a single line of code
● A script tag pointing to the toolkit
● Uses the AMD notation for maximum performance and modularity
● The JavaScript contains many easy to use functions
● Uses existing libraries (Dojo, JQuery) under the cover, but exposes a library
agnostic API
● Comprehensible, customizable Dijits
19. Java developers experience
● Add the jar files/OSGI plug-ins to your
development
● Works on J2EE and Domino
servers
● And uses any of the APIs
● Supports web and stand-alone Java
client applications
● The Java and JavaScript APIs are
consistent
20. The IBM Social Business Toolkit SDK – Next!
Language Bindings
Developer Playground
Server Assets
Reusable Dijits
WebSphere Portal
Patterns
Mobile SupportQuick Start Image
SmarterWorkforce
21. Agenda
● ICS Social Application Development Strategy
● Introduction to the Social Business Toolkit SDK
● Conclusion
21
22. Adding social features to your application
● Find and customize samples
● Start with the samples in the Playground
● Edit the samples and test your changes
● Eventually, deploy the pre-configured TOMCAT instance
● Unzip the provided zip file on a Windows/Linux machine
● Include SDK libraries in your application
● Add jars to web application or deploy SDK feature to Domino
● Include the SDK JavaScript libraries in your application pages
● Configure endpoints
23. The SDK is a Collaborative, Open, Social Project
● We want your feedback
● Let us know what is good, what is not and what you'd like to see
● Help us building the roadmap
– Tell us about your priorities
● We want your active participation
● Participate to the community
● Report bugs, and eventually solutions
– Grow your reputation on Stackoverflow
● Contribute code to the SDK and code snippets
– Support languages & environments we do not (PHP, .NET...)