AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections - and Beyond


Published on

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

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections - and Beyond

  1. 1. AD109 Using the IBM® Sametime® Proxy SDK: WebSphere Portal®, IBM® Connections® - and Beyond. William Holmes (Software Engineer, IBM) Carl Tyler (Director, Epilio)© 2013 IBM Corporation
  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 users 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.2 © 2013 IBM Corporation
  3. 3. 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 Direction3 © 2013 IBM Corporation
  4. 4. 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
  5. 5. 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
  6. 6. What’s the answer? What can run on multiple browsers? Not require a JVM? Programmable? Customizable? Extendable? Support Anonymous Users © 2013 IBM Corporation
  7. 7. x y P ro e e t im a m S© 2013 IBM Corporation
  8. 8. Sametime Proxy Architecture Dojo Widgets Proxy communicates with Sametime Base Components Community Server Does not require Sametime System Console – apart from install REST API REST API, Base Components and Dojo Widgets Sametime Proxy Server Sametime Community Server © 2013 IBM Corporation
  9. 9. 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. © 2013 IBM Corporation
  10. 10. Sametime Proxy Client Overview10 © 2013 IBM Corporation
  11. 11. Sametime Proxy Overview11 © 2013 IBM Corporation
  12. 12. Product Integration – IBM Connections 4.x  UI Integration ─ Profile12 © 2013 IBM Corporation
  13. 13. Product Integration – IBM Connections 4.x  UI Integration ─ Business Card13 © 2013 IBM Corporation
  14. 14. Product Integration – IBM Connections 4.x  UI Integration ─ Footer14 © 2013 IBM Corporation
  15. 15. Product Integration – IBM Connections 4.x  Configuration ─ NO Edge Server ─ profilesAppSrv01configcells<name>LotusConnections-configLotusConnections-config.xml ─ Configuration Advice – SSO (Authentication) • IBM Connections < > Sametime Community Server • SSO Key - Domain (i.e. • Interoperability Mode (LTPA and LTPA2) • HTTPOnly - Disabled – Using the same Host Name (FQDN) • Cookie Clash – JSESSIONID • Sametime Proxy supports Changing the Cookie Name15 © 2013 IBM Corporation
  16. 16. Product Integration – IBM WebSphere Portal 8.x  UI Integration ─ Contact List Portlet<span class="vcard X-person-profile-inplace X-sametime-resolve">16 © 2013 IBM Corporation
  17. 17. Product Integration – IBM WebSphere Portal 8.x  UI Integration17 © 2013 IBM Corporation
  18. 18. Product Integration – IBM WebSphere Portal 8.x  Configuration ─ Modifying the Theme Profile – ..applicationsAJAX Proxy Configuration.eardeploymentsAJAX Proxy Configurationwp.proxy.config.warWEB-INFproxy-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 WebSphere Portal 7.x > Click Here ─ Configuration Advice – SSO (Authentication) • IBM Websphere Portal < > Sametime Community Server18 © 2013 IBM Corporation
  19. 19. 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 Model19 © 2013 IBM Corporation
  20. 20. 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})20 © 2013 IBM Corporation
  21. 21. 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 …21 © 2013 IBM Corporation
  22. 22. DEMO - 122 © 2013 IBM Corporation
  23. 23. 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 …23 © 2013 IBM Corporation
  24. 24. DEMO - 224 © 2013 IBM Corporation
  25. 25. DOJO UI WIDGETS  Leverage the UI Offering ─ Base Components ─ DOJO UI Widgets  Queue Text DEMO - 325 © 2013 IBM Corporation
  26. 26. 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 build26 © 2013 IBM Corporation
  27. 27. Beyond the SDK  UI Prototype Extensions ─ General Prototypes ─ Examples – sametime.LiveName.prototype • HTML Template • Reset defaults ─ Go Explore and Experiment !!27 © 2013 IBM Corporation
  28. 28. Mobiliy - Live Help  Custom Application ─ WebSphere Portal – SSO ─ Queue Engine ─ Mobile Clients – iOS – Android – Window 8 – BlackBerry  Sametime Proxy ─ Tabbed Container – NWay Chat – Event Handling28 © 2013 IBM Corporation
  29. 29. DEMO - 429 © 2013 IBM Corporation
  30. 30. 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 Widgets30 © 2013 IBM Corporation
  31. 31. Final Overview  UI Considerations31 © 2013 IBM Corporation
  32. 32. 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.32 © 2013 IBM Corporation