Tuesday, November 1, 2011

Tomcat 6.x, 7x JMX Monitoring - HOW TO

1. Download "catalina-jmx-remote.jar" to $CATALINA_HOME/lib

2. Create setenv.sh in $CATALINA_HOME/bin containing the following:
#!/bin/sh

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

3. Start Tomcat

4. Start JConsole
- connect to the local Bootstrap if the case
or
- remote connect to "host:9001" or your convenience port.

DONE.

Monday, March 28, 2011

Desing & Architecture in Agile Development Environments

Below are couple of quotes from "Scaling Lean & Agile Development" by Craig Larman:

The sum of all the source code is the true design blueprint or software architecture.

The real software architecture evolves (better or worse) every day of the product, as people do programming.

The real living architecture needs to be grown every day through acts of programming by master programmers.

A software architect who is not in touch with the evolving source code of the product is out of touch with reality.

Every programmer is some kind of architect-whether wanted or not. Every act of programming is some kind of architectural act — good or bad, small or large, intended or not.

I wonder if there's any chance to see this more often in large companies where the architecture boards kinda lost the touch with what happens on the ground and if these would happen would systems collapse in absence of a high level vision?

Wednesday, March 23, 2011

Software development like a large orchestra concert

Developing software that involves multiple teams should be pretty much like a concert played by an orchestra, development teams need to serve different purposes and develop various parts of the enterprise, while in orchestra various groups of instruments play specific parts of the score in order to produce what the audience is expecting, in development we have managers, leaders and coaches that lead the teams, while in concert we have conductors and soloists that lead the orchestra, both need timing and synchronization, just imagine how would a concert sound when the timing is not right, instead of music there would be just noise, the same is with development, no matter how well teams perform inside, if they miss timings integrating with each-other they produce "noise".