Overview
Note: The Collaboration business pattern is documented to the Application pattern level only.
The Collaboration business pattern (also known as the User-to-User, or U2U business pattern) can be observed in e-business solutions that allow users to communicate and share data and information with other users or groups of users on the network. This business pattern captures the process of identifying and locating users on the network and facilitating sharing of information between these users. The collaboration can be synchronous, through services such as instant messengers and chat rooms or asynchronous, through mechanisms such as e-mail and bulletin boards.
The Collaboration business pattern addresses the interactions between individual users or groups of users that may be in the same location or dispersed geographically across the world. This pattern can be observed even in many of the earliest e-business solutions, such as e-mail and bulletin boards. In fact, three (FTP, Telnet and SMTP) out of the four building blocks of the TCP/IP protocol are geared towards fostering collaboration among users, machines, and applications.
Solutions that foster and promote collaboration between users are critical components in today’s world of one-to-one marketing and knowledgeable, powerful consumers. Consider the popular instant messenger services provided by many online services such as AOL and MSN. These services allow individuals to instantaneously locate and interact with other users logged on to the network. These services allow individuals to set up or be part of groups that are built around some common interest (such as a team working on a particular project) or have some common characteristic (members of a family). They also allow individuals to locate other individuals or groups across the globe and collaborate directly with them. The nature of this collaboration could be a simple exchange of textual messages or it could be a more interactive whiteboard application that allows multiple users to see the same document in real-time and make changes to it. In recent years there has been an upsurge in social networking sites to enable users to share videos, music, photos, experiences etc.
It is rare to see these collaborations as stand-alone solutions. They are part of an overall solution and enhance the features and functions provided by the overall solution. The Collaboration business pattern can be implemented using any one of two distinct Application patterns, presented below. Criteria for evaluating each Application patterns for adoption in your own projects is also provided.
The two Application patterns for this pattern are discussed below. In some cases, specific products that implement this solution design pattern are offered as examples of Collaboration functionality.
Business drivers and Application patterns
- Store & Retrieve - Community - selected tab,
- Store & Retrieve - Targetted
- Real-time
Business drivers and Application patterns
To review the Business drivers for all the Collaboration application patterns review each of the three tabs in turn.
The Business drivers for the Collaboration::Store & Retrieve - Community application patterns:
| Business Drivers | Community Resource | Individual Publish & Community Responds | Community Publish | Community Product & Service Publication | Community Knowledge - Private / Shared Tagging | Community Relationships / Skills / Interests | Community Experience |
|---|---|---|---|---|---|---|---|
| Enhance training of employees |
|
|
|
|
|
|
|
| Support self-learning and education |
|
|
|
|
|
|
|
| Streamline corporate communications |
|
|
|
|
|
|
|
| Locate an expert or skilled resource |
|
|
|
|
|
|
|
| Enable problem solving environment |
|
|
|
|
|
|
|
| Reduce time to make decisions |
|
|
|
|
|
|
|
| Enable feedback |
|
|
|
|
|
|
|
| Provide a mechanism to connect users |
|
|
|
|
|
|
|
| Promote an innovative culture |
|
|
|
|
|
|
|
The Business drivers for the Collaboration::Store & Retrieve - Targetted application patterns:
| Business Drivers | Reminders | ToDo lists | Team Tasks | Team rooms | |
|---|---|---|---|---|---|
| Enhance training of employees |
|
|
|
|
|
| Support self-learning and education |
|
|
|
|
|
| Streamline corporate communications |
|
|
|
|
|
| Locate an expert or skilled resource |
|
|
|
|
|
| Enable problem solving environment |
|
|
|
|
|
| Reduce time to make decisions |
|
|
|
|
|
| Enable feedback |
|
|
|
|
|
| Provide a mechanism to connect users |
|
|
|
|
|
| Promote an innovative culture |
|
|
|
|
|
The Business drivers for the Collaboration::Real-time application patterns:
| Business Drivers | Instant Messaging | eMeeting |
|---|---|---|
| Enhance training of employees |
|
|
| Support self-learning and education |
|
|
| Streamline corporate communications |
|
|
| Locate an expert or skilled resource |
|
|
| Enable problem solving environment |
|
|
| Reduce time to make decisions |
|
|
| Enable feedback |
|
|
| Provide a mechanism to connect users |
|
|
| Promote an innovative culture |
|
|
IT drivers and Application patterns
- Store & Retrieve - Community - selected tab,
- Store & Retrieve - Targetted
- Real-time
IT drivers and Application patterns
To review the Business drivers for all the Collaboration application patterns review each of the three tabs in turn.
The IT drivers for the Collaboration::Store & Retrieve - Community application patterns:
| IT Drivers | Community Resource | Individual Publish & Community Responds | Community Publish | Community Product & Service Publication | Community Knowledge - Private / Shared Tagging | Community Relationships / Skills / Interests | Community Experience |
|---|---|---|---|---|---|---|---|
| Reduce DASD costs of email |
|
|
|
|
|
|
|
| Provide a simple document workflow |
|
|
|
|
|
|
|
| Reduce travel costs |
|
|
|
|
|
|
|
| Modernize legacy telephony |
|
|
|
|
|
|
|
| Supplement enterprise content management |
|
|
|
|
|
|
|
| Alternative to email |
|
|
|
|
|
|
|
| Enhance enterprise search results |
|
|
|
|
|
|
|
| Provide better document security |
|
|
|
|
|
|
|
| Provide mobile access to information |
|
|
|
|
|
|
|
The IT drivers for the Collaboration::Store & Retrieve - Targetted application patterns:
| IT Drivers | Reminders | ToDo lists | Team Tasks | Team rooms | |
|---|---|---|---|---|---|
| Reduce DASD costs of email |
|
|
|
|
|
| Provide a simple document workflow |
|
|
|
|
|
| Reduce travel costs |
|
|
|
|
|
| Modernize legacy telephony |
|
|
|
|
|
| Supplement enterprise content management |
|
|
|
|
|
| Alternative to email |
|
|
|
|
|
| Enhance enterprise search results |
|
|
|
|
|
| Provide better document security |
|
|
|
|
|
| Provide mobile access to information |
|
|
|
|
|
The IT drivers for the Collaboration::Real-time application patterns:
| IT Drivers | Instant Messaging | eMeeting |
|---|---|---|
| Reduce DASD costs of email |
|
|
| Provide a simple document workflow |
|
|
| Reduce travel costs |
|
|
| Modernize legacy telephony |
|
|
| Supplement enterprise content management |
|
|
| Alternative to email |
|
|
| Enhance enterprise search results |
|
|
| Provide better document security |
|
|
| Provide mobile access to information |
|
|
Store and Retrieve
The Store and Retrieve application pattern allows users to collaborate with others on the network interactively. Unlike the Real-time application pattern, this pattern does not require both partners to be online at the same time.
There are two variations of the Store and Retrieve application pattern. The Targetted variation is relevant when a user is collaborating with an individual or a known team. The Community variation is relevant when a potentially large community of independent users are collaborating together based on some shared interest.
The common store and retrieve attributes are described below. The variation-specific business & IT drivers can be found under the tabs above.
Business and IT Drivers
- Time to market
- Improve the organizational efficiency
- Reduce the latency of business events
- Easy to adapt during mergers and acquisitions
- Require deferred collaboration
- Many users
- Leverage existing skills
- Network addressing independence
- Managed service
- Maintainability
This approach can be used to very quickly establish collaboration between users of a solution without having to go through the process of developing a lot of custom code.
Because this Application pattern does not require the client to know the physical or direct address of its partners, it makes it easy to establish collaboration between users in the enterprise and across enterprises.
This is the ideal Application pattern to choose if the current focus is to establish simplistic collaboration functions within a solution. This solution is also applicable when the clients have intermittent network connections and it is difficult to predict when the collaboration partner will be connected to the network. The solution is also cost-effective to develop.
This pattern is not a good fit for solutions where the solution calls for very little latency in the communication of information between the users.
Solution
As shown in the figure above, the main participants in the Store and Retrieve Collaboration pattern include:
- A client that is a peer to the other clients with which it collaborates. The client should be aware of the address of the server to which it needs to connect. In order to support true synchronous and asynchronous communications, these participants should alternate roles between being Senders and Receivers of information.
- Each client has a local data store that is used to retain copies of the data that the user wants to keep on his or her own machine.
- Each client connects into a server. This server authenticates the clients and allows them to log in to the server. Once this is done the client can store messages for other clients on the server.
- The server has a local data store that is used to hold and save messages, documents and other media that are transmitted from clients. Once a client logs in to the server, it will notify them of content stored on the server for them and will allow the client to pull this content down across the network.
Guidelines for use
This Application pattern should be used when:
- The physical or direct addresses of other clients on the network are not known.
- The pattern can support both synchronous and asynchronous communication. This provides ability to support a wide range of solutions from bulletin boards and workrooms to interactive chat rooms.
- A server can be set up that will allow multiple clients to log in and share information with other users by posting messages on (or sending e-mail to) the server for later retrieval.
Benefits
- This Application pattern is simple to implement
- Since this Application pattern does not require that a client knows the direct address of the destination, it is ideal for solutions where the network addresses are not published or where these addresses change frequently.
- Most of the functions of this pattern can be implemented using commercially available collaboration solutions.
- This pattern requires very minimal custom code and is cost effective to maintain.
Limitations
- This pattern calls for the implementation of server software and associated hardware to support new users. This means that this will add to the overall complexity of the solution.
- The nature and type of collaboration supported by this pattern are simplistic. For more complex communications, later Application patterns are more appropriate.
Putting the Application pattern to Use
Some of the most popular applications in use today provide Store and Forward collaboration services. Examples of common products or services implementing this pattern are listed below.
-
Targetted
-
Reminders
- Lotus Connections
- Microsoft Exchange
-
ToDo lists
- Lotus Domino
- Lotus QuickR
- Lotus Connections
- Microsoft Sharepoint
-
Team Tasks
- Lotus Connections (Activities)
- Jive Software
-
Email
- Lotus Notes
- Microsoft Exchange
- Gmail
-
Team rooms
- Lotus Domino
- Lotus QuickR
- Microsoft Sharepoint
-
Reminders
-
Community
-
Community Resource
- Lotus Connections (Files)
-
Individual Publish & Community Responds
- Lotus Connections (Blogs)
- Jroller
- TypePad
-
Community Publish
- Lotus Connections (Communities)
-
Community Product & Service Publication
- Amazon
- eBay
-
Community Knowledge - Private / Shared Tagging
- Lotus Connections (Dogear)
- Jive
-
Community Relationships / Skills / Interests
- Lotus Connections (Profiles)
- MySpace
-
Community Experience
- SecondLife
- Massively Multiplayer Online Game
-
Community Resource
Real-time
The Real-time application pattern allows users to collaborate with others on the network interactively. This Application pattern requires the two users who need to interact to be online simultaneously. It also requires users to register with a server. In this pattern all of the users are peers and there are no client-server or master-slave relationships between the tiers in the pattern.
Business and IT Drivers
- Time to market
- Improve organizational efficiency
- Reduce the latency of business events
- Easy to adapt during mergers and acquisitions
- Require instantaneous collaboration
- Many users
- Leverage existing skills
- Network addressing independence
- Managed service
- Maintainability
- Complex data types
- Significant network bandwidth
This approach can be used to quickly establish collaboration between users of a solution without having to go through the process of developing a lot of custom code. It allows users to simultaneously and interactively modify shared applications and data.
This pattern requires all the users to register with the server. The user’s profile, preferences and security privileges are stored on a server directory. This means that the client does not need to know the physical or direct address of other clients. It also allows us to implement different security levels, and implement more complex collaboration styles that include sharing applications and complex data types.
This is the ideal Application pattern to choose if the current focus is to establish synchronous sophisticated collaboration functions within a solution. This solution is also applicable when the clients have permanent and preferably high-speed network connections. The solution is also cost-effective to develop because many of these functions are available in off-the-shelf products.
Solution
As shown in the figure above, the main participants in this Application pattern include:
- A client that is a peer to other clients with which it collaborates
- Each client will have a local address book where users can set up the users that they communicate with on a regular basis. The users can also set up groups of users and collaborate with them collectively. The local address book will also store the address of the server to which it needs to connect in order to initiate collaboration functions.
- The clients could optionally contain software programs (such as word processors, spread sheet programs, and so on) that can be shared across the network
- This Application pattern requires that each client registers with the server. Once a client has registered with a server, the user’s data and profile is stored in a directory on the server. The client will connect to the server. This server will authenticate the user by validating their access privileges against the Directory. The server will notify them of other users who are online at that point in time and return the addresses of these clients on the network. The client can then use this information to initiate direct collaboration with other clients that are online at that time. In other words, the client uses the server for authorization, authentication, and directory lookup.
Guidelines for use
This Application pattern should be used when:
- The user does not know the physical or direct addresses of other clients on the network
- All the registered users may not be online at the same time
- There is a requirement for sharing simple and complex applications and data types
- A server can be set up that will allow multiple clients to log in and share information with other users in an online and synchronous manner
Benefits
- This Application pattern supports complex collaboration styles.It allows implementation of authentication and authorization on the individual collaboration sessions.
- Because this Application pattern does not require that a client knows the direct address of the destination, it is ideal for solutions where the network addresses are not published, or where these addresses change frequently.
- Most of the functions of this pattern can be implemented using commercially available collaboration solutions.
- This pattern requires very minimal custom code and is cost effective to maintain.
Limitations
- This pattern calls for the implementation of server software and associated hardware to support new users. This means that this will add to the overall complexity of the solution.
Putting the Application pattern to Use
There are a number of popular applications in use today which provide Real-time collaboration services. Examples of common products or services implementing this pattern are listed below.
-
Instant Messaging
- Lotus Sametime
- Microsoft Office Communications Server
- Jabber
- Yahoo
- AOL
-
eMeeting
- Lotus Sametime
- LotusLive
- Microsoft Meetings
- WebEx
- GoToMyMeeting
