Monday 23 May 2016

Obinna Dike, Citi Professional - Benefits of Layered Software Architectural Styles

Obinna Dike, a Citi employee living and working in the Greater New York area, is a software engineer who specializes in software architecture. Professionals like Obinna Dike employ a number of different architectural styles that benefits companies like Citi, ensuring each application is efficient, useful and bug-free.

The layered architectural style groups the functionality of applications into layers that can then be stacked. The order in which the layers are stacked typically dictates functionality, as do the common principles for the design style. These principles include, but are not limited to…
  • Loose Coupling – In a layered application, communications between each layer functions through abstraction and events, which provides loose layer coupling.  
  • Reusability – Because the layers lower in the application are not dependent on higher layers, they can be useful in other application scenarios. Reusable components save time and resources.
  • Cohesion – With well-defined layers, each will contain functionality that is related directly to the tasks of that specific layer. This increases cohesion in the layer itself. 
  • Functional Layers – The division of functionality in each layer within a layered application is clearly defined. With use of commands in upper layers, lower layers can react to events in layers above them, allowing an up and down data flow, increasing functionality.  
  • Abstraction – The use of layered architecture abstracts the system and, at the same time, provides detail that will allow each layer, and its relation to other layers, to be understood on an individual basis. 
Professionals like Obinna Dike of Citi use different architectural styles for different application goals. Examples of when a layered application might be implemented include enterprise web-based applications and line-of-businesses applications.