Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Documenting Dependencies 1

Status
Not open for further replies.

Becks25Not

Programmer
Jun 23, 2004
176
US
Hi All,

I have been searching and found nothing. My company is looking for a tool to store details about our application library such as required directories, databases, custom DLLs that the application uses. The purpose being that we can run a report on an application that will say users need RW access to this drive, the app uses Company.Shared.dll and updates Database1 or Database1 is updated by Application1 and read by Application2. My previous employer had a tool like this but it was an inhouse app. We are hoping to buy / download source that we can update with minor adjustments.

I know this is a coding forum but if there was something, one of you all might be using something like this.

Any help / direction would be greatly appreciated.

Thanks!!
Becca
 
Ok ... let me ask another way ...

How do you document the external resources and dependencies that an exe uses?
 
While I know there are tools that can get dependency lists based off of refrences, I don't know of any that can determine access rights and paths.

In my office we have removed all paths from the code and moved it all into a database, that atleast helps us keep track of file locations.

-Rick

VB.Net Forum forum796 forum855 ASP.NET Forum
[monkey]I believe in killer coding ninja monkeys.[monkey]
 
Thanks for responding Rick!

We do that too (no hardcoded values). I am not looking for something that reads the exe and determines this. Rather than a storage mechanism that the developer uses to enter the dependencies. So, if I need to take over, I can run a report that says this program reads this database and uses a setting file from here without having to go through setting files, etc. make sense?

~ Becca
 
Makes sence, but in dynamic apps it would be hard to determine.

For example, my base data object has a hard coded connection string (the one and only hard coded connection/path in the suite) That connection is used to retreive connection strings for the data objects for their respective databases.

There is no way for a reflection sniffing app to determine what those connection strings are. Even if there was, as soon as a value in the database changes, it would no longer be accurate.

And since the path/connection string is only retreived when that block of code is called, you would have to ensure that you ran every block of code for the dependency collection tool to work.

All in all I would say that it would be easier to track library dependencies with a dependency tool, and track paths, connection strings and access levels a database.

-Rick

VB.Net Forum forum796 forum855 ASP.NET Forum
[monkey]I believe in killer coding ninja monkeys.[monkey]
 
Hi Rick,

Thanks for responding.

I think I am looking for a database app. The procedure would be, the developer would have to enter the documentation and provide the dependency report that would be validated in final test before it would be moved to production. We just don't have the time to build one.

Thanks,
Becca
 
I don't know of any turn-key solutions. I guess you could collect all of the paths used in your database, verify they exist and are used in the test environment, document each of their purposes and requirements, then compare to the production environment. No special software needed for that though, just a SQL query tool to get the data from the database and Excel to organize and comment each one in a hurry.

-Rick

VB.Net Forum forum796 forum855 ASP.NET Forum
[monkey]I believe in killer coding ninja monkeys.[monkey]
 
Thanks again Rick.

Mgmt is looking for it as a team tool to include Tables in Database and transactions performed (RWXD), Views & Stored Procedures used, network paths used, INIs, any web services used, etc. they are looking at it on the other side as we are doing a SQL upgrade and there is a lot of old stuff. Thus, they (we) could run a report to list all applications that use Database1.Table1 then analyze if any of those were still in use. Same for archiving. If an application becomes disabled and it's the only 1 using a particular database, stored procedure, view, then we could put that item on archive to.

See?

Thanks!!
Becca
 
hrm, well, for the database side you could set up triggers when a table/stored proc is fired. Have the trigger save the app/host, time stamp, and resource name to another table. That should atleast help you narrow down what apps are hitting which database items.

I think it'll be quite a bit of work to track down all of the dependencies, expecially if the old apps are depending on network paths or mapped drives. You might be able to set something up to monitor connections to different folders, that'll atleast tell you who and when connected, you'll still have to figure out which app it was though.

-Rick

VB.Net Forum forum796 forum855 ASP.NET Forum
[monkey]I believe in killer coding ninja monkeys.[monkey]
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top