SlideShare uma empresa Scribd logo
Arquitetando sistemas
PHP utilizando boas
práticas de engenharia de
software
TDC SÃO PAULO 2019
EDUARDO CESAR
ARQUITETO DE SOFTWARE - ZARP
Software architecture research investigates
methods for determining how best to partition a
system, how components identify and
communicate with each other,how information is
communicated, how elements of a system can
evolve independently
ARQUITETURA DE
SOFTWARE
E
NEGÓCIO
LINGUAGEM UBÍQUA
ARQUITETURA EM CAMADAS
CONTEXTOS DELIMITADOS
ANTI-CORRUPTION LAYER
ENTENDENDO ARQUITETURA DE SOFTWARE
DE DENTRO PARA FORA
PADRÕES
ARQUITETURA EM CAMADAS
A criação de camadas é
uma das técnicas mais
comuns que os projetistas
de software usam para
quebrar em pedaços um
sistema complexo de
software...
Apresentação
Negócio
Persistência
Meios de comunicação
PROTOCOLOS
SÍNCRONOS OU ASSÍNCRONOS
WEB APPLICATIONS
Adotam algum modelo de arquitetura
em camadas, usualmente
MVC
MODEL
VIEW CONTROLLER
Manipulação de dados
ORM’s
Active Record
Data Mapper
Active Record
Data Mapper
WEB API
Também podem adotar algum modelo
arquitetural em camadas, mas o principal ponto
é na exposição de um serviço,
que pode ser feita via RPC ou REST
E se minha web application ou
web api precisar ser assíncrona?
MENSAGERIAS
FILAS
TÓPICOS
Para o LARAVEL
Para o SYMFONY
REAL TIME
AUTENTICAÇÃO E AUTORIZAÇÃO
LOGS
GERENCIE SUAS DEPENDÊNCIAS
OBRIGADO A TODOS!
EDUARDO CESAR
github.com/bolinha1
/in/eduardo-cesar-oliveira
eduardo.oliveira@zarpsystem.com.br
www.zarpsystem.com.br
ESTAMOS CONTRATANDO!!!

Mais conteúdo relacionado

Semelhante a Arquitetando sistemas PHP

Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Lucas Furtado de Oliveira
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet core
AlexandroAlves13
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Elvis Fusco
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
César Augusto Pessôa
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
Rodrigo Branas
 
Pre proposta trabalho final
Pre proposta trabalho finalPre proposta trabalho final
Pre proposta trabalho final
Sergio Chaves
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Alessandro Almeida
 
Sql01 final
Sql01 finalSql01 final
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
Kadu Kerybrowser
 
Cloud Computing - Computação em Nuvem
Cloud Computing - Computação em NuvemCloud Computing - Computação em Nuvem
Cloud Computing - Computação em Nuvem
CompanyWeb
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
limadavi
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: Desenvolvedor
Daniel Brandão
 
Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginas
Marcelo Mrack
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Elvis Fusco
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
Ryan Padilha
 
Arquitetura e design de software
Arquitetura e design de softwareArquitetura e design de software
Arquitetura e design de software
Vitor Castro
 
.NET Micro Framework
.NET Micro Framework.NET Micro Framework
.NET Micro Framework
Pedro Januário
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
Vitor Savicki
 
Padrão mvc
Padrão mvcPadrão mvc
Padrão mvc
josue_borsoni
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
gustavobeavis
 

Semelhante a Arquitetando sistemas PHP (20)

Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet core
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Pre proposta trabalho final
Pre proposta trabalho finalPre proposta trabalho final
Pre proposta trabalho final
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
 
Sql01 final
Sql01 finalSql01 final
Sql01 final
 
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
 
Cloud Computing - Computação em Nuvem
Cloud Computing - Computação em NuvemCloud Computing - Computação em Nuvem
Cloud Computing - Computação em Nuvem
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: Desenvolvedor
 
Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginas
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Arquitetura e design de software
Arquitetura e design de softwareArquitetura e design de software
Arquitetura e design de software
 
.NET Micro Framework
.NET Micro Framework.NET Micro Framework
.NET Micro Framework
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
 
Padrão mvc
Padrão mvcPadrão mvc
Padrão mvc
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 

Mais de Eduardo Cesar

Vida longa ao legado
Vida longa ao legadoVida longa ao legado
Vida longa ao legado
Eduardo Cesar
 
OOP, e uma visão que está além de classes e métodos
OOP, e uma visão que está além de classes e métodosOOP, e uma visão que está além de classes e métodos
OOP, e uma visão que está além de classes e métodos
Eduardo Cesar
 
Desbabravando linguagem GO
Desbabravando linguagem GODesbabravando linguagem GO
Desbabravando linguagem GO
Eduardo Cesar
 
Integrando aplicações, o que temos nas fronteiras dos microservices
Integrando aplicações, o que temos nas fronteiras dos microservicesIntegrando aplicações, o que temos nas fronteiras dos microservices
Integrando aplicações, o que temos nas fronteiras dos microservices
Eduardo Cesar
 
Mantendo a plenitude do seu novo legado com code-refactoring
Mantendo a plenitude do seu novo legado com code-refactoringMantendo a plenitude do seu novo legado com code-refactoring
Mantendo a plenitude do seu novo legado com code-refactoring
Eduardo Cesar
 
Desenvolvendor aplicações real time com PHP
Desenvolvendor aplicações real time com PHPDesenvolvendor aplicações real time com PHP
Desenvolvendor aplicações real time com PHP
Eduardo Cesar
 
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicação
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicaçãoRefatoração e uma vida saudável para o desenvolvedor e para sua aplicação
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicação
Eduardo Cesar
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
Eduardo Cesar
 
Manipulando JWT em apis Laravel
Manipulando JWT em apis LaravelManipulando JWT em apis Laravel
Manipulando JWT em apis Laravel
Eduardo Cesar
 
Porque escolhemos Laravel: um ponto de vista além do técnico
Porque escolhemos Laravel: um ponto de vista além do técnicoPorque escolhemos Laravel: um ponto de vista além do técnico
Porque escolhemos Laravel: um ponto de vista além do técnico
Eduardo Cesar
 
Do monolito ao microservico
Do monolito ao microservicoDo monolito ao microservico
Do monolito ao microservico
Eduardo Cesar
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHP
Eduardo Cesar
 
Uma abordagem sobre arquiteturas de software Rest e Micro services
Uma abordagem sobre arquiteturas de software Rest e Micro servicesUma abordagem sobre arquiteturas de software Rest e Micro services
Uma abordagem sobre arquiteturas de software Rest e Micro services
Eduardo Cesar
 

Mais de Eduardo Cesar (13)

Vida longa ao legado
Vida longa ao legadoVida longa ao legado
Vida longa ao legado
 
OOP, e uma visão que está além de classes e métodos
OOP, e uma visão que está além de classes e métodosOOP, e uma visão que está além de classes e métodos
OOP, e uma visão que está além de classes e métodos
 
Desbabravando linguagem GO
Desbabravando linguagem GODesbabravando linguagem GO
Desbabravando linguagem GO
 
Integrando aplicações, o que temos nas fronteiras dos microservices
Integrando aplicações, o que temos nas fronteiras dos microservicesIntegrando aplicações, o que temos nas fronteiras dos microservices
Integrando aplicações, o que temos nas fronteiras dos microservices
 
Mantendo a plenitude do seu novo legado com code-refactoring
Mantendo a plenitude do seu novo legado com code-refactoringMantendo a plenitude do seu novo legado com code-refactoring
Mantendo a plenitude do seu novo legado com code-refactoring
 
Desenvolvendor aplicações real time com PHP
Desenvolvendor aplicações real time com PHPDesenvolvendor aplicações real time com PHP
Desenvolvendor aplicações real time com PHP
 
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicação
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicaçãoRefatoração e uma vida saudável para o desenvolvedor e para sua aplicação
Refatoração e uma vida saudável para o desenvolvedor e para sua aplicação
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
 
Manipulando JWT em apis Laravel
Manipulando JWT em apis LaravelManipulando JWT em apis Laravel
Manipulando JWT em apis Laravel
 
Porque escolhemos Laravel: um ponto de vista além do técnico
Porque escolhemos Laravel: um ponto de vista além do técnicoPorque escolhemos Laravel: um ponto de vista além do técnico
Porque escolhemos Laravel: um ponto de vista além do técnico
 
Do monolito ao microservico
Do monolito ao microservicoDo monolito ao microservico
Do monolito ao microservico
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHP
 
Uma abordagem sobre arquiteturas de software Rest e Micro services
Uma abordagem sobre arquiteturas de software Rest e Micro servicesUma abordagem sobre arquiteturas de software Rest e Micro services
Uma abordagem sobre arquiteturas de software Rest e Micro services
 

Arquitetando sistemas PHP