OPAKUS   SOLUCÕES INTELIGENTES www.opakus.com.br
ENGENHARIA DE SISTEMAS WEB MVC e Struts Camadas de Aplicação, níveis 3 e 4 Padrão MVC Outros Padrões e J2EE Struts Estudo de Caso Jean Marcelo da Costa Sales  CELEPAR - DIFAS
Modelo 2 Camadas
Modelo 2 Camadas Camada de Apresentação com Regras de Negócio Juntas. Camada de Persistência. 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 Modelo e códigos construídos para representar as camadas.  Os servidores não precisam estar necessariamente  em máquinas diferentes, podem estar na mesma máquina. Porem questões de performance são relevantes. Camada de Apresentação  Camada de Negócios Camada de Persistência
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 CASOS DE USO  MODELAGEM DAS OPERAÇÕES, FLUXOS,  INTEFACES , DEFINIÇÕES, NEGÓCIOS . DIAGRAMA DE CLASSES  Estrutura física do objetos em carregados em memória e seus relacionamentos. DIAGRAMAS DE INTERAÇÃO  SEQUENCIA DAS OPERAÇÕES E TROCA DE MENSAGENS ENTRE OBJETOS.  ( TEMPO DE PROCESSAMENTO  X  INTERAÇÃO DOS OBJETOS ) DIAGRAMAS DE COMPORTAMENTO DIGRAMAS DE ESTADOS, COMPORTAMENTO DOS OBJETOS E DO PROCESSAMENTO LÓGICO.
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 Padrões da camada de apresentação (Web)  Front Controller  View Helper  Composite View  Service to Worker  Dispatcher View  Intercepting Filter  Padrões da camada de negócios (EJB)  Business Delegate  Value Object (ou Transfer Object)  Session Facade  Composite Entity  Value Object Assembler (ou Transfer Object Assembler)  Value List Handler  Service Locator  Padrões da Camada de Integração  Data Access Object -  DAO Service Activator
RELAÇÃO ENTRE PATTERNS  &  FRAMEWORKS   A utilização de Patterns passa a ser mais interessante quando feita  de forma conjunta, surgindo assim uma outra necessidade; o desenvolvimento de   frameworks .  Exemplos Mais Conhecidos:  FrameWork para Pattern MVC :  STRUTS FrameWork para Pattern DAO  :  HIBERNATE  ( PERSISTÊNCIA DE DADOS )
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 Processo de Vistoria compreende : Solicitação de Vistoria Pagamento da GR-PR Agendamento da Vistoria Cadastro de Resultado da Vistoria Analise do Resultado Possibilidade de Reentrada de Processo Conclusão e Emissão de Certificados Manutenção do Sistema e demais  funcionalidades.
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.

Arquitetura de sistemas web

  • 1.
    OPAKUS SOLUCÕES INTELIGENTES www.opakus.com.br
  • 2.
    ENGENHARIA DE SISTEMASWEB MVC e Struts Camadas de Aplicação, níveis 3 e 4 Padrão MVC Outros Padrões e J2EE Struts Estudo de Caso Jean Marcelo da Costa Sales CELEPAR - DIFAS
  • 3.
  • 4.
    Modelo 2 CamadasCamada de Apresentação com Regras de Negócio Juntas. Camada de Persistência. 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 &quot;apagando incêndios&quot;; 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
  • 5.
  • 6.
    Modelo 3 CamadasModelo e códigos construídos para representar as camadas. Os servidores não precisam estar necessariamente em máquinas diferentes, podem estar na mesma máquina. Porem questões de performance são relevantes. Camada de Apresentação Camada de Negócios Camada de Persistência
  • 7.
    Modelo 3 Camadasc/ 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
  • 8.
  • 9.
    Modelo 4 CamadasCLIENTE ( 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
  • 11.
  • 12.
  • 13.
    STRUTS Fluxode Navegação de seus componentes
  • 14.
    STRUTS CAMADA DENEGÓ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 Strutstemos 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.
    Modelagem CASOS DEUSO MODELAGEM DAS OPERAÇÕES, FLUXOS, INTEFACES , DEFINIÇÕES, NEGÓCIOS . DIAGRAMA DE CLASSES Estrutura física do objetos em carregados em memória e seus relacionamentos. DIAGRAMAS DE INTERAÇÃO SEQUENCIA DAS OPERAÇÕES E TROCA DE MENSAGENS ENTRE OBJETOS. ( TEMPO DE PROCESSAMENTO X INTERAÇÃO DOS OBJETOS ) DIAGRAMAS DE COMPORTAMENTO DIGRAMAS DE ESTADOS, COMPORTAMENTO DOS OBJETOS E DO PROCESSAMENTO LÓGICO.
  • 17.
    Patterns Patterns descrevemmaneiras 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 Acoplamentoentre as Camadas
  • 19.
    Design Patterns –J2EE Padrões da camada de apresentação (Web) Front Controller View Helper Composite View Service to Worker Dispatcher View Intercepting Filter Padrões da camada de negócios (EJB) Business Delegate Value Object (ou Transfer Object) Session Facade Composite Entity Value Object Assembler (ou Transfer Object Assembler) Value List Handler Service Locator Padrões da Camada de Integração Data Access Object - DAO Service Activator
  • 20.
    RELAÇÃO ENTRE PATTERNS & FRAMEWORKS A utilização de Patterns passa a ser mais interessante quando feita de forma conjunta, surgindo assim uma outra necessidade; o desenvolvimento de frameworks . Exemplos Mais Conhecidos: FrameWork para Pattern MVC : STRUTS FrameWork para Pattern DAO : HIBERNATE ( PERSISTÊNCIA DE DADOS )
  • 21.
  • 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.
    Estudo de Caso: Acompanhamento de Vistorias Processo de Vistoria compreende : Solicitação de Vistoria Pagamento da GR-PR Agendamento da Vistoria Cadastro de Resultado da Vistoria Analise do Resultado Possibilidade de Reentrada de Processo Conclusão e Emissão de Certificados Manutenção do Sistema e demais funcionalidades.
  • 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 doUC 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.