The Java platform has traditionally prided itself on its platform independence. While that independence has many benefits, it makes the process of writing Java applications that interact with hardware quite tricky. In this article, a research scientist examines two projects that are making the process easier by providing APIs through which Java applications can make use of USB devices. While both projects are still in embryo form, both show promise and are already serving as the foundations of some real-world applications.
It’s a good article, and I may even reference it, but Java is terrible for Communications.
We’re working in the lab here on serial-based control (RS232 most, but some 485, etc.) for equipment and a variety of controllers.
Sufficed to say, it’s getting hard to use Java when only Solaris and Win95/98 have working versions of the Comms API. The JMF (Java Media Framework) mentioned in the article is also poorly supported beyond these platforms, also.
The new revision of J2ME is looking good, though, fixing many of the problems of the original version, but it looks like it may be too little, too late. It seems that Java has a habit of finally being ready a few years after a quality product would have made a real impact.
Don’t get me wrong, .Net isn’t the future either, most especially when networked computing is so much the core of the zeitgeist and yet .Net is useless on non-Microsoft servers, at a point where platform diversification is rampant.
I haven’t talked to a single person in the last year however (aside from Sun reps), who is enthusiastic about Java’s future. The agreement seems to be that Java is slowly on the way out and that C/C++ are back in style, with cross-platform toolkits leading the way. There is also interest in Perl 6’s interpreter, too. Scripting language <-> Toolkit bindings seem to be getting a lot of focus too.
A quick search on google give me this page, it can be helpfull to you: http://republika.pl/mho/java/comm/
It references an implementation for OS/2 from IBM and some other implementations with a variety of licences. Also is very probably that Blackdown has an implementation for linux.
I used Comm API in a couple of applications some time ago, and I get satisfied, I’m don’t understand what are your problems.
Maybe a new version updated to support Channels can be good, but the current version seems to do the job for me.
Good look
I think it does.
Next time I work on a USB design, maybe this will be an extra tool in the bag. But there have been other HW APIs even more specialised. Anyone ever heard of JBits. Very little reference to it anywhere, it allows HW to reconfigure FPGAs but it’s darn difficult to find out much about it. Nothing ever showed up in the book store. It does allow Xilinx to allow limited access to FPGA internals without letting much of the internals out of the bag.
I thinks Sun is all too keen to help put together yet another Java API, but since the audience for them is so small, its just noise. The real action in HW interfacing remains C/asm.