Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to track System Dependencies?

Introduction

In my current organisation, we have many desktop and web applications all feeding into each other at some point. When looking after older applications or creating new applications, it's proving very difficult to try and remember which system rely on other systems in order to work. I'm not talking about software dependencies like DLL's and images, I'm talking about entire systems like a Finance system dependant on the HR system etc.

My Question

Which is the one best way to track how one entire system is dependant on another?

The answer can suggest either a method of doing the above, a software package or documentation techniques.

In my particular case, Many means over 20 web and desktop application over a dozen servers.

like image 353
GateKiller Avatar asked Sep 30 '08 15:09

GateKiller


2 Answers

I would say to clearly state that on your architecture design document. There are some good tools for this like Enterprise Architect. This tool allows you to create diagrams using the UML standard for describing these dependencies in a clear and visual way.

like image 61
Jorge Ferreira Avatar answered Oct 01 '22 11:10

Jorge Ferreira


The best source of information is usually found in Config files. This typically has the connection strings, web service urls etc which will give a good idea on the external dependencies.

Another technique is by using profiling or tracing and applying filters, we can easily track any external calls. Most of the cases, the dependency is in the database layer, and checking for linked servers and tracking their dependencies can unearth lots of info.

I am not sure if there is any automatic way to get this info especially if the systems are on multiple platforms. Lot of manual work will be involved to document all that.

like image 40
Gulzar Nazim Avatar answered Oct 01 '22 09:10

Gulzar Nazim