SlideShare ist ein Scribd-Unternehmen logo
1 von 25
OPAKUS   SOLUCÕES INTELIGENTES www.opakus.com.br
ENGENHARIA DE SISTEMAS WEB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Jean Marcelo da Costa Sales  CELEPAR - DIFAS
Modelo 2 Camadas
Modelo 2 Camadas ,[object Object],[object Object],Problemas para o usuário, que não tem os programas funcionando como deveriam; Problemas para a equipe de desenvolvimento que não tem o seu trabalho reconhecido e, normalmente, tem que trabalhar apenas "apagando incêndios"; e Problemas para a Administração/Gerência da rede que não consegue gerar os resultados esperados pela Administração da empresa, apesar dos elevados valores já investidos.    Maior TCO – Custo Total de Propriedade
Modelo 3 Camadas
Modelo 3 Camadas ,[object Object],[object Object],[object Object],[object Object],[object Object]
Modelo 3 Camadas c/ MVC APRESENTAÇÃO NEGÓCIO OU LÓGICA PERSISTÊNCIA ( INTEGRAÇÃO ) NAVEGADOR WEB SGDB V C M SERVIDOR CLIENTE  - SERVIDOR CLIENTE SERVIDOR WEB Helper classes
Modelo 4 Camadas
Modelo 4 Camadas CLIENTE ( APRESENTAÇÃO ) NAVEGADOR WEB CLIENTE PERSISTÊNCIA SGDB SERVIDOR GERENCIA DE APRESENTAÇÃO NEGÓCIO SERVIDOR WEB CLIENTE  - SERVIDOR CLIENTE  - SERVIDOR SERVIDOR APLICAÇÃO EJB in MVC V C M
J2EE -  4 TIER
MVC - FLUXOS
MVC
STRUTS  Fluxo de Navegação de seus componentes
STRUTS CAMADA DE NEGÓCIO OU LÓGICA OU REGRAS V C M SERVIDOR WEB Visão Modelo Controle JSP, Servlets,  formBeans Classes de Negócios, DAO, Beans em Geral Actions, Servlet Controller Existe um forte acoplamento entre JSPs e formBeans.
STRUTS No Struts temos classes  Dispatcher , Request Processor, Controller e Helper (ActionsBeans e FormsBeans). Custom Tags ( Pattern View Helper ). Atualmente existem diversas ferramentas para configuração da Struts de forma visual com diversas opções entre produtos pagos e open source (EasyStruts, Struts Console).
Modelagem ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Patterns Patterns descrevem maneiras comuns de se fazerem as coisas, tornando-os modelos-exemplo .  Conjuntos de estratégias. Estes são identificados ao longo do desenvolvimento de projetos, onde surgem problemas repetitivos e obviamente com soluções semelhantes . Todo Pattern apresenta algumas características comuns: são baseados em experiências anteriores; são reutilizáveis; combinam estratégia de design e melhores práticas; podem ser usados juntos a fim de resolver uma gama maior de problemas.
Patterns  Acoplamento entre as Camadas
Design Patterns – J2EE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RELAÇÃO ENTRE PATTERNS  &  FRAMEWORKS   ,[object Object],[object Object],[object Object],[object Object],[object Object]
FUTURO  CERTIFICAÇÃO CMM
MENSAGEM  “ Existem duas formas de construir um modelo de software. Uma é fazer o desenho tão simples que é óbvio não ter deficiências. Uma outra forma é fazer o modelo tão complicado que não tem deficiências óbvias .”  C. A. R. Hoare
Estudo de Caso :  Acompanhamento de Vistorias ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Use Case  Fluxo alternativo do Processo de Vistoria  através de pesquisa. UC 1.1 : Fluxo alternativo do  Processo de Vistoria  através de pesquisa UC x UC 1: Processo de Vistoria UC y <<estende>> <<ator>>
Descrição Sucinta do UC  1.1 Construir uma interface de entrada dos dados :  logradouro, razão social, CPF, CNPJ  e  NIB.  Nesta tela deve existir  a opção para cada um destes dados, afim de possibilitar a pesquisa destes processos. Este dado deve trazer em uma próxima tela um relatório com a pesquisa dos NIBs e ter um link para abrir o documento, este por sua vez possibilitará o usuário a dar continuidade no processo de vistoria.

Weitere ähnliche Inhalte

Was ist angesagt?

Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
Discos e sistemas de arquivos em Linux
Discos e sistemas de arquivos em LinuxDiscos e sistemas de arquivos em Linux
Discos e sistemas de arquivos em LinuxFábio dos Reis
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web ServicesFabio Leal
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geralsergiocrespo
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Métricas de Software
Métricas de SoftwareMétricas de Software
Métricas de Softwareelliando dias
 
Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPClayton de Almeida Souza
 
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)Leinylson Fontinele
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcionalfabiocerqueira
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetosDaiana de Ávila
 
05 - Sincronização de Threads - I
05 - Sincronização de Threads - I05 - Sincronização de Threads - I
05 - Sincronização de Threads - IFabio Moura Pereira
 

Was ist angesagt? (20)

Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Discos e sistemas de arquivos em Linux
Discos e sistemas de arquivos em LinuxDiscos e sistemas de arquivos em Linux
Discos e sistemas de arquivos em Linux
 
Aula diagrama de classes
Aula diagrama de classesAula diagrama de classes
Aula diagrama de classes
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web Services
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 
Topologia de Redes
Topologia de RedesTopologia de Redes
Topologia de Redes
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Métricas de Software
Métricas de SoftwareMétricas de Software
Métricas de Software
 
Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHP
 
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
Banco de Dados II Aula Dinâmica 1 (Perguntas e Respostas)
 
Ficha de trabalho_12
Ficha de trabalho_12Ficha de trabalho_12
Ficha de trabalho_12
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
CON08 - VLAN.pdf
CON08 - VLAN.pdfCON08 - VLAN.pdf
CON08 - VLAN.pdf
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetos
 
05 - Sincronização de Threads - I
05 - Sincronização de Threads - I05 - Sincronização de Threads - I
05 - Sincronização de Threads - I
 

Ähnlich wie Modelo MVC e estrutura de camadas

Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioRalph Rassweiler
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBRafael França
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
requisitos de software.pptx
requisitos de software.pptxrequisitos de software.pptx
requisitos de software.pptxAlanCunha14
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoÉberli Cabistani Riella
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_jsgustavobeavis
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = ProdutividadeAdriano Bertucci
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
01- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.001- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.0César Augusto Pessôa
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Portal GSTI
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Rodrigo Kono
 

Ähnlich wie Modelo MVC e estrutura de camadas (20)

Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEB
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
requisitos de software.pptx
requisitos de software.pptxrequisitos de software.pptx
requisitos de software.pptx
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
 
Asp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 PtAsp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 Pt
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = Produtividade
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
Aula1
Aula1Aula1
Aula1
 
Mvc - Semifinal
Mvc - SemifinalMvc - Semifinal
Mvc - Semifinal
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
01- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.001- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.0
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 

Modelo MVC e estrutura de camadas

  • 1. OPAKUS SOLUCÕES INTELIGENTES www.opakus.com.br
  • 2.
  • 4.
  • 6.
  • 7. Modelo 3 Camadas c/ MVC APRESENTAÇÃO NEGÓCIO OU LÓGICA PERSISTÊNCIA ( INTEGRAÇÃO ) NAVEGADOR WEB SGDB V C M SERVIDOR CLIENTE - SERVIDOR CLIENTE SERVIDOR WEB Helper classes
  • 9. Modelo 4 Camadas CLIENTE ( APRESENTAÇÃO ) NAVEGADOR WEB CLIENTE PERSISTÊNCIA SGDB SERVIDOR GERENCIA DE APRESENTAÇÃO NEGÓCIO SERVIDOR WEB CLIENTE - SERVIDOR CLIENTE - SERVIDOR SERVIDOR APLICAÇÃO EJB in MVC V C M
  • 10. J2EE - 4 TIER
  • 12. MVC
  • 13. STRUTS Fluxo de Navegação de seus componentes
  • 14. STRUTS CAMADA DE NEGÓCIO OU LÓGICA OU REGRAS V C M SERVIDOR WEB Visão Modelo Controle JSP, Servlets, formBeans Classes de Negócios, DAO, Beans em Geral Actions, Servlet Controller Existe um forte acoplamento entre JSPs e formBeans.
  • 15. STRUTS No Struts temos classes Dispatcher , Request Processor, Controller e Helper (ActionsBeans e FormsBeans). Custom Tags ( Pattern View Helper ). Atualmente existem diversas ferramentas para configuração da Struts de forma visual com diversas opções entre produtos pagos e open source (EasyStruts, Struts Console).
  • 16.
  • 17. Patterns Patterns descrevem maneiras comuns de se fazerem as coisas, tornando-os modelos-exemplo . Conjuntos de estratégias. Estes são identificados ao longo do desenvolvimento de projetos, onde surgem problemas repetitivos e obviamente com soluções semelhantes . Todo Pattern apresenta algumas características comuns: são baseados em experiências anteriores; são reutilizáveis; combinam estratégia de design e melhores práticas; podem ser usados juntos a fim de resolver uma gama maior de problemas.
  • 18. Patterns Acoplamento entre as Camadas
  • 19.
  • 20.
  • 22. MENSAGEM “ Existem duas formas de construir um modelo de software. Uma é fazer o desenho tão simples que é óbvio não ter deficiências. Uma outra forma é fazer o modelo tão complicado que não tem deficiências óbvias .” C. A. R. Hoare
  • 23.
  • 24. Use Case Fluxo alternativo do Processo de Vistoria através de pesquisa. UC 1.1 : Fluxo alternativo do Processo de Vistoria através de pesquisa UC x UC 1: Processo de Vistoria UC y <<estende>> <<ator>>
  • 25. Descrição Sucinta do UC 1.1 Construir uma interface de entrada dos dados : logradouro, razão social, CPF, CNPJ e NIB. Nesta tela deve existir a opção para cada um destes dados, afim de possibilitar a pesquisa destes processos. Este dado deve trazer em uma próxima tela um relatório com a pesquisa dos NIBs e ter um link para abrir o documento, este por sua vez possibilitará o usuário a dar continuidade no processo de vistoria.