Application Architecture

Towards Blazor

Need for Single Page Apps Before we delve into what Blazor is and how you can use it for your potential development needs, it will be useful to understand what Single Page Applications (SPA) are and its scope. SPA or Single Page Applications is a web development technique which was coined and recognized as a…


Importance of Software Architecture

Architecture is the blueprint of any physical structure. It defines the basic design principle or building style used for construction based on the need, cost, quality, time, scalability, security, reliability, and risk aversion. Similarly, Software Architecture simply defines the blueprint or the basic design style in which the software is built to satisfy the customer…

All Articles

Fundamental Concepts in Software Design

Fundamental concepts of Software design include Abstraction, Structure, Information hiding, Modularity, Concurrency and Verification. Abstraction – Abstraction is the intellectual tool which enables us to separate the conceptual aspects of the System. For eg: we may specify the FIFO property of a source or stack and functional characteristics of the routines (new, push, pop, top,…

All Articles

Major Activities in Software Design

Software Design is the process of creating the blueprint for the Software system being build. Generally, there are 3 major activities in Software Design – External Design Architectural Design Detailed Design The Architectural design and Detailed design are collectively known as Internal Design. External Design – External design involves conceiving, planning out and specifying the…

All Articles

Binary Tree

Binary Tree is a basic data structure that is used behind the scenes of all major technologies whether it’s a Database system or operating system, search engine, Bleeding edge AI systems, Big data or cloud based architectures.  

All Articles

MVC Architecture

MVC architecture has been in place since past 4 decades or so when GUI (Graphical Use Interfaces) started to be used widely. The idea is simple – to implement separation of concerns.  Plainly put, to separate 1) presentation (UI) 2) user interactions and 3) underlying data and logic/behavior. It might be easy to build a web…

Code First
All Articles

Using Code First first

Traditional ways of software development focus on DB-first implementation methodology. But we are in the realm of latest developments and ORM models has taken us to a level that is was a complex ordeal some years back. Eventhough a thorough domain/ERD based approach provides some advantages, there are far more overall improvements to development and…

All Articles

C# Events and Delegates

We use events and delegates to extend applications and to implement loose coupling. Rather than adding various method calls within an implementation and then recompiling the class, we publish the need to call a set of methods as an event from the class that will invoke those methods (publisher). The publisher will thus define the delegate which will act…

All Articles

Preferred Multithreading in C# ASP.NET

Parallel execution has been one of the core techniques of programming languages that enables and stabilizes the heavy orchestrated flow of information across information management systems. All Object Oriented Programming languages provides couple different ways to implement this to function smoothly under heavy and stressful load 🙂 A better way was introduced in C# which…

Software Engineering
All Articles

Software Engineering then and now

Software Engineering is and will be the backbone and driving force behind the technological advancements that we enjoy and that will lead us to greater realms of information and knowledge management. Its good for us to refresh our basics and foundations. Software Engineering is a discipline which was conceptualized, developed and is constantly reviewed for…

All Articles

Importance Of Design Patterns

Design patterns in general helps you to implement standardized and efficient solutions to software design and programming problems. Design patterns are not pure inventions like a light bulb or a car. They are derived patterns that software engineers and architects found that could be standardized to be used to solve similar problems categorized across 3…

Server Synchronization Technology for a Distributed server architecture
All Articles

Paper – Server Synchronization Technology for a Distributed server architecture (DSA)

Requirement: Company xyz has now decided to extend the current system as distributed server architecture, expanding over 46 locations. There will be a central server which will be running from xyz HQ. There will 46 independent host severs running at various locations across the nation, which will be loaded with product management software. These independent…

Web application architecture
All Articles

Sample (cheap) Web application architecture

A sample customized web application architecture is as shown below – As shown above, all the three tiers of the web server architecture, namely database server, business logic and presentation, are represented. The Apache web server, PHP engine, Database drivers and other utilities are closely compiled so as to improve speed and performance. The database…