third party tool for chat? - java

I want to develop a chat application for my product. Its done in java and spring .
The people in my product have there own domain name.
can you suggest any good third party tool, which is free.

What about XMPP (the open protocol which is used by, amongst others, GTalk)? Have a look at http://code.google.com/appengine/docs/java/xmpp/overview.html

You question is very broad but you could take a look at http://java-source.net/open-source/chat-servers for Open-Source Chat Servers written in Java. But these are actual servers that run and clients connect to. As you mentioned a domain-name you might want a Web Based Chat Solution, check out - http://chipchat.sourceforge.net/ - for this.
Update Users want a Web Based solution using a Comet Approach
Maybe try - http://avricot.com/blog/index.php?post/2009/05/19/AvriChat-%3A-Real-time-Chat-Javascript-Comet-and-Java-Server or - http://cometdaily.com/2009/10/23/concrete-comet-examples/ also shows a example of chat with comment
Please try Google it has all the information you will ever need.

Related

How can I implement a scalable chat API in java, on top of tomcat + jersey?

I need to implement a chat server API in Java in a way that it can scale horizontally. I'm currently using tomcat + jersey + postgresql server side to implement a REST-like layer, and it would be good for the proposed solution to work with these technologies, but if I you believe the best solution lies with other java techs it can be discussed.
I've been looking at websockets, and some of the chat samples out there, starting with the tomcat websockets chat, but they are stateful and not well suited as they are to scale.
The way I see it, with a websockets approach I could take state out of each node, by storing it in the database, but then I'd need some sort of pub/sub mechanism for all nodes to push new messages to the clients they are bound to that participate in a chat room.
Since I don't want to reinvent the wheel, I was hoping to be able to put in place a solution by composing existing and tried technologies. Thanks in advance.
Take a look at Cettia - Java server's quick start guide and clustering section, which is designed to meet such usages.
A cettia application is designed to run on Grizzly, Netty, Play, Servlet, Vert.x, and so on and to share nothing between servers for easy scaling (pub-sub system is enough).
Here's some examples for you:
Servlet 3 and Java WebSocket API 1 for Tomcat
JAX-RS 2 Atmosphere2 for Jersey
Hazelcast 3 for scaling
jGroups 3 for scaling
I'm the author that project. If you mind it's in alpha stage, you may want to try Atmosphere out, which is similar to Cettia but provides GA.
If you don't want to reinvent the wheel, I'd suggest a Jabber/XMPP server like ejabberd or Openfire (if you really want a Java solution). Its not RESTful but its an industry standard chat server and is horizontally scalable.
please check out solutions at:
http://www.programmingforliving.com/2013/08/websocket-tomcat-8-ServerEndpointConfig-Configurator.html
or here:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/examples/WEB-INF/classes/websocket/chat/ChatAnnotation.java?view=markup

Clouds: Amazon, Google, Microsoft - What kind of frameworks can I use?

I need to develop some simple application like demo and this demo should connect to 3 clouds S3, Google Storage and Azure. This project is java based, Can I use some frameworks for it?
I've looked to the jclouds, native s3 and spring data and decided to ask this question ...
Thanks
JClouds would seem top be a good choice here, providing a consistent API to interact with the various cloud services. Like any abstraction, it's probably not as functional as any of the "native" APIs, but it's under very active development, so it'll improve.
I suggest you pick one and try it.

Android communicating with servers

I come from a .Net background and recently x-training to java.
I wanted to develop an Android application that required simple functionality to communicate with a server. For example, functionality such as post a username/score to a website (or service), or request information such as top 10 scores.
What type of communications should I focus on? What is the common technology to use? Does Java have the equivalent of WCF? Or does it have some sort of simple web service? Can web services be secured with authentication?
Ive heard other references to xml-rpc. Should this be something I should look into?
Depends on what your server is running. I usually just use URLs to fetch and/or send data and then parse the response with whatever is suited (such as org.json for JSON or org.w3c.dom for XML or HTML).
Java has the equivalent of WCF in the fact that you can develop Web Services with Java and use frameworks to develop such services to benefit from different features. The format which you send messages to these web services I think is what you are asking as such you literally can use any format you want (Dependent on support of such format by the service). You will find libraries for many of the well known formats like SOAP (KSOAP2), REST (JSON,XML) etc... Since the transport of these can be over HTTP, and you get a library in android to develop such services over HTTP you have quite a choice.
For Reference:
http://ksoap2.sourceforge.net/
https://metro.dev.java.net/
http://msdn.microsoft.com/en-us/netframework/cc950529.aspx
Hope this helps,
Andrew
Without knowing all of your requirements but assuming it's gaming-related, you might be better served trying one of the Android gaming APIs rather than trying to roll-your-own networking solution. Scoreloop and OpenFeint, the two I am currently considering for my own Android game, both offer Android APIs that make it fairly straight-forward for posting and retrieving high-scores, in addition to other game-related features such as challenges and social network integration.
The advantage of this option is that you don't have to worry about how the phone talks to the server nor do you have to host the server itself - they have already solved those problems for you - and they're free which makes it great for us indie developers.

External XMPP component - Anyone know a Tutorial or Open Source Example please?

I want to run an XMPP server (Openfire) and register an external component to handle the messages it will recieve (using the Whack library). The external component will run my game logic and I will be using XMPP to send player moves to the server and status updates in the other direction. The bonus with XMPP is that we get built in chat for free.
The trouble is, although Ignite look fairly established, I can't find a tutorial on how to write, register and debug an External XMPP component written with Whack, there are very few in general for that matter.
I am not invested in either the server implementation or the External Component library, java is just my language of choice. If I was to move to Erlang or Scala or something it would have to be a very simple in that language.
A single tutorial or example would go a long way here, I just need an basic External XMPP component pretty please!
Kind regards,
Gavin
I found this tutorial which explains how an external component can be implemented using the Whack library.
There are a few examples/tutorials for related XMPP libraries like Tinder and Smack which you may find useful.
Or, in a rather different vein, you could decide to be protocol-agnostic and use IMified's API, in which they host the "chatbot" (as it were) which connects with your simple HTTP-based response server built in whatever language/framework/whatever you prefer. (They do a lot better explaining it than I do.)

What's a Java alternative to Google App Engine for developing iPhone Push Notification services?

I'm a Java programmer who is working on an iPhone application. I'd like it to use Push Notification services.
I originally thought I could use Google App Engine to provide the payloads to Apple, but I see now that it won't be possible because App Engine doesn't support the low-level socket programming that is needed to communicate with Apple.
Are there any alternatives to Google App Engine that let me use Java?
In brief, I'm wondering if there is a free hosting platform that supports Java and Socket Programming
UPDATE - since writing this question I've written an app that uses Urban Airship to act as a middleman between GAE and APNS. It works just swell. There is an app engine issue on this - http://code.google.com/p/googleappengine/issues/detail?id=1164 if you'd like to follow, but personally I've decided that this isn't really something that GAE should be doing. Just use Urban Airship.
Urban Airship provide RESTful web services for sending iPhone push notifications. This cookbook example shows how to use it from GAE using Python; I assume this can be done in Java also.
Though as yet it's vaporware, keep an eye on App Notify as well. Urban Airship looks pretty cool, but doing the math in my head, I'd end up paying them hundreds of dollars a month for an app that I'd have a hard time selling for more than $0.99.
Like Justin said (thanks random evangelist), AppNotify is launching nearer to the end of this month. We're just finishing up a few admin screens and doing some final tests. The pricing will be better structured than Urban Airship, and with a much better interface.
If you want something in particular or more info, send me an email personally at adam.m#selectstartstudios.com
We're using it to develop our own products, but if we've missed a corner case I'd like to know about it.
Good luck
You can do it yourself with an Amazon EC2 cluster. They have a nice Eclipse plugin for easily spawning Tomcat instances and remote debugging Java applications.
You can also check and follow these guys. It seems they are working on different stuff onto APNS integration. check out ns4app
Edit : They are changed their names and products ? forget my previous link. Check out MonoPush Project

Categories