• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Paul Clapham
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Liutauras Vilda
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Roland Mueller
  • Piet Souris
Bartenders:

Instant Messaging in Java

 
Greenhorn
Posts: 20
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Howdy Y'all,
JavaRanch is giving away four copies of the book "Instant Messaging in Java: The Jabber Protocols <http://www.amazon.com/exec/obidos/ASIN/1930110464/ref=ase_electricporkchop>; ".
To qualify for the drawing, all you have to do is participate in thi forum ("Sockets and Internet Protocols <http://www.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=forum&f=8>; ")!
Thanks to Java Ranch for hosting the giveaway and Manning Co. <http://www.manning.com/>; for the book's!
I'm ready to answer any questions you may have, and would love to hear your comments on the book or on Instant Messaging (IM) in general.
I'm especially interested to hear people's experience developing, customizing, extending or deploying instant messaging systems.
-iain
 
Ranch Hand
Posts: 150
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Could you give us a brief description of the instant message system ?
Thanks
Ruilin
 
Ranch Hand
Posts: 15304
6
Mac OS X IntelliJ IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello Iain. Thanks for talking to us today.
[ June 18, 2002: Message edited by: Gregg Bolinger ]
 
Gregg Bolinger
Ranch Hand
Posts: 15304
6
Mac OS X IntelliJ IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Are there any pure JAVA clients available that use the JABBER protocal? All I can find on the web site for jabber are C/C++ implementations of clients.
I know that there is a development library for JAVA called JabberBeans, but what about the clients themselves?
Sorry this doesn't have much to do with the book, but I thought this would be a good place to ask anyway.
Thanks.
 
Iain Shigeoka
Greenhorn
Posts: 20
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Good questions.
Ruilin,
The book focuses on creating Instant Messaging in Java. I use the Jabber protocols (www.jabber.org) in the examples and as a reference for how this can be done but I tried to keep the discussion general because there are other IM protocols out there.
Jabber is an open source, XML, distributed client-server IM protocol. Each term in turn is:
open source - implementations, standards and documentation are released under GPL.
XML - All data sent in the Jabber protocols is well-formed XML.
Distributed client-server - the messaging architecture resembles email. Clients connect to central servers. Jabber servers control a "Jabber domain" and communicate between each other when messages must be passed from a user in one domain to another.
Jabber IDs follow email format so [email protected] is a jabber Identifier for sending Jabber IM messages to user "iain" at the domain "shigeoka.com".
You can learn a lot more on it at the jabber site (www.jabber.org) or pick up my book. Seriously, if you go to a bookstore and read the first chapter it should give you a good background on Jabber and IM.
-iain
 
Iain Shigeoka
Greenhorn
Posts: 20
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Gregg,
Since your question involves Java and Jabber, it's close enough to the book to count for me. JabberBeans is definitely the most common thing I've seen out there as far as Jabber in Java.
I recall someone doing some Java development using JabberBeans but I don't think it ever got past the early alpha stage.
Al Sutton has a J2ME Jabber client. So does Streampath (www.streampath.com). I think there are other J2ME Jabber clients that will be shipping soon as part of the flood of Java smartphone market push.
From what I've seen desktop clients are primarily native with C/C++ being the most common (many of them using JabberCOM).
The Jabber protocols are relatively simple to access in Java once you work around the fact that you have to incrementally parse an XML stream (most Java parsers are setup to parse an entire XML document start to finish before giving you control/access to the data).
So the real difficulty is creating a compelling, easy to use Java GUI (obviously a pretty big challenge). In fact the Jabber protocols are so simple to handle (its pretty much like writing an email client) that writing a client is really an exercise in GUI development. And I think that's why some people start in Java but most end up in Visual Basic, Delphi, or C++. I was even considering writing one in Flash.
I do think that a Java client is a very worth while product. Obvious places include J2ME, applets, servlets, and enterprises that have committed to Java for their infrastructure. I look at LimeWire (www.limewire.com) and keep my hopes alive for a great Jabber Java client.
-iain
 
Gregg Bolinger
Ranch Hand
Posts: 15304
6
Mac OS X IntelliJ IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks and in doing some searching on Google, I actually found a couple of descent JAVA clients. They could use some work, but a good start none-the-less.
 
Ranch Hand
Posts: 231
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would like to know what are the main points to decide wich protocol i have to choose to build my messaging app, and the pros and flaws of every candidate protocol.
Thanx!
Juanjo
[ June 19, 2002: Message edited by: Juanjo Bazan ]
 
Iain Shigeoka
Greenhorn
Posts: 20
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Juanjo Bazan:
I would like to know what are the main points to decide wich protocol i have to choose to build my messaging app, and the pros and flaws of every candidate protocol.
[ June 19, 2002: Message edited by: Juanjo Bazan ]


It would be pretty hard to do a comprehensive survey. There are dozens if not hundreds of protocols that already exist or are being developed today.
In evalutaing I'd probably ask the following questions:
What network will I use? If you have tcp/ip you can use sockets. If you have Java at both ends you can use RMI. However you may be stuck with HTTP only, or SMS, etc.
What clients will be used? Do you need to support embedded devices? Desktop clients? Web clients?
Do you want/need/can afford to have a server? You can use peer-to-peer technologies if not (gnutella, JXTA, etc).
What level of security do you need to have? Some protocols give you better security than others.
What level of reliability do you need to have?
Can you afford to pay for your solution? There are some open source alternatives but many of the high end ones are proprietary.
What kind of data do you need to pass over the IM network? Streaming media files? Large data sets? Or just simple text chat?
Do you need to have multiple vendors for solutions? Open source like Jabber has some advantages here but other comomn technologies exist such as Java Message Service (JMS), CORBA, etc.
Do you need to have commercial support?
Do you need to integrate with other desktop or server infrastructure. Like it or not MSN Messenger and Passport is well integrated into MS products and has a lot of advantages in that light (like integration into Outlook). Yahoo messenger can integrate well into their other web offerings, Lotus IM and Domino, etc etc.
Once you answer these questions, you can start to evaluate the alternatives and narrow down the field to some small enough group to do indepth research and take it on some trials.
Sorry there aren't easy answers for this one.
-iain
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic