Exemplo de uma aplicação: venda de ingressos de cinema

Slides:



Advertisements
Apresentações semelhantes
Conceitos de J2EE para a WEB
Advertisements

UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
Wireshark Captura de Protocolos da camada de aplicação Captura de Protocolos da camada de aplicação Maicon de Vargas Pereira Maicon de Vargas Pereira.
Desenvolvimento de Aplicações Web com Java - Servlets e JSP Autor: Juliano Marcos Martins.
SyncEasy – Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados Acadêmico: Bernardo Marquardt Müller.
SISTEMA DE GESTÃO DE ESTOQUES PARA DISTRIBUIDORAS DE FUMO Graciela Martins Luiz Orientador: Wilson Pedro Carli.
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 19.
1 Sistemas Distribuídos – Capítulo 4 - Aula 5 Aula de hoje Chamada de Procedimento Remoto - RPC Aula Passada Clusters de Servidores Migração de Código.
Particularidades de Apps de Negócios em Modalidade offline – Desktop e Mobile Magic Sem Segredos – S01E05 – 14 Fevereiro 2014.
Disciplina: Gerenciamento e Desenvolvimento em Banco de Dados Professora: Chaiene Minella, MSc
Redes Veiculares Edilson Fernandes Lucas Canto Sandro Alves Redes de Computadores I
SOFTWARE DE GERENCIAMENTO DE LIBERAÇÃO E ATUALIZAÇÃO DE VERSÃO EDUARDO SIEMANN ORIENTADOR: JHONY ALCEU PEREIRA.
SISTEMA BASEADO EM LOCALIZAÇÃO DE SERVIÇOS DE TÁXI Orientador: Prof. Dr. Mauro Marcelo Mattos Acadêmico: Arthur Henrique Kienolt.
UTILIZAÇÃO DO SISTEMA DE GERENCIAMENTO DE CURSOS MOODLE PARA O DESENVOLVIMENTO DE UM PROJETO DE CURSO NA DISCIPLINA DE TEORIA GERAL DE SISTEMAS DENIS BENNER.
Acadêmico: Anderson Nicolau Haskel Orientador: Francisco Adell Péricas 16:59.
Implementação de um Motor de Jogos de Carta para a Plataforma Android Massami Welington Kamigashima Orientador: Paulo César Rodacki Gomes.
5 UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO SISTEMA DE FORÇA DE VENDAS. Gustav Dallmann Júnior Orientador: Prof. Francisco Adell.
Arquitetura de Sistemas de Software. ... continuação  Como vimos anteriormente, SOAP transporta e o WSDL descreve.  E o que faz a UDDI ?
UTILIZAÇÃO DE OBJETOS DE APRENDIZAGEM SCORM COM A REDE SOCIAL ORKUT Leonardo Rafael Morastoni Orientador: Mauro Marcelo Mattos.
CARACTERISTICAS DO CLP - Fácil diagnóstico de funcionamento ainda em fase de projeto do sistema e/ou reparos que venham a ocorrer.
Mídias sociais.
INTRODUÇÃO Ligações inter- redes.
especificação de requisitos do software
Fundamentos da Inteligência de Negócios.
Protocolo SMTP e POP O que é SMTP?
Diagrama De Classes Adaptado
Programação II Introdução.
Bruno Adolfo Luis Henrique Natanael de Carvalho Lucas Fernandes
Prof. Msc. Diovani Milhorim
Administração e serviços de redes
Sistemas Distribuídos
Projeto de Redes 4º Semestre Aula 2 Prof
Trabalho de Conclusão de Curso
especificação de requisitos do software
Webservices Rest.
INTRODUÇÃO Estendendo LANs.
Curso Superior em Redes de Computadores
Gustavo Trauttmann, Willian Jardim e Jean Stragalinos.
SISTEMAS UBÍQUOS E PERVASIVOS
Projeto com reuso – MVC – Model-View-Controller
especificação de requisitos do software
Programação Lógica: PROLOG
Acadêmico: Marciane Schotten
Segurança e Controle de Recursos de Sistemas e Informações
INTRODUÇÃO A COMPUTAÇÃO
A definição de Modelo de Negócios
APROM Aplicação para Gestão de Projetos
Diógenes Pereira Jr. Igor Thiago Marques Mendonça
ADMINISTRAÇÃO DE BANCO DE DADOS
Introdução a Redes v5.1 Capítulo 4: Acesso à Rede.
Introdução a Redes v5.1 Capítulo 6: Camada de Rede.
Desenvolvimento em Camadas
Luis Fernando Fachinelli Caique Maciel
RESULTADOS E CONCLUSÕES
Dr. Almir rogério camolesi
Estrutura do Sistema Operacional
Capítulo 9: Divisão de redes IP em sub-redes
Prof. Msc. Diovani Milhorim
Internet x Intranet x Extranet
Instalação e Manutenção de Computadores Técnico em Informática MAI1
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
MODELO DE REFERÊNCIA OSI
Arquitetura e padrões de software
A Importância da Segurança de Endpoints Jymmy Barreto Mestre pelo Centro de Informática - UFPE.
Leonardo M G Gallardo Trilha: Testes
SISTEMAS DISTRIBUIDOS
CLP – Controladores Lógicos Programáveis Iniciou-se em 1968, pela General Motors. Foi uma alternativa para substituir as lógicas á relé.
SISTEMAS DISTRIBUIDOS
Vantagens e Restrições A tecnologia Frame Relay oferece vários benefícios, quando comparada com outras tecnologias: Custo de propriedade reduzido (equipamentos.
Transcrição da apresentação:

Exemplo de uma aplicação: venda de ingressos de cinema Funçoes que os usuarios podem ativar usando um dispositivo movel: Criar uma conta com a qual ele possa entrar na aplicaçao Navegar por uma lista personalizada de salas de cinema e horarios de filmes Reservar acentos e comprar ingressos do filme

Fluxo da Aplicaçao Java de venda de ingressos de cinema

Arquitetura de Alto Nivel da Aplicaçao Java de venda de ingressos de cinema

Arquitetura de Alto Nivel da Aplicaçao Java de venda de ingressos de cinema Uma MIDLet oferece a interface com o usuario no dispositivo movel A MIDLet se comunica com um servlet Java via HTTP seguro O servlet despacha as solicitaçoes do cliente para o enterprise beans para gerenciamento de contabilidade, listagem dos filmes e compra de ingressos Os beans acessam uma base de dados atraves da API JDBC

Uso do Padrão MVC para o desenvolvimento da aplicação exemplo Para tirar vantagem das capabilidades do MIDP, a porção cliente da aplicação pode usar o padrão tradicional MVC Modelo Contem os dados para a aplicação (coleção de filmes, salas de exibição, horários de apresentação do filme e plano dos assentos para um filme especifico) Apresentação Contem todo o código relacionado com a apresentação dos dados e a coleta de dados proveniente do usuário (telas com a listagem dos filmes, canvas interativo com o plano de assentos) Controlador Governa o fluxo lógico da interface com o usuário Controla como as interações afetam o modelo de dados e vice-versa Na aplicação exemplo, o controlador pede ao usuário para criar uma conta caso seja sua primeira vez na aplicação Retém uma copia local, persistente do login do usuário Em usos subseqüentes, o controlador prossegue a partir do logon (já sabe que o usuário tem uma conta)

Benefícios do Uso do Padrão MVC Pode aumentar o tamanho do código (grande parte no controlador) – o que e uma desvantagem Separando o controlador do modelo e da apresentação, o fluxo da aplicação e’ isolado desenvolvedores podem entender a perspectiva do usuário apenas olhando o controlador O fluxo da aplicação pode ser alterado modificando-se o controlador sem (ou com pouca) alteração do restante do código Separando o modelo da apresentação, o modelo e isolado de alterações a apresentação Desenvolvedores podem alterar a aparência da interface do usuário sem ter que mudar o modelo Separando a apresentação do modelo, a apresentação e poupada dos detalhes de como funciona o modelo O modelo pode pegar seus dados de um armazenamento local, através da API RMS, de um servidor usando HTTP, de uma cache de memória ou de uma combinação dessas fontes

Mais Benefícios do Uso do Padrão MVC Para usar a rede intermitentemente e ainda permanecer útil quando desconectado, a porção cliente da aplicação deve decidir: Quando buscar os dados do servidor Quando buscar os dados do armazenamento local Estratégias de dados locais podem ser baseadas em cache ou sincronização para melhorar a responsividade e manter a coerência dos dados O particionamento destes detalhes no modelo (do MVC) torna a implementação, teste e manutenção mais fácil do que se estivessem espalhados pela aplicação

Mais restrições para o projeto de aplicações sem fio Oferecer interfaces uteis e utilizaveis frente a tamanho limitado da tela, capacidade de entrada de dados, poder de processamento, memoria, armazenamento persistente e vida da bateria Em termos de conectividade, os dispositivos moveis esperam encontrar: alta latencia largura de banda limitada conectividade intermitente Quais devem ser os objetivos de um cliente MIDP frente a estas restriçoes: Conectar a rede apenas quando necessario Consumir da rede apenas os dados que realmente precisa Permanecer util mesmo quando disconectado

Conectando a porção cliente ao servidor Apesar do MIDP não incluir mecanismos de comunicação cliente-servidor sofisticados (tais como RMI ou JAX-RPC – Java API for XML Based RPCs), desenvolvedores podem projetar um protocolo de mensagem usando o formato e transporte que quiserem Para a maioria das aplicações HTTP funciona adequadamente como a base de um protocolo de mensagem (preferível ao socket e datagrama) Todos os dispositivos MIDP devem suportar HTTP => aplicações sobre HTTP serão portáveis para outros dispositivos Nem todos os MIDPs suportam comunicação baseada em sockets e datagramas => aplicações que as usam podem não ser portáveis HTTP e’ “firewall amigável” => A maioria dos servidores são separados dos clientes moveis através de firewalls. HTTP e um dos poucos protocolos que os firewalls deixam passar As APIS Java de rede facilitam a vida do desenvolvedor MIDP inclui suporte para HTTP 1.1 e APIs para gerar solicitações GET, POST e HEAD,manipulação básica de cabeçalhos, consumo e geração de mensagens baseadas em fluxos API Servlet Java oferece extensa estrutura para tratar solicitações HTTP e gerar respostas

Comunicação entre um cliente MIDP e um Java Servlet O cliente codifica uma solicitação da aplicação e a empacota numa solicitação HTTP O servlet recebe a solicitação HTTP e decodifica a solicitação da aplicação. O servlet ou algum delegado (tal como um enterprise bean) executa o trabalho especificado pela solicitação O servlet codifica uma resposta a aplicação e empacota numa resposta HTTP O cliente recebe a resposta HTTP e decodifica a resposta da aplicação que ela contem. O cliente pode instanciar um ou mais objetos e executar algum trabalho sobre esses objetos locais

Recursos XML http://java.sun.com/webservices/docs/ea1/tutorial/doc/WSPackTutorialTOC.html MVC http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/app-arch/app-arch2.html