"He who rides a tiger can never get off or the tiger will devour him."

Software developers know the truth of this Chinese proverb. We ourselves have created an environment that forces us to cope with ever-increasing complexity. Twenty-five years as a software developer, manager and architect has taught me that every day has something to teach me. Here's what I'm learning now in the hope that it helps someone somewhere stay in the saddle and off the menu.

Tuesday, January 26, 2010

Performing Service-Oriented Analysis and Design

A development architect or technical lead performs service-oriented analysis to determine how the business requirements for an automated system can best be represented as services. This analysis guides the service-oriented design, which details the services sufficiently for implementation. Both service-oriented analysis and service-oriented design should be performed as part of the technical specification process for each project involved with a service-oriented architecture.

Monday, January 25, 2010

SOA Success Factors in a Nutshell

Based on my experience and research, here is a summary of observations and best practices for successful Service Oriented Architectures.

Friday, January 15, 2010

An Example JEE Application

Application development for the Java Enterprise Edition (JEE) platform using open-source products generally requires a good deal of up-front integration effort. This is relatively straightforward for a new project. However, as the application grows, it becomes more difficult to add new components to the stack or upgrade the versions of existing components simply because of the number of objects that need to be changed.

It is useful to have a simple example application that has just enough features to exercise all the necessary integration points, but not so many as to encumber experimentation and troubleshooting. The code should be non-proprietary so that it may be freely published to support forums and used in presentations.

I've developed such an example application for a typical JEE platform stack. The techniques for this are widely available and all of the libraries and platforms I've used are open-source. It's just that there was some assembly required, so I'm presenting it in the event that it may be useful to others.

Monday, January 11, 2010

Reflections on an Ubuntu 9.10 Server Installation

The first time I ever installed a UNIX system, I loaded System V on a proprietary server called a Quotron 1000. You performed the installation by restoring a dd tape and booting into a simple configuration script. The script let you select the applications you wanted and then installed them in a preordained configuration.