Posts in category 'architecture'

  

Troubleshooting Incidents and Blackboard Architectures

I recently helped with troubleshooting a complex, multiple-day incident that seemed to be a never-ending stream of surprises. Communication between the various teams involved and their management was a challenge, with different theories being discussed in separate discussion threads with only partially overlapping sets of participants. After the dust settled, I took the time to […]

Impressions of TOGAF

I recently took a four day course on TOGAF – The Open Group Architecture Framework covering both Part I (foundation) and Part II (certified), and I wanted to share my impressions. The TOGAF standard is available online and has an excellent executive summary. The following quotes serve as an elevator pitch for TOGAF: TOGAF is […]

Analyzing System Dependencies

Analyzing dependencies might seem like a simple concept, but recently I have come to appreciate even more the multiple layers to this topic. To start, why as I.T. professionals should we care about dependencies between and within systems? The core reason is that understanding dependencies allows us to determine the impacts of change. This aids […]

Architects Anonymous

As an architect observing and helping multiple teams build and maintain enterprise software, sometimes I think I am living in an alternate reality. I see systems fail on a nearly daily basis, teams under intense schedule pressure, a lack of awareness of basic developer quality practices, repeated failures of communication, servers taking weeks to provision, […]

Architects as Scouts

Software architects have many responsibilities and expectations placed upon them which can be confusing to handle. For a while now I have been condensing these demands into a small set of metaphorical roles. I have found this helpful in staying true to my broader objectives as I move between tasks or problems. The role that […]

Visualizing Java Package Dependencies

I have recently been examining the overall package structure of a Java enterprise application. I discovered an easy way to visualize the dependencies between packages using two open source tools JDepend and Graphviz and a little glue code. JDepend analyzes compiled Java bytecode and determines dependencies and metrics between Java packages. These analysis results can […]

Assessing Service Oriented Architecture

I have always been skeptical of Service Oriented Architecture (SOA) and web services since they first came on the scene. This was not necessarily a rational skepticism, but was instead more of a visceral response to all the hype. As the years passed by, SOA and web services stuck around and I heard it mentioned […]

Architecting for Deployability

Deployability is a non-functional requirement that addresses how reliably and easily software can be deployed from development into the production environment. For desktop (client-side) software, deployability addresses the installation and update mechanisms that may be built into the software itself. For server-side software, deployability is addressed through the system architecture and the deploy process. The […]