Upload
carl-tyler
View
943
Download
2
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
© 2012 IBM Corporation
BP209 Doctors have scalpels, carpenters have hammers, IBM Sametime® Developers have SDKs Carl Tyler | Director | Epilio
| © 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
| © 2012 IBM Corporation
Agenda■ Why care about Sametime toolkits/SDKs?■ Sametime Toolkits■ Toolkit Details and Usage■ Getting Started
| © 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
| © 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
| © 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)
| © 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
| © 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
| © 2012 IBM Corporation
Demonstration – Plug-ins
| © 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*
| © 2012 IBM Corporation
Awareness is shown on web page
| © 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
| © 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
| © 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
| © 2012 IBM Corporation
Demonstration – Sametime Bot
| © 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.
| © 2012 IBM Corporation
Seamless Integration
■ Appears as part of the page
| © 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
| © 2012 IBM Corporation
Customizable
| © 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; }
| © 2012 IBM Corporation
Reusable Web UI components
■ Login Panel■ Buddylist■ Chat Window■ Awareness■ Quickfind■ Livenames■ User Information
| © 2012 IBM Corporation
Reusable Web UI components
| © 2012 IBM Corporation
Demonstration – Sametime Proxy
| © 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
| © 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
| © 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)
| © 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
| © 2012 IBM Corporation
Demonstration – Buddylist Manipulation
| © 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
| © 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
| © 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.
| © 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
| © 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.
| © 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
| © 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
| © 2012 IBM Corporation
Demonstration – Telephony Integration
| © 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
| © 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
| © 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
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.