G ENERIC C ONNECTION F RAMEWORK Prof. André Assad

Slides:



Advertisements
Apresentações semelhantes
I/O Carlos Bazilio Depto de Ciência e Tecnologia
Advertisements

Sistemas distribuídos
Sockets Marco Antonio – marcoreis.net Arquiteto de Software Dezembro/2007.
Entrada e Saída Marco Antonio Arquiteto de Software Dezembro/2007.
Comunicação entre processos distribuídos
Prof. Alessandro J. de Souza
Tratamento de Exceções
Ir p/ primeira página Cliente/Servidor Modelo usado para construir aplicações Servidor em número de porta conhecido – Aceita requisições e executa serviços.
Streams Java.
Wagner Santos C. de Jesus
Wagner Santos C. de Jesus
9 Controle de fluxo Seqüenciadores. Jumps. Escapes. Exceções.
Prof. Marco Aurelio N. Esteves
Aplicativos Web Com Orientação a Objetos
Acesso a Base de Dados JDBC Trabalho Realizado por:
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 – CIn/UFPE Davi Duarte Denyson José Eduardo Souza Ivan França Rafael Lima.
Curso básico de PHP 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Jquery Ajax.
Arquitecturas de extensão do servidor HTTP CGI | ISAPI : ASP, ASP.NET Programação na Internet Secção de Programação ISEL-DEETC-LEIC Luis Falcão -
Protocolo HTTP e Web Servers
Streams –input e output
Anexo A. JDBC  Conjunto de interfaces e classes java que faz envio de consultas para um banco de dados.  Objetos(tipos)  Conexão (Driver e Connection)
Chamada Remota de Procedimentos
Programação com sockets
Java Avançado Luiz Carlos d´Oleron SJCP Java Sockets.
HTTP Hypertext Transfer Protocol.
Aula 2 – Primeiros Passos com a arquitetura Web Servidor
Enviando dados com interface Classe Form – é um repositório de controles, sendo que apenas um Form pode ser visto de cada vez. Cada objeto da classe Form.
Tópicos Especiais J2EE Prof. Cristina Valadares Curso de Ciência da Computação.
The Factory Esclarecendo a arquitetura utilizada no projeto Piloto Autor: Wabber Filho.
Java e Serviço de Transporte Vitor Brandi Junior.
BC-0502 Metodologia e Algoritmos Computacionais Santo André, Abril de Arquivos em Java.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Aplicativos Web Com Orientação a Objetos
Aula 2 – Primeiros Passos com a arquitetura Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas.
Infra-Estrutura de Comunicação (IF678) Aula Prática CIn/UFPE Rafael Lucena Roberta Mota Rubens Lopes Rodolfo Santos João Pedro Cordeiro.
1 JAVA I/O (Entrada e Saída em JAVA) Prof. Alexandre Monteiro Recife.
Configuração do Ambiente de programação
Implementando comunicação em JAVA via Sockets Alcides Calsavara - Leonardo R. Nunes -
Aplicações Web com Orientação a Objetos
Programação distribuída e concorrente
Tratamento de Exceções
IIS Web Server.
Capítulo 6 Exceções.
Hypertext Transfer Protocol Equipe: Alan José de Moura Silva Filho (ajmsf) Cyrus Dias da Silva (cds) Dayse Danielle Soares da Rocha(ddsr) Elton Renan Magalhães.
Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 Programação de Sockets TCP e UDP Hugo Simões Original por: Flávio.
Tópicos Especiais J2EE Prof. Cristina Valadares Curso de Ciência da Computação.
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Java Conexão com Baco de dados Saulo Bazzi Oberderfer Fonte:
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Socket em Java.
Unidade 5 – Integrando JSP e Servlets Prof.: Henrique Santos
Infra-Estrutura de Comunicação (IF678) Aula Prática 02 Programação de Sockets TCP e UDP CIn/UFPE Bruno Gentilini Eduardo Souza Amora Albuquerque Anália.
Programação Distribuída em Java Aula Na aula passada vimos: I/O Streams Filtros Readers and Writers.
Programação Distribuída em Java Aula Na aula passada vimos: I/O Sockets.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Jornada de Cursos - J2ME Aula 7 – MIDlets conectados.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Tema 07: A camada de aplicação: protocolos HTTP, SMTP, DNS, FTP
Feapa Prof Osiel Marlon Disciplina: Engenharia de Software 2009 Curso: Sistemas de Informação.
GOTO. Project treinamento expresso j2me Luiz Carlos d´Oleron lcadb at cin.ufpe.br.
Aplicativos para Internet Prof. Wolley W. Silva
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Webservices.
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Servidor WEB IGOR ALVES. O protocolo HTTP 1990 surgimento da aplicação www Grande quantidade de informação que pode ser acessada por demanda Buscadores.
Programa Expresso de Capacitação Módulo J2ME
Transcrição da apresentação:

G ENERIC C ONNECTION F RAMEWORK Prof. André Assad

C OMUNICAÇÃO DE D ADOS Meios de comunicação (dispositivos móveis) Infravermelho Rádio TDMA CDMA GSM: GPRS, EDGE, 3G Bluetooth NFC Portas seriais

C OMUNICAÇÃO DE D ADOS Protocolos de comunicação (dispositivos móveis) RS-232 HTTP Socket SMS

C OMUNICAÇÃO DE D ADOS

I NTRODUÇÃO AO GCF Java.io + java.net: só eles são maiores que os recursos disponíveis de muitos dispositivos móveis GCF (Generic Connection Framework) A idéia era não implementar um conjunto de classes completamente novo Devia-se fornecer um sub-conjunto do J2SE

C ONEXÃO G ENÉRICA O termo Genérico significa algo que atende ou serve para vários fins (obviamente ) Connector Classe para criação de qualquer tipo de conexão Connector.open(protocolo:endereço;parâmetros); Tipos de conexões HTTP Serial Socket HTTPS Ir Datagrama SSL File

A BRINDO UMA C ONEXÃO Exemplos de abertura de conexão: Connector.open( Connector.open(socket:// ); Connector.open(file://teste.txt); Connector.open(comm:1;baudrate=9600);

GCF GCF é flexível graças ao modo como os protocolos são resolvidos em tempo de execução A classe Connector procura a classe apropriada que implementa o protocolo solicitado Essas classes específicas dos protocolos implementam uma interface chamada Connection Embora a API suporte vários, o único protocolo de comunicação exigido é o HTTP.

GCF - HIERARQUIA ConnectionConnector CommConnection ContentConnection DatagramaConnection HttpConnection HttpsConnection InputConnection OutputConnection SecureConnection SocketConnection StreamConnection UDPConnection ServerSocketConnection

GCF - API public static final int READ public static final int WRITE public static final int READ_WRITE public static Connection open (String name) throws IOExceptionConnectionStringIOException public static Connection open (String name, int mode) throws IOExceptionConnectionString IOException public static InputStream openInputStream (String name) throws IOExceptionInputStreamString IOException public static DataInputStream openDataInputStream (String name) throws IOExceptionDataInputStreamStringIOException public static DataOutputStream openDataOutputStream (String name) throws IOExceptionDataOutputStreamStringIOException public static OutputStream openOutputStream (String name) throws IOExceptionOutputStreamStringIOException

P ROTOCOLO HTTP É o único protocolo, com certeza, implementado no J2ME Classe HttpConnection Através desse protocolo, pode-se comunicar com um servidor web Portabilidade garantida Conhecido como protocolo de pedidos e respostas

P ROTOCOLO HTTP Cliente HTTP Servidor Web Pedido Resposta

P ROTOCOLO HTTP

C OMANDOS HTTP Comandos (de solicitação) GET: dados enviados como parte da URL POST: dados enviados em fluxo separado HEADER PUT DELETE Composição de uma solicitação HTTP: Método do pedido Cabeçalho Corpo

R EQUISIÇÃO HTTP Forma de indicar o método de solicitação do pedido HttpConnection http = null; http = (HttpConnection) Connector.open(url); http.setRequestMethod(HttpConnection.GET);

C ABEÇALHOS HTTP Configurarando os campos do cabeçalho HttpConnection http = null; http = (HttpConnection) Connector.open(url); http.setRequestMethod(HttpConnection.GET);

C ABEÇALHO HTTP Lendo o cabeçalho HTTP public String getHeaderField(int n) public String getHeaderField(String name) public String getHeaderFieldKey(int n) public long getDate() public long getExpiration()

S TATUS HTTP Indica o resultado do pedido do cliente Para httpConnection existem mais de 35 códigos de resposta existentes: 1xx – Informação 2xx – Sucesso 3xx – Redirecionamento 4xx – Erros de cliente 5xx – Erros de servidor Métodos java utilizados http.getResponseMessage(); http.getResponseCode();

E XEMPLO - S TREAM C ONNECTION void getViaStreamConnection(String url) throws IOException { StreamConnection c = null; InputStream s = null; try { c = (StreamConnection)Connector.open(url); s = c.openInputStream(); int ch; while ((ch = s.read()) != -1) {... } } finally { if (s != null) s.close(); if (c != null) c.close(); } }

E XERCÍCIO HTTP Usando HTTPConnection, desenvolva um MIDLet que deverá fazer um GET na seguinte URL: m.do?logon_action=&username=test&password=test Esta URL retorna SUCCESS para login bem sucedido e ERROR para login mau sucedido Em caso de login bem sucedido o midlet deverá encaminhar a aplicação para a tela de entrada