Tuesday, June 4, 2013

Architectural Blueprints - 'The "4+1" View Model of Software Architecture by Philippe Krutchen'

A seminal work in presenting a model for describing essential views or perspectives while architecting a software based system.
Below are the 5 broad views that are essential for covering concerns of various stakeholders dependent on the system
  • Logical view : for line-of-business users
  • Development view : for Project managers, solution integrators
  • Process view : for Solution designers and integrators
  • Physcial view : for system engineers
  • Scenarios view : to iterate and develop views

By mapping from one view to another, a system can be architected to a great precision in first attempt, this becomes a stepping stone for future iterations. After 2-3 iterations the system is solid.


There are many references over internet, I used below.
http://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf

Tuesday, May 28, 2013



"Learning Oracle Database 11g by Lewis Cunnigham" - 2012

This is a good breezy introduction to Oracle 11g database for anyone who wants to get familiar with whats/hows of databases concepts. The presenter has touched through all important aspects, so it was very useful for me. I've intentionally skipped 3 chapters, first "Database security", "Very Large Databases" and "PL/SQL" , considering the priorities. This is a good stepping stone for Oracle Database performance tuning concepts.

Sunday, May 5, 2013

Hadoop Fundamentals LiveLessons

Hadoop Fundamentals LiveLessons (Video Training) by Doug Eadline

Rating 3/5
Pranaam! Found this as a good rudimentary introduction to Hadoop architecture, hdfs and MapReduce. Essentials on HBase, Ambari, Zookeeper or other fundamental aspects are left out. Total video length is 5 hrs. Found the pace to be too slow and feel more could have been covered for impatient starters like me. Presentaton on first half of chapters are good. Lot of information is abstracted. Recommend to look at case studies in BigData to have more information.

Regards
Sudeep

Monday, April 29, 2013

"Patterns in Java : A Catalog of Reusable Design Patterns Illustrated" by Mark Grand

Pranaam! Working on "Patterns in Java : A Catalog of Reusable Design Patterns Illustrated" by Mark Grand this week. This is a "Volume 1" edition, I've got and is an old print. The notations used previous to UML 2.0, but I liked the explanation. Revising this under a tight timeline, since this needs to go back to shelf. Writing a running log here:

  • Overview of UML
    • This covers notations for 3 basic UML diagrams viz. Class Diagrams, Collaboration Diagrams and StateChart Diagrams
  • Software Lifecycle

Sunday, April 28, 2013

"Data Structures and the Java Collections Framework, Third Edition" by William J Collins

"Data Structures and the Java Collections Framework, Third Edition" by William J Collins[2011 print]

In tune with multi-threading, I'm beginning a new thread on Java Collections, in an attempt to solidify core Java essential concepts.

Sunday, April 21, 2013

"Java 7 Concurrency Cookbook" by Javier Fernández

Pranaam. I'm currently working out "Java 7 Concurrency Cookbook" by Javier Fernández. It's a Oct 2012 edition. Finding these examples are lucid, that I can be very easily develop without being an expert Java programmer myself. Concurrency subject is dealt in other programming languages as well, but since Java has a large base in commercial software applications and there is ready material in-hand, it was an easy decision to work through Java 7.



Parallel processing and optimized high performance computing are interesting subjects that can solve large compute problems .It's essential to solve a problem quickly  and make result available for the next set of actions.  Sometimes its necessary to know which areas in a compute solutions are to be parallelized and which shouldn't be. It's an intriguing subject. The next area for me would be researching Design Patterns in concurrency. But before I get to that, creating a running log of areas covered from this book.

  • Thread Management
    • Creating & Running threads
    • Get thread information
    • Interrupt threads
    • Control Interruption of threads
    • Sleeping and Resuming threads
    • Waiting for Finalization of threads
    • Creating and running Daemon threads
    • Processing uncontrolled Exceptions in threads 
    • Using ThreadLocal variables
    • Grouping threads into a group 
    • Processing unchecked exceptions in ThreadGroup
    • Using factory pattern to create Thread
  • Basic Thread Synchronization
    • Synchronizing a method
    • Arranging independent attributes in synchronized blocks using Object references   
    • Using conditions in synchronized code block
    • Using Lock to synchronize a code block       
    • Synchronizing data read/write operations using Lock
    • Lock fairness
    • Using multiple conditions in Lock
  • Thread Synchronization utilities
    •  

Saturday, April 6, 2013

"The Performance-Engagement Model: Managing the Five Personality Profiles in the Workplace" by Laura Stack

"The Performance-Engagement Model: Managing the Five Personality Profiles in the Workplace" by Laura Stack:

An interesting short article, but very crude view of people personalities. Resources are workplace are assets, are humans with very interesting facets. It's up-to a leader to bring out the best from each resources and to make them strong individual as well as team contributors. It's hard to believe the author had a successful role in keeping a team engaged to goals, let alone leading high performance team. If we conceive an ideal team to be composed of humans who work like machines decrepit of emotions, of sharp personality traits we would be living in la-la land.
Labeling this for 'Enterprise Architecture', as workplace resources belong to various enterprise teams, they are essentially one of the stakeholders.