Unified Communications & Collaboration Sametime 8.5 ......Nicht-Dojo basiertes UI kann mit Hilfe der...

Post on 17-Oct-2020

1 views 0 download

transcript

Unified Communications & CollaborationSametime 8.5 Development

IBM Deutschland -SoftwaregroupBernd.Schindler@de.ibm.com | SW IT Architect for Lotus

2

Agenda● Übersicht - Sametime 8.5

● Eclipsbasierte RichClient-Technologie

● Sametime 8.5 Webclient

● Sametime 8.5 Meetings Web Client

● Audio & Video in Sametime

03/10/103

Lotus Sametime. Die Kommunikationsplattform

offenoffen erweiterbarerweiterbar Multi-PlattformMulti-Plattform skalierbarskalierbar sichersicher

03/10/104

Lotus Sametime 8.5. Die System Architektur

SametimeGateway

CommunityServiceMedia

ServiceUnifiedTelephony

AdvancedService

MeetingService

SametimeProxy

Sametime Clients

Externe IM Communitie

s

Enterprise Telefonanlagen

Embedded Anwendungen, Web Client,

Portalanwendungen und Sametime Mobile

PartnerA/V

Bridges

SIP, RTP

SIP, RTP

VP

VP VP

VP VP

VP VP

HTTP HTTP

HTTP

SIP, XMPP

SIP, TCSPI

SIP

Die Server Rollen werden dargestellt – diese können je nach Lastverteilung kombiniert werden

03/10/105

Sametime 8.5 Connect Client in Notes & StandaloneIn Lotus Notes 8.5.1 via Upgrade In Lotus Notes 8.5.1 via Upgrade

InstallationInstallationStandalone Rich ClientStandalone Rich Client

03/10/106

Sametime 8.5 Classic Meeting

● Domino basierte Anwendung● Browser basiert

03/10/107

Lotus Sametime 8.5.

IBM Lotus Sametime Connect 8.5 Client (Rich Client)

Neue Ansichtsmöglichkeiten in der Kontaktliste

Browser-basierter Instant Messaging Client (Thin Client)

Ideal für Browser VerteilungsstrategienSichere Alternative zu öffentlichen IM, z.B. für ein

Partner-Extranet

LeistungsmerkmaleKein Herunterladen von AnwendungenAJAX basierter Client (keine JRE notwendig)Teilfunktionen vom Rich ClientZugriff über den Sametime Web Proxy ServerWeb APIs zur Nutzung von Funktionen aus Web Client

03/10/108

Anpassbarkeit des Sametime 8.5 Web Clients

03/10/109

Lotus Sametime 8.5 Meetings

● Webkonferenzen ganz anders ... und viel einfacher▬ Mit einem Klick einen Konferenzraum eröffnen und ihm per Sametime Connect 8.5 Rich

Client oder Browser beitreten.▬ Teilnehmer einladen indem man ihren Namen aus der Sametime Kontaktliste per Drag &

Drop in den Meetingraum zieht▬ Inhalte bleiben auf Wunsch im Meeting-Raum für Folgemeetings erhalten

→ Dauerhafte „virtuelle“ Meeting-Räume▬ Aufnahme von Webkonferenzen als MPEG Video▬ Verbesserte Zuverlässigkeit und Erreichbarkeit der Meetingserver▬ Audio & Video per SIP im Rich Client

Im Rich Client Im Browser

03/10/1010

Meeting leader or approved user can record meeting – both the shared content and the meeting

audio. Save to standard .MOV file format

Room tools give you access to meeting room settings. Also use to create reports, showing attendance, action items, meeting minutes, and

what was shared.

Lotus Sametime installed client

Additional tools

Click to start/stop video. Video starts after joining

the audio call. Video ‘canvas’ area contains a

single composite embedded video stream.

Call and video controls

List of participants shows connection status

03/10/1011

Communication Enabled Business Processes.Integration mit neuen Web APIs

Verfügbarkeitsanzeige

Anzeige von prozessrelevanten

Personen

03/10/1012

Sametime Unified Telephony. Die Architektur

Telephony Control Server

Telephony Application ServerSametime RPC

REST / JavaTM

Presence Adapter Comm Adapter

AbstractCall ModelMedia ServerSIP

Proxy/Registrar

SIP Back-to-Back User Agent (B2BUA)

Service Implementations

SIP-basedCall Control

CorporatePhoneSystem

Sametime(Presence and IM)

Sametime Clients

TelephonyGateway

SIP

DeskPhones

Device/Rules Presence Call Control

VP

PSTN

SIP

VP

03/10/1013

Sametime Unified Telephony

Kombinierte Verfügbarkeitsanzeige Verwaltung von eingehenden TelefonatenIntegriertes SoftphoneAnschluss an Telefonanlagen

unterschiedlicher Anbieter

03/10/1014

Eingehende Anrufe

Welches Telefon soll Sametime für

eingehende Anrufe benutzen?

Anrufer will die Person erreichen und nicht das

Telefon

03/10/1015

Benachrichtigung über eingehende Anrufe

03/10/1016

Sametime Unified Telephony

03/10/1017

Regeln für eingehende Anrufe

Blackberryjederzeitalleunterwegsunterwegs

MobilephonejederzeitalleFrankfurtnicht am PC

Computer (VoIP)jederzeitalleFrankfurtverfügbar

Büro ErfurtjederzeitChefErfurtnicht stören

Mailbox19:00-08:00alle-offline

Mobilephone08:00-19:00alle-offline

SekretariatjederzeitalleFrankfurtnicht stören

MailboxjederzeitalleErfurtin Meeting

MailboxjederzeitalleErfurtnicht stören

Büro ErfurtjederzeitalleErfurtverfügbar

ApparatDatum/ZeitAnruferLokationIM-Status

Blackberryjederzeitalleunterwegsunterwegs

MobilephonejederzeitalleFrankfurtnicht am PC

Computer (VoIP)jederzeitalleFrankfurtverfügbar

Büro ErfurtjederzeitChefErfurtnicht stören

Mailbox19:00-08:00alle-offline

Mobilephone08:00-19:00alle-offline

SekretariatjederzeitalleFrankfurtnicht stören

MailboxjederzeitalleErfurtin Meeting

MailboxjederzeitalleErfurtnicht stören

Büro ErfurtjederzeitalleErfurtverfügbar

ApparatDatum/ZeitAnruferLokationIM-Status

03/10/1018

Sametime 8.5 - SDK

Sametime Monitoring and StatisticsToolkit

Browser IM Toolkit

Sametime Community Server Toolkit

Sametime Links Toolkit

Sametime Connect Web API Toolkit

Sametime Helper Toolkit

Sametime Java Toolkit

Sametime Directory and DatabaseAccess toolkit

Sametime Connect Toolkit

Sametime Gateway ToolkitMeeting Toolkit

Telephony Toolkit

Sametime Client Toolkit's

Client Telephony APIs Toolkit

Telephony Conferencing Service Provider Interface (TCSPI) Toolkit

Sametime Server Toolkit's

19

Agenda● Übersicht - Sametime 8.5

● Eclipsbasierte RichClient-Technologie

● Sametime 8.5 Webclient

● Sametime 8.5 Meetings Web Client

● Audio & Video in Sametime

03/10/1020

Sametime 8.5 Connect Client in Notes & Standalone

Beispiel: PlugIns

21

Agenda● Übersicht - Sametime 8.5

● Eclipsbasierte RichClient-Technologie

● Sametime 8.5 Webclient

● Sametime 8.5 Meetings Web Client

● Audio & Video in Sametime

03/10/1022

Verschiedene Entwicklungsebenen. Die API Layers

REST APIsKomplex, Verkettung von REST Anfragen

Base ComponentsJavaScript Framework unabhängigNutzt REST Anfragen aus REST API EbeneOhne BenutzeroberflächeNicht-Dojo basiertes UI kann mit Hilfe der Base Components entwickelt werden

Model LayerLive-Name Model um User Data Updates abzurufenChat Model für das Empfangen und Senden von Chat Nachrichten

Dojo UI LayerNutzt Base Component und Model Layer EbeneStellt Client UI Funktionen zur VerfügungCSS anpassbare und erweiterbare Widgets

23

Fully functional Browser IM Client

24

Fully functional Browser IM Client

25

Loading Base Components

<html><head> <script type='text/javascript'> var stproxyConfig = { server: 'http://stproxyServer.domain.com', //properties below are optional cssUrl: 'http://myServer.domain.com/pathToCSS/myCustom.css', jsUrl: 'http://myServer.domain.com/pathToJS/myCustom.js', plugins: { 'lnmpRemove': false } } </script> <script type='text/javascript' src='http://stproxyServer.domain.com/stbaseapi/baseComps.js'></script> ...</head>...</html>

26

Base JavaScript Components● Base Component controller object 'stproxy' to access Sametime Proxy

functionality● 'stproxy' contains one object for each functionality area, e.g. login,

buddylist, status, watchlist, location, chat, etc.● All objects in 'stproxy' provide functions to pass a callback and error

callback to handle JSON responses and errors, e.g.

● All error messages are localized

<script type='text/javascript'> function handleLogin(userDetails) {...}; function handleLoginError(errorCode, errorMessage){...}; stproxy.login.loginByPassword(user, password, status, statusMessage, handleLogin, handleLoginError);</script>

27

Login Types● Login by password● Anonymous login● Login by token

▬ Use in single sign-on (SSO) environments

28

Live Name Model● Live name model object to build (non-Dojo) UI on top of it

● Add custom data with 'stproxy.watchlist.onUpdate({userId: 'userId', myCustomKey: 'myCustomValue'})'

<script type='text/javascript'> var liveNameUI = myCreateLiveName(userId); //custom UI for livename var liveNameModel = stproxy.getLiveNameModel(userId);

/*model properties --> { userId: '...', displayName: '...', status: '', onUpdate: function(){}, ... }*/

liveNameModel.onUpdate = function() { liveNameUI.setStatus(liveNameModel.status); liveNameUI.setDisplayName(liveNameModel.displayName); ... } </script>

29

Chat/Group Chat Model● Easily build own chat UI on top of chat/group chat model object

<script type='text/javascript'> var chatUI = myCreateChat(userId); //custom UI for chat var charModel = stproxy.getChatModel(userId);

/*model properties --> { userId: '...', partnerId: '...', onMessage: function(message) {}, sendMessage: function(message){...}, ... }*/

chatModel.onMessage = function(message) { chatUI.displayMessage(message); ... } </script>

30

Loading UI Layer

<html><head> <script type='text/javascript'> var stproxyConfig = { server: 'http://stproxyServer.domain.com', //properties below are optional cssUrl: 'http://myServer.domain.com/pathToCSS/myCustom.css', jsUrl: 'http://myServer.domain.com/pathToJS/myCustom.js', plugins: { 'lnmpRemove': false } }

var djConfig = { parseOnLoad: true, locale: 'en' //dynamic, set in JSP, PHP, etc. }; </script>...

31

Loading UI Layer

... <link rel='stylesheet' type='text/css' href='http://stproxyServer.domain.com/dojo_1.2.3/sametime/ themes/WebClientAll.css' /> <link rel='stylesheet' type='text/css' href='http://myServer.domain.com/pathToCSS/myCustom.css' /> <script type='text/javascript' src='http://myServer.domain.com/pathToDojo/dojo/dojo.js'></script>

<script type='text/javascript' src='http://stproxyServer.domain.com/stbaseapi/baseComps.js'></script> <script type='text/javascript' src='http://stproxyServer.domain.com/stwebclient/widgetsLight.js'></script> <!-- load livenameLight.js instead of widgetsLight.js if only live name is integrated --> <script type='text/javascript' src='http://myServer.domain.com/pathToJS/myCustom.js'></script> ...</head><body class='tundra'>...</body></html>

32

UI Widgets for Integration<div dojoType='sametime.WebClient'></div>

<div dojoType='sametime.LiveName'></div>

33

UI Widgets for Integration

<div dojoType='sametime.UserInfo'></div>

<div dojoType='sametime.QuickFind'></div>

<div dojoType='sametime.Awareness'></div>

03/10/1034

Nutzung von UI Widgets.Eine einfache Integration in Webanwendungen

<div dojoType='sametime.WebClient'></div><div dojoType='sametime.LiveName'></div>

<div dojoType='sametime.UserInfo'></div>

<div dojoType='sametime.QuickFind'></div>

35

Using Sametime Widgets● Widgets can be created declaratively or programmatically● Programmatical creation of live name

▬ Creates live name with full Sametime capability (start chat, call, view business card, etc.● Declarative integration of web client

● All widget attributes documented in SDK documentation

<script type='text/javascript'> ... var liveName = new sametime.LiveName({userId: 'bill.ranney@ibm.com'}, liveNameContainer);</script>

<html> <head> ... </head> <body> <div dojoType='sametime.WebClient'></div> </body></html>

36

Plugins to add new Menu Entries● Add new menu entries to web client, chat and live name

● Disable plugins with 'stproxyConfig.plugins'▬ stproxy.plugins = {'lnmpRemove': false, 'mmpNewContact': false}

stproxy.uiControl.addChatMenuPlugin(...) stproxy.uiControl.addMainMenuPlugin(...) stproxy.uiControl.addLiveNameMenuPlugin(...)

37

Plugins to add new Menu Entries<script type='text/javascript'> stproxy.uiControl.addMainMenuPlugin({ id: 'myMenuId', label: 'My Label', menuId: 'myLabel_id' });

stproxy.uiControl.addMainMenuPlugin({ id: 'mySubMenuId', label: 'My Action', menuId: 'myLabel_id', onClick: function(mainWindow) { var myContent = stproxy.uiControl.getSlideIn(myCallback, 'myGlobalWidgetName', 'myWidgets.Widget', mainWindow.domNode, 'onBeforeOk', 'onOk', 'onCancel', 'onOkError', 'Custom Error Message'); } });

function myCallback(slider) { slider.slideIn(); }</script>

38

Customized Styling

39

Customized Styling● Apply own styling by overriding specific style properties

stproxy_toolbarButtonstproxy_toolbarMenu

stproxy_toolbarChat

stproxy_userInfostproxy_userInfoPic

stproxy_chatIsTypingBar

stproxy_toolbarButtonText

.stproxy_userInfoText

stproxy_chatDisplayNameText

stproxy_chatMessageText

stproxy_chatMessageTimeText

stproxy_editorIconItalicstproxy_editorIconUnderline

stproxy_editorIconEmoticonstproxy_editorIconCreateLink

stproxy_editorIconForeColor

stproxy_editorBackground

stproxy_transcriptBackground

stproxy_editorIconBold

40

Customized Styling

.stproxy_toolbarMenu { background-image: url(images/myBgStripe.png) !important;}

.stproxy_toolbarChat, .stproxy_chatIsTypingBar { background-image: none !important; background-color: #4d4d4d !important;}

.stproxy_editorIconBold, .stproxy_editorIconBoldDisable { background-image:url(images/myIconBold.png) !important;}

...

41

Agenda● Übersicht - Sametime 8.5

● Eclipsbasierte RichClient-Technologie

● Sametime 8.5 Webclient

● Sametime 8.5 Meetings Web Client

● Audio & Video in Sametime

03/10/1042

Sametime 8.5 Classic Meeting

● Domino basierte Anwendung● Browser basiert

Beispiel: stcenter.nsf

43

Sametime 8.5 Meeting Rooms

create [HTTP POST]Create a new meeting on the Sametime server.

get [HTTP GET]Retrieves meeting properties for a specific meeting from Sametime server.

delete [HTTP DELETE]Remove a meeting from Sametime server.

update [HTTP PUT]Updates meeting information. Only information that needs to be changed should be sent.

Signatures

44

Levels of Integration● REST APIs● Toolkit● UI

The information on the new product is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information on the new product is for informational purposes only and may not be incorporated into any contract. The information on the new product is not a commitment, promise, or legal obligation to deliver any material, code or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion.

45

REST APIs – Room Management● Requires authentication via

POST or existing LTPA token● CRUD (Create, Read, Update,

Delete)

● Room Information▬ Title▬ Owner▬ Managers▬ Is it password-protected?▬ etc.

● List of rooms based on ownership, name, etc.

The information on the new product is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information on the new product is for informational purposes only and may not be incorporated into any contract. The information on the new product is not a commitment, promise, or legal obligation to deliver any material, code or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion.

46

Extension Points● New views in the Participants List● New actions on Library items● New types of content viewers in the

Projector● New types of Discussion entries● etc.

The information on the new product is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information on the new product is for informational purposes only and may not be incorporated into any contract. The information on the new product is not a commitment, promise, or legal obligation to deliver any material, code or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion.

47

Styling of the UI & Tools● CSS● Dojo theme

The information on the new product is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information on the new product is for informational purposes only and may not be incorporated into any contract. The information on the new product is not a commitment, promise, or legal obligation to deliver any material, code or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion.

03/10/1048

Lotus Sametime Web Clients

Lotus Sametime Lotus Notes

Clients

Lotus Sametime 8.5 Meeting Extranet Deployment

Präsenz &Instant Messaging

Meetings 1

Lotus Sametime Servers

Meetings 2

Extern

Intern

Lotus Sametime Web Clients

Lotus Sametime Lotus Notes

Clients

03/10/1049

Lotus Sametime 8.5 Meeting Cluster

Lotus SametimeLotus Notes

oder Web Clients

Lotus SametimeMeeting Servers

Meetings 2

Meetings 1

WebSphere Application

Server Proxy

Cluster

Geclusterte Server nutzen die Web Services für High Availability und

Failover

Einzelne Meetings existieren auf einem einzigen Knoten im

Cluster

Proxy Server cached Daten für die einzelnen Knoten;

Routing des HTTP Traffic zum korrekten Knoten

50

Agenda● Übersicht - Sametime 8.5

● Eclipsbasierte RichClient-Technologie

● Sametime 8.5 Webclient

● Sametime 8.5 Meetings Web Client

● Audio & Video in Sametime

51

Gruppenchat

Awareness

WhiteboardDokumente

Multipoint Video*

gemeinsameDesktopnutzung

Abstimmung

Audio und Video im ST Classic Meeting

03/10/1052

Audio & Video Funktionen in Sametime 8.5

Lotus Sametime 8.5 Client Unterstützung für Chat, VoIP Audio/Video Chats &

Online MeetingsMultipoint Audio und P2P Video VerbindungenUmschaltung aktiver SprecherUnterstütze Codec Standards für A/V Streams

H.263, H.264G.711, G.722.1, iSAC

SIP based A/V Client

Lotus Sametime 8.5 Media Manager Server

SIP Proxy Registrar SIP based Conference FocusMedia Router (Packet Switcher)

Third-party Integration

Lotus Lotus Sametime 8.5Sametime 8.5

MeetingsMeetings

Audio & Video ChatsAudio & Video Chats

03/10/1053

Die unterstützten PlattformenClients

Microsoft® Windows® XP® (SP2) und Windows Vista® – 32 und 64 bit (Lotus Sametime Connect 8.5 oder Lotus Notes 8.5.1 Upgrade)

BrowserMicrosoft Internet Explorer® 6.x, 7.x, 8.0 (Microsoft Windows)Firefox® 2.x und 3.0.x (Microsoft Windows, Mac®, Linux®)Safari® 3.2 und 4.0.x (Mac)

ServersMicrosoft Windows Server 2003/2008 - 32 und 64 bitLinux (RHEL, SLES) - 32 und 64 bitAIX® 5.3/6.1i5/OS® 5.4, 6.1SolarisTM 10

SonstigesLotus Domino 8.0.x / 8.5 für Community Server / “Classic” MeetingsIBM WebSphere Application Server 7 für neue Server und GatewaysIBM DB2 Universal Database 9.5 für neue Server und Gateways

03/10/1054

Lotus Sametime 8.5. Das Komplettpaket

Präsenz &Instant Messaging

MediaManager

Lotus Sametime Servers

Domino® Server

IBM WebSphere® Application Server / IBM DB2® Universal

Database

Meetings

Lotus SametimeProxy

Lotus Sametime Web Clients

Lotus Sametime Lotus Notes

Clients

03/10/1055

Thank You!ibm.com/lotus/uc2