When I started my
career as a "Trainee Developer", I was fascinated about just java
coding, coding and coding... Then I learned fundamentals and principles of OOP Design and few more programming languages... As I
grown my experience in software development and design; I started to get
opportunities to grasp architecture of legacy systems, create architecture for
proposed applications, envision high level architecture for proposals, analyze
architecture and NFRs… And yeah, building architectural proficiency looks like
a long journey!
In this post, I am
publishing list of my favorite online resources which helping me during the
journey of building my software architectural know-how.
On a separate note,
I am greatly
thankful to below mentioned assets and also endorse them for building
proficiency in software architecture.
Microsoft Application
Architecture Guide
Even
though it is for Mocrosoft Application Architecture; the explained
fundamentals, guidelines and practices of software architecture and design is also applicable for Java Platform based
Application Architecture. I simply love it! Also Architecture 101: Skyscrapr has interesting articles covering architectural perspective.
Software Architecture in
Practice by Len Bass, Paul C. Clements, Rick Kazman
One would find
"SoftwareArchitecture in Practice, Third Edition" to be a valuable resource for
getting up to speed on the state of the art; when need to design, develop, or
manage large software systems (or plan to do so). From this book, one would
learn how to envision, create and analyze architectures using provided case
studies and some of SEI methods
explained in the book.
One needs to
purchase this book, however its second edition is available online.
Software Architecture
Documentation Case Studies by SEI Wiki
But for newbies to
software architecture documentation, the case studies on SEI Wiki is great
place to start containing the sample architecture documentation of
the "Adventure Builder" and the "Java Pet
Store" applications.
On a separate note,
97 Things Every Software
Architect Should Know
Great compilation of
things which every software architect should know, and also published as a book
by Oreilly.
Architectural Posts
Apart from
systematic approach of building architectural skills, one should develop habit
of exploring architectural experiences shared by intelligentsia. There are many
resources for reading architectural posts, but my favorite are
highscalability.com and infoq.com.
Frameworks for Enterprise
Architecture
Disclaimer:
Undoubtedly there
are unlimited resources for learning and building Software Architecture
know-how. So I don't claim the above-mentioned are the best, but I am saying
that those are my favorite and I trust recommending those to others.
Finally if you know any better available online
resource for enhancing software architecture skills, then please share in
comments.