theme | transition | title | enableMenu | enableSearch | enableChalkboard |
---|---|---|---|---|---|
white |
slide |
Arquitetura backend |
false |
false |
true |
Henrique Schmitt
- 1950
- Non-structured Programming
- ~1951 – Assembly
- 1960 -Structured Programming -Layering: 1 tier with the UI, Business Logic and Data Storage
- ~1958 – Algol
- 1970 -Procedural / Functional Programming
- ~1970 – Pascal
- ~1972 – C
- 1979 – Model-View-Controller
- 1980
- Object Oriented Programming (first thoughts were in the late 1960s, though)
- Layering: 2 tier, the 1st tier with the UI, the 2nd tier with Business Logic and Data Storage
- ~1980 – C++
- CORBA – Common Object Request Broker Architecture (though the first stable version was only out in 1991, the first usages were during the 1980s)
- ~1986 – Erlang
- ...1980
- 1987 – PAC aka Hierarchical Model-View-Controller
- 1988 – LSP (~SOLID)
- 1990
- Layering: 3 tier, the 1st tier with the UI, the 2nd tier Business Logic (and the UI presentation logic in case of a browser as client), the 3rd tier with the Data Storage
- ~1991 – Message Bus
- ~1991 – Python
- ...1990
- 1992 – Entity-Boundary-Interactor Architecture aka EBC aka EIC
- ~1993 – Ruby
- ~1995 – Delphi, Java, Javascript, PHP
- 1996 – Model-View-Presenter
- 1996 – OCP, ISP, DIP (~SOLID), REP, CRP, CCP, ADP
- 1997 – SDP, SAP
- ~1997 – Aspect Oriented Programming
- ~1997 – Web Services
- ~1997 – ESB – Enterprise Service Bus (although the book that coined the term was published in 2004, the concept was already used before)
- 2000
- 2002 – SRP (~SOLID)
- 2003 – Domain-Driven Design
- 2005 – Model-View-ViewModel
- 2005 – Ports & Adapters Architecture aka Hexagonal Architecture
- 2006 – CQRS & ES (Command Query Responsibility Segregation & Event Sourcing)
- 2008 – Onion Architecture
- 2009 – Microservices (at Netflix)
- 2010
- 2010 – Data-Context-Interaction Architecture
- 2012 – Clean Architecture
- 2014 – C4 Model
- P2P
- Quadro Negro
- Computação distribuída
- Criação implícita
- Dutos e filtros
- Client x Server
- Aplicação monolítica
- Modelo em três camadas
- Analise de sistema estruturada
- Arquitetura orientada a serviço
- Arquitetura orientada a busca
Arquitetura de software é cíclica, ou seja, os conceitos usados anos atrás tendem a reaparecer ou já reapareceram
"É difícil avaliar se um design está certo ou errado. Sua natureza é interpretativa. Depende do observador"
B. Brito
- REST
- CQRS
- RPC