Apr 21

For some impressions of the JAX conference 2008, check out my Picasa Web Album JAX 2008.

Apr 20

We are going to leave Bayreuth in about two hours. Tomorrow will be the first day of this year’s JAX conference. While the main conference starts on Tuesday, there will already be several so-called “Special Days” on Monday. We are going to attend the Agile Day. Here a little overview of the topics:

  • Comparison of several agile methods (eXtreme Programming, Scrum, Crystal and Feature Driven Development)
  • A guide to becoming agile
  • Collaboration in Java Projects (IBM Rational’s Jazz)
  • Scrum roles and their meaning for agile teams
  • Field report of a Product Owner
  • Agile project management with contracts for services

I think it is a good start to see the different methods at the beginning of the day to have a better understanding for the following more specialized topics. I hope to get a very good insight into agile methods and agile project management as everybody is talking about it and there are often also very controversial interpretations of what agile really is. Of course, there are and must be always different opinions about such things. After all, it’s not about the name or definition of a method, it’s about the success that the applied strategy is supposed to deliver…

Apr 19

JAX 2008: The journey starts tomorrow

Tags: , , , Comments Off on JAX 2008: The journey starts tomorrow

Tomorrow, I will travel to Wiesbaden together with Andreas to visit the JAX 2008. Since we took advantage of the “very early bird offering”, we can join the Agile Day on Monday (April 21) for free. This is a bonus for booking the main conference that takes place from Tuesday to Thursday.

I’m looking forward to the atmosphere and knowledge that is present at “Europe’s No. 1 conference for Enterprise Technology and Strategy” in Wiesbaden’s Rhein-Main-Hallen. Last year, we didn’t follow the whole conference but joined in only on Wednesday for the second and third main days. Additionally, we attended the workshop for model-driven development with Eclipse and openArchitectureWare which was very interesting.

However, this year we decided against a workshop in favor of attending the whole main conference. What we didn’t change is the hotel where we will have dinner and sleep: Hotel Rheineck.

Stay tuned for more information about the conference: The hotel provides free internet access via Wireless LAN ;)

Apr 08

I really enjoy my MacBook and OS X, but I neither want to install nor use Safari on Vista (I don’t even use it on the Mac due to some vital Firefox Add-on ;)).

Always having to uncheck Safari when there are Quicktime updates is not very user-friendly…

Thanks Lifehacker for pointing out how to permanently stop safari on my PC

Feb 04

Tag vs. Location in Subversive tag dialog

Tags: , , , Comments Off on Tag vs. Location in Subversive tag dialog

Have you ever wondered why you have to enter the full location for a tag (like http://svnserver/tags/v20080204) instead of simply entering the tag name (like v20080204) when you are about to create a new tag for a project via the context menu (Team -> Tag…)?

The solution is to enable structure detection for the Subversion repository:

  • Switch to the SVN Repository Exploring perspective in Eclipse
  • In the SVN Repositories view, right-click on the repository and select Location Properties…
  • Go to the Advanced tab and activate Enable Structure Detection

Of course, the Resource Names must correspond to the folders in the repository to make this work.

From now on, the tag dialog will ask you for the Tag instead of the full Location.

Feb 02

I have been using Polarion.org’s Subversive plug-in for quite some time now. The latest version from Polarion was 1.1.9. Since the project is now hosted on Eclipse.org, the old update site does not provide the up-to-date version of Subversive. Fortunately, there is a migration guide for those who want to make the switch. The current version is 0.7, since Eclipse projects in incubation phase should have a version less than 1.0.

Migration in a nutshell:

  1. DO NOT UNINSTALL the Polarion.org version before installing the Eclipse.org version, otherwise you may lose all your SVN settings.
  2. Install the new version of Subversive + the SVN connectors (still from the Polarion site).
  3. Migrate your workspace via Help > Subversive > Migrate Projects and Settings. Do this for EACH workspace you want to be up-to-date.

(Please refer to the above mentioned migration guide for details.)

Unfortunately, shortly after I started the migration of projects and settings in my workspace, the dialog did not show any further progress after reporting that settings were converted and Eclipse seemed to hang somehow. Since nothing happened after a while, I decided to terminate the process and restart Eclipse. This time the migration worked, except for a warning that some closed projects could not be remapped. So I opened those projects and performed another migration which finished without any errors.

The next weeks will show whether it was a good idea to migrate to the still incubating project ;)

Feb 01

Enterprise application development with Eclipse Riena

Tags: , , Comments Off on Enterprise application development with Eclipse Riena

While browsing the sessions of this year’s JAX conference I stumbled on the Eclipse Riena project.
The project page says:

“The Riena platform will be the foundation for building multi-tier enterprise client/server applications. As such Riena will broaden the usage of the service oriented architecture of OSGi/Equinox by providing access to local and remote services in a transparent way. Using this uniform programming model, the components of Riena and the business components of the enterprise application can be developed regardless of their target location. Components are later easily placed on client or server depending on the business requirements.”

The ideas behind Riena look very promising. If you have previously faced the task of writing a RCP client for an enterprise application, e.g. based on EJBs, then you have probably already struggled with at least some of the items on the project plan. Instead of putting all your effort into the features and usability of the application, you end up spending a considerable amount of time debugging RMI classloading issues (until you place Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader() in your bundle’s start method or before any remote access in some ServiceLocator…) or configuring authentication/authorization mechanisms. Not to mention the tedious exception handling of pre-EJB3 session beans… Of course, you can solve such problems somehow on your own, but you should always ask yourself why you have to solve them and why there is no built-in framework or component that handles the intricacies for you.

I’m also very curious about the announced persistence support. I wonder if service tiers for data access will be addressed. You have to decide at some point to either provide dedicated data transfer objects or the mapped entities themselves. However, the latter brings up further questions regarding lazy loading of uninitialized fields of objects that have already been transfered to the client. But more on this possibly in another post…

Hopefully, with Riena, we can soon spend less effort on infrastructure and concentrate more on things that matter.

Apr 26

Sessions that I attended today (again merely translated from German where necessary), including some more or less detailed notes about the content:

  • Contract pokering and requirements engineering
    Chris Rupp and Annette Haupt, SOPHIST GmbH – very good speakers
    What needs to be defined in a contract, as few as possible <-> as much as necessary?
    Words by themselves are meaningless, they are only defined for a common social background/experience.
    Different stages of knowledge define how detailed customers will specify requirements and what their (implicit) expectations are.
    RCDA-process: Require, Commit, Deliver, Accept
  • Keynote: The Role of Java EE in Enterprise SOA Development at SAP
    Harald Müller, SAP
  • Keynote: Java IDE(s) – The, Now and Eventually
    David “I” Intersimone, Code Gear
  • Building Server-Side Eclipse based web applications – Part 1
    Jochen Hiller, BOS and Gunnar Wagenknecht, Truition – good speakers, technically experienced
    Equinox base for a web server using Jetty as a servlet container, can run standalone or deployed as a standard WAR inside any application server.
    Full use of extension mechanism for web app development.
  • Java SE 6 only
    Adam Bien – very good speaker
    Discussion of several standard features in Java SE 6; proposal to use those as long as there are no further requirements -> eliminates dependencies to numerous frameworks, that may be superfluous anyway.
    ServiceLoader, XMLEncoder/-Decoder, JMX, DynamicProxy, CORBA, RMI, built-in scripting engines, Swing with sophisticated L&Fs;
    Domain Driven Design and Cross Cutting Concerns were also addressed at the end of the talk
  • Object-oriented Enterprise Java with Spring and AspectJ
    Eberhard Wulff, Interface21 – this time less motivated than yesterday somehow
    Spring template mechanism; exception translation -> this looks interesting e.g. for transforming error codes of stored procedures to custom exceptions; dependency injection; distributed applications, Spring Exporter, Proxy, HttpInvoker; Acegi Security System for Spring, annotation based security declaration -> this looks interesting, shoud review this some day.

Tomorrow will be the power workshops, where we will especially attend MDD with Eclipse. But we may also look into some of the other groups, if there is room for it.

Apr 25

Sessions that I attended today (most of the titles are actually in German, so I had to translate some):

  • Rating of software architectures, Part 1: Method
    Dr. Gernot Starke – very good speaker
    Experience is required for rating architectures; functional requirements are not enough; Quality tree -> ISO…, ATAM (Architecture Tradeoff Analysis Method (SEI))
  • SOA – Defining services from a business point of view
    Lars Roewekamp, OpenKnowledge GmbH – ok, slides hardly readable from the back (small fonts)
    Some interesting thoughts about structuring services and service operations according to business requirements rather than existing IT architectures.
  • Keynote: Bringing Web 2.0 in the Enterprise
    Rahul Patel (Oracle)
  • Persistence with Spring
    Eberhard Wolff, Interface21 Germany – very good speaker
    Comparison of different persistence approaches using spring templates for plain JDBC, iBatis and O/R-mappers like Hibernate; recommendation to use O/R-mappers with great care, especially if database-centric/relational concepts have to be considered (batch operations, stored procedures etc.).
  • Keynote: The security development lifecycle at Microsoft
    Sebastian Weber, Microsoft Deutschland GmbH
    www.thedailywtf.com ;)
  • Message-oriented architectures based on Spring
    Jürgen Höller, Interface21 – good speaker
    API-oriented approach outlining the differences between messaging and asynchronous execution; would have expected to see some example architectures, but there were “only” small source code examples; nevertheless an interesting topic
  • Eclipse Code Camp Night
    Moderated by Wayne Beaton, Eclipse Foundation
    Some specific eclipse development problems were discussed ad-hoc; had some discussion with Wayne and Bernd Kolb about security in enterprise application clients based on RCP, but came to the conclusion that there is no project/proposal yet, unless I wrote one ;)
Apr 24

JAX 2007 starts tomorrow (for me…)

Tags: , , Comments Off on JAX 2007 starts tomorrow (for me…)

So we (a co-worker and me) have arrived at our hotel in Wiesbaden (Germany). Tomorrow in the morning we will check in at the “Rhein-Main-Hallen” where the event is located. The first talk that I will probably attend is about rating software architectures. More on this later, maybe…