Having just finished working on a 10-page tutorial detailing the inner workings of the tabular data stream protocol in relation to database administration and related gateways for programmers, I think its safe to say that I realise developers like to get down to a granular level when it comes to code and the examination (and perhaps the ‘classification’) if it.
With this is mind; I mention the fact that that this week sees the publication of application architecture data from over 2,500 popular Open Source software projects.
This coder’s nomenclature (if you will) is a result of an extension of a contract with the U.S. Department of Homeland Security with a company called Coverity that says it collected this data using its own analysis tools.
This publicly accessible resource can be accessed here. It includes application architecture files and diagrams designed for developers planning to incorporate open source packages in their applications.
It is also billed as a resource for developers that want to learn the architectures of successful projects to improve the structure of their own applications.
This library is a database of application architecture diagrams from open source projects such as Amanda, NTP, OpenPAM, OpenVPN, Overdose, Perl, PHP, Postfix, Python, Samba and TCL.
It was created using Coverity Architecture Analyzer product which claims to be able to automatically map the relationships between code elements at the function and file levels, identifying the underlying structure of software to help developers identify violations of architectural standards.
According to Coverity, “The ability to study a visual presentation of an application’s architecture and related data offers a number of benefits to developers. For example, developers planning to use or build on top of a project in the Scan library can optimise their use of it by comparing architecture plans to other codebases that use the same project.”
Sounds like it’s worth a click I would venture. My better half and I are in the midst of building new web sites and projects that should necessitate the resurrection of “that old laptop in the loft” to work as a web server.
Now we’ll probably just opt for Apache, but if we were building our own web server, wouldn’t it be cool to be able to study the architecture of open source projects to improve the development of our own application architecture?