One Pager Cheat Sheet
- This 
lessonprovides an overview of key software architectural patterns and design structures, which has been republished with permission from Nishant Sharma. - This article summarizes six 
Architectural Patterns, including theLayered pattern,Shared-data (or repository) pattern,Microkernel,Client-server pattern,Multi-tier patternandMicroservices, to explain how components and connectors create and access persistent data. - Architects 
designmodule,component-and-connector, andallocationstructures. - The module structures useful for breaking down a program's design include 
Decomposition,Uses,Layer,Class, andData Modelstructures. - The 
Servicestructure enables interoperability throughservice coordination mechanismslikeSOAP, while theConcurrencystructure provides opportunities forparallelismand helps identifycontentionpoints. - The Deployment structure 
maps software to hardware, the Implementation structureassigns modules to a file structure, and the Work assignment structure assigns teams responsibility forimplementing and integratingthe modules. - Software architecture is the high-level design of a software system, while software design is 
more focusedonimplementation details. - The key approaches to consider when talking about Architecture in a Project Life-Cycle Context are Waterfall, Iterative, Agile, and 
Model-driven development. - SOAP and its associated WS* standards provide an infrastructure for 
service composition,transactions,service discovery, andreliabilityfor distributed applications. 

