Hi, I want to create a chat program for use over the internet (and possibly extending to PDAs) and i was just wondering what java technology to use. I have been reading up, but i'm not sure whether to look in the direction of Jini, or Web services or RMI or J2EE. I am ok with Java, i'm just not sure where to start, and the books and explainations make me a bit confused. I was just wondering what the best/main one i should look at should be. If you could tell me i would be grateful, i just need to be pointed in the right direction. This is for a project.
Jabber is not a bad protocal to start off with. It would probably be the easiest thing to start with in my opinion. As you can see from the link they have libraries for every programming language it seems. With that being said, it really isn't all that difficult to write one from scratch using the java.net API's. But it would be a lot more time consuming doing it this way than using an already existing API like Jabber has. I am sure there are more options as other people will point them out.
Thanks a lot Gregg. I'm checking out that site now. However i think i do need to create one from scratch, i want to get a good grade and this project is supposed to be tough (degree), i have four - five months to complete it. I'd also like to increase my own knowledge of Java for the future. I am an SJCP, so i think my fundamentals are ok. I would like to try J2EE, but is that the way to go with what i have in mind? Or is that too advanced? Do you have any other suggestions? Thanks again. [ October 30, 2003: Message edited by: Sophie Jo ]
Unless you are doing some sort of Web Based Chat application, there is nothing you can do with J2EE. J2EE basically consists of Servlets, JSP, EJB, etc. I would think you would be just fine doing it from scratch. Probably use SWING to build the GUI.
Well my idea is basically something like an IM, with maybe extra features if possible, so i thought it was web based. Java Message Service API is on the wrong track? Or Jini? If i just use Java it is still possible for me to enable file transfers and stuff? Thanks
Originally posted by Sophie Jo: Well my idea is basically something like an IM, with maybe extra features if possible, so i thought it was web based. Java Message Service API is on the wrong track? Or Jini?
JMS is a 'publish and subscribe' architecture. It's for coordinating enterprise data systems, like when the accounting system has to talk to inventory system. It's really not for IM, though you could consider each client a publisher and subscriber. . . Jini is a network technology for creating appliances, like printers or servers, which when plugged into a network announce their presence and make services available. Again, not quite what you are looking for.
If i just use Java it is still possible for me to enable file transfers and stuff?
Jini and JMS are both written in Java so it must be possible. Start small. Get a good scalable chat program running. You will have to master sockets, synchronization, client-server, security. All sorts of good technical problems. You can always bolt on, excuse me, iteratively release, file transfers, buddy lists, skins or whatever if you have time.
I know this is WAY WAY late, but I wrote a Java IM from scratch using sockets that sent messages of UDP. (I never did get the file transfer part going) but since this app was actually used, (and still in use) in a corporate environment, they really only needed IM and not file transfer...
I am now looking into writing a client for jabber, but that'd just be for the fun of it.