JXTA client - server - java

I would like to implement a client-server architecture using JXTA. Also the configuration of the server part will be 3 - tier. Does anyone know a good place to get this project started?
Thanx in advance.

JXTA deals with p2p connectivity. This is the opposite of client-server approach.
From what I understand, you want to create a p2p network composed out of 2 nodes.
You can reach the site of JXSE (Java implementation of JXTA protocol) at http://jxse.kenai.com/Tutorials/Tutorials.html
Also, as far as I know, Oracle dropped its support for the JXTA project and the community intends to move it to Apache Software Foundation under the name Chaupal (there is a project on Google Code under this name: http://code.google.com/p/chaupal/).
I used JXTA for a personal project and it proved quite a beast (difficult to use and lots of bugs). I managed to do a simple p2p network. That was version 2.5.
Now it is 2.7 and I read it has improved. I couldn't find any tutorials for 2.7 though...

Related

WebSockets (server/client) implementation in J2SE --- why not?

Can we have an implementation of websockets in j2se?
I mean something similar to the old and not usable but lovely websocket4j?
I'm the author of an application server built in j2se. I don't care j2ee, I primarily use arrays, sockets, threads, db connectivity and filesystem access and it's all for my line. I just need to open to the websockets clientside world.
I don't need j2ee application servers. I don't want to use j2ee web containers. I need only to expand my application server build in plain java to be able to manage websocket sockets (http-handshaked sockets) as well as socket.
damn, somebody forgot the j2se implementation of the websockets?
I read it is not on plans (or only the clientside implementation), but I think what I'm asking should be already available; considered the coming importance of websockets. Isn't it? Why in J2EE only?
hope on some feedback.
thank you.
Your core question of "why" is probably a better fit for the OpenSource SE, but...
As an early adopter of Java, I'm sorry to say that there just isn't a whole lot of interest in J2SE anymore. Some of my favorite J2SE libraries have been coasting on "good enough" since the Java 1.4 days, and libraries for newer technologies are hard to find, as you've discovered.
The good news is that it might not be too hard to write one. There's a decent (can't say good because it's missing Javadoc) Socket.IO client library for Android that would probably be easy to port to J2SE. There are also a couple of server implementations floating around that I think have fallen behind in their support for current versions of Socket.IO. You could bring one of those up to date and port it. Maintain Android compatibility and it would probably attract a lot of support that would benefit both Android and J2SE.
Atmosphere
You might find the Atmosphere ( the Asynchronous WebSocket/Comet Framework) open-source project interesting. See also the Async-IO.org site.
I believe this runs on Java SE, as I use it in Vaadin web apps on Apache Tomcat on Java SE on Mac OS X.
Servlet Containers
Apache Tomcat, Eclipse Jetty, and other open-source Servlet containers run on Java SE with WebSocket code you can use.
Java EE is basically Java SE plus a bunch of jars. You can pick and choose various libraries to run on Java SE.
Wikipedia has a comparison of WebSocket implementations.
right answer came from #Paul:
Are you looking for something like this?
github.com/TooTallNate/Java-WebSocket
exactly.

Kaazing vs jWebsocket

Can somebody please compare these two websocket servers. I have to select one of them; I need an expert opinion due to newbie in multiplayer "online" gaming. I would probably have the flash client. What challenges I could face using one over other.
thanks in advance.
Full disclosure: I work for Kaazing and I have not used jWebSocket myself.
A couple of quick points:
0) Production vs. Beta
Kaazing is production-quality software. The download link on the jWebSocket web page points me to a beta version of the product.
1) Client Technologies
Kaazing provides WebSocket libraries for multiple client technologies (JavaScript, Java, .NET/Silverlight, and Flash), It looks like jWebSocket provides JavaScript and Java. You mention you would need a Flash client and AFAIK only Kaazing provides that. jWebSocket uses Flash for emulation (see the next point).
Note: Kaazing now provides AngularJS, ReactJS, Objective-C (iOS), Xamarin (.NET with support for iOS and Android), Java, .NET, and Android clients. However support for SilverLight and Flash have been deprecated.
2) Emulation (for browsers that do not support WebSocket)
jWebSocket requires Flash, Kaazing does not.
Note that Flash emulation for secure WebSocket (wss://) requires you to open a separate port for the Flash x-domain policy file. In many enterprises this is a non-starter.
3) Protocol Support
Kaazing offers a wide range of higher-level protocols on top of WebSocket: JMS (can run against any back-end JMS message broker), STOMP, AMQP, XMPP, etc. I don't know what jWebSocket does in this space.
4) Enterprise Deployment
It is easy to configure the Kaazing WebSocket Gateway in conjunction with existing Directory services (LDAP). It supports Single Sign-On, and the gateway can easily be clustered for HA purposes (again, not quite sure what jWebSocket does here.)
Please take a look at the documentation for these features:
Security configuration:
Using the Gateway to Support High Availability
Secure Network Traffic with the Gateway
5) Open Source
jWebSocket is open source, Kaazing has both an open source Community Edition and an Enterprise Edition.
Hope this helps for now!
I am a jWebSocket developer, we are currently working in the first production version of jWebSocket, I will just mention some advantages of jWebSocket:
- Multiple clients ( JavaScript, C#, Java OS, BlackBerry, Android, GWT(In process), and some others ).
- Multiple WebSocket engines, just switch and run in the configuration, among them (Grizzly-GlassFish, Tomcat, TCP, NIO...) in order to become jWebSocket more widely used and make applications easier to be migrated.
- NFC and SmartCards, Arduino and other technologies.
- A very variated set of Demos in the client side (Games, Chat, sms, WebSocket-Captcha, Sencha, Jquery & jQuery Mobile plugIns, Arduino, Smartcard, SessionStorage, SSH-Remote Shell Control RT in the web, a Ping Pong Game demo, Channels to create full client side applications without need a server side plug-ins, etc... )
We have been working during a long time in a new Documentation, a new Web Site and a new Production release of jWebSocket for our community, jWebSocket is a project created by people from all the world who dedicate their free time to contribute and create a really usable product to be used by all the opensource community. We are trying to give our best to the community.
I wouldn't establish a comparison between Kaazing and jWebSocket, they both have different communities, goals and LICENSES.
For a gaming platform you might want to check out http://www.pubnub.com/. I met their CTO at a developer conference and for your stated purpose, you might just win big with not having to manage the infrastructure on your own. Check out their http://www.pubnub.com/customers/showcase for details on who is using their infrastructure and for what purpose.
For me, the main point is Kaazing has a proprietary license and it's payed. jWebSocket is LGPL and free. If you are developing an application with an ROI that allows you to pay for a service like Kazzing, I think it is a good option (like pubnub.com and pusher.com), but if you want to build a complete solution and host it or you want to contribute with OS community to create a new websocket alternative, jWebSocket is an excellent option.
There are two things I would add to Peter's comment, one is that Kaazing's emulation solution exposes identical APIs to the native WebSocket APIs, so you only have to learn WebSocket not some other proprietary API. You can check out the demos and the doc that Peter referred to for more information.
Secondly, Kaazing just announced the availability of Kaazing WebSocket Gateway AMIs on Amazon EC2 - http://kaazing.com/cloud
Best,
Jonas
I've been working with jWebSockets for the past 3 months or so, and this is the first I hear of Kaazing.
I will describe how I feel about jWebSocket so far to the best of my ability in the hope that it will help.
Setting up the developing environment and getting started wasn't easy but developing using it is rather comfortable. The entire system makes sense and it is quite easy to understand. You program with Java on the server side and js on the client using json based tokens, it makes it very easy to send and receive data.
It is however very lacking in support. There are a lot of missing documentation and the support forum is nearly dead. There is payed support from the developers but I've never tried it.
There are a lot of open source demos that you can use to understand and get started. Most of them were working smoothly. Something I cannot say about kaazing after a brief visit to their demo site.
In the few months I've been working with jWebSocket I've yet to encounter a single bug, The system works smoothly and my only disappointment is the lack of support and documentation.
If you are looking for a pure open source project, look at the Atmosphere Framework. License is Apache 2.
-- Jeanfrancois (creator of Atmosphere)
jWebSocket is a good framework and support almost all servers. It has support of jetty too. Only problem with jWebSocket is slow development and zero support. Websocket specification are changing very rapidly and jWebSocket releases are very slow. I would prefer to wait and watch jWebSocket framework for some time.

ActiveSync client Java implementation

My company is working on a project to develop a desktop and mobile email client that can connect to different mail servers with minimal configuration for users or server admins. As we want to support Microsoft Exchange it seems we have to implement the ActiveSync protocol in Java. We're already aware of the licensing issues regarding use of ActiveSync and are in contact with Microsoft.
We've already noticed that Android provides a partial implementation of what we want to do but we're looking for a Java library that is more fully featured and easier to integrate into a non-android application.
The solution has to work as a Client, not a server implementation like DavMail. Basically a Java client implementation of Z-Push.
Anyone know of anything available?
I've searched extensively as well, and this is the only Java ActiveSync project I've found so far: http://code.google.com/p/synku4j/
Alternatively, you should definitely first look at Microsoft's own Java EWS APIs instead of any commercial product:
http://archive.msdn.microsoft.com/ewsjavaapi

Building an IRC bot in Java

After some googling an obvious answer or starting point for a Java IRC bot has not presented itself, my question; is there an existing framework to help me do build an IRC bot? Failing that, is this possible using Sockets in Java to do this and has anyone seen an example around the web?
cheers guys.
PircBot
IRClib
SilverTrout has many, but simple plugins. Similar approach as PircBot, only pluggable.
IRClib
IRC-API - Mavenized. I haven't tried. Seems to be quite well designed. Documentation and javadocs can be found on the main page.
ThimBot by David Lloyd, JBoss.
PircBot is the most famous and probably most used, but suffers from hevay design misconceptions and uses several antipatterns. Only use for really simple bots.
PircBot' is a PircBot revival by David Lazar, adds some features, mainly SSL.
PircBot 1.7 by me. Mavenized. I've partly got rid of the God-object antipattern and changed logging to Slf4j / Log4j, plus some minor additions.
PircBotX is a re-implementation of PircBot. I haven't used it in a project (yet), but looks good; I want to migrate JawaBot to it.
JawaBot 2.x is a pluggable standalone application with IRC and web UI which aims to put multiple functionalities under one bot, while still keeping the structure of the code sane. Mavenized.
Currently, there are few plugins:
Jira - resolves name, status and assignee from a Jira issue tracker. Configurable. Default config supports opensource repos: JBoss, Codehaus, Apache and others.
Logger - logs IRC events to a DB. Has a web UI.
Reservation - for reservation of resources over IRC. Has a web UI.
WhereIs - looks for nicks in all channels, supports wildcards.
Messenger - delivers messages to users which are offline when they connect ("answering machine").
PasteBin - let's user paste text through PM, saves it, and posts a link to a web UI to the channel.
AutoOp - gives op to users.
Social - reacts to "Hi!" etc. Kind of Hello World plugin.
JBoss AS Management plugin - allows users to connect to JBoss AS 7 / EAP 6 / WildFly and send CLI commands.
A recent IRC API project written in Java and has (a)synchronous programming model. It also supports saving the IRC server state, and SSL. Check it out!
IRC-API

intranet chat application using java

Any help would be great please..!
How to build an intranet chat application using java which includes transform of files like gtalk?
where to start the process?
what all the sw requirements?
The Eclipse Communication Framework includes several use cases based upon real-time shared editing over XMPP/Google Talk and Skype
And ECF is the base for a twitter client (as an example of what you can do with that framework)
you must have learned networking in java (java.net.*)
be sure of what king d of architecture you want to use
client/server
p2p
xmpp
If you need to deploy one, you can use Jabber with one of many Java Clients out there.
If you need to write your own server and/or client, you can start with this question and use an existing XMPP (IM protocol) libraries.
Why build one when good open source solutions based on open standards are available.
Take a look at running an Openfire XMPP (Jabber) server.
Theres a variety of clients available the best being:
Spark
Pidgin
I beleive that a flash client is also available.

Categories

Resources