Transcript Document
Java Developer Oriented
Comparison of
Communication Services
Sean Leslie
Ricardo Tirado
1
Introduction
Project Title
Self-configuration of UCM layer for CVM
Project Goal
Incorporate Google Talk and JML functionality into
CVM
Apply self-configuration to UCM
Project Status
In-depth inspection and comparison of
communication API
Survey Paper
2
Introduction
Problem
No criteria for rating communication services or their API
No comparison of JML, NCB, Skype, Google Talk/Smack
No one communication service satisfied all of our needs
Motivation
Develop criteria for comparison
Apply this criteria to JML, NCB, Skype, Google
Talk/Smack
Provide Java developer oriented comparison of these four
service layers
3
Background
Historical Brief
Communication: Essential to mankind civilization
Internet: new model
perks
Email
Instant messaging
Voice conversation
4
Background
Autonomic Computing
Self-configuring behavior in computing systems.
Communication Virtual Machine
Paradigm shift on the development of today’s
communication applications.
5
Background
Communication Frameworks
Reusable partial application for communication
Implements protocols
Focus on applications top requirements
Examples
JML
Smack
Eclipse Communications Frameworks
6
Communication Features
Core Features
Chat (1 to 1)
Chat (Group)
Contact List
Audio (1 to 1)
Video (1 to 1)
Video (Conference)
File Transfer
Additional Features
Scrolling Marque Text
Emoticons
Online Status
Avatar Images
Voicemail
7
Java MSN Library (JML)
Pros
Presence
File transfer
Open source
Simple
Contact list
1-1 chat
1-all chat
Cons
Some code must be
implemented
Limited features for third
part clients.
No streaming videos.
No voice chat.
No video conferencing.
No file-sharing.
Poorly documented
Project is still in early
development.
8
Skype
Pros
Presence
Contact list
1-1 and group chat
1-1 Audio calls(PC-PC)
1-1 Audio calls(PC-Land)
Voice conferencing
1-1 Video
Cons
No file-sharing
Not open source
No Video Conferencing
9
Smack/Google Talk
Why use smack?
No complete Java implementation of Google Talk API
XMPP supported
Cons
Pros
Presence
Contact List
File transfer
Open source
1-1 and Group chat
Audio Chat (PC-PC)
Well documented
Limited features in
comparison to Google
Talk
No video.
http://www.igniterealtime.org/builds/smack/docs/latest/documentation/
10
Network Communication Broker
(NCB)
Pros
Presence
Contact List
1-1 and group chat
1-1 voice chat (PC-PC)
Voice conferencing
1-1 video chat (PC-PC)
Video Conferencing
Cons
No file transfer
Not fully tested
11
Comparison (Features)
Identify the core features
Award a check for each core feature present in the API
List additional features and award a check for additional
features
Availability of features
Criteria
Additional Features
Core Features
Chat (1 to 1)
Scrolling Marque Text
emoticons
Chat (Group)
Contact List
Online Status
Avatar Images
Audio (1 to 1)
Video (1 to 1)
Video (Conference)
File Transfer
Voicemail
JML
NCB
Skype
Smack/GoogleTalk
12
Comparison (Documentation)
Identify different kinds of documentation
Award a check for each form of documentation
provided
Documentation
Criteria
Javadoc
Comments in Javadoc
Tutorial
White paper
Examples
Additional Features
JML
NCB
Skype
Smack/GoogleTalk
13
Comparison (Totals)
Total each category for a side-by-side
comparison
Totals
Service
JML
NCB
Skype
Smack/Google Talk
Documentation
Core Features
Additonal Features
40%
40%
80%
80%
57%
86%
86%
71%
60%
20%
80%
60%
14
References
[1] http://www1.cs.columbia.edu/~salman/publications/skype1_4.pdf
[2] http://www.skype.com/
[3] https://developer.skype.com/
[4] http://www.columbia.edu/~cga2104/skype4java/
[5] http://blackhat.com/presentations/bh-europe-06/bh-eu-06-biondi/bheu-06-biondi-up.pdf
[6]Yi Deng, S. Masoud Sadjadi, Peter J. Clarke, Chi Zhang, Vagelis Hristidis,
Raju Rangaswami, and Nagarajan Prabakar. A communication virtual
machine.
[7] https://jain-sip.dev.java.net/
[8]http://edition.cnn.com/books/beginnings/9811/internet.time/index.html
"article on netscape v. Microsoft"
[9] http://www.livinginternet.com/i/iu.
[10]http://www.igniterealtime.org/builds/smack/docs/latest/documentation
/
15