40
© 2012 IBM Corporation BP209 Doctors have scalpels, carpenters have hammers, IBM Sametime® Developers have SDKs Carl Tyler | Director | Epilio

BP209 doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

Embed Size (px)

DESCRIPTION

Often the hidden power of a platform lies in its Software Development Kits (SDKs) and IBM Sametime is no exception. IBM Sametime has one of the richest SDKs of any UC platform, and knowing about its capabilities can allow companies to understand further how they can fully exploit all of the capabilities Sametime offers. Come to this session to learn about the different SDK components and to see examples of how customers are using the SDK to integrate Sametime into their Communication Enabled Business Processes (CEBP)

Citation preview

Page 1: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

© 2012 IBM Corporation

BP209 Doctors have scalpels, carpenters have hammers, IBM Sametime® Developers have SDKs Carl Tyler | Director | Epilio

Page 2: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Carl Tyler■ Working with IBM Lotus® Notes since 1991■ Building Sametime solutions for 10+ years■ 11 ½ years service at IBM/Lotus

─ Worldwide Knowledge Management Manager─ R5 International Launch Manager

■ Head of IBM Advanced Partner Epilio─ Offer a number of Free Sametime Plug-ins

‒ Translation‒ Wallpaper‒ Plus More

─ Free Sametime Admin Tools‒ Buddylist Control‒ Version Login Tester

Page 3: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Agenda■ Why care about Sametime toolkits/SDKs?■ Sametime Toolkits■ Toolkit Details and Usage■ Getting Started

Page 4: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Why care about Sametime toolkits/SDKs?■ Communications Enabled Business Processes (C.E.B.P.*) add value to your

deployment■ IM is like Email, everyone has it, integrated IM is where you gain competitive

advantage. There's no advantage in being the same.■ If you're just using IM it's relatively easy to switch to another IM vendor, if you're

using integrated IM solutions, then it's much more complex and costly.

■ Sametime Toolkit solutions require a full Sametime License. Sametime Entry License is not entitled to use Toolkit solutions.

* for those of you playing buzzword bingo

Page 5: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Toolkits■ Client APIs

─ Sametime Connect Client─ Connect Web─ Sametime Helper─ Sametime Java─ Sametime Links─ Sametime Proxy─ Client Telephony─ Sametime Meetings Remote Client SDK

Page 6: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Toolkits■ Server APIs

─ Sametime Community Server─ Directory and Data Access Toolkit─ Gateway─ Meeting Room Client Extensibility─ Online Meeting Toolkit─ Sametime Monitoring and Stats─ Meetings Compliance API─ Telephony Conferencing Service Provider Interface (TCSPI)

Page 7: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Retired Sametime Toolkits■ The following toolkits have been retired, applications built with them still work,

but the toolkits are no longer being maintained by IBM─ COM─ C++─ Java AWT Components

Page 8: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Connect Client API■ Used to build Connect Client Plug-ins■ Java based■ Eclipse development environment■ Same model used to develop Notes 8 plugins■ Cross platform, in most cases plug-ins developed for Sametime windows run on

Macintosh and Linux platforms

Page 9: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Demonstration – Plug-ins

Page 10: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Connect Web Toolkit■ Connect Web API interacts with the installed Sametime Client■ Requires Sametime Connect Client to be running■ Get user awareness, start chat etc.■ A mini web server is running inside the Sametime Client

─ Some have (me) expressed concerns this exposes Sametime clients to outside misuse*

Page 11: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Awareness is shown on web page

Page 12: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

* Handling the security concern

■ Now possible to enable a whitelist or trusted domains■ Modify file:

─ %NOTES PROGRAM DIRECTORY%\framework\shared\eclipse\plugins\com.ibm.collaboration.realtime.webapi_8.0.1.20081118-0430\preferences.ini

─ Note the version number is part of the folder name so it can change.■ Set the values

─ checkAllowed=trueallowedDomains=www.acme.com,apps.acme.com, www.acmepartner.com

■ This means Connect Web API will only be available to code running on the sites www.acme.com, apps.acme.com and www.acmepartner.com and not any other sites.

■ No wildcard available *.acme.com or acme.com for example

Page 13: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Helper■ External interfaces to the Connect Client primarily through COM

─ This is not the COM toolkit■ Perform functions such as Add User, Start Chat, Start Video Chat, Start N-Way

etc.■ Requires Microsoft Office integration to be installed, even if you don’t use Office■ Windows Only

Page 14: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Java■ The Granddaddy of the toolkits ■ Java based■ Provides the broadest access to Sametime Services.■ Can be used to build alternate clients, Sametime Bots, servlets etc.■ No longer has UI components, AWT components are deprecated

Page 15: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Demonstration – Sametime Bot

Page 16: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Links■ An “easy” to use toolkit for adding Sametime awareness to a web page.■ Small lightweight Java applet.

─ Approximately 30k in size■ A Collection of HTML files that communicate through a Java Applet with the

Sametime Server.■ Offers Sametime VP Places support.■ Disadvantage requires JVM on client, correct level of JVM etc. ■ Use Sametime Proxy instead.

Page 17: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Seamless Integration

■ Appears as part of the page

Page 18: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Proxy

■ Web Client■ WAS Server base■ AJAX based■ Easily customize through CSS changes■ Reusable Web Components■ Restful API

─ JSON─ Access buddylist─ Watchlist

Page 19: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Customizable

Page 20: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

CSS Changes for previous images

.stproxy_borderColor { border-color: #3d3d3d !important; }

.stproxy_fontFamily { color: #ffffff !important; }

.stproxy_fontFamily .stproxy_toolbarButtonText { color: #ffffff !important; }

.stproxy_editorIconBold { background-image: url('blackskin/bold.png') !important; }

.stproxy_editorIconItalic { background-image: url('blackskin/italic.png') !important; }

.stproxy_editorIconUnderline { background-image: url('blackskin/underline.png') !important; }

.stproxy_editorIconEmoticon { background-image: url('blackskin/smiley.png') !important; }

.stproxy_editorIconCreateLink { background-image: url('blackskin/hyperlink.png') !important; }

.stproxy_editorIconForeColor { background-image: url('blackskin/textcolor.png') !important; }

.stproxy_userInfo { background-image: url('blackskin/userinfoBg.png') !important; }

.stproxy_arrowRightIcon { background-image: url('blackskin/arrowRight.png') !important; }

.stproxy_arrowDownIcon { background-image: url('blackskin/arrowDown.png') !important; }

.stproxy_chatIsTypingBar { background-image: url('blackskin/typingBarBg.png') !important; }

.stproxy_sendButton { display: none !important; }

.stproxy_toolbarChat { background-image: url('blackskin/toolbarChatBg.png') !important; }

.stproxy_toolbarMenu { background-color: #4d4d4d !important; }

.stproxy_editorBackground { background-color: #474747 !important; }

.stproxy_transcriptBackground { background-color: #474747 !important; }

Page 21: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Reusable Web UI components

■ Login Panel■ Buddylist■ Chat Window■ Awareness■ Quickfind■ Livenames■ User Information

Page 22: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Reusable Web UI components

Page 23: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Demonstration – Sametime Proxy

Page 24: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Client Telephony■ Requires same skills as developing a Sametime Plug-in■ Java based■ Limits telephony functionality to Sametime Client, does not expose telephony in

web conferences

Page 25: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Meetings Remote Client SDK■ Java APIs for room creation and management ■ IBM Sametime 8.5.2 Meetings Server and later■ Provides functions for the Meeting Center to

─ Create─ Edit─ Update─ Delete Meetings

■ Uses Sametime 8.5.2 REST APIs■ Does not provide access to realtime capabilities example

─ Attach File─ Start ScreenShare─ Delete File

Page 26: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Toolkits■ Server APIs

─ Sametime Community Server─ Directory and Data Access Toolkit─ Gateway─ Meeting Room Client Extensibility─ Online Meeting Toolkit─ Sametime Monitoring and Stats─ Meetings Compliance API─ Telephony Conferencing Service Provider Interface (TCSPI)

Page 27: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Community Server■ Low Level Access to Sametime Server events and Services■ Java based■ Requires explicit permission to run if not executed on the Sametime server■ Warning! Poor code can and will crash your Sametime server!!■ Access to users LTPA Tokens

Page 28: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Demonstration – Buddylist Manipulation

Page 29: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Directory and Data Access Toolkit■ Chat Logging SPI

─ Capture on the server all Sametime chats─ C++ based

■ Token Authentication ─ Develop alternative token authentication─ C++ based

■ File Transfer─ Develop virus scanning tools─ C++ based

■ User Information─ Develop alternative black box sources for Sametime Business Card information─ Java based

Page 30: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Gateway Toolkit■ Works with Sametime Gateway (AOL, Yahoo, GTalk) ■ Plug-ins and Event Consumers■ Can be used to develop

─ IM compliance solutions─ Threat protection solutions─ Enhanced policy enforcement, logging and privacy solutions

Page 31: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Meeting Room Client Extensibility■ Runs alongside the Sametime Meeting Room Client■ Javascript Based■ Can be used to

─ Add menu items to the Sametime Meeting Center─ Communicate with Sametime Activities

■ Installs on the Sametime Server■ For Sametime “Classic” meetings not new meeting center.

Page 32: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Online Meeting Toolkit■ An Online Meeting Toolkit that supports a RESTful interface for

─ Creating meetings ─ Updating meetings ─ Deleting meetings ─ Searching meetings

■ Nothing to install, part of Sametime 7.5 and later■ For Sametime “Classic” meetings not new meeting center

Page 33: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime Monitoring and Stats■ Servlet that returns statistical information in XML format■ Returns information such as:

─ Concurrent Logins─ Max Concurrent Logins─ Number of IM Messages─ Concurrent NWay Chats─ Started Meetings

■ For Sametime “Classic” meetings not new meeting center.

Page 34: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Meetings Compliance API■ Provides hooks into various events in Sametime Meetings, enable the

development of server side plug-ins such as the ability to:─ Block meeting entry based on who is already there.─ Log meeting entry/exit─ Log the start/stop of all sharing functions─ Log all polls─ Log all sidebar tool content─ Redact or block the sidebar tool submitted content

Page 35: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Telephony Conferencing Service Provider Interface (TCSPI)

■ Interfaces for providing telephony integration for─ Sametime Connect Client─ Sametime Web Conferencing

■ Installs on the Sametime Server/Media Server─ Nothing to install on the client

■ Java Based

Page 36: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Demonstration – Telephony Integration

Page 37: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Sametime 8.5.x Server Differences

■ Server APIs─Meeting Room Client Extensibility

‒ Totally different API, different methods─Online Meeting Toolkit

‒ Totally different, Websphere/DB2 based‒ Unsure if this toolkit will exist in 8.5

─Sametime Monitoring and Stats‒ Now websphere/DB2 based, currently unpublished‒ Unsure if this toolkit will exist in 8.5

─Telephony Conferencing Service Provider Interface (TCSPI)‒ Some potential UI differences

Page 38: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Getting Started

■ Useful Resources─ IBM Redbooks

http://www.redbooks.ibm.com─ IBM Developer Works

http://www.ibm.com/developerworks/■ Sametime Toolkit

─ http://www.ibm.com/developerworks/lotus/downloads/toolkits.html#sametime

Page 39: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

| © 2012 IBM Corporation

Feel free to contact me

■ Blog─ www.iminstant.com

■ E-mail─ [email protected]

■ Telephone─ 1-866-9 Epilio

■ Company Website─ www.epilio.com

Page 40: BP209   doctors have scalpels, carpenters have hammers, ibm sametime developers have sd ks

40 | © 2012 IBM Corporation

Legal disclaimer© IBM Corporation 2012. All Rights Reserved.

The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication 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.

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. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. 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.

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.

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

IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.

IJava and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.

Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

UNIX is a registered trademark of The Open Group in the United States and other countries.

Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.