View
10.414
Download
2
Category
Tags:
Preview:
DESCRIPTION
From simple lightweight usage to full real world integration and development, the Sametime Proxy offers an exceptional range of social capabilities. This session will showcase our integration with Portal and Connections, and then move on to illustrate how the openness of the programming model makes it suitable for any environment, by extending SDK objects, managing events and overriding Sametime Proxy widget prototypes. This session will show you real world examples of how customers transformed regular web and mobile applications into those with a rich social experience using the Sametime Proxy
Citation preview
© 2013 IBM Corporation
AD109 Using the IBM® Sametime® Proxy SDK: WebSphere Portal®, IBM® Connections® - and Beyond.
William Holmes (Software Engineer, IBM)Carl Tyler (Director, Epilio)
2 © 2013 IBM Corporation
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 © 2013 IBM Corporation
Agenda
Introductions Sametime Proxy Overview Product Integration
─ IBM® Connections® & IBM® WebSphere Portal® & IBM® Sametime® Proxy Programming Models
─ LiveName & Chat─ Framework independent example
Beyond the SDK─ Base Components & UI Prototype Extensions
Mobiliy─ Live Help Application
Conclusion & Future Direction
© 2013 IBM Corporation
Carl Tyler
Working with Notes since 1991 Building Sametime solutions for 10+ years 11 ½ years service at IBM/Lotus 10+ Years as an IBM Business Partner Director IBM Advanced Partner Epilio
─ UC Planning and Deployment─ Custom UC Development
© 2013 IBM Corporation
Why the need for Sametime Proxy?
We used to have Sametime Links─ Used in
– iNotes– Quickr– Connections
─ Required JVM in browser─ HTML structure undocumented by IBM─ Undocumented interfaces to server
© 2013 IBM Corporation
What’s the answer?
What can run on multiple browsers? Not require a JVM? Programmable? Customizable? Extendable? Support Anonymous Users
© 2013 IBM Corporation
Sametime Proxy
Sametime Proxy
© 2013 IBM Corporation
Sametime Proxy Architecture
Proxy communicates with Sametime Community Server
Does not require Sametime System Console – apart from install
REST API, Base Components and Dojo Widgets
REST API
Base Components
Dojo Widgets
Sametime Community Server
Sametime Proxy Server
© 2013 IBM Corporation
Why do we even need it?
Access Sametime with no client Install Integration with business applications Access Sametime bots Situational Awareness Customer Help
─ Agents can handle more than one call at a time.
10 © 2013 IBM Corporation
Sametime Proxy Client Overview
11 © 2013 IBM Corporation
Sametime Proxy Overview
12 © 2013 IBM Corporation
Product Integration – IBM Connections 4.x
UI Integration─ Profile
13 © 2013 IBM Corporation
Product Integration – IBM Connections 4.x
UI Integration─ Business Card
14 © 2013 IBM Corporation
Product Integration – IBM Connections 4.x
UI Integration─ Footer
15 © 2013 IBM Corporation
Product Integration – IBM Connections 4.x Configuration
─ NO Edge Server─ \profiles\AppSrv01\config\cells\<name>\LotusConnections-config\LotusConnections-config.xml
─ Configuration Advice– SSO (Authentication) https://ibm.biz/BdxSLc
• IBM Connections < > Sametime Community Server• SSO Key - Domain (i.e. .ibm.com)• Interoperability Mode (LTPA and LTPA2)• HTTPOnly - Disabled
– Using the same Host Name (FQDN)• Cookie Clash
– JSESSIONID• Sametime Proxy supports Changing the Cookie Name
16 © 2013 IBM Corporation
Product Integration – IBM WebSphere Portal 8.x UI Integration
─ Contact List Portlet<span class="vcard X-person-profile-inplace X-sametime-resolve">
17 © 2013 IBM Corporation
Product Integration – IBM WebSphere Portal 8.x UI Integration
18 © 2013 IBM Corporation
Product Integration – IBM WebSphere Portal 8.x Configuration
─ Modifying the Theme Profile– ..\applications\AJAX Proxy Configuration.ear\deployments\AJAX Proxy
Configuration\wp.proxy.config.war\WEB-INF\proxy-config.xml
– 7 Configuration Grouped Processes– Manual Configuration Edit
• Install Portlet WAR• Modify the Theme Profiles• Install the BackEndChat EAR• Add new Resource Environment Entries• Restart the Server• Create and Configure your Page• Configure the Portlet
─ Configuration Advice– SSO (Authentication) https://ibm.biz/BdxSLc
• IBM Websphere Portal < > Sametime Community Server
WebSphere Portal 7.x > Click Here
19 © 2013 IBM Corporation
Programming Models LiveName
─ Model is JavaScript Framework Independent─ Object Keys
– id, displayName, status, statusMessage, resolvedName, etc.─ Object Event Handlers
– onUpdate ,remove, Status Updates─ Update Types
– Status, Location, Capabilities (Telephony)
var myModel = stproxy.getLiveNameModel(<userId>,{args})
Model Model
20 © 2013 IBM Corporation
Programming Models
Chat─ Model is JavaScript Framework Independent─ Object keys
– userId, isEmbedded, is1to1Chat, isAnonymous─ Object Event Handlers
– onMessage– sendMessage– onTyping– onRichTextData– onPartnerActive, onPartnerNotActive (Group Chat)– onMeetingInvitation, onAnnouncement– … etc.
var myModel = stproxy.getChatModel(<userId>,{args})
var myModel = stproxy.getGroupChatModel(<placeId>,{args})
21 © 2013 IBM Corporation
Programming Models Framework Independent Widgets
─ Custom LiveName– What are you going to do with the data ?
{"status":1,"statusMessage":"I am Available", userId:"CN=Samantha Daryn,O=ibm"}
• Change a status icon(s) ?
• Update Status Message Text Node ?
– Listen for updates– Handle the data– Lets see a Working Example …
22 © 2013 IBM Corporation
DEMO - 1
23 © 2013 IBM Corporation
Programming Models Framework Independent Widgets
─ Custom Chat – What are you going to do with the data ?
{"userId":"CN=Amy Jones1,OU=Users,OU=WestfordFVT,O=IBM,C=US","action":["chat","msgReceived"],"text":"Hello World","displayName":"Amy Jones1"},"
─ Chat Transcripts
─ Show user typing
─ Listen for new messages─ Handle the data─ Lets see a Working Example …
24 © 2013 IBM Corporation
DEMO - 2
25 © 2013 IBM Corporation
DOJO UI WIDGETS
Leverage the UI Offering─ Base Components─ DOJO UI Widgets
Queue Text DEMO - 3
26 © 2013 IBM Corporation
Beyond the SDK
Base Components─ Event Handling
– stproxy.hitch.connect(parent,child,function) returns OBJ– stproxy.hitch.disconnect(OBJ);– stproxy.hitch.event(obj,event,function)– stproxy.hitch.bind(scope,function)
─ Globalization– stproxy.i18nStrings (32 Languages)– stproxy.awareness._getStatusMessage(status)
─ Images– stproxy.getIconURL(status)– stproxy.uiControl.iconPaths
─ Cache– Using /latest/ forces a redirect to ensure latest version of JS is loaded per build
27 © 2013 IBM Corporation
Beyond the SDK
UI Prototype Extensions─ General Prototypes─ Examples
– sametime.LiveName.prototype• HTML Template• Reset defaults
─ Go Explore and Experiment !!
28 © 2013 IBM Corporation
Mobiliy - Live Help
Custom Application─ WebSphere Portal
– SSO─ Queue Engine─ Mobile Clients
– iOS– Android– Window 8– BlackBerry
Sametime Proxy─ Tabbed Container
– NWay Chat– Event Handling
29 © 2013 IBM Corporation
DEMO - 4
30 © 2013 IBM Corporation
Conclusion
Sametime 8.5.2IFR1─ Base Components─ DOJO UI Widgets─ Framework Independent Widgets─ Web Application - No Sametime Proxy Client Code
– JS APIs– Comms Layer, Headers, Cookies, xDomain, Long Poll, Error Handling– OR .... Just Load … /stbaseapi/latest/baseComps.js?lang=<lang>
Sametime Proxy Next─ Considerations
– Web Friendly – NO RIGHT CLICK– Storage / Persistence– Tabbed Chat
─ Integrations– Custom Widgets
31 © 2013 IBM Corporation
Final Overview UI Considerations
32 © 2013 IBM Corporation
Legal disclaimer
© IBM Corporation 2013. 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.
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.
Java 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.
All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.
Recommended