Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

A tour of the IBM Lotus Sametime V7.5 toolkits

Lori Ott, BP Technical Enablement Specialist, IBM, Software Group
Lori Ott is a BP Technical Enablement Specialist. She joined IBM in 2000 as a curriculum developer for the Lotus Notes Application Development team for Lotus Education. She is a co-author of the IBM Redpaper, "IBM Workplace Managed Client: ISV Integration Guide."

Summary:  Get an overview of the toolkits available in the IBM Lotus Sametime V7.5 Software Development Kit (SDK). This article covers the Lotus Sametime Connect toolkit, Links toolkit, Java toolkit, Telephony Conferencing Service Provider Interface (TCSPI) toolkit, Community Server toolkit, Directory and Database Access toolkit, Monitoring and Statistics toolkit, and Online Meeting toolkit.

Date:  29 Aug 2006
Level:  Introductory
Also available in:   Chinese  Russian

Activity:  10972 views
Comments:  

IBM Lotus Sametime V7.5 is a family of collaboration products providing real-time awareness, communication, screensharing capabilities, and IP audio/video services. Lotus Sametime brings the flexibility and efficiency of real-time communication to the business world by interconnecting people -- colleagues, customers, suppliers, and partners.

Lotus Sametime is the first real-time collaboration product that offers a complete range of integrated, real-time services while meeting enterprise and e-business requirements for scalability, manageability, and security. Sametime services fall into three areas:

  • Community services
    These services include awareness, instant messaging, and chat. A contact list makes Sametime users aware of who is available (and who is online, but unavailable) to receive an instant message or to participate in a chat with one or more people. Instant messaging traffic is encrypted.
  • Online meeting services
    These services include a shared whiteboard and the ability to share programs and documents online. Lotus Sametime also offers a server-based Meeting Center where users can schedule online meetings in advance and store agendas and other meeting materials.
  • Customization and integration services
    Lotus Sametime provides a comprehensive API that enables customers to easily integrate real-time collaborative capabilities into other applications, such as e-commerce sites, help desks, and training/information delivery applications, for example, Sales Force Automation.

This article introduces you to the various toolkits available with the IBM Lotus Sametime Software Development Kit (SDK) V7.5 that enable you to access the community, online meeting, and customization and integration services. This article is intended for application developers with or without previous Lotus Sametime experience, who want to know more about the toolkits available with Lotus Sametime V7.5.

Overview of the Lotus Sametime V7.5 architecture

There are two distinct Sametime architectures a developer may need to work with: the Lotus Sametime Connect client architecture and the Lotus Sametime server architecture.

Lotus Sametime Connect client architecture

IBM Lotus Sametime Connect is built on top of the Java Runtime Environment (JRE), the Eclipse Rich Client Platform (RCP), and IBM WebSphere Everyplace Deployment. Figure 1 shows major Lotus Sametime Connect components. The JRE, Eclipse RCP, and WebSphere Everyplace Deployment layers form the foundation common to IBM's managed client products. The components above WebSphere Everyplace Deployment, enclosed by the gray outline, are specific to the Lotus Sametime Connect client. These components include public and implementation-specific plug-ins.


Figure 1. Lotus Sametime Connect architecture
Lotus Sametime Connect architecture

Lotus Sametime server architecture

Lotus Sametime includes many server applications that collectively provide the capabilities of the Lotus Sametime server. All client-to-client communication, such as instant messaging, passes through the Lotus Sametime server. Users who log onto the Lotus Sametime server from different clients can communicate as long as they use clients that support Sametime’s functionality. For example, a user who logs on through a Sametime-enabled word-processed document can chat with a user who logs on through Lotus Sametime Connect or through the company portal.

When the client logs into the Lotus Sametime server, it has access to all Sametime services and can communicate with any other Sametime client logged into the Lotus Sametime server, based on the:

  • Capabilities of the various clients
  • Privacy rules that the users defined
  • Policy rules defined by the administrator and enforced by some of the server applications

The Sametime server consists of three servers that interact with one another:

  • Community server. Provides all Sametime community services, such as login, instant messaging, and awareness.
  • Meeting server. Provides all Sametime meeting services, such as screensharing and IP audio and video.
  • IBM Lotus Domino. Provides core Sametime services, such as directory access, authentication, and the HTTP server.

The Sametime developer toolkits

Lotus Sametime includes comprehensive application development toolkits. You can use the toolkits to embed real-time capabilities, such as chat and real-time help features, into e-business applications. The toolkits can also be used to expand Sametime’s native functionality, for example, building plug-ins to incorporate your company’s internal directory with Lotus Sametime. You can use one or a combination of the toolkits to develop customized real-time applications.

The Lotus Sametime SDK includes both client and server toolkits. The client toolkits are intended to be used by client or browser-based applications and include the Lotus Sametime Connect toolkit, the Lotus Sametime Links toolkit, and the Lotus Sametime Java toolkit.

NOTE: The Lotus Sametime Connect toolkit requires the Lotus Sametime Connect client to be installed on the machine where the application runs, but the other client toolkits do not require Lotus Sametime Connect.

The server toolkits are intended to be used by applications that work in conjunction with the Lotus Sametime server. The applications do not necessarily run on the Lotus Sametime server itself. The server toolkits include:

  • Lotus Sametime Telephony Conferencing Service Provider Interface (TCSPI) toolkit
  • Lotus Sametime Community Server toolkit
  • Lotus Sametime Directory and Database Access toolkit
  • Lotus Sametime Monitoring and Statistics toolkit
  • Lotus Sametime Online Meeting toolkit (Meeting Management APIs)

The Lotus Sametime Monitoring and Statistics and the Lotus Sametime Online Meeting toolkits are new to Lotus Sametime V7.5.

Determining which toolkit to use when

Each Sametime toolkit provides different features and supports different target environments (desktop, Web browser, or server). Choose a toolkit based on what your application needs to do and where it needs to run.

Table 1 summarizes the information you need to select the appropriate toolkit(s) for your application. The remaining sections of this document provide more details on each of the toolkits. The target environments listed below include all operating systems supported by Lotus Sametime V7.5, unless otherwise noted.


Table 1. Sametime toolkit features and target environments
ToolkitUse this toolkit to...Target environments
Lotus Sametime Connect toolkitBuild Eclipse plug-ins to integrate with or to extend the Lotus Sametime Connect client.Desktop
Lotus Sametime Links toolkitAdd Sametime features to Web pages using JavaScript and HTML.Web browser (Windows only)
Lotus Sametime Java toolkitAdd Sametime features to Java applications.Desktop, server
Lotus Sametime TCSPI toolkitProvide click-to-call telephony services for Lotus Sametime Connect, Lotus Sametime Web conferencing, and IBM Lotus Notes.Server
Lotus Sametime Community Server toolkitBuild Java components that add or extend services on the Lotus Sametime server.Server
Lotus Sametime Directory and Database Access toolkitBuild C++ or Java components for the Lotus Sametime server that provide directory integration, chat logging, or virus scanning services. The C++ components are supported only on Windows. The Java components are supported on all platforms.Server
Lotus Sametime Monitoring and Statistics toolkitAccess Lotus Sametime server statistics in XML format via HTTP.Desktop, server
Lotus Sametime Online Meeting toolkitSchedule and manage online meetings via HTTP.Desktop, server


The Lotus Sametime Connect toolkit

The Lotus Sametime Connect toolkit (sometimes referred to as the Lotus Sametime Connect SDK) is a collection of APIs built on top of WebSphere Everyplace Deployment and Eclipse and can be used to build plug-ins to enhance the usability of Lotus Sametime Connect. This toolkit is new for Lotus Sametime V7.5.

The Lotus Sametime Connect toolkit provides an integration guide, Javadoc, J9 Java Class Libraries (JCL) Desktop run-time, and sample plug-ins.

You can use the Lotus Sametime Connect toolkit to develop plug-ins that customize the Lotus Sametime Connect client. Sample plug-ins are shipped with the toolkit, which makes available some key functionality within Lotus Sametime Connect.

For more information about the sample plug-ins that ship with Lotus Sametime Connect V7.5, see the developerWorks Lotus article, "Extending IBM Lotus Sametime Connect V7.5."


The Lotus Sametime Links toolkit

The Lotus Sametime Links Toolkit is a lightweight (approximately 50 KB) toolkit that allows Web developers to Sametime-enable their Web pages and applications. The toolkit uses simple HTML and JavaScript APIs (no Java programming required) to turn existing names into Sametime links by adding a few lines of HTML without affecting the layout of the page.

The toolkit requires no special installation on the client machine. It is rich in features offering awareness with status icons, instant messages, and multi-person chats, also referred to as N-way chats. Users can also launch instant meetings. The toolkit provides an authentication mechanism by which users need not log in if they have already authenticated on the Web site. One other attractive feature is the ability to work over the extranet through firewalls because the toolkit uses HTTP to communicate with the Lotus Sametime server.

The Lotus Sametime Links toolkit has had only minor changes since Lotus Sametime V7.0.


The Lotus Sametime Java toolkit

The Lotus Sametime Java toolkit is a collection of building blocks or components that developers use to build applications that leverage the functionality and services provided by Lotus Sametime. These toolkit components can be used in any standard development environment that supports JDK 1.4.2 and 1.5.

The Lotus Sametime Java toolkit is an object-oriented, modular, and thread-safe API. While somewhat larger than the client toolkits described earlier, the Lotus Sametime Java toolkit provides all the core Sametime community components. Developers wanting to embed Sametime-based services and functionality in Web applications can use the Lotus Sametime Java toolkit. For example, you can use the Java toolkit to build a facility for live customer service-style help in an online marketplace, to build awareness into a knowledge management application, or to bring application sharing into an e-business application.

This toolkit has been updated with new features for Lotus Sametime V7.5.

The Lotus Sametime Java toolkit provides you with access to core Sametime services, such as awareness, chat, and whiteboarding. The toolkit has a layered architecture composed of three main layers:

  • Transport. This layer provides the communication link between the application and the Lotus Sametime server.
  • Services. This layer provides the application with the Sametime Community and Meeting services.
  • User interface. The UI layer provides the Sametime-enabled Abstract Window Toolkit (AWT) component and the UI for the application.

The Java toolkit provides access to the entire feature set in Lotus Sametime via an object-oriented API model. With this toolkit, you can expose functionality such as file transfer, selective alerts, and announcements. You can also create applets and applications, such as a customized Lotus Sametime Connect client (the standard Lotus Sametime Connect client comes with a Java-based version), Sametime automatic response bots, and customized applications in which only a few features of Lotus Sametime are included. You can also create customized applets for your Web site using this toolkit. However, if you need to create a simple awareness application on your Web site, then you want to use the Lotus Sametime Links toolkit.


The Lotus Sametime Telephony Conferencing Service Provider Interface (TCSPI) toolkit

The Lotus Sametime Telephony Conferencing Service Provider Interface (TCSPI) toolkit includes a set of Java classes that enable telephony service providers to integrate audio conference call technology into IBM’s real-time collaboration server offerings. This toolkit was available for previous Lotus Sametime releases, but on a limited basis. The toolkit has been updated for release 7.5.

The TCSPI toolkit contains several components as well as documentation that you can print. The documentation supplied is an implementer's guide, a readme, and a guide to help prepare the application for InstallShield. The TCSPI toolkit contains the following components:

  • SampleConference.xml
    The SampleConference.xml file is used for conference management and creation.
  • Mock service provider
    The mock service provider illustrates how a service provider works. It can be used to learn and to model application development using the API.
  • ConferenceManager.properties file
    The ConferenceManager.properties file stores settings relative to installation, configuration, and asynchronous requests.

Telephony service providers can use the TCSPI toolkit to create server-side plug-ins that enable them to hook into their backend PBX systems. Some examples of how you can use the TCSPI toolkit include:

  • Telephone call management. Using a combination of public switched telephone network (PSTN), Voice over Internet Protocol (VoIP), and other telephony technologies.
  • Integration. Integration with a real-time collaboration offering from IBM, such as instant messaging and Lotus Sametime Web conferencing.
  • Audio conference calls control and management. Controls are possible for the users and moderators.

The Lotus Sametime Community Server toolkit

The Lotus Sametime Community Server toolkit lets you write new server applications and provide new services to the Sametime community. You can use this toolkit to enhance application logic on the server side. The toolkit now gives you the ability to enhance and extend Sametime services, to create your own Sametime service, and to support new clients.

With the release of the Community Server toolkit, developers have the tools to take the benefits of real-time functionality to even higher levels. This toolkit has not changed since Lotus Sametime V7.0.

The Lotus Sametime Community Server toolkit contains the following components:

  • Release notes
  • Tutorial
  • Developer’s guide
  • Javadoc reference
  • Server architecture white paper
  • Server toolkit FAQ

You may want to enhance the instant messaging services provided by Lotus Sametime by using the Lotus Sametime Community Server toolkit to develop an application that supports features such as offline messages. An offline message is a message sent to the user while he or she is offline. The messages are saved and sent to the user the next time he is online.


The Lotus Sametime Directory and Database Access toolkit

The Lotus Sametime Directory and Database Access toolkit provides the ability to log chat transcripts in a database for later retrieval; to customize the generation and validation of the authentication token; to scan a transferred file for viruses; and to retrieve user data from different storage types.

This toolkit has been updated with new features for Lotus Sametime V7.5. The Lotus Sametime Directory and Database Access toolkit contains the following components that are the same as the release 7.0 toolkit:

  • The Sametime Directory and Database Access API
  • Developer’s guide
  • Sample implementations
  • Templates you can use to get started quickly

Additional components added in release 7.5 include:

  • More APIs
  • Sample code and binaries
  • Javadoc

With the Lotus Sametime Directory and Database Access toolkit, you can extract data from a separate storage directory. For example, a customer whose employee photos are stored in a non-LDAP or Domino data repository can use the UserInfo SPI to develop a new black box and to insert photos into Lotus Sametime’s business card feature.


The Lotus Sametime Monitoring and Statistics toolkit

The Lotus Sametime Monitoring and Statistics toolkit is a service implemented as a servlet. The toolkit provides a real-time view of the current state of the Lotus Sametime server. The information is returned as XML to the caller. There is nothing for the user of the toolkit to install.

The purpose of this toolkit is to provide Sametime statistics data in a more consolidated and accessible way. The toolkit can be used to measure usage and/or load on the server. This toolkit is new for Lotus Sametime V7.5.


The Lotus Sametime Online Meeting toolkit

The Lotus Sametime Online Meeting toolkit provides scheduling services that mirror the capabilities of the Lotus Sametime Meeting Center, such as creating, editing, updating, and deleting meetings. The toolkit is a Representational State Transfer (REST) based entry point into the server, so interaction with this entry point is via HTTP. Use the toolkit's developer’s guide to determine the construction of the URL that provides the interaction needed.


Conclusion

IBM Lotus Sametime V7.5 represents a major upgrade both in out-of-the-box capabilities as well as the tools available to developers. The addition of five new toolkits increases the total number of Lotus Sametime toolkits to ten, providing a depth and breadth of customization that cannot be matched by any other enterprise-ready, secure instant messaging application currently on the market.


Resources

Learn

Get products and technologies

Discuss

About the author

Lori Ott is a BP Technical Enablement Specialist. She joined IBM in 2000 as a curriculum developer for the Lotus Notes Application Development team for Lotus Education. She is a co-author of the IBM Redpaper, "IBM Workplace Managed Client: ISV Integration Guide."

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Lotus
ArticleID=155346
ArticleTitle=A tour of the IBM Lotus Sametime V7.5 toolkits
publish-date=08292006
author1-email=loriann_ott@us.ibm.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers