Software Architecture

Software architecture refers to the high level structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. The architecture of a software system is a metaphor, analogous to the architecture of a building. It functions as a blueprint for the system and the developing project, laying out the tasks necessary to be executed by the design teams.1


Enterprise Application Architecture

The main topic areas are: how to layer an enterprise application, how to organize domain logic, how to tie that logic to a relational database, how to design a web based presentation, some important principles in distributed design, and handling of what we call "offline concurrency" - concurrency that spans transactions.1

Cloud-Native Architecture

Cloud-native architecture is an architecture or system that has been built specifically to run in the cloud. Cloud-native architectures have the benefit of more flexibility over legacy systems that were built to run on particular hardware infrastructure and may be difficult to migrate to the cloud later.2


A RESTful API - also referred to as a RESTful web service - is based on representational state transfer (REST) technology, an architectural style and approach to communications often used in web services development.3


Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack.4

Last edited by MichaelAlber .
Page last modified on Tuesday November 24, 2020 12:12:43 PST.