Upload
paulbastide
View
3.909
Download
1
Tags:
Embed Size (px)
DESCRIPTION
http://bastide.org/2014/01/22/show501/
Citation preview
© 2014 IBM Corporation
SHOW501: Mastering Social Development Using the IBM Collaboration QuickStart
Paul Bastide, IBM
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.
This Session
IBM Collaboration QuickStart for Social Business is a preconfigured software development environment for developing your custom social applications. The QuickStart environment has IBM Domino, IBM Connections and IBM Sametime configured, and ready to use for development on IBM SoftLayer.
The session shows you how to extend a DVD rental application to integrate fully into the IBM social experience. During the session, you’ll learn how you can take advantage of the development environment by step-by-step instruction, and how to use the IBM Social Business Toolkit SDK features to build a social application. The session also provides guidance on enabling your applications for the IBM SmartCloud for Social Business.
3 http://bastide.org/2014/01/22/show501/
Agenda § Introduction
§ Start and Request
§ Configure your Environment
§ Explore Social Business Scenarios
§ Play with the Social Business APIs
§ Setup your Development Environment
§ Extend and Demonstrate an Application
§ Summary
§ Resources
§ Questions and Answers
4
Start
Request
Configure
Develop
Demonstrate
Explore
5
INTRODUCTION
About Paul Bastide
§ Works with software developers and partners to accelerate IBM Collaboration and IBM Social Business Application Development
§ Leads work on the IBM Collaboration QuickStart for Social Business
§ Pushes the leading edge, ever since joining IBM in 2004
§ Twitter: @prb112
§ LinkedIn: http://www.linkedin.com/in/paulbastide
§ Blog: http://bastide.org
§ Email: [email protected]
6
What is going to be covered…
7
§ To request your instance of the IBM Collaboration QuickStart for Social Business on SoftLayer.
§ To connect, customize and prepare the IBM Collaboration QuickStart for Social Business for your development and demonstration needs.
§ To explore Social Business scenarios with the OpenNTF Trouble Tickets application.
§ To explore development of the Social Capabilities with the IBM Social Business Toolkit Playground.
§ To setup your development environment with the IBM Social Business Toolkit SDK.
§ To use the IBM Collaboration QuickStart to extend any application.
§ To reconfigure development to work with the IBM SmartCloud for Social Business.
Terminology
8
Term Definition Cloud On Demand Computing with
consumption based billing
CloudLayer™ SoftLayer’s platform for cloud computing
SSH Secure Shell
SFTP Secure FTP
API Programming Interface
CPU Virtual Processor Allocation
REST Common Pattern for Web Interfaces
Term Definition SOAP Simple Object Access Protocol
XML Extensible Markup Language
JSON JavaScript Object Notation
SBT IBM Social Business Toolkit Renovations A demonstration organization
NOSQL Not Only SQL
IBM Collaboration QuickStart for Social Business
9
© 2011 IBM Corporation 9
The IBM Collaboration QuickStart for Social Business is a SoftLayer image. – Preinstalled with 85 user profiles
including names, email addresses, user photos and more.
– Designed for ease-of-use and minimal administration
– Quickly get an instance without any installation, hardware or maintenance.
– All you need is Internet Access. - SSH, SFTP, Web Browser
5th Iteration: v3.5
The preconfigured environment comes with an established reports-to-chain.
Tip: The Welcome Web Page has user ids listed.
11
Architecture Fully Integrated Single Cell LDAP Minimal Open Firewall Ports Zero Installs Not Designed For Sensitive or Personal Data
IBM Domino 9.0.1
IBM Sametime 9.0
IBM Domino Social Edition
Databases
TroubleTickets.nsf
QM.nsf
Playground.nsf
Update Site / Plugins
OpenNTF Ext Library
OpenNTF Bazaar
OpenNTF SBTSDK
IBM HTTP Server 8.5.5
WebSphere Plugin 8.5.5
LDAPHTTP
HTTPSSAMETIME
HTTPHTTPS
IBM DB2
db2inst1BLOGS FILESDOGEAR MOBILE
FORUMHOMEPAGE
METRICS SNCOMM
WIKIS
PEOPLEDB
METRICS OPNACT
Firewalled / No Access
WebSphere AppServer 8.5.5
SSHServer
SSH
Deployment Manager
IBM Connections
Wizards
HTTPS/8601
WebSphereAppServer 8.0.0.6
WebSphereAppServer 8.0.0.6
WebSphereAppServer 8.5.5
DB
ConnectionsServer
SBTKServer
SametimeProxy Server
Connections Mail
Developer Mode
LDAP (Domino)HTTP (iNotes)
Social Capabilities
Single Cell
You can always find the details on the instance. § Navigate to http://hostname
§ Click Welcome / User Ids / About
12
Favorite IDs are [email protected] and [email protected]
13
START AND REQUEST
SoftLayer
§ Customers in 140 Countries
§ Over 100,000 devices
§ 13 Data Centers
§ 17 Points of Presence
14
SoftLayer provides world-wide services with a standardized modular infrastructure; triple network architecture and powerful automation
Architecture
15
• Only infrastructure solution with a common management interface and API across a unified architecture
• Customers mix and match bare metal servers, virtual server instances and turnkey private clouds and manage them from a single control panel or API
• All deployed on-demand and provisioned automatically in real-time
• You control the servers. You get a basic level of support.
Sign Up
§ Navigate to http://www.softlayer.com/cloudlayer/computing
§ Request an Order for CloudLayer™ – Customized Resource Needs – Hourly and Monthly Pricing – Rapid Access and Deployment
16 http://knowledgelayer.softlayer.com/gettingstarted/how-to/set-up-your-account
We are going to skip the account setup, and go right to the QuickStart image.
17
You pick the image. You decide where you want it to go… Virtual or Dedicated.
Option One: Control Panel
18 https://control.softlayer.com/
Option Two: Navigate to SoftLayer’s Management Portal
Navigate to https://manage.softlayer.com/ 19
We Select Option 2. Heads-up: There is no single sing on between control and manage.
Login
§ Enter Username
§ Enter Password
§ Click Login
20
Chicken or Egg… Account Administrator or User
§ Your account administrator should be sure to add you to the account and give you permissions to create instances and interact with your instances.
§ Click Administrative > User Administration
§ Select the User
§ Add the Attributes – CloudLayer Computing
Instances – Support / Sales – Allow Access to All Instances
§ Click Edit User Profile 21
Navigate to CloudLayer™ > Computing
22
Click CloudLayer™ > Computing CloudLayer™ is the hosted virtual machine environment
You See… and Navigate to Public Images
23
Quick Actions Click Public Images
Images already created
*WARNING* This process to request the image is different than today’s actual *WARNING*
Find the QuickStart
24
TIP: Searches are case-insensitive and much faster than browsing
• Select Criteria > Template Name • Select Method > Contain • Enter Date > quickstart • Click Search
Results and Read to Order
25
• Click Order • Select hourly computing instance You can price each option out, before, completing an order. Consider Long Term vs Short Term needs.
The Image – Immediate Access to the Image
§ Final Licensing Terms are being reviewed for the Image.
§ You’ll need to send me your account to get Early Access.
§ For Now…
§ Click CloudLayer™
§ Click Computing
§ Click Image Templates
§ You’ll see the image.
§ Click Order 26
Send a note with your SoftLayer Account #
§ Click Administrative > User Administration
§ Click on a User
§ Identify the Account
§ Send the Account # in a Mail Requesting to be added.
§ The mail should be addressed to [email protected]
27
Select a Data Center
28
Click Show Data Centers Select the one closest to you and your customer - WDC01
TIP: We make the image available in all datacenters
Wait… I have a doubt about Washington DC Data Center
§ SoftLayer has speed tests for each data center.
§ Navigate to http://www.softlayer.com/about/datacenters/washington-dc
§ Click on Speed Test
§ TIP: You can also do your own test using the download files.
29
http://bit.ly/1iy0E2N
Activate the Data Center Test
§ Click on your data center – Washington DC is on the
left-middle
30
Review the Test § Review the Tests
– Look at the Transfer Rates – This is to and from the Data Center
§ Close the Dialog
§ Modify the selection if you don’t like the results.
31
Configure Server
Click Show Computing Instance
Select the right number of CPUs
32
TIP: 2 CPUs is Bare Bones 4 CPU and more is the Best
Configure Server
§ Click Show Ram
§ Click 8GB
§ Requirement: You must have 8GB or More of Memory. Technically, you can lower it, if you increase your swapfile.
33
Select the Software
§ Click Show Operating System
§ Select Red Hat® Enterprise Linux® 6 – Minimal Install (64 bit)
34
Select Storage
§ Click Show First Disk
§ Select 100 GB (Local)
35
TIP: You must select at least 100G, the base software is 37G installed.
In some Data Centers, 100G SAN is the only option available.
Scroll Down and Continue Your Order
§ Navigate down the page
§ Review Networking and Monitoring
§ Click Continue with Your Order 36
Each element has costs Look to the right for the added up costs
TIP: the image you are ordering has ICMP/PING disabled.
Add and Go to Checkout
§ Click Add and Go to Checkout
§ The order is verified…
37
Scroll Down and Review the Order
§ Scroll Down and Review the Order 38
Enter a Hostname
§ Enter hostname quickstartdemo1
§ Enter domain sdkdemo.com
§ Scroll Down
39
The domain should be your company’s domain, and you should add the name to your DNS server when you know the IP. You can also select a faux domain, just make sure it does not exist by using .internal
Finalize Your Order
§ Select I Agree
§ Click Finalize Your Order
40
You get notified….
§ You’ll get an email.
§ You’ll get the receipt.
§ Your instance is going to be up for configuration between 4 and 45 minutes.
41
Go Back to Your CloudLayer™ > Computing
§ Click CloudLayer™ > Computing
§ You’ll notice Transaction in Progress
§ You’ll also see your IP.
§ Grab this IP, and go register it in your demonstration Domain.
42
Register it for your domain
§ Edit your zone file
§ Add the servername (quickstart01) to the zone file
§ Save the Zone File
43
Tip: You can configure SoftLayer to manage the DNS Name Servers for your domain or subdomain. Each Instance is automatically configured for the right domain name.
Or instances.sdkdemo.com
Wait a second…. Paul I don’t have access… what do I do. § Every SoftLayer IP has a PTR record. nslookup ${IP}
§ You can always add a hosts file entry to your Development System.
§ You can use a temporary DNS forwarder / provider such as noip
§ We can override this in the setup of the QuickStart
44
Options
Action
Time Passes… Time Passes… The new instance is now ready to configure
45
46
CONFIGURE YOUR ENVIRONMENT
Navigate to Management Portal
§ Click on CloudLayer™ > Computing
§ Of course, you may have to login again.
47
Find Your Machine
§ Scroll down to find your machine (quickstartdemo01.sdkdemo.com)
§ On the row with the machine, click View 48
Grab the Information for your instance
§ Write down your IP/Username/Password
§ IP: 208.43.247.179
§ User: root
§ Password: XXXXX
§ You can logout.
49
Launch a Terminal
§ Click Launchpad
§ Click on iTerm 2
§ The Terminal window is brought up.
§ iTerm 2 is available at http://www.iterm2.com/#/section/home
§ PuTTY© is available at http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
50
Yes. You are going to use SSH.
§ Type ssh [email protected]
§ Type Yes
§ Enter your password
§ TIP: Please remember to put root@ this ensures you login with the right initial id.
§ Type whoami if there is a doubt
51
Activate the Wizard
§ First Step is to Activate the Wizard 52
Review the License and Accept it.
§ Read and Page Down through the License
§ Select I Accept (Control + C to Decline)
§ You can always rerun it
53
MUST RUN with SUPER USER PERMISSIONS
Enter the hostname
§ Edit the hostname to be whatever you so desire.
§ Tab to OK
§ Click Enter
§ TIP: You should have a minimum of SERVERNAME.DOMAIN
§ EG pbastide.usma.ibm.com
54
You can always come back and change again. All properties are stored in /local/qsi/props/qsi.properties
Check the Single Sign On Domain § Edit as you need
§ Tab to OK
§ Click Enter
§ The wizard actually strips out the host from the hostname. So you can then go ahead and edit to match your desired domain.
§ Examples are: – swg.usma.ibm.com – usma.ibm.com – ibm.com
55
TIP: You can change this later. More restrictive is better to start.
Enter the User Password § Enter a password.
§ Tab to OK
§ Click Enter
*WARNING* the password is visible as you enter it.
You can also manually change these in names.nsf and webadmin.nsf
56
This password is for the 85 demonstration users
Enter the Admin Password
§ Enter the admin password
§ Tab to OK
§ Click Enter
*WARNING* the password is visible as you enter it.
57
This password is for the qsiadmin user
You can also change wasadmin password and deny access to the original notes admin user.
Confirm the Details for the QuickStart
§ Review the Details
§ Tab to Confirm
§ Click Enter
58
Changing Hostname + Populating Users § The QuickStart is now
configuring the Server for the hostname and domain you gave.
§ It’s populating 85 demo users.
– Notes User ID – Notes Mail File – Connections User – Sametime User
§ Log is /local/qsi/temp/ibm_appdev.log
59
Takes 10-20 minutes to complete. Don’t Close the Terminal.
I am in Trouble…. My Connection was dropped
§ Here is some quick advice. Everything done here is recoverable.
§ Login as Root, and type shutdown –r nor
§ Wait for it to come back up
§ Run wizard.sh again
§ Check /local/qsi/temp/ibm_appdev.log (it’ll tell where the wizard left off).
60
10 to 20 Minutes later… You have a configured and running IBM Collaboration QuickStart for Social Business.
61
Open a New Terminal Tab and Login Again
§ Click Shell > New Tab
62
§ Type ssh userid@hostname § Enter Password
Start using a non-ROOT user
§ Type passwd sbtuser
§ Enter your new password
§ Retype the password
*You can double check the password works as expected via a new SSH session to the QuickStart*
63
Login More Securely
§ Enter disableRootLogin.sh
§ Disables root from logging into the image, sbtuser is now only able to login
§ Does not destroy any active sessions.
§ Use sbtuser from then on
64
Manage the Server
65
Manage the QuickStart Instance
§ You control the QuickStart
§ Switch back to the iTerm Window
§ Type httpStatus
§ Type httpStatus restart
§ All the calls are wrapped so the calls to control the services are as a privileged user.
§ Typing the command without any parameters shows the help.
66
The Various Scripts Service Script
What it Does
conxStatus Controls IBM Connections
dbStatus Controls IBM DB2®
domStatus Controls IBM Domino®
httpStatus Controls IBM Http Server
pxStatus Controls IBM Sametime® Proxy Server
sbtStatus Controls IBM Social Business Toolkit Server
qsiStatus Controls all of the Services *Useful after a reboot or power outage
67
Common parameters: stop start help
Some have kill, log, restart. These services do not automatically start on power on.
Some Key Linux Commands
§ Some commands require elevated privelege, to Get Root Access
– sudo –s
§ To Restart – sudo shutdown –r now
§ To check performance – top
§ To check disk space – df –h
§ To find the largest files – /local/qsi/sys/debug/
checkLargestFiles.sh
68
Configure for the Demo Applications and Development
69
DVD Rental Application
Movie 1
Movie 4
Movie 2
Movie 3
Enable 3rd Party Access via OAuth
■ Open Authorization, commonly referred to as OAuth, is an open standard for authorization.
■ OAuth is: ─ Token-based ─ Given to 3rd Parties ─ Set with a Duration
■ A user, or company, grants a third part access to stored information without having to use or know a username-password pair.
70
l Authorize https://demo.sdkdemo:444/oauth2/endpoint/connectionsProvider/authorize l Token https://demo.sdkdemo.com:444/oauth2/endpoint/connectionsProvider/token
Gather Details and Decide your App Details
71
§ Login via SSH – ssh sbtuser@SERVERNAME
§ sudo /local/qsi/conx/util/manageOAuthKey.sh create myapp myapp http://localhost:8080/fiveStar/oauth_cb ~/sbtkey
§ You just called a process to register your application for an OAuth Key.
Oh…. Sugar… I think I made a mistake….
§ Let’s check the OAuth Keys
§ Type sudo /local/qsi/conx/util/manageOAuthKey.sh list
§ Yep… There it is… I wanted https://
§ Use a JS formatter to get a nice look and feel 72
Edit the Key
§ To Edit the Key…
§ sudo /local/qsi/conx/util/manageOAuthKey.sh editmyapp myapp https://localhost:8443/fiveStar/oauth_cb ~/sbtkey
73
Display the OAuth Key
§ Type cat sbtkey
§ Select the Text (the last line)
§ Right Click Copy
§ Copy to TextApp
§ In production, this key is considered sensitive data.
§ We are going to use this key in our application development. Save it for easy access. 74
75
EXPLORE SOCIAL BUSINESS SCENARIOS
Scenario
§ Shoot… Frank’s badge doesn’t work. It’s time to open a trouble ticket.
§ Lucille comes to the Rescue.
§ Lucille sees the Ticket in her mail and her activity stream.
§ Lucille helps Frank in record time.
76
Switch to a Browser Window
§ Open Firefox
§ Navigate to http://<hostname>>/
§ Click on Profiles
§ OpenNTF Trouble Tickets is a sample application with developer code include to demonstrate Social capabilities and integration between IBM Domino®, XPages, and IBM Connections.
77
Access to OpenNTF’s TroubleTickets App http://bit.ly/19ALzdM TIP: Use Private Browsing to
get clean starts.
First.. We want to use create a network connections
§ Click Login
78
Login
§ Enter User Name – lsuarez
§ Enter Password
§ Click Login
79
Find Frank
§ Locate the Search Box
§ Enter Frank Adams
§ Click on Frank Adams Name
80
Invite to My Network
§ Click Invite to my Network
81
Click Send Invitation
§ Click Send Invitation
82
Log Out
§ Click the Carat Next to Lucille’s Name
§ Click Signout 83
Login with Frank
§ Click Login
§ Enter Username – fadams
§ Enter Password
§ Click Login
84
Click My Profile
§ Click on My Profile
85
Click 1 New Invitation
§ Click 1 New Invitation
86
Accept Network Connection
§ Click Accept
§ Click Frank’s Name
§ Sign Out
87
Navigate back to Trouble Tickets
§ Navigate back to http://HOSTNAME/
§ Click on Trouble Tickets
§ Our previous steps allow us to take advantage of the social network connections in resolving our Trouble Tickets.
88
Login to Trouble Tickets
§ Enter username – fadams
§ Enter password - *********
§ Click Login
§ TIP: This login form comes from IBM iNotes and is not the default login. You might see something different if you put it on your own IBM Domino® Server.
§ If no prompt to login, recommend hitting iwaredir.nsf, before TroubleTickets.nsf.
89
Trouble Tickets
90
Trouble Tickets is a demonstration workflow, as you can see it has some very standard features.
Let’s see what it does with regards to Social Features.
Click New Ticket
Enter a Ticket
§ Enter Summary
§ Select Category – Badges
§ Click Priority – High
§ Enter Details
§ Click Save
91
Submit the Ticket
§ Click Submit
§ Click OK
92
You get confirmation
§ You see the confirmation
§ It’s submitted an email to Frank and Lucille who are responsible for Badges.
93
Launch into IBM Connections
§ Navigate to http://<hostname>/
§ Click on Homepage
§ Homepage is the starting point for IBM Connections and of the activity stream.
95
WAIT Mozilla Firefox says its Insecure.
§ Expand I Understand the Risks
§ There are 3 ports that you’ll get this warning on:
– 8601 – 444 – 443
§ These are all self-signed certificates.
96
Click Add Exception
§ Click Add Exception
97
Add the Certificate to the Browser Trust Store
§ Click Get Certificate
§ Click Confirm Security Exception
§ You don’t need to permanently store this security exception, it’s just handy.
§ Similar warnings appear in Google Chrome™ and Apple Safari®.
98
Log out as Frank… we want the Lucille Homepage
§ Heads up, we’re using a Single Sign On Experience via LTPA.
§ Click the the Carat
§ Click Logout 99
Login as Lucille
§ Enter lsuarez
§ Enter password - *******
§ Click Login
100
Open the Mail in IBM Connections Mail
§ Click on Mail
§ Find the Ticket Note
§ Click on the Note 101
Interact with the Embedded Experience in IBM Connections Mail
§ Interact with the Trouble Ticket’s Embedded Experience
§ Click Close
102
View Your Pending Actions
§ Click Action Required
§ Click on the Trouble Tickets Entry
103
Interact with the Embedded Experience
§ Interact with the Embedded Experience
§ Click Resolve
§ Workflow Complete
104
You may notice in the lower right… You could have send an instant message.
Click on Instant Messaging Icon
TIP: You may need to disable popup blocking.
105
Start and Close a Conversation
§ Click on the User ID
§ Open a Conversation
§ Click Close
§ Click Close Again
106
If we have a doubt… We check the Log file
§ For IBM Connections, type – conxStatus log
§ For IBM Domino, type – tail –f /var/log/domino
§ For IBM Sametime, type – pxStatus log
§ Control + C Closes the Log 107
There is a near full set of IBM Collaboration Solutions applications on the instance § You can use:
– IBM Sametime® – IBM Connections – IBM Domino® – IBM Domino® Social Edition – XPages
§ You can use all of the APIs to develop your application.
§ Let’s explore how we can do that.
108
109
PLAY WITH SOCIAL BUSINESS APIS
IBM Social Business Toolkit SDK Playground
§ The IBM Social Business Toolkit SDK Playground is a web-based live demonstration of the JavaScript and Java APIs that are exposed by the SDK. The Playground contains a large set of code snippets and examples that you can customize and use in your own applications.
§ In the latest builds of the IBM Social Business Toolkit SDK Playground also offers an API Explorer.
§ The latest builds are hosted on IBM Greenhouse.
110 https://greenhouse.lotus.com/sbt/SBTPlayground.nsf
Explore APIs and Code Snippets
§ Navigate to the http://<hostname>/
§ Click Playground
111
Switch to HTTPS
§ Click Here to Switch to HTTPS
§ Tip: If prompted to review a Security Exception, do what we did for the prior SSL certificate.
112
Check the JavaScript Snippets Tabs
§ Click JavaScript Snippets Tab
113
Navigate the Tree for a Sample
§ Click Endpoint
§ Select On Premises
§ Expand Social
114
Find the Right Sample
§ Expand Communities
§ Scroll down for API
§ Expand API
§ Click on CreateCommunity
115
Edit, Run and Login
116
§ Edit the Title and Content so it adds the word “My”
§ Click Run
§ Enter Fadams
§ Enter password
Create a Community
117
§ Review the Response
Continually Edit the Code Inline --- HTML/CSS/JS
§ You can edit the JavaScript, HTML, CSS, and custom properties of the code snippet.
§ Look at the HTML Code
§ Enter a new line of HTML in the HTML Area
§ You can save any changes as a new snippet.
118
Run and View… Also Known as Play.
§ Click Run
§ Review the Changes
§ We can reuse any of these snippets later.
119
Look for Profiles Features
120
§ Click Social > Profiles > Controls
§ Click My Profile Panel
§ Edit the email
§ Another reusable component we can take advantage of in the development of any Application.
There are extensive components in the Playground
§ The Playground samples shows API requests and Reusable Controls
§ There are 100s of samples.
§ We are continuing to add more API Coverage and Samples.
§ Note this build demonstrated is 11 29 2013’s deliverable. 121
122
SETUP YOUR DEVELOPMENT ENVIRONMENT
The IBM Social Business Toolkit SDK
§ The IBM Social Business Toolkit SDK enables developers to:
– Leverage IBM Collaboration Solutions
– Reduce Boiler Plate Code – Rapidly Develop with Java®,
JavaScript, PHP, iOS® – More Easily Extend Apps with
Seamless Experiences – Lots of Samples – Latest Design Patterns (eg
promises)
§ Please refer to http://bit.ly/1cxSJNX for more Application Development sessions.
123
Use the IBM Social Business Toolkit SDK
§ Navigate to IBM Social Business Toolkit SDK Page on http://ibmsbt.openntf.org
§ Click on Downloads/Releases 124
Code is on GitHub
Download the Latest Builds
§ Click on the Latest Release
§ Click on the Downloads Link
§ Select Save to File
§ Click OK
125
Open the Folder
§ Click Download
§ Right Click sbtsdk-<BUILDNUMBER>.zip
§ Click Show in Finder
126
Extract the SDK
§ Right Click on the ZIP
§ Click Open With
§ Click Archive Utility.app – Use Your Favorite ZIP Utility
§ TIP: I like to have a folder to store my development utilities. ~/Desktop/Dev
*I have already extracted this build into /Dev
127
Open ./SBTSDK and setup Tomcat
§ Double Click on Tomcat to Extract
§ You see …
128
Launch Your Favorite Development Environment
§ Navigate to ~/Desktop/Dev/eclipse
§ Double Click on Eclipse®
§ Enter Workspace ~/Desktop/Dev/workspace
§ You can use the latest Eclipse http://bit.ly/18AbRMx
§ I previously installed Eclipse and Apple®’s Java® Runtime.
129
Switch to the Workbench
§ Switch to Workbench
130
Click on Servers
§ Click on Servers Tab
§ Click on the Link to Create New Server
131
Define a Server
§ Expand Apache
§ Select Tomcat v7.0 Server
§ Click Next
132
Locate the Tomcat
§ Click Browse
§ Navigate to ~/Dev/sbtsdk/tomcat/apche-tomcat-7.0.30
§ Click Open
§ Click Finish 133
Point to Tomcat’s Workspace
§ Double Click On Server
§ Find Server Locations
§ Click “Use Tomcat Installation”
§ Click File > Save
134
Change the Trust Store Password
135
§ Expand Servers > Tomcat <VERSION>
§ Double Click on server.xml
§ Find keystorePass
§ Change passw0rd to WebAS
Prepare the Application
§ Click Launchpad
§ Click Filezilla
§ Click File > Site Manager
§ You can download Filezilla from their website. http://bit.ly/1cFek3R
136
Create a New Site § Click New Site
§ Enter QSI
§ Enter Hostname – Demo.sdkdemo.com
§ Select Protocol – SFTP
137
Connect
§ Select Logon Type – Normal
§ Enter username – sbtuser (or root)
§ Enter password – Passw0rd or whatever
you set.
§ Click Connect
§ It’s now saved for future use.
138
Accept the Server’s Host Key
§ Click Always Trust this Host
§ Click OK
139
Download the Most Current KeyStore
§ Open Filezilla
§ Open Site Manager > QSI
§ On Right, Navigate to /local/qsi/temp/
§ On Left, Navigate to ~/Desktop/Dev/sbtsdk/tomcat/~version~/conf
§ Download keystore-new
140
Edit the Name in Finder § Click Finder
§ Navigate to ~/Desktop/Dev/sbtsdk/tomcat/~version~/conf
§ Double Click keystore
§ Rename to keystore-old
§ Double Click keystore-new
§ Rename to keystore
141
Edit sbt.properties
§ Switch Back to Finder
§ Double Click on sbt.properties
§ Find TextEdit.app
§ Click Open
142
Edit the Configuration File
§ Edit the connectionsOA2.url and connections.url to match our new hostname
§ Edit connectionsOA2.consumerSecret to match our secret
§ Edit appId and consumerKey to be myApp
§ Click File > Save
143
Find Domino
§ CTRL + F
§ Find domino.url
§ Enter http://quickstart01.sdkdemo.com
§ Click File > Save
144
Ready to Rock and Roll with Tomcat
145
EXTEND AN APPLICATION
A Simple Application… And it’s now Social
§ Time to demonstrate how to develop with the IBM Social Business Toolkit SDK and the IBM Collaboration QuickStart for Social Business.
§ Five Start is an application which has DVDs and Rental Receipts.
– IBM Domino Databases (NSFs) used as a JSON repository
– Java Server Pages (JSPs)
§ Simple Customer System where you can order and checkout.
§ We are going to build a community around the user data.
146
DVD Rentals
IBM Domino is a great NoSQL solution
Navigate to the Database and Upload
§ In the Left Panel, Navigate to Users > USERNAME > Desktop > Dev
§ On the Right Panel, Navigate to local > nd > notesdata
§ Drag the Database to the Queue
§ Right Click > Process Queue
147
Click on Success and Exit
§ Click Success Transfer (or Failed Transfer if you don’t see your upload)
§ Click FileZilla > Exit
§ You can also use this method to upload Features and Plugins to /local/nd/notesdata/domino/workspace/
148
OK… Database is there… now Sign and Permit
§ Click iTerm
§ Type ssh sbtuser@<HOSTNAME>
§ Enter password
149
Time to use SUDO
§ Sudo allows users with permissions to act as root for certain functions. sbtuser has 100% sudo privileges.
§ Type sudo -s – Gets ROOT shell
§ Type chown notes:notes /local/nd/notesdata/DVDSample.nsf – Changes file permissions to notes (*the service user for Domino)
§ You can use this to deploy any database to the QuickStart.
150
Sign the Database
§ Type su – notes
§ Run the sign command /local/qsi/dom/util/databases/sign.sh ${DATABASE}
§ Review the Log
§ Type Exit
151
Show Receipt
§ Click Firefox
§ Open a New Tab
§ Enter http://demo.sdkdemo.com/DVDSample.nsf
§ Click on Receipt 152
Reveal the JSON Data
§ You see the old school view.
§ Let’s see it as JSON
§ Find the ? in the URL
§ Append after ? ReadViewEntries&OutputFormat=JSON
§ Navigate to the new URL
153
demo.sdkdemo.com/DVDSample.nsf/a194d867bb19023c85257c66000c4034?ReadViewEntries&OutputFormat=JSON
TIP: You can enable Domino Data Services for Any View
§ You can right-click on Any View
§ Click on Properties
§ Click on the 5th Tab
§ Click Allow Domino Data Service Operations
§ Click File > Save
§ A fine reference is http://ibm.co/LybuHL
154
We’re ready to develop our DVD integration
155
DVD Rentals
Start a New Project
§ Click File > New > Dynamic Web Project
156
Give it a name
§ Enter Five Star
§ Click Next
§ …
§ Click Next
§ …
§ Select Generate web.xml
§ Click Finish
157
Project Properties
§ Right Click fiveStar
§ Click Properties
158
§ Click On Deployment Assembly
Add an Assembly
§ Click Add
§ Select Archives from File System
§ Click Next
159
Add… Find… Add
§ Click Add
§ Navigate to ~/Desktop/Dev/sbtsdk/sources/sbt.sample.web/lib
§ Select All the JARs
§ Click Open
160
Confirm the Project Setup
§ Click Finish
§ Click OK
161
Add to web.xml and manage-beans.xml
§ Navigate to ~/Dev/sbtsdk/sources/social.helloworld.app/src/main/webapp
§ Copy web.xml and managed-beans.xml
§ Switch Back to Eclipse
§ Paste into WEB-INF
162
Grab the Domino Bean § Click Launchpad
§ Click TextEdit
§ Click File > Open
§ Navigate to ~/Dev/DominoBean.rtf
§ Select All
§ Edit > Copy
§ Switch Back to Eclipse
§ Note, here I have selected an AnonymousEndpoint.
§ You have many choices. DominoBasicEndpoint DominoSSOEndpoint
163
Add to the Managed Beans
§ Double Click on managed-beans.xml
§ Find the last managed-bean
§ Click Edit > Paste
164
Go to the Top and Add the Endpoint to the List
§ Find Endpoints
§ Enter Value - ,domino
§ Click File > Save 165
Create the Default Java Server Page
§ Right Click File > New > JSP File
§ We can use the SDK’s Java Code or JS Code.
166
Enter the File Name and Finish
§ Enter movies.jsp
§ Click Finish
167
Setup the SCRIPT Tags for the Page
168
§ Open movies.jsp
§ Enter <script type="text/javascript" src="/sbt.dojo180/dojo/dojo.js" djConfig="parseOnLoad: true"></script> <script type="text/javascript" src=”/fivestart/library?lib=dojo&ver=1.8.0"></script>
§ Click File > Save
Enter the Domino JS Code
§ Click TextEdit
§ Click File > Open
§ Open ~/Dev/JSForDominoUsers.rtf
§ Copy the Text
§ Switch to Eclipse
§ Paste in the Body
§ Click File > Save
169
Enter the Subsequent Function
§ Chaining promises is a technique which is often used. One function completes, and the next one is triggered.
§ Find require syntax
§ Append sbt/connections/CommunityService
§ Add object CommunityService
170
Rewrite promise.then
§ Find promise.then
§ Delete the contents
171
Update the Promise with a new Call
§ Open Finder
§ Open ~/Dev/Promise.rtf
§ Copy the contents
§ Paste in the then definition
172
Run it
§ Click Run
§ Click Finish
173
Copy the URL
174
§ Copy the URL
§ Paste the URL
§ Click Firebug
§ Refresh the Page
Login
§ Enter User Name – Fadams
§ Enter Password
§ Click OK
175
Validate
§ Navigate to http://domainname
§ Click Communities
176
Check the Community
§ Click on Test Community
177
Validate
§ There are our four people in the community. Simple and formulated around
§ The social data 178
How to switch to OAuth2
§ Navigate back to Eclipse
§ Find var communityService = new CommunityService();
§ Insert connectionsOA2 179
Java: Mashup of Domino Data and Social Data using the SDK
180
The Mashup is created with the IBM Social Business Toolkit SDK.
– IBM Connections using Social – IBM Domino using JSON Data
IBM SmartCloud for Social Business
§ You can open the managed-beans.xml
§ Change the Endpoint to SmartCloudBasicEndpoint with the right URL.
§ Also, you can create a new OAuth Key, and insert it in place.
§ Reuse existing managed-bean from sbt.samples.web
181
182
SUMMARY
Summary
• You learned how to: • To request an instance of the IBM Collaboration Quickstart for Social Business
on SoftLayer. • To connect, customize and prepare the IBM Collaboration Quickstart for Social
Business for your development and demonstration needs. • To explore Social Business scenarios with the OpenNTF Trouble Tickets
application • To explore the Social Capabilities with the IBM Social Business Toolkit
Playground • To setup your development environment with the IBM Social Business Toolkit
SDK • To use the IBM Collaboration Quickstart to extend any application.
183
184
Questions
and
Answers
185
RESOURCES
Title Link IBM Social Business Developer Page https://www.ibmdw.net/social/ IBM Social Business Toolkit SDK http://ibmsbt.openntf.org/ StackOverflow: ibmsbt http://stackoverflow.com/questions/tagged/
ibmsbt IBM Social Business Application Development Wiki
http://www-10.lotus.com/ldd/appdevwiki.nsf
IBM Social Business Toolkit Playground
https://greenhouse.lotus.com/sbt/SBTPlayground.nsf
186
187
Engage Online
§ SocialBiz User Group socialbizug.org – Join the epicenter of Notes and Collaboration user groups
§ Follow us on Twitter – @IBMConnect and @IBMSocialBiz
§ LinkedIn http://bit.ly/SBComm – Participate in the IBM Social Business group on LinkedIn:
§ Facebook https://www.facebook.com/IBMSocialBiz – Like IBM Social Business on Facebook
§ Social Business Insights blog ibm.com/blogs/socialbusiness – Read and engage with our bloggers
Paul Bastide is in Meet the Developers all week long.
188
Meet the Developers http://bastide.org
§ Access Connect Online to complete your session surveys using any: – Web or mobile browser – Connect Online kiosk onsite
189
190
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, IBM Collaboration Solutions and IBM DB2, IBM WebSphere Application Server, IBM Connections, IBM Sametime, IBM Domino, IBM Sametime Communicate 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
Java is a Trademark of Oracle.
Google Chrome is a Registered Trademark of Google Inc.
Apple Safari is a registered trademark of Apple Inc.
Other 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.