Welcome

Welcome to our blog about all kind of topics that are related to software development. We blog about:

SOA, BPM, EDA, ECM and all the other buzz words. Beware some post might not be so common as you think. We are not scared to go against main stream thoughts.

Technologies like java, maven, springframework, OSGi and front end technologies and frameworks like jQuery, DWR, Flex.

Finally to make this happen we need tools and of course a Mac (well some of us do). So we blog about that as well.

Technorati

Add to Technorati Favorites

Linked in

We now have a linked in group, join the group if you are a regular reader and want to see who else reads this blog.

Gridshore 2008 reflection

2008.pngThe year 2008 has almost passed. It is the last day of the year and I want to do some reflection on this year at gridshore. Did you ever think about reflection? Do you use it in you day to day life? Do you use a component for it? Well this is not the reflection I am talking about. I just want to talk about what has happened to gridshore in this year. If you are not interested in history or reflection, you can skip this post.

Continue reading Gridshore 2008 reflection

Defects, Lean Software Development, Offshore, oh my …

This blog item I have dedicated to zoom in on Bugs, a specific type of Waste (muda which is Toyta lexicon) aka DEFECTS as they have a huge effect on Productivity.

drowningBut lets start with the Analysts and their magic 8-bal that has shown them that Lean Software Development will become the hit of 2009.

Bloated applications, platforms and architectures slow application development and make QUALITY CONTROL and everyday usage time-consuming and nonproductive, said Forrester Research principal analyst John R. Rymer. Forrester’s newly-published report, Lean Software is Agile, Fit-to-Purpose, and Efficient, lays out how software got so fat, costly and inefficient; the evidence that IT organizations are moving to lean software; the challenges involved in lightweight software development; and strategies for joining the movement.

There is a lot to say about Lean Software Development as I already mentioned in my blog item on the REAL cost of Offshore .

Continue reading Defects, Lean Software Development, Offshore, oh my …

Using JVM instrumentation to create a Spring Context Loader Agent for standalone apps

Within the JEE platform a rather common and well-understood system of configuration is based on the Chain of Responsibility and the Event Delivery patterns: the life cycle of enterprise components starts with achieving a general configuration goal. However, on top of this goal, the system defines a number of pre-goals that the system must achieve in combination with an event system that allows configurable actions to be undertaken when the system tries to achieve a pre-goal or the final goal. A typical example is the configuration and starting of a servlet. The servlet is configured in a configuration file and the servlet container reads this file, instantiates and initializes the servlet and puts it in the wait state, waiting for requests. But there is more involved: init parameters are set and the servlet context is initialized. Each step generates a runtime event that listeners can listen for and respond to. The standard configuration of the Spring context in JEE web applications uses this model to load context files through the ContextLoaderListener.

The Java Instrumentation API on the other hand is not nearly as well-understood or even as well known. Yet it makes it possible to instrument each and every Java program with a similar Chain of Responsibility mechanism as the JEE standards provide out of the box. The mechanism is used by debuggers and frameworks like AspectJ that have to make just-in-time adjustments to classes as they are loaded.

As a small introduction this article examines the creation of a Spring context loader mechanism for standalone Java Apps. This mechanism is, in truth, not very useful. But it’s a simple and effective exercise to learn the technique.

Continue reading Using JVM instrumentation to create a Spring Context Loader Agent for standalone apps

Using the Memento pattern to solve thread safety issues

Introduction

Author’s note: this is an article that I co-authored
with a colleague, Robert van der Steen. It has also been
published in our company newsletter.

Many of the applications we write for our clients nowadays use the service paradigm: a dedicated and often reusable component within the application that is responsible for a particular task or process. Such components are often written and used in such a way that a component is instantiated once and reused often within the runtime of the application (such as a web service or a Spring managed bean).

Using components in this way is a very resource-friendly way of constructing an application; resource-intensive objects are created only once and reused instead of having to be recreated and reinitialized for each request. However, they do make it necessary to pay special attention to issues that arise in reuse and concurrent use — specifically state management. A common technique to avoid such state problems is to build stateless components.

Unfortunately, mistakes happen in software engineering. Sometimes team members introduce state to shared components without thinking about it. This article discusses using the Memento pattern as an easy way of transforming a stateful into a stateless service.

Continue reading Using the Memento pattern to solve thread safety issues

A small apology

Over the course of a number of different posts on Gridshore, I have mentioned a number of different ideas (mine as well as others’) that I was planning to introduce into my project and of which I promised to report the results. However, I fear that it has become impossible for me to do [...]

Upgrade subversion client on mac osx

subversion_logo_hor-468x64.pngThe mac is a pretty complete system for developing applications. Once I was surprised that tools like subversion and maven come pre-installed. There is a big advantage for the non-technical users that these tools are pre installed. Although I doubt that these people will use it a lot. Would you teach a person to use command line subversion? I guess not. You would teach them to use a tool like Versions. As a developer you can run into problems when you want to upgrade one of these libraries. Some time a go I have already written a post about upgrading maven on the mac. This is a short post about upgrading subversion.

Continue reading Upgrade subversion client on mac osx

Things I do with flex as a java programmer

flexlogo.pngSo far I have written a few posts mainly about the implementation of security and flex. In this post I want to focus on a the usage of flex in a more general sense. For the experienced flex programmer, this might not be a very interesting post, still you might find something interesting. For all java programmers that want to learn more about flex, this post will be an interesting read. Some of the topics I’ll discuss are: Using renderers, using stacks, creating effects, event driven frameworks and everything else that I run into.
Continue reading Things I do with flex as a java programmer

Inspirational moments

I needed of course a reason to write besides the 99 also the 101 Post.

So two inspirational moments to do so:

100 Posts on the Gridshore blog.That needs celebration. Every inspirational moment — well, 40 of them — you will ever need. The movie Human Assembly made by Bernhard Pucher of Iron Box [...]