IntelliJ IDEA

Can’t code without Since years now I work with IntelliJ IDEA as my Java IDE, which I introduced already back at HP as the Java development tool of choice. While there had been some small problems with performance in earlier versions, it got now better and faster again than ever before.
Meanwhile the Eclipse users around me are getting more and more and they brag about why it would be so superior and much better. I just let them talk and lough at them, because in the end I’m still so much more productive with IDEA. And if I’m the last IDEA user, I will never surrender to Eclipse, which is full of over-engineered features, usability nightmares and unnecessary complexities.
I just don’t understand it why the do not prefer IDEA, where do some people look at? Are they running blindly through the world or just behind the masses? Development is like handcraft, you need the right tools for the work, then it is already half done. IDEA is the powertool for Java and Groovy developers, unparalleled in this ecosystem. At least for me, even if I have given up on these Eclipse-guys meanwhile.

Java on MacOSX

I’m an Apple enthusiast, really in nearly all respects. I have a iMac, a MacBook, a iPhone and hopefully some time an iPad, I have no worries about the app store with either iOS nor MacOSX, not about their unti-Flash war, I pay their prices, watch their announcements, all, really I’m convinced.
But this message about Apple seeking to get rid of their Java Development Kit is too much. Java is not Flash. Java is the center of my world as a developer and architect. Java is the most important ecosystem and implementation system in the world. To try to drop that on the MacOSX platform is insane, mad, unbeliefable and stems from an unparalleled arrogance and superstition. Someone at Apple seems to run amok or has a malfunction in the brain, I can only hope that this isn’t Steve’s idea.
Hello dudes, all server software is Java, tons and tons of desktop tools, heard of Eclipse, Netbeans, IntelliJ IDEA? Does Tomcat, Jetty, Servicemix sound familiar? Any idea of what you are talking about? About the end of MacOSX as a developer platform, as a server platform, shall I continue?
You better think about that idea once more you crazy idiots at Apple!

JUFS 2009

On 2nd of July this years’ Java User Forum Stuttgart took place at the conference center of the Liederhalle in Stuttgart, as usual organized by the Java User Group Stuttgart (JUGS). As any year, I joined together with some collegues from blue elephant systems GmbH: Georgios, Max, Stefan and Florian. All of us found that the sessions did not quite reach the level of the previous years, maybe because there were merely no gurus or experts from abroad participating in the event. Most presenters were mostly german or local consultants. This domination by consulting companies was also obvious in the exhibition floor, apart from one or two tool vendors already known from previous years.

Apart from a refresher on REST, Spring 3.0 and Eclipse 4 I found especially interesting a presentation os open-source single-sign-on solutions (SSO), especially CAS (and OpenSSO). Talking with some consultants at the end provided some interesting insight. I was especially eager to understand how to support single-sign-on solution in MIDAS in order to allow users logged-into other tools already (e.g. the HP OMU Java UI) to avoid a re-login into the MIDAS GUI given proper credentials. It looks like it does not make sense to integrate such a tool directly but rather be able to validate a SAML(2) token given by such a tool in order to accept a authentication. The only problem is of course that there is no standard backend for a ESB request-based authentication as MIDAS implements it (instead of web-container based authentication that obviously only works for web applications). We in MIDAS need to support also API and CLI clients of all sorts and not only web clients and thus cannot apply such simple scheme. Also there is no standard protocol or API between a PEP and the SSO server such that we could easily use a CAS for authentication itself.

Well so a, though not optimal, but still work-free and interesting day, meeting old HP-collegues etc. and finally with a very cute piano playerin in the evening.

Relational versus XML DB

All the world uses relational databases to store and query each and every item. To me this is like having a hammer that worked nice and now you use it to eat sushi. The alternative of the XML DB has long grown mature and it gets time to use it for what it is good for. A example of missuse of relational databases can be regarde e.g. in HP Operations Manager for Unix aka OMU 8 and below, where policies (configuration for monitoring) is stored in a relational database (Oracle) in many many complex tables. Just use a XML DB for such highly structured document-oriented objects, it is easy to query still but very easy to store and access. My split of when to use a relational DB and when to use a XML DB is exactly that, use XML DB for low-volume complex document-like objects. Clearly if one has a simple object with a fixed schema or mass-data such as measurements or audit logs that go into thousands and millions, not using a relational DB would be silly. Its two different weapons, use them when they are suitable.

A common way to avoid the hassles of relational multi-table splits is to use blobs but that only kills the option to query the inner structure of the object. If one would have used a XML DB document one could still nicely and quite efficiently be able to query inner values using XPath or XQuery!

There are several commercial and open-source Java-based XML DBs available, such as Xindice or eXist. I prefer eXist, it supports all query mechanisms is efficient and has good admin capabilities and can be easily integrated into other software e.g. as a war file.

Presentation JUGS 2008

Posthum, I’d like to mention that I was presenting on this years’ Java Forum Stuttgart 2008 (http://www.java-forum-stuttgart.de) organized by the Java User Group Stuttgart (JUGS) a architecture presentation “SOA oder so – ESB für Querdenker” (Abstract E7). The topic was how to use a enterprise service bus (ESB) to build products in contrast to using them in projects. I mainly reported on experiences we got from the MIDAS architecture including special techniques we use, tips and tricks etc.

There was quite a audience in the room and it was a good experience holding a presentation in front of such a audience. I was though not sure whether it was really interesting the the audience in the end as there was not too much feedback. Check out the slides if you like.

Java SSH libraries

I currently know of the following java-based SSH libraries which offer SSH client, server and terminal services:

We currently use jsch as preferred client SSH library also because we have it in the boat already with ant and it has a good license (LGPL).

ganymed-ssh/trilead-ssh seems to support unix terminal support for ssh, that is that one can write a real ssh shell with the library, this is interesting!