AD107: Adding Presence Awareness to Your

Transcription

AD107: Adding Presence Awareness to Your
®
AD107:
Adding Presence Awareness to
Your Business Applications
Dvir Landerer, Haifa Software Lab,
IBM
Gabi Miro ,Haifa Software Lab, IBM
Agenda
ƒ Overview
ƒ Sametime Client Toolkits
General
Sametime Links Toolkit
Java Toolkit
C++ Toolkit
COM Toolkit
ƒ Sametime Server Toolkit
ƒ Q&A
3
What is Sametime
ƒ Sametime is a client/server real-time collaboration product
ƒ Sametime is NOT just an “instant messaging” product, but rather
it offers a large set of capabilities like:
People Awareness
Instant Messaging
Place-Based Awareness
Collaboration Meetings
• Chat
• Screen Sharing
• Whiteboard
• Audio and Video
And more…
4
Sametime out of the box
ƒ On the server side
Community Server
Meeting Server
ƒ On the client side
Sametime Connect for Browsers (a.k.a. Java Connect)
Sametime Connect for Desktop (a.k.a. C++ Connect)
MRC (Meeting Room Client)
….
5
What are the Sametime Client Toolkits
ƒ The Sametime Client Toolkits provide the ability to
Sametime-enable client side software applications in
Java, Windows and Web environments
ƒ The Sametime Client Toolkits come in 4 flavors
Sametime Links Toolkit
Java Toolkit
C++ Toolkit
COM Toolkit
6
Lotus Notes 6.5 is Sametime Enabled
7
Lotus Notes 6.5 is Sametime Enabled
8
NotesBuddy Demo
9
Which toolkit to use
There are four main factors to consider
ƒ The target platform
ƒ Required programming skills
ƒ Required Sametime features
10
Target Platform and Programming Skills
Toolkit
11
Target Platform
Language
Sametime Links
Web
HTML/JavaScript
Java
JDK 1.1.8
JDK 1.4.1
Java
C++
Windows
C++
COM
Windows
Visual Basic
Microsoft Office
Web (in IE)
Lotus Notes
Sametime services/components
12
Community Services
Meeting Services
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ Application Sharing
ƒ Whiteboard
ƒ Streamed Media
Community
Awareness
Places
Lookup
IM (Instant Messaging)
Token
Storage
Names
Directory
Post
BuddyList
Announcement
FileTransfer
Note: Community Services refers to the
group of services available from the
Community Server. The Community
service is simply one of the Community
Services.
Community Service
ƒ Authentication
Login by password
Login by token (SSO – Single sign on with Domino or WebSphere)
Login as anonymous (limited access, permissions controlled by
administrator)
ƒ Change your online status
Active
Away
DND (Do not disturb)
ƒ Change your privacy settings (who can see me)
13
Awareness Service
ƒ Watch users
User status
• Online (Active, Away, DND)
• Offline
User attributes
• Microphone
• Speakers
• Video Camera
• Etc.
ƒ Watch server side groups (a.k.a. public groups)
Watch users associated with a server side group
ƒ Watch server attributes
14
Audio
Video
Directory Browsing
Etc.
Places Service
ƒ The Sametime places architecture provides a flexible and
robust model that supports place-based awareness and
collaboration.
ƒ A Sametime virtual place is an abstraction of a meeting
place in which users collaborate in various activities
ƒ Examples of a place:
a web page (URL)
a document
a discussion forum
a website
15
Places Service (cont.)
ƒ A virtual place is defined by its name so anything that can
be represented as a string can be a place.
ƒ Sections - In the Sametime places model, a virtual place
is made out of sections.
ƒ Activities – These are server-side applications that share
the place with the users, and define ways in which they
can collaborate.
ƒ Place members – Users, Sections, Activities are all place
members.
ƒ Attributes – All place members have a list of properties
describing them, and can also have a list of attributes
(key/value).
16
The Sametime Places model
Place
Attributes
Stage
Attributes
Users
Activities
Attributes
Users
Attributes
17
Section
s
Attributes
Attributes
What you can do in a place
ƒ Entering and moving
By default all users can enter the place and move freely to other
sections
The exception to the above can be restricted by an
AllowedUsersList
ƒ Communication in a place
Direct text/data messages
Using member’s attribute
18
Lookup Service
Most Sametime operations that deal with users or groups
require STUser or STGroup objects as parameters.
The resolve operation matches a name to provide either
an STUser or an STGroup object.
ƒ
ƒ
ƒ
ƒ
19
Resolve user names
Resolve server-side group names
Handle resolve failed and resolve conflict situations
Query the content of server-side groups
IM service (Instant Messaging)
ƒ Allows you to send/receive text and/or binary messages
between clients
ƒ It is used for standard IM, but it can also be used for
passing any other messages, such as game moves and
translated messages.
ƒ The service uses an IM type parameter to classify
message sessions of different type
Types 0 – 10000 reserved for Lotus internal usage
Third party IM types should be registered with Lotus
Example: Start/Stop responding in Sametime Connect
20
Token service
ƒ Provides the ability to generate a token that can be used
by a logged-in user to log in to the Sametime server, from
a different application, for example, without being
challenged to authenticate again.
See Community service loginByPassword() vs.
loginByToken().
21
Storage Service
ƒ Stores user related information (user preferences for
example) as attributes on the Sametime server.
ƒ Allows you to access these attributes from whenever you
login to your Sametime server
ƒ When you are logged-in from two or more clients
simultaneously, modifications in your storage attributes
posted from one client may be received by the other
clients.
Note: Do not confuse the attributes used in this service with
the online attributes of the Awareness or Places service.
22
BuddyList service
ƒ Provides the ability to get a user’s contact list from the
user storage (attribute #0), on the Sametime Server, or
store it there.
ƒ Provides conversion methods between String and BL
objects. This is used for example to store/retrieve a
contact list to/from the local file system.
ƒ Provides methods to construct BL objects (contact list).
ƒ In fact this service is a convenience service, that extends
the Storage service. It hides from the developer the low
level protocols defined by the Storage service, and
provides construct and parse methods for the user’s
contact list.
23
Names service
ƒ To customize the display name of your users inside an
application.
ƒ Examples
To make the display name shorter by having the name cut at some
predefined delimiter, like “Joe Smith/Organization” will be shown as
“Joe Smith” (delimiter=“/”).
Just replace the display name by a “nickname” like “Joe”
Note: This service is a local service and has no equivalent
server-side component (in the C++ Toolkit this service is
part of the Community service).
24
Directory service
ƒ Enables to browse the Sametime community directories,
provided that the directory configuration allows this.
ƒ Provides a list of all available directories and allows to
query for chunks of entries in each directory.
Note: If your Sametime server is configured to use an
LDAP directory, directory browsing is not enabled.
25
Post service
ƒ Allows the sending of messages to many users at once,
and allows the user to respond to the message they
received.
ƒ Example – A company secretary sending a meeting
reminder to all the meeting participants
26
Announcement Service
ƒ An announcement is a message that can be sent to one
or more people. You can send an announcement to a list
of STUser and/or STGroup instances.
ƒ Optionally sender may allow recipients to respond.
ƒ Very much similar in functionality to the Post service, but
different in the following aspects:
Better performance than the Post service
Recipient list can include server-side groups
Note: In the C++ Toolkit this service is part of the
Community service.
27
FileTransfer service
ƒ Provides the ability to send and receive files between
Sametime users.
ƒ The initiator creates a FileTransfer object and starts the
transfer.
ƒ The other side can accept or decline the transfer.
ƒ After the file transfer starts, both sides receive progress
notifications and can stop the transfer before it completes
successfully.
28
Meeting services
ƒ Allow clients to create and join multi-participant meetings.
ƒ The services include
Application Sharing
Whiteboard
Streamed Media (Audio/Video)
ƒ Development over the Meeting Services are available only
in the Java Toolkit, but still it is possible for a C++
application to launch the Java Meeting Room Client
(MRC).
29
LiveNames Demo
This sample (including the Java Source
code and the HTML launching the
LiveNames applet) can be found in the
Sametime Java Toolkit SDK.
30
Sametime features in the different toolkits
Sametime
Links
D
D
D
Full Community Services
D1
D2
D
D
D
D
D
D
D
Launch MRC
Embed Meeting Services
Partial customization required
2 Partial support
31
Java
Basic Community
Services
Community UI
1
C++
COM
D
Sametime Links Toolkit
ƒ Add awareness and messaging to:
Web pages
Applications
ƒ Examples:
e-business
Help desk
Online directories
Lotus QuickPlace
Lotus K-Station
Lotus Discovery Server
32
Sametime-Enable Web Applications
Turn existing names in web applications into “Live Names“ Just by
adding a few lines of HTML / JavaScript
33
Sametime Links Demo
34
Sametime Links Architecture
Web Page
Web Application
Java Script
HTML
Sametime Links Applet
Sametime Links Server
Application
Sametime Server
35
Sametime Links Functionality
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
36
Easy to use HTML / JavaScript API
Light weight (~20K applet), no install
Reverse Proxy support
Transparent authentication by token
Encryption
Does not affect page layout
HTML based and customizable UI
Sametime Links Features
ƒ Common Sametime Toolkits Services
Awareness
Instant messaging
N-way chat
Upgrade to meeting
Place-based awareness & chat
ƒ UI Features
Live names do not affect page layout
HTML-based UI – customizable
Localized to languages supported by Sametime
ADA compliant
37
Advanced Sametime Links API
ƒ Access to additional Sametime functionality
Login, Logout
Change status
Add to contact list
ƒ Customize behavior and UI
ƒ Handle events
38
Place-based Awareness in Sametime Links
ƒPlace Counter
ƒWho Is Here window
ƒPlace Chat window
39
Sametime Links Supported Platforms
ƒ Supported on Windows NT/2000/XP
Microsoft Internet Explorer 5 and above
Netscape 7.x and above (up to ST 3.1)
Mozilla 1.4.1 (from ST 6.5.1 to be released later this year)
ƒ Sametime Server compatibility:
Sametime 3.0 and above out-of-the-box
2.5 with Sametime Links add-on
40
Sametime Java Toolkit
ƒ Enhance Java applets and applications with real-time
collaboration
ƒ Supports the following platforms
Windows
Linux*
AIX*
Solaris*
* Since Sametime 3.1
ƒ Examples:
Java Connect
MRC (Meeting Room Client)
41
Sametime Java Toolkit features
ƒ Full Community Services
ƒ Meeting Services
ƒ Community UI Services
ƒ Object oriented
ƒ Modular
ƒ Thread-safe
ƒ Event driven and asynchronous (using listeners)
42
Java Toolkit Community UI Services
ƒ The toolkit provides a standard UI that can be used by developers to
speed up the development time required to build a Sametime-enabled
application.
ƒ The standard UI is provided by
UI Components
AWT Dialogs and panels, which can be embedded inside any AWT container
43
Java Toolkit UI components
ƒ UI Components
AnnouncementUI
Provides the ability to send and receive announcement without having
to deal with the low level protocols that are involved. It includes the
Send and Receive Announcement dialogs.
ChatUI
Provides the standard UI to create and receive IMs and chat meetings
with two or more participants. The standard UI can be customized by
the developer.
CommUI
Provides a standard UI to display community and administrator
messages
FileTransferUI
Provides the ability to send and receive files without having to deal with
the low level protocols that are involved. It includes the Send File,
Receive File and File Transfer Status dialogs.
44
Java Toolkit AWT dialogs and Panels
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
45
Awareness List
Place Awareness List
Capabilities List
Tools Dialog
Privacy Dialog and Panel
Add Dialog
Resolve Panel
Directory Dialog and Panel
Group Content Dialog
Sametime C++ Toolkit
ƒ Enhance Windows applications with real-time
collaboration
ƒ For any Win32 or MFC based Windows application
ƒ Examples:
Sametime Connect
NotesBuddy
Lotus Notes 6.5
46
Sametime C++ Toolkit Features
ƒ Full Community Services
ƒ Object oriented
ƒ Modular
ƒ Thread-safe
ƒ Event driven and asynchronous (using listeners)
ƒ No dependency on Microsoft technologies
ƒ MFC, OLE
ƒ Supports Microsoft Visual C++ Developer Studio
47
Sametime COM toolkit
ƒ Add awareness and messaging to Windows applications
that support COM:
VisualBasic
Microsoft Office
Web (in Microsoft Internet Explorer)
Lotus Notes
48
Sametime COM Toolkit features
ƒ Basic Sametime Community services for Awareness and
Instant Messaging
ƒ Easy to use
ƒ Delivered as standard DLL
ƒ Supports automation OLE
49
Sametime COM Toolkit Services
Exposes the following services:
CommunityService
50
Sametime COM Toolkit Services (cont'd)
AwarenessService
LookupService
51
Sametime COM Toolkit Services (cont'd)
InstantMessagingService
52
Sametime COM API Architecture
C++ App
VB App
Community
Lookup IM
Community
Lookup
JS App
Community
Awareness
Sametime COM DLL
COM Interfaces
ICommunityService
ILookupService
IAwarenessService
IInstantMessagingService
C++ API
Sametime Server
53
Sametime COM Toolkit Contents
ƒ DLL and TLB
ƒ Documentation: Developers Guide
ƒ Reference, and White Paper
ƒ Samples:
Login
Awareness
BuddyList
54
What is the Sametime Server Toolkit?
ƒ The server toolkit provides the ability to:
Enhance and extend Sametime server side services
Create your own Sametime server side service
Support new clients
ƒ The server toolkit is Java-based
ƒ The server toolkit is an extension to (a superset of) the Java
Client Toolkit
ƒ Examples
Sametime Bot – an application that can be added to the buddy list just like
another user, providing answers to queries submitted by the user
Sametime Links Toolkit
Activity providers (for activities in a place)
55
Sametime High Level Architecture
Server Applications
Server
Multiplexers
Clients
56
Community view
57
The functions of each layer
ƒ Multiplexers
I/O concentration
Distribution of multi recipient messages
Gateway
ƒ Server
Manage community members
Route messages
Supply notifications to members
ƒ Server Applications
Enhance server functionality
58
Sametime Server Toolkit Demo
59
Additional Information
ƒ Sametime toolkit course and guide
ƒ www.lotus.com/sametimedevelopers
latest API & sample applications
discussion area
site is enabled with Sametime
IBM Redbooks on
Sametime application development
www.ibm.com/redbooks
60
Q&A
61