Saturday, January 28, 2006

EJB3 session visibility

EJB3 started with the claim to reduce the artefacts needed to program with EJBs. Unfortunately if you want to expose a SessionBean locally *and* remotely, you start to either list all business methods in a POJI for the local interface and the same again in an interface for the remote view. If you update the session bean class by a new method, you need to remember to update both interface files (this calls again for generators like Xdoclet ...)

Another variant to acheive the same result is by using the following view pattern:



In this case you only list the business methods in the "Business" interface. IRemote and ILocal are only marker interfaces that just extend the "Business" interface and which carry the respective annotation:


package foo;

import javax.ejb.Local;

@Local
public interface ILocal extends Business {
// empty
}


This way extending the session bean by new methods just means to update one additional file. Unfortunately this yields again four artefacts for this task, which is far from simple.

Are there better ways to do this?

Tuesday, January 24, 2006

LaTeX on Rail

Ever wondered how to graphically represent EBNF?

There are some packages out there that can produce so called Railroad diagrams.

Phillips has a package called Elegant (you can see some examples in this document)

Then there is LaTeX-style rail.sty online, where the results are quite ok as well (the png image is scaled to 600pt in width, so the real quality is better) :



So, how does one read the diagram? For the start form left to right :-) Words in rounded boxes are terminals (i.e. words that you put literally in your code) Words in normal boxes are non-terminals that refer to other diagrams. A construct like in the start with "AVG", "MAX", ... is a switch statement, where you can choose one ot the options. You will see that above "DISTINCT" is a line without a box. This means that "DISTINCT" is optional.
And this is basically all about reading those diagrams.

Unfortunately, this package does not directly know about the 'ususal' EBNF syntax ( AggreagateExpression ::= ....), but uses its own, which looks like the following for the above example


AggregateExpression : ("AVG" |"MAX" |"MIN" |"SUM")
(
(
'DISTINCT' ? StateFieldPathExpression
) | 'COUNT'
(
'DISTINCT' ? IdentificationVariable
| StateFieldPathExpression
| SingleValuedAssociationPathExpression
)
)
;


Perhaps I am going to write some translator between the formats in Perl ...

Thursday, January 12, 2006

Java Magazin - Internet & Enterprise Technology - Buch-Tipps

German Javamagazin has a review of my JBoss book in the current issue and also online.
Sounds good to me :-)

Tuesday, January 03, 2006

Presentation at Hochschule Heilbronn

On 25th of january I will give a presentation at Hochschule Heilbronn. From their website:
Heiko W. Rupp, Autor des ersten deutschsprachigen JBoss-Buches, wird einen Gastvortrag bei uns halten. Thema seines Vortrages im Studiengang Software Engineering: Die interne Architektur von JBoss.
Start 25-01-2006 14:00
End 25-01-2006 15:30
Where A311 - Hochschule Heilbronn

Tuesday, December 27, 2005

I just left project Xdoclet

I just left project Xdoclet. The basic reason for this is that I just lack the time to contribute any more to this. I try to update my JBoss book, write a new book (this is still a secret :-) and I also have to take care some more of my son, who currently is in a somewhat exhausting age. And then I have a day job as well.
In fact I did not contribute anything to the project within the last half year. Also from current employments etc. the need for Xdoclet is somewhat vanishing with with the new Java 5 annotations.
I still think Xdoclet is a very fine thing and it did help me a lot in the past.
So everyone still involved with it: keep up the good work.

Wednesday, December 21, 2005

Thursday, November 24, 2005

iX-Conference on Better Software is over

I spent the last two days on the iX-conference on better software in cologne.
This conference had a different target audience than W-Jax where I have been last week.
Two highlights definitively have been the keynotes by Tom de Marco and Nilaus Wirth. De Marco was talking about why some companies are faster than others. Reasons are (amongst others) meetings that are held like ceremonies, intra company email spam or presentations that convey no information at all. He also identified the addiction to status reports as one of the retarding factors. All in all a very good presentation.
Niklaus Wirth, who became professor of computer science a year before I was even born, gave a retrospective of that time and about some values that have been lost. He clearly indicated that a (very) good formation is one of the ways to better sofware.

I my self had the luck to talk about tools that can help building better software, why this fails and what you can do about it. My boss was giving a talk about agile quality management and AspectQ.

One of the results of the many presentations is for me that the human factor is getting more and more important.

Nearly all tracks of the conference have been of high quality. Also the catering was good this time as oposed to last week. I am definitively looking forward to the next iX-Conference.

Wednesday, November 16, 2005

W-Jax is over

I've been the last two days at W-Jax conference in Munich. I only took a few sessions as I did quite some talking with conference participants. Overall it was quite interesting and I am sure that I will go to one of the next (W-)Jax conferences as well. In fact I just submitted some proposals for sessions on upcoming Jax in May 2006.

The sessions I participated in were

- EJB 3.0 by Oliver Ihns. At least parts of the presentation seemed to be based on the early draft and not of the public review version. So this might be confusing to some listeners.
- News in JBoss 5 (my own presentation)
- a few keynotes. In one of those, given by a tool vendor, there was the comparision between the software industry and the car industry with its assembly lines. 'd say, that this part of the development process has been solved in it as well. It just means putting software on cd and putting the cd into a nice little card box.
- a session on "why developers can't listen and domain guys can't develop" by two OOse gyus. This was a very good presentation about the needed soft skills in projets. Many projects don't fail because of technical reasons but e.g. because the developer is running in short through a bank where everyone is wearing a suit.
- (partially) in model driven software development by Markus Völter. Markus really has a clue about how to give good presentations. Also the content was very interesting. Unfortunately I had to run off to meet a client offsite.
- "How reliably is WS-reliability" by Marcel Tilly of Innoq. Well, this was hard stuff, but nevertheless interesting. The baseline was that if you want to use an upcoming standard in webservices, use it only if it is supported by IBM and/or Microsoft.

In total the atmosphere of the conference was good and there were intersting sessions and good food :-) The only real bad thing was that the hotel where the conference took place was not able to provide enough stuff to drink. And we are not talking about alcoholic beverages, but about soda water and coke etc.

Sunday, November 13, 2005

Friday, November 11, 2005

Upcoming speaking engagements

Hi,
I'll give presentations

Wednesday, October 26, 2005

JSE 5 and UML

As Java EE 5.0 is upcoming and Java SE 5 even out for quite some while, I was looking into UML-Tools that would help in reverse engineering those new language features as well. Older Tools from the Pre JSE 5 aera just insist that annotations and generics are errors :)
So I came over Omondo EclipseUML This is nicely integrated into Eclipse 3.1 and builds on GEF and EMF.
And best of all: it is able to export UML-Diagrams as SVG! This is something the good old Together6 was able to do and which Rose and XDE were not able to.

So if you 're looking into UML and Java SE 5, you really should have a look at Omondo EclipseUML

Friday, September 23, 2005

Introduction to JBoss Seam

JBoss guys - as I understand mostly Gavin King and Thomas Heute have written an Introduction to JBoss Seam. From a first glance at it this is a real neat document.
It looks like JBoss Seam has a good future to become a de facto standard for webapp development.

The funny part about JBoss Seam is that with it, there will be no more seamless development and integration. Nice marketing trick. Hey, who hat the idea to this name?

Wednesday, September 14, 2005

iPod dropout killer

Lately after the Stuttgart-Lauf, I started again with jogging. I thought that it might be a good idea to have my iPod with me. I had it in my trouser pocket on the backside, as I don't like carrying things in my hand when jogging. After about half an hour, the iPod had some drop-outs which led it into a state where a soft reset was needed or a soft reset did no help and I had to wait until home to plug it into the power supply to do a hard reset.
Since then I bought a sports wrap to attach the iPod to my upper arm. Since I have the sports wrap, I had no more drop-outs on the iPod.
Of course, the iPod shuffle and iPod nano don't need this as they flash based and do not need to access a hard disk to load the songs into memory.

Thursday, September 01, 2005

JBoss rock solid under load

In the last days, I was able to run some syntetical load tests on a Sparc V490 with 4 dual-core cpus, having 16GB or RAM and running Solaris 9. As the target system will be JBoss 3.2.6, we tested against this one.

Tests were conducted with JDK 1.4 and JDK 5.0, having a separate machine firing http requests at the JBoss.

JBoss was rock solid, even when the test app first had an error, not removing stateful session beans, thus passivating thousands of beans.
As expected, garbage collector settings have a huge impact on the overall performance. With bad settings we were only able to saturate two cpus, while with the right ones we kept all 8 cores busy.

Also JDK 5.0 performs a lot better than JDK 1.4 (which was expected anyway).
We also found out, that top on solaris has a bug, only displaying at most 999 lwp, even if a process has much more of them.

For someone usually only having one to two cpus at his hands, this was a nice occasion to play with a "big iron" (yeah, I know that this still is a small box).

Tuesday, August 23, 2005

Job opportunities @ syngenio

My employer, syngenio AG, currently has several job openings in it four branch offices.
Most offerings are around J2EE but also around Lotus Notes/Domino.
So if you know Java, EJB, JBoss, Websphere, portals etc. then come and join us.

The offerings are described on the job page.

We also have an offering for a student worker to support us in project KOMPASS. This is a research project around service oriented architectures and webservices.

Sunday, August 21, 2005

Webservices in JBoss5

In my book I complained that setting up webservices in JBoss4 (and not only there) is soft of a PITA.

Thomas Diesler recently posted about the new Webservices stack for JBoss.

With JBoss5 from CVS (not yet released as alpha) it really is as simple as Thomas described it. Just put a few JSR-181 annotations in your SessionBean, deploy them and you are done.

Thomas: keep up the good work!

Wednesday, August 17, 2005

Next SIG-JBoss meeting

The next SIG-JBoss meeting will take place on 1st september at Alte Scheuer, Stuttgart-Degerloch. The following link lists the aganda:
Java User Group Stuttgart e.V. - Veranstaltungen

Friday, July 22, 2005

Two days in NĂĽrnberg

The last two days I have been in NĂĽrnberg, doing JBoss consulting for my employer, syngenio.

I have (besides changeing tracks at the main station) never been in NĂĽrnberg before and I am really impressed by their old city centre. Most of it has been rebuilt after WWII, as 90% of it was destroyed in the last months before the end of the war. At the northern end of the city center sits the old emperor castle on the top of a hill. Parts of it are always opened and from up there one has a splendid view on the city centre.
When rebuilding the city, they luckily did not commit too much sins by deconstructing good substance and replacing it by faceless 70th buildings. This propbably is also the reason that you can see many tourists from all over the world.

On the Hauptmarkt there currently is the big football by André Heller. This ball is a marketing instrument for the upcoming soccer world championchips next year in Germany.
The ball is supposed to be shown in twelve German cities until then.
Unfortunately, I can't tell what is in there, as it is only open from 10am to 6pm - business hours :-/

Saturday, July 16, 2005

[svg] Inkscape

Inkscape is another svg drawing program. First impressions are quite good. Actually it is a spin-off from Sodipodi, which tries to be more SVG-centric.
Unfortunately it seems to have the same text placement code as Sodipodi, which results in the same svg as described in an earlier blog entry.

Friday, July 15, 2005

Press release about myself

This press release is probably the first one about myself :-) It has been issued by my new employer, syngenio AG, where I am working on JBoss related things like trainings and consulting. The press release can also be found on the press releases page on the syngenio website.