16. Request/Acknowledge
Steps no Server:
1. Recebe um Request
2. Envia um Identificador(token) ou uma URL
3. Processsa a requisição em backgroud
4. Recebe o Identificador e envia o
25. Estilos de Implementação de
Web Service
Considerações para implementação do serviço
Web:
S Atomicidade - tudo ou nada
S Não gerenciar estados
S Ações quando houver composição de serviços
33. Metodologia
S Público alvo
S Técnica utiliza amostragem por conveniência
S Observação do pesquisador.
S Questionário direcionado a profissionais de
TI
34. Estudo de Caso
S Foi utilizado uma aplicação usada por uma
empresa de pesquisa de medicamentos.
S Algumas funcionalidades:
Monitoramento de Portfólio de Medicamentos
Pesquisa e Recomendação de Medicamentos
Agrupamento de Medicamento
Histórico do medicamento
35. Estudo de Caso
S P1 - Sem Padrões de Projeto para web
Services
S P2 - Com Padrões de Projeto para web
Services
S As duas aplicações realizam o mesmo
trabalho
S Tem entradas e saídas iguais o que facilita a
comparação
36. Estudo Comparativo
S O que foi Comparado :
Padrões de Projetos
Frameworks
Número de Linhas de Código
Complexidade Ciclomática (IF,WHILE e FOR)
Manutenibilidade (facilidade, precisão, segurança na
37. Complexidade Ciclomática
M=D+1 onde:
D=ponto de decisão (IF,FOR,WHILE)
Valores de Referência:
− 1-10, métodos simples, sem muito risco
− 11-20, métodos medianamente complexos, com
risco moderado
− 21-50, métodos complexos, com risco alto
− 51 ou mais, métodos instáveis de altíssimo risco.
(MCCABE,1976)
38.
39. Resultados Obtidos
Projeto 2
• Padrão Arquitetural SOA
• Estilo de RPC API
• Linked Service com serviço raiz com pontos de
entrada
• Data Transfer Object para tratar dados
recebidos e Enviados e deixar o cliente a parte
40. Resultados Obtidos
• Operation Transcripts para ter um único ponto
de controle transacional
• Comand Invoker para que o Serviço não
conheça o modelo de domínio e fazer com que
o cliente conheça apenas interfaces de saída
• Service Interceptor para realizar validações
41. Resultados Obtidos
• O projeto 2 teve aproximadamente 1200 linhas a mais
que o projeto 1
• Complexidade Ciclomática foi considerada:
P1 - “medianamente complexo, com risco
moderado”
43. Resultados Obtidos
• A manutenibilidade foi de 1h e 30 min a menos
no projeto 2
Casos de manutenção:
• Suporte a relatórios em CSV
• Manutenção no agrupamento por medicamentos
do mesmo tipo
• Ordenação de medicamentos após o
agrupamento do mesmo tipo
44. Estudo Qualitativo
S Pesquisa com dez profissionais
S Objetivo :
Importância dos padrões de projeto
É determinado pelo tempo de
experiência?
50. Conclusão do Estudo
Qualitativo
S A maior parte das pessoas sabem que os
Padrões de projeto tem benefícios
S A complexidade e quando se usar pode
estar ligado a tempo de experiência
S Dependendo do contexto que se trabalha
a pessoas acham que o framework pode
ser mais importante que o Padrão de