Java 2 Platform, Micro Edition (J2ME)
|
|
- Thomaz Cabral de Mendonça
- 8 Há anos
- Visualizações:
Transcrição
1 Java 2 Platform, Micro Edition () Alcione de Paiva DPI Granbery Partes deste material foram adaptadas de Mauro Nacif Masha Gutkhen Keren Gazit
2 Conteúdo O que é? conceitos básicos Configurações (CLDC, CDC) Profiles (MIDP) MIDlet, MIDlet Suite Classes básicas da API Uso e instalação Exemplos Exercícios 2
3 Introdução Dispositivos de informação inteligentes são uma necessidade em nossa moderna. Tais dispositivos podem ser: Telefones celulares smart cards PDAs Palmtops Dispositivos eletrônicos em geral Estes dispositivos tendem a ser direcionados para um propósito específico, com recurso limitado, conectados em rede. 3
4 Motivações Years to Reach 25% Market Penetration Years Telephone PC Cellular Internet Mobile internet Category => penetração de 25% do mercado da Internet móvel em quatro anos (Forrester) 4
5 Requisitos de ambiente É necessário um ambiente adaptado para dispositivos com recursos limitados As limitações são: Memória extremamente limitada Tamanho de tela pequena Métodos de entrada alternativos Processadores lentos 5
6 Qual é a solução? Devido à grande demanda a Sun decidiu desenvolver uma edição especial de Java: (Java 2 Micro Edition). 6
7 7
8 Penetração da Tecnologia Java Developers.sun.com (February 14-17, 2005) 110 operadoras no mundo permitem deployments em Java Usados em mais de 400 modelos de mais de 40 fabricantes diferentes Usada em mais de 750 milhões de smartcards. 8
9 Penetração da Tecnologia Java Enterprise Developer News (Tuesday, April 12, 2005) O desenvolvimento em cresceu 33% em apenas seis meses É mais efetivo em termos de custo o desenvolvimento em uma vez que não é necessário reescrever a aplicação para dispositivos diferentes. 9
10 Edições de Java Dispositivos diferentes têm exigências diferentes e expectativas diferentes de Java. Uma plataforma (solução) não pode abarcar todos os segmentos do mercado (servidor web, vídeo games etc.) Usuários/desenvolvedores querem flexibilidade. 10
11 Edições de Java A Plataforma Java 2 é dividida em três edições. Cada edição fornece um ambiente completo para executar aplicações baseadas em java, inclusive a máquina virtual Java (VM) e classes de tempo de execução. As três edições abordam tipos diferentes de aplicações que executam em tipos diferentes de dispositivos. 11
12 Edições de Java Plataforma Java 2 Java2 Standard Edition (J2SE ) Java2 Enterprise Edition (J2EE ) Aplicações desktop & Aplicações workstation Aplicações empresariais de alto desempenho Java2 Micro Edition ( ) Dispositivos com Limitações de memória e processamento 12
13 Edições de Java Cada edição define conjuntos diferentes de bibliotecas de classe. Existem milhares de classes básicas de J2SE, ocupando megabytes de espaço. fornece um número J2EE menor de classes. J2SE 13
14 PersonalJava e EmbeddedJava não é a primeira tentativa de adaptar Java para ambientes restritos. PersonalJava Usa as classes básicas de Java 1.1 com algumas características de Java 2. A implementação ainda exige para 2 megabytes de memória e um processador rápido para executar. 14
15 PersonalJava e EmbeddedJava EmbeddedJava Cada comportamento da JVM e das classes runtime são opcionais o implementador pode escolher exatamente que classes e métodos são requeridos. Perda da portabilidade. 15
16 Profile Plataforma mínima requerida para um grupo de dispositivos Profile Libraries Atende necessidades específicas de uma certa família de dispositivos Java Language Pacotes opcionais Java Virtual Machine Configuration Configuration Profiles Conceitos básicos Sistema operacional 16
17 Conceitos básicos J2EE J2SE PDA Profile Mobile Internet dispositiv o Other Profile Standard Library CLDC Person Profile Enterprise Services CDC Foundatio n Profile Application Server JavaCard CLDC Core API CLDC Core API JavaCard API KVM JCRE Java Language JVM (HotSpot) CVM 17
18 Conceitos básicos Java Card Class file(s) Cerca de 50K de memória Três componentes: Runtime environment Converter JCVM, JCRE, JC API 2 diferentes VMs: Conversor Interpretador On-card installer Interpreter CAP files Smart card Off-card installation program CAD PC ou workstation 18
19 Conceitos básicos JavaTV Applications & Applets Baseado em J2SE VM no receptor de TV & executa byte code Aplicações sobdemanda Application layer Java TV API Java Platform Java technology layer Real Time OS Device Drivers Digital TV Receiver RTOS layer Hardware layer 19
20 Conceitos básicos está baseada em 3 conceitos básicos: Configurations Profiles Pacotes opcionais 20
21 Configurações Uma configuration é um ambiente Java completo, consistindo de: Uma Java virtual machine (VM) para executar Java bytecode Código nativo para interagir com o sistema subjacente Um conjunto de classes básicas Java de tempo de execução Para usar uma configuration, um dispositivo deve atender alguns requerimentos mínimos. 21
22 Configurações O conjunto de classes básicas e pequeno e deve ser expandido com classes adicionais fornecidas pelo profiles ou pelo implementador da configuration. Configurations não define classes de interface com o usuário. 22
23 Configurações Configuration CLDC CDC Connected Limited Device Configuration Connected Device Configuration 23
24 CLDC vs. CDC CLDC Para dispositivos muito limitados KB de memória total Processador de 16-bit ou 32-bit Baixo consumo de energia, com possível uso de bateria Conectividade com largura de banda limitada CDC 2 MB ou mais de memória Processador de 32bit Conectividade com banda larga, com o uso freqüente de TCP/IP 24
25 CLDC vs. CDC - VM Características ausentes na CLDC VM: Tipos de Ponto flutuante (1.0) Finalização de objetos JNI ou reflection Thread groups ou daemon threads Class loaders para usuário O CDC suporta uma máquina virtual Java 2 completa Mudanças na verificação/ pre-verificação 25
26 KVM e CVM KVM - Java virtual machines para o CLDC CVM - Java virtual machines para o CDC Escritas para trabalhar especificamente em ambientes limitados e para serem facilmente portadas para diferentes plataformas. 26
27 CLDC vs. CDC J2SE Subset CLDC inclui classes da: CDC inclui 17 pacotes java.lang java.io java.util Somente classes selecionadas de cada pacote foram incluídas. 27
28 CLDC vs. CDC J2SE Subset J2SE CDC CLDC 28
29 Lidando com I/O J2SE inclui várias classes para realizar I/O. Existe um número grande de classes I/O e elas tendem a encapsular modelos de I/O que não são necessariamente encontrados em todos os dispositivos. Por exemplo, alguns dispositivos handheld não possuem sistemas de arquivo. Suporte a Socket, também não é universal. 29
30 Lidando com I/O em CLDC CLDC define um conjunto novo de APIs para I/O chamado de Generic Connection Framework. O GCF, parte do novo pacote javax.microedition.io, define interfaces para os diferentes tipos de I/O que são possíveis. O CLDC não define, de fato, qualquer implementação de I/O. Isto fica a cargo do profiles e/ou do fabricante do dispositivo. 30
31 GCF - exemplo import java.io.*; import javax.microedition.io.*; StreamConnection conn = null; InputStream is = null; String url = "socket://somewhere.com:8909"; try { conn = (StreamConnection) Connector.open( url ); is = conn.openinputstream();... // etc. etc. } 31
32 Lidando com I/O em CDC Uma vez que CDC é um superconjunto do CLDC, ele inclui o GCF. CDC também requer suporte GCF para dois tipos específicos de conexões: arquivos e datagramas. A razão: CDC inclui as classes dos pacotes java.io e java.net. 32
33 Conceitos básicos está baseada em 3 conceitos básicos: Configurations Profiles Pacotes opcionais 33
34 Profiles Adiciona classes específicas do domínio para uma configuration: Para adicionar funcionalidade ausentes Para suportar usos específicos do dispositivo A maioria de profiles define classes de interface com o usuário para construir aplicações interativas. Para usar um profile, o dispositivo deve atender um mínimo de requisitos da configuration e do profile. 34
35 Profiles Profile MIDP Mobile Information device PDAP Personal Digital Assistant Profile FP Foundation Profile PBP PP Personal Basis Profile Personal Profile 35
36 MIDP MID Profile MIDP é direcionada para uma classes de dispositivos conhecidos como mobile information devices (MIDs). Características Mínimas do MIDs: Memória suficiente para executar aplicações MIDP Visor com pelo menos 96 X 56 pixels, monocromático ou colorido Um keypad, teclado, ou tela sensível ao toque Capacidade de rede sem fio bi-direcional 36
37 MIDP - Especificação Existem duas versões de MIDP: MIDP 1.0 lançado em Setembro de Muitos dispositivos disponíveis no mercado suportam esta versão. MIDP 2.0 lançado em Dezembro de Grande parte dos dispositivos o suportam. 37
38 MIDP - Especificação O MIDP adiciona APIs às APIs básicas definidas pelo CLDC. As novas características incluem: Suporte para gerência do ciclo de vida da aplicação de modo similar aos applets no J2SE. Armazenamento persistente de dados. Conectividade baseada no HTTP no GCF. Suporte simples às interface com o usuário, com flexibilidade suficiente para construção de jogos e aplicações de negócio. 38
39 MIDP - Especificação A especificação MIDP 2.0 inclui novas APIs em relação a versão 1.0, sendo as principais: classe responsável por lidar com push registry (um MIDlet responder a um evento externo sem estar ativo). javax.microedition.lcdui.game pacote responsável por estender as capacidades do MIDP para jogos 2D, lidando com layers, sprites e transparências. javax.microedition.io.pushregistry 39
40 MIDP - Especificação Outros avanços da MIDP 2.0: Ampliação da capacidade de interface com o usuário. Suporte a mídia (wav) Ampliação da capacidade de conectividade (HTTPS, datagram, sockets, server sockets e comunicação com a porta serial) Suporte Over-the-air (OTA) instalação automática pelo ar. 40
41 MIDP Limitações das aplicações Memória é um recurso particularmente escasso. Os primeiros celulares Motorola habilitados para limitavam o tamanho de uma aplicação a 50K. 41
42 Conceitos básicos está baseada em 3 conceitos básicos: Configurations Profiles Pacotes opcionais 42
43 Pacotes opcionais Conjunto de APIs para suportar comportamentos adicionais comuns. Possui dependências específicas com uma configuration particular e/ou um ou mais profiles. Exemplos de pacotes opcionais : RMI Bluetooth JDBC 43
44 Pacotes opcionais JCP APIs suportadas no Wireless Toolkit JSR API Name JSR 139 CLDC 1.1 Connected Limited Device Configuration JSR 118 MIDP 2.0 Mobile Information Device Profile JSR 185 JTWI 1.0 Java Technology for the Wireless Industry JSR 205 WMA 2.0 Wireless Messaging API JSR 135 MMAPI 1.1 Mobile Media API JSR 75 PIM and File PDA Optional Packages for the Platform JSR 82 Bluetooth and OBEX Java APIs for Bluetooth JSR 172 Web Services Specification JSR 184 3D Graphics Mobile 3D Graphics API for 44
45 Em resumo Configuration, profile e pacotes opcionais devem ser selecionados. profiles baseados em CDC tornam o desenvolvimento mais simples, mas não é adequado para dispositivos low-end. profiles baseados em CLDC tornam o desenvolvimento mais difícil, especialmente quando é necessário diminuir o tamanho de uma aplicação para executar em muitos dispositivos. 45
46 46
47 MIDlets o coração de Do mesmo modo que os Applets e os Servlets as aplicações MIDP são executadas em um ambiente. As aplicação são denominadas de MIDlet, a qual é uma aplicação MID Profile. 47
48 MIDlets o coração de Toda aplicação deve estender a classe javax.microedition.midlet.midlet para permitir que o programa gerente de aplicação (AMS): controle o MIDlet. Seja capaz de acessar as propriedades do descritor da aplicação. Notificar e requisitar mudanças de estado. 48
49 MIDlets o coração de A classe que estende a classe MIDlet é a classe principal da aplicação. A classe MIDlet define métodos abstratos que devem ser implementados pela subclasse (por exemplo: startapp(), destroyapp(), notifydestroyed()). 49
50 MIDlets o coração de 50
51 MIDlet Suite Um ou mais MIDlets são empacotados juntos em uma MIDlet suite, composta de: Arquivo JAR (Java archive) Arquivo JAD (Java Application Descriptor) Todas as classes definidas pelo usuário e recursos requeridos pelos MIDlets na suite devem estar no arquivo JAR. 51
52 MIDlet Suite O arquivo JAR file deve também incluir um manifest que descreve os MIDlets na suite. O descritor da aplicação (JAD) contém informação similar, e é usado por dispositivos para obter informação sobre uma MIDlet suite sem ter que baixar e instalar o MIDlet suite primeiro. 52
53 Criando um MIDlet 53
54 Criando um MIDlet Importando pacotes específicos do MIDP import javax.microedition.lcdui.*; import javax.microedition.midlet.*; 54
55 Criando um MIDlet Extends MIDlet Implements CommandListener public class HelloMIDlet extends MIDlet implements CommandListener { 55
56 Criando um MIDlet Criando um form, adicionando Commands public HelloMIDlet() { mmainform = new Form("HelloMIDlet"); mmainform.append(new StringItem(null, "Hello, Seminar Software Design!")); mmainform.addcommand(new Command("Exit", Command.EXIT, 0)); mmainform.setcommandlistener(this); } 56
57 Exemplos de classes da API MIDP MIDlet Form Command CommandListener ItemCommandListener Item 57
58 Exemplos de classes da API MIDlet Base class Form Command CommandListener ItemCommandListener Item 58
59 MIDlet class API protected abstract void startapp() protected abstract void pauseapp() protected abstract void destroyapp(boolean unconditional) public final String getappproperty(string key) public final void notifydestroyed() 59
60 Exemplos de classes da API MIDlet Form Command CommandListener ItemCommandListener Item 60
61 Classe Form Um Form é uma Screen (tela) que contém uma mistura arbitrária de itens: imagens, campos de texto read-only, campos de texto editáveis, campos de data editáveis, medidores, grupos de escolha e itens adaptados. De modo geral, qualquer subclasse da classe Item pode estar contida em um form. A implementação lida com o layout, navegação e rolamento (scrolling). 61
62 Classe Form API Gerência de Item public int append(item item) public Item get(int itemnum) Layout public void setitemstatelistener(itemstate Listener ilistener) 62
63 Exemplos de classes da API MIDlet Form Command CommandListener ItemCommandListener Item 63
64 Classe Command A classe Command representa o significado de uma ação. Objetos Command estão presentes na interface com o usuário. A ação é, de fato, implementada em um objeto CommandListener. O objeto CommandListener é associado com um objeto Displayable ou um Item. Uma vez que o Comando é acionado, o CommandListener é invocado e a ação é realizada. 64
65 Classe Command Command label public String getlabel() Command type public int getcommandtype() Command priority public int getpriority() 65
66 Classe Command tipo Label prioridade new Command( Compre", Command.ITEM, 1); new Command("Info", Command.ITEM, 1); new Command( voltar", Command.BACK, 1); 66
67 Classe Command Tipo BACK CANCEL EXIT HELP ITEM OK SCREEN STOP Comando navigacional para retornar à tela anterior. Comando padrão de cancelamento. Comando padrão de saída da aplicação. Comando para solicitação de ajuda on-line. Comando relacionado com itens na tela ou elementos de escolha. Comando padrão de resposta positiva a um dialogo. Especifica um comando definido pela aplicação que pertence à tela corrente. Comando para parar o processo em execução no momento. 67
68 Classe Command Prioridade A aplicação usa o valor de prioridade para descrever a importância deste comando relativamente a outros comandos na mesma tela. Valores de prioridade são inteiros, onde um número menor indica maior importância. Tipicamente, a implementação escolhe a colocação de um comando primeiro baseado no tipo de comando e então comandos semelhantes em lugares baseado em uma ordem de prioridade. Isto poderia significar que o comando com a prioridade mais alta é colocado de forma que usuário pode ativá-lo diretamente e o comando com mais baixa prioridade é colocado em um menu. 68
69 classe CommandListener API O objeto é um listener para Commands que estão associados à Displayable. public void commandaction(command c, Displayable d) 69
70 classe ItemCommandListener API Quando um command (associado a um Item) é invocado, a aplicação é notificada por meio da chamada ao método commandaction() de um objeto ItemCommandListener que foi associado ao Item. public void commandaction(command c, Item item) 70
71 Exemplos de classes da API MIDlet Form Command CommandListener ItemCommandListener Item 71
72 Classe Item Uma superclasse para componentes que podem ser adicionados a um Form. Todos os objetos Item possuem um campo label Escolha o layout, tamanho e aparência do Item Associe Commands 72
73 Classe Item API public void setdefaultcommand(command cmd) public void setitemcommandlistener(itemcommandlistener listener) public void notifystatechanged() public int getpreferredwidth() 73
74 Iniciando Passo 1: Baixe Wireless Toolkit da sun: ownload-2_2.html Passo 2: Instale J2SE SDK Passo 3: Instale o Toolkit. 74
75 Após a instalação. Atalhos estão disponíveis no menu iniciar. Novos diretórios são criados 75
76 Usando KToolbar 76
77 Criando uma nova Aplicação Clique New Project. Entre o nome do projeto e o nome da MIDlet. Novos diretórios serão criados automaticamente. 77
78 Onde colocar os arquivos? /apps/{proj} fontes, recursos, e arquivos binários /apps/{proj}/bin JAR, JAD, arquivos manifest descompactados. /apps/{proj}/lib Bibliotecas de classes externas, (JAR ou ZIP) para um projeto específico /apps/{proj}/res Arquivos de recursos /apps/{proj}/src Arquivos fonte /apps/lib Bibliotecas de classes externas, (JAR ou ZIP) para todos projetos KToolbar. 78
79 Depois? Escolha a plataforma Escreva seu código grave Build (Compilar + Preverify) execute 79
80 Distribuição para dispositivos reais Crie um pacote Coloque o pacote em algum lugar da Internet. Atualize o arquivo.jad Download a aplicação para o celular Execute 80
81 Exemplos OlaMundo Ola2 Envio de mensagem e registro Push Comunicação HTTP 81
82 Exemplo: OlaMundo import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class OlaMundoMIDlet extends MIDlet implements CommandListener { private Command exitcommand; // The exit command private Display display; // The display for this MIDlet Comando de tela para sair public OlaMundoMIDlet() { display = Display.getDisplay(this); exitcommand = new Command( Sair", Command.SCREEN, 2); } 82
83 Exemplo: OlaMundo public void startapp() { TextBox t = new TextBox("Ola Mundo", "Ola mundo!", 256, 0); t.addcommand(exitcommand); Cria a caixa de texto t.setcommandlistener(this); Relaciona o comando com o texto display.setcurrent(t); } Define quem vai escutar o comando public void pauseapp() { } Mostra a tela public void destroyapp(boolean unconditional) { } public void commandaction(command c, Displayable s) { if (c == exitcommand) { destroyapp(false); notifydestroyed(); Implementa a saída da } aplicação } } Se verdadeiro o MIDlet deve liberar todos os recursos. Se falso o MIDlet pode lançar MIDletStateChangeException para indicar que não quer ser destruído neste momento. 83
84 Exemplo: OlaMundo Criando o projeto no WTK 84
85 Exemplo: OlaMundo Criando o projeto no WTK Edite o código fonte e o grave em {toolkit}\apps\olamundo\src\olamundo.java Build Execute 85
86 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 86
87 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 87
88 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 88
89 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 89
90 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 90
91 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 91
92 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 92
93 Exemplo: OlaMundo (outra versão) import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class OlaMundoMIDlet extends MIDlet implements CommandListener { public void startapp() { Display display = Display.getDisplay(this); Form mainform = new Form("OlaMundoMIDlet"); mainform.append("ola Mundo!"); Command exitcommand = new Command("Exit", Command.EXIT, 0); mainform.addcommand(exitcommand); mainform.setcommandlistener(this); display.setcurrent(mainform); } 93
94 Exemplo: OlaMundo public void pauseapp() { } public void destroyapp(boolean unconditional) { } public void commandaction(command c, Displayable s) { if (c.getcommandtype() == Command.EXIT ) { notifydestroyed(); } } } 94
95 Exemplo: OlaMundo no NetBeans Mobile Edition Novo Projeto 95
96 Exemplo: OlaMundo no NetBeans Mobile Edition Desmarque o Create Hello MIDlet 96
97 Exemplo: OlaMundo no NetBeans Mobile Edition Pressione Finish 97
98 Exemplo: OlaMundo no NetBeans Mobile Edition Selecione New File 98
99 Exemplo: OlaMundo no NetBeans Mobile Edition Pressione Finish 99
100 Exemplo: OlaMundo no NetBeans Mobile Edition Copie o conteúdo da transparência para o MIDLet Execute o projeto 100
101 Exemplos OlaMundo Ola2 Envio de mensagem e registro Push Comunicação HTTP 101
102 Exemplo: Ola2 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; // Ola que pergunta o nome do usuário public class Ola2Midlet extends MIDlet implements CommandListener { private Command exitcommand = new Command("Sair", Command.EXIT, 1); private Command okcommand = new Command("OK", Command.OK, 1); private Form mainform; private Display display; public Ola2Midlet() { mainform = new Form("Ola"); } 102
103 Exemplo: Ola2 public void startapp() { display = Display.getDisplay(this); mainform.append( new TextField("Entre com seu nome", "", 15, TextField.ANY)); mainform.addcommand(exitcommand); mainform.addcommand(okcommand); display.setcurrent(mainform); mainform.setcommandlistener(this); Indica o tipo do TextField: ANY, DECIMAL, ADDR, INITIAL_CAPS_SENTENCE, INITIAL_CAPS_WORD, NON_PREDICTIVE, NUMERIC, PHONENUMBER, PASSWORD, SENSITIVE, UNEDITABLE, URL } public void pauseapp() { } protected void destroyapp(boolean unconditional) { } 103
104 Exemplo: Ola2 public void commandaction(command c, Displayable s) { if (c == exitcommand) { destroyapp(false); notifydestroyed(); } else if (c == okcommand) { TextField t = (TextField)mainForm.get(0); mainform.append( new TextField("", "Ola "+ t.getstring(), 15, TextField.ANY)); } } } 104
105 Exemplos OlaMundo Ola2 Envio de mensagem e registro Push Comunicação HTTP 105
106 Exemplos: Envio de mensagens O Wireless Toolkit suporta a Wireless Messaging API (WMA) com um ambiente sofisticado de simulação. WMA 1.1 (JSR 120) permite que os MIDlets enviem e recebam mensagens SMS (Short Message Service) ou CBS (Cell Broadcast Service). WMA 2.0 (JSR 205) também inclui suporte para mensagens MMS (Multimedia Message Service). 106
107 Exemplos: Envio de mensagens No entanto, para se beneficiar completamente do uso de mensagens, seria útil que a aplicação pudesse ser despertada automaticamente, a partir da chegada de uma mensagem ou de um outro evento, como um evento de timer. Este é o conceito capturado pelo registro push, especificado pelo na MIDP 2.0 (JSR 118). 107
108 Exemplos: Envio de mensagens Deste modo poderemos ter aplicações que recebem e tratam os dados automaticamente, como por exemplo uma aplicação que gera um gráfico das ações da bolsa. Ou uma aplicação que atualiza automaticamente um roteiro de visitas para trabalhadores na rua, em função da chegada de pedidos. 108
109 Exemplos: Envio de mensagens 109
110 Exemplos: Envio de mensagens 110
111 Exemplos: Envio de mensagens O registro de uma aplicação para ser acordada por tempo ou por mensagens pode ser dinâmico ou estático. Dinâmico em tempo de execução, por meio de chamadas a métodos: registerconnection(string connection, String midlet, String filter) registeralarm(string midlet, long time) Estático pela definição no arquivo JAD MIDlet-Push-<n>: <ConnectionURL>,<MIDletClassName>, <AllowedSender> MIDlet-Push-2: socket://:100, corej2me.newslink, * 111
112 Exemplos: Envio de mensagens Neste exemplo faremos um MIDLet que é ativado automaticamente pela chegada de uma mensagem sms, e que exibe seu conteúdo no display. O registro será estático. 112
113 Exemplos: Envio de mensagens import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import javax.wireless.messaging.*; import java.io.ioexception; public class PushTeste extends MIDlet implements CommandListener { private Display display; private Command cmexit; private Alert alertamen; int porta = 1000; MessageConnection conexao = null; // Conexao para receber a mensagem Message mensagem; 113
114 Exemplos: Envio de mensagens public void pauseapp() { } public void destroyapp(boolean unconditional) { } public PushTeste() { display = Display.getDisplay(this); alertamen = new Alert("Mensagem recebida!"); alertamen.settimeout(alert.forever); cmexit = new Command("Sair", Command.EXIT, 1); alertamen.addcommand(cmexit); alertamen.setcommandlistener(this); } 114
115 Exemplos: Envio de mensagens public void startapp() { String connectlist[]; connectlist = PushRegistry.listConnections(true); if (connectlist == null connectlist.length == 0) { // iniciado pelo usuario, sair destroyapp(false); notifydestroyed(); } else { // iniciado por conexao try { conexao = (MessageConnection) Connector.open("sms://:" + porta); mensagem = conexao.receive(); if(mensagem!= null && mensagem instanceof TextMessage) { alertamen.settitle("enviado por: " + mensagem.getaddress()); alertamen.setstring(((textmessage)mensagem).getpayloadtext()); display.setcurrent(alertamen); } } 115
116 Exemplos: Envio de mensagens catch(ioexception e) { System.out.println("Exceção!"); } } } public void commandaction(command c, Displayable s) { if (c == cmexit) { destroyapp(false); notifydestroyed(); } } } 116
117 Exemplos: Envio de mensagens Teste e Instalação Registro estático (alteração no JAD) 117
118 Exemplos: Envio de mensagens Teste e Instalação Inserindo permissões 118
119 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 119
120 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 120
121 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 121
122 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 122
123 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 123
124 Exemplos OlaMundo Ola2 Envio de mensagem e registro Push Comunicação HTTP 124
125 Exemplos: comunicação HTTP Os MIDlets podem comunicar por meio do protocolo HTTP Neste exemplo o MIDlet faz uma conexão com um Servlet e recebe a contagem de quantas vezes o Servlet foi requisitado 125
126 Exemplos: comunicação HTTP O Servlet import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class HitServlet extends HttpServlet { private int mcount; public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { String message = "Hits: " + ++mcount; response.setcontenttype("text/plain"); response.setcontentlength(message.length()); response.getwriter().println(message); } } 126
127 Exemplos: comunicação HTTP O arquivo web.xml <?xml version="1.0" encoding="iso "?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " <web-app> <servlet> <servlet-name>bob</servlet-name> <servlet-class>hitservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>bob</servlet-name> <url-pattern>/hits</url-pattern> </servlet-mapping> </web-app> 127
128 Exemplos: comunicação HTTP A instalação 128
129 Exemplos: comunicação HTTP O MIDlet import java.io.*; import javax.microedition.io.*; import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class HitMIDlet extends MIDlet implements CommandListener { private Display mdisplay; private Form mmainform; private StringItem mmessageitem; private Command mexitcommand, mconnectcommand; public void pauseapp() {} public void destroyapp(boolean unconditional) {} 129
130 Exemplos: comunicação HTTP O MIDlet public void startapp() { mdisplay = Display.getDisplay(this); mdisplay.setcurrent(mmainform); } public HitMIDlet() { mmainform = new Form("HitMIDlet"); mmessageitem = new StringItem(null, ""); mexitcommand = new Command("Exit", Command.EXIT, 0); mconnectcommand = new Command("Connect", Command.SCREEN, 0); mmainform.append(mmessageitem); mmainform.addcommand(mexitcommand); mmainform.addcommand(mconnectcommand); mmainform.setcommandlistener(this); } 130
131 Exemplos: comunicação HTTP O MIDlet public void commandaction(command c, Displayable s) { if (c == mexitcommand) notifydestroyed(); else if (c == mconnectcommand) { Form waitform = new Form("Waiting..."); mdisplay.setcurrent(waitform); Thread t = new Thread() { public void run() { connect(); } }; t.start(); } } 131
132 Exemplos: comunicação HTTP O MIDlet private void connect() { HttpConnection hc = null; InputStream in = null; String url = getappproperty("hitmidlet.url"); try { hc = (HttpConnection)Connector.open(url); in = hc.openinputstream(); int contentlength = (int)hc.getlength(); byte[] raw = new byte[contentlength]; int length = in.read(raw); in.close(); hc.close(); 132
133 Exemplos: comunicação HTTP O MIDlet String s = new String(raw, 0, length); mmessageitem.settext(s); } catch (IOException ioe) { mmessageitem.settext(ioe.tostring()); } mdisplay.setcurrent(mmainform); } } 133
134 Exemplos: comunicação HTTP A configuração 134
135 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Fazer um MIDLet onde o usuário digite uma temperatura em Fahrenheit e o programa transforme para o equivalente em celcius. C = (F-32)*5/9 135
136 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Novo Projeto 136
137 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Novo MIDLet visual 137
138 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Novo MIDLet visual 138
139 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans 139
140 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Criar dois formulários e alterar os nomes 140
141 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Inserir comandos para a navegação e execução 141
142 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Criar a navegação 142
143 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Desenhar as telas 143
144 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Desenhar as telas 144
145 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Desenhar as telas 145
146 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Inserir o código para conversão Colocar o código aqui 146
147 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Inserir o código para conversão 147
148 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Resultado 148
149 e Web Services O que é um Web Services É uma aplicação que existe em um ambiente distribuído, como a Internet. Um Web service aceita uma requisição, realiza a função requisitada e retorna uma resposta. Tanto a requisiçao quanto a pergunta, usualmente, são registradas em um documento XML (SOAP), e enviada sobre um protocolo de rede, como o HTTP. É uma nova forma de RPC. 149
150 e Web Services O que é um Web Services A codificação XML para as mensagens obedecem a especificação SOAP. SOAP: Simple Object Access Protocol. Um protocolo leve com o objetivo de trocar informação estruturada em um ambiente descentralizado e distribuído. Ele provê, por meio de XML, um meio de construir mensagens que podem ser trocadas sobre uma variedade de protocolos. 150
151 e Web Services Universal Description, Discovery, and Integration 151
152 e Web Services Java fornece uma api para manipular mensagens SOAP: JAX-RPC. JAX-RPC é uma tecnologia para construir Web services e clientes que usam chamadas remotas a procedimentos e XML. Com JAX-RPC, o desenvolvedor não precisa lidar com SOAP. JAX-RPC cria uma camada que elimina esta complexidade. 152
153 e Web Services No lado do servidor, o desenvolvedor especifica procedimentos remotos por meio da definição de métodos e interfaces Java. O desenvolvedor também codifica uma ou mais classes que implementam esses métodos. No lado cliente uma proxy é criada (um objeto local representando o serviço) o programa cliente invoca os método da proxy. 153
154 e Web Services WS-I Basic Profile Provê Compatibilidade Requer: HTTP binding for SOAP HTTP posts WSDL 1.1 RPC/literal ou document/literal 154
155 e Web Services WSA (Web Services API) JSR 172: Web Services API (WSA) Estende plataforma para suporte a WS através de duas características: Remote Service Invocation XML parsing 155
156 e Web Services WSA (Web Services API) Requer Conformidade ao WS-I Basic Profile. Suporta SOAP
157 e Web Services WSA não suporta: SOAP Message Attachments Message Handlers Bibliotecas para service end points UDDI (Universal Description, Discovery and Integration) 157
158 e Web Services WSA 158
159 e Web Services WSA 159
160 e Web Services Exemplo: Primeiramente desenvolveremos um WS, que será acessado posteriormente por uma aplicação. 160
161 e Web Services Exemplo: Passo: Criar uma aplicação Web 161
162 e Web Services Exemplo: Passo: Criar uma aplicação Web 162
163 e Web Services Exemplo: Passo: Criar um Web service 163
164 e Web Services Exemplo: Passo: Criar um Web service 164
165 e Web Services Exemplo: Passo: Adicionar um serviço 165
166 e Web Services Exemplo: Passo: Adicionar um serviço 166
167 e Web Services Exemplo: Passo: Adicionar um serviço 167
168 e Web Services Exemplo: Passo: testar o serviço 168
169 e Web Services Exemplo: Passo: Criar uma aplicação movel 169
170 e Web Services Exemplo: Passo: Criar uma aplicação movel 170
171 e Web Services Exemplo: Passo: Criar uma aplicação movel 171
172 e Web Services Exemplo: Passo: criar o cliente do Web Service 172
Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro
Uma Introdução ao J2ME Computação Móvel (MAC5743/MAC330) DCC-IME-USP Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Visão Geral do Java 2 (1) A plataforma Java 2 engloba três elementos:
Leia maisProgramação para Celular com Java
1/13 Programação para Celular com Java Objetivo: Capacitar o aluno a desenvolver aplicações com o Sun Java Wireless Toolkit for CLDC. Sumário 1. Introdução:... 2 2. Como criar um novo Projeto?... 2 3.
Leia maisDesenvolvimento de Sistemas Móveis em Java com J2ME/MIDP. Jorge H. C. Fernandes
Desenvolvimento de Sistemas Móveis em Java com J2ME/MIDP Jorge H. C. Fernandes Desenvolvimento J2ME/MIDP Agenda Plataforma e Edições Java 2 J2ME - Java 2 Micro Edition MIDP - Mobile Information Device
Leia maisJava ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus
Java ME e suas principais tecnologias de conectividade Gracieli Begia Mateus Telefones Celulares no Mundo Fonte: UIT e Wireless Intelligence (Ovum/GSM Association) Posição do Brasil no Mundo Principais
Leia maisProgramação para Dispositivos Móveis. Prof. Wallace Borges Cristo
Programação para Dispositivos Móveis Prof. Wallace Borges Cristo Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce) Aplicações
Leia maisTutorial J2ME Parte 3
Introdução Tutorial J2ME Parte 3 Como pudemos aprender nos tutoriais anteriores, os dispositivos celulares podem implementar em seu sistema o KVM, a máquina virtual que roda aplicações J2ME. A API de programação
Leia maisProgramação Gráfica Parte 1 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano
Programação Gráfica Parte 1 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano Paulo V. W. Radtke pvwradtke@gmail.com http://www.ppgia.pucpr.br/~radtke/jogos/ AVISO IMPORTANTE!! Esta versão é dedicada exclusivamente
Leia maisArquitetura Java ME (J2ME) & Tecnologias Java Embarcadas Relacionadas
Arquitetura Java ME (J2ME) & Tecnologias Java Embarcadas Relacionadas INF-455/655 Computação Móvel Universidade Federal de Viçosa Departamento de Informática Conteúdo 3 sabores para as plataformas Java
Leia maisComputação Móvel J2ME
Computação Móvel J2ME Java 2 Platform (1) Java 2 Standard Edition (J2SE) Desktop applications Java 2 Enterprise Edition (J2EE) Server applications Java 2 Micro Edition (J2ME) Handheld/embedded devices
Leia maisJ2ME, Uma Platarfoma de programação para Dispositivos Móveis
J2ME, Uma Platarfoma de programação para Dispositivos Móveis Jesseildo F. Gonçalves 07/10/2010 Jesseildo F. Gonçalves () 07/10/2010 1 / 50 1 Introdução ao J2ME História Arquitetura do J2ME MIDLets 2 RMS:
Leia maisJava 2 Micro Edition (J2ME)
Java 2 Micro Edition (J2ME) por Filipe Gonçalves Barreto de Oliveira Castilho Departamento de Engenharia Informática Universidade de Coimbra 3030 Coimbra, Portugal fgonc@student.dei.uc.pt Resumo: Apresenta-se
Leia maisJava para Desenvolvimento Web
Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para
Leia maisManual de Operação Aplicativo ClickIt
Manual de Operação Aplicativo ClickIt Rev. 1.1 Agosto/2010 GSControl Automação Ltda. Rua Washington Luiz, 675 ITC Conjunto 1101 Centro Porto Alegre RS CEP 90010-460 Telefone: (51)3026-0945 / (51)3287-2167
Leia maisUMA ABORDAGEM SOBRE J2ME
UMA ABORDAGEM SOBRE J2ME Júlio César Jardim Júnior 1, Elio Lovisi Filho (Orientador) 1 1 Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC) Rua Palma Bageto Viol, s/n Barbacena - MG.
Leia maisPrática de Programação J2ME (15) Especialização em Desenvolvimento Web com Interfaces Ricas www.especializacao.info
Prática de Programação J2ME (15) Especialização em Desenvolvimento Web com Interfaces Ricas www.especializacao.info Crie a aplicação correspondente aos itens seguintes. Execute o programa e observe os
Leia maisConexão Socket na MIDP
Conexão Socket na MIDP A comunicação entre diferentes sistemas é comum na programação, e esta regra não desaparece na construção de aplicativos para pequenos dispositivos e, consequentemente, com o Java
Leia maisDESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME
DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME Ana Paula A. ZANELATO 1 Eliezer Gomes Paraganba FILHO 2 Emerson Silas DÓRIA 3 RESUMO: Este artigo pretende apresentar a tecnologia J2ME (linguagem
Leia maisArquitectura de Sistemas Computacionais
Arquitectura de Sistemas Computacionais Práticas 2004-2005 Prof. Dr. Paulo Sampaio Departamento de Matemática e Engenharias UNIVERSIDADE DA MADEIRA A plataforma Nokia Series 60 Optimizado para Symbian
Leia maisProgramação para Celular com Java Tipos de Tela
Programação para Celular com Java Tipos de Tela 1/18 Objetivo: Capacitar o aluno a desenvolver aplicações para celular utilizando janelas dos tipos Alert List Item : ChoiceGroup, DateField e ImageItem
Leia maisIntroducão à Tecnologia Móvel 1 UFU - BACALÁ
Introducão à Tecnologia Móvel 1 História do Celular 1921 (0G) O Departamento de polícia de Detroit instala rádios móveis operando em cerca de 2 MHz, nos carros. Problemas com o sistema devido a grande
Leia maisLinguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação
Leia maisMarcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso
Universidade Federal de Santa Catarina Departamento de Informática e Estatística Curso de Bacharelado em Ciências da Computação Marcus Vinicius Cruz Xavier Rascunho do trabalho de conclusão de curso Título
Leia maisDESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS DEVELOPMENT OF SOFTWARE FOR MOBILE DEVICES 8º CICLO DE PALESTRAS DE INFORMÁTICA DA FAI
DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS DEVELOPMENT OF SOFTWARE FOR MOBILE DEVICES ROBERTO JUNDI FURUTANI 1 JOSÉ LUIZ VIEIRA DE OLIVEIRA 2 8º CICLO DE PALESTRAS DE INFORMÁTICA DA FAI Resumo
Leia maisruirossi@ruirossi.pro.br
Java ME Introdução Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Fundamentos Edições do Java JSE JEE JME JSE JEE MIDP Nível de Perfil CDC CLDC Nível de Configuração
Leia maisBrokerCell: programando celular com J2ME para cotar papéis na Bovespa
BrokerCell: programando celular com J2ME para cotar papéis na Bovespa Nairon Neri Silva 1, Luís Augusto Mattos Mendes(Orientador) 1 1 Ciência da Computação - Universidade Presidente Antônio Carlos (UNIPAC)
Leia maisComo dito anteriormente, a JCP especificou dois grupos para a J2ME conforme as necessidades dos dispositvos, chamadas Configurações:
1 TECNOLOGIA J2ME A J2ME, Java Micro Edition, é uma tecnologia que permite o desenvolvimento de aplicações Java para dispositivos com poder de processamento, vídeo e memória limitados. Possui uma coleção
Leia maisSistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Leia maisDESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION
DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION Robison Cris Brito Centro Federal de Educação Tecnológica do Paraná Unidade de Pato Branco robison@pb.cefetpr.br RESUMO Engana-se quem acha
Leia maisDigifort Mobile Manual Version 1.0 Rev. A
Digifort Mobile Manual Version 1.0 Rev. A 2 Digifort Mobile - Versão 1.0 Índice Parte I Bem vindo ao Manual do Digifort Mobile 1.0 5 1 Screen... Shots 5 2 A quem... se destina este manual 5 3 Como utilizar...
Leia maisTencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Agenda 1. 2. Web Container TomCat 2 3 J2EE permite criar aplicações Web dinâmicas (com conteúdo dinâmico)
Leia maisUniversidade da Beira Interior
Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava
Leia maisArquitectura de Sistemas Computacionais
Arquitectura de Sistemas Computacionais Práticas 2004-2005 Prof. Dr. Paulo Sampaio psampaio@uma.pt Departamento de Matemática e Engenharias UNIVERSIDADE DA MADEIRA O ambiente J2ME MIDlets Bluetooth 1 Pacotes
Leia maisComo criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse
Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web
Leia maisCapítulo 15 - VendaRemota.java
Capítulo 15 - VendaRemota.java /* Java para Dispositivos Móveis - Desenvolvendo aplicações com J2ME por Thienne M. Johnson Novatec Editora LTDa ISBN: 978-85-7522-143-3 */ package principal; import conexao.getpostregistros;
Leia maisAdriano Reine Bueno Rafael Barros Silva
Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências
Leia maisDesenvolvimento para dispositivos móveis JavaME
Desenvolvimento para dispositivos móveis JavaME Marcio Seiji Oyamada Aula 1 UNIOESTE Universidade Estadual do Oeste do Paraná Curso de Informática Cascavel - Brasil Introdução Ementa Conceituação de mobilidade
Leia maisManual de Instalação do Agente Citsmart
16/08/2013 Manual de Instalação do Agente Citsmart Fornece orientações necessárias para efetuar a instalação do Agente Citsmart. Versão 1.9 21/11/2014 Visão Resumida Data Criação 21/11/2014 Versão Documento
Leia maisAssociação Carioca de Ensino Superior Centro Universitário Carioca
Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos
Leia maisFBV - Linguagem de Programação II. Um pouco sobre Java
FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base
Leia maisSoftware de gerenciamento de impressoras
Software de gerenciamento de impressoras Este tópico inclui: "Usando o software CentreWare" na página 3-10 "Usando os recursos de gerenciamento da impressora" na página 3-12 Usando o software CentreWare
Leia maisKassius Vargas Prestes
Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/
Leia maisIntrodução ao Android
Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente
Leia maisMAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick
MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento
Leia maisJava. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME
Java para Dispositivos Móveis Desenvolvendo Aplicações com J2ME Thienne M. Johnson Novatec Sumário Agradecimentos...13 Sobre a autora...14 Prefácio...15 Apresentação...16 PARTE I Introdução a Java para
Leia maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisUNIDADE II JAVA SERVLETS
UNIDADE II JAVA SERVLETS INTERNET É uma rede de redes, reunindo computadores do Governo, de universidades e empresas fornecendo infra-estrutura para uso de bancos de dados, correio eletrônico, servidores
Leia maisJ2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr
J2EE Exemplo completo Utilização Servlet Instrutor HEngholmJr Page 1 of 9 AT09 Exemplo complete Utilização Servlet Version 1.1 December 5, 2014 Indice 1. BASEADO NOS EXEMPLOS DE CÓDIGO DESTA APOSTILA,
Leia maisArquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de
Leia maisPrática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da
Leia maisDesenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Arquitetura de Aplicações Distribuídas na Web Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maisJava II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com
Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Servlets Servlet Aplicação Java que é executada no servidor que estende a capacidade do servidor Web Alternativa Java para os scripts CGI Gerenciado
Leia maisINTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO
INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO Ramon R. Rabello, Pedro J. Treccani, Thienne M Johnson Universidade da Amazônia, Av Alcindo Cacela, 287, Belém, PA CEP 66092-010 ramon.rabello@gmail.com,
Leia maisCriação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments
Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde
Leia maisUm pouco do Java. Prof. Eduardo
Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.
Leia maisDESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS
DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS Aluno: Fábio Bicalho de Araujo Orientador: Marco Antonio Grivet Matoso Maia Introdução Um fato da atualidade: o mundo está se tornando cada vez mais
Leia maisUm Driver NDIS Para Interceptação de Datagramas IP
Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para
Leia maisFINAL: CÓDIGO-FONTE DA MIDLET
FINAL: CÓDIGO-FONTE DA MIDLET Para fins de conferência, seguem os códigos-fontes alterados. Este código-fonte encontra-se no arquivo chamado ColetorMIDlet.java: package coletor; import br.edu.estacio.produto;
Leia maisJava Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da
Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a
Leia maisManual de Instalação e Operação RECIP
Manual de Instalação e Operação RECIP AMNNIPC012.00 05/09 Índice 1. RECOMENDAÇÕES IMPORTANTES...1 2. DESCRIÇÃO DO PRODUTO...1 3. INSTALAÇÃO...1 4. CONFIGURAÇÃO O RECIP...3 4.1 JANELA PRINCIPAL...3 4.2
Leia maisFileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13
FileMaker Pro 13 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 2007-2013 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,
Leia maisLICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER
LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER V14 de BricsCAD vem com um novo sistema de licenciamento, com base na tecnologia de licenciamento de Reprise Software. Este novo sistema oferece um ambiente
Leia maisSistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Web Container: e JSP Sumário Protocolo HTTP Exemplos de JSP (Java Server Pages) Exemplos JSP 2 Protocolo HTTP URL: Um URL (Uniform
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido
Leia maisCONECTIVIDADE. Desenvolvimento de Sistemas WEb Computação Móvel
CONECTIVIDADE Desenvolvimento de Sistemas WEb Computação Móvel Conectividade em Java ME Conectividade( redes) em Java ME: Flexível para suportar uma variedade de dispositivos Muitos dispositivos específicos
Leia maisArquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
Leia maisMotorola Phone Tools. Início Rápido
Motorola Phone Tools Início Rápido Conteúdo Requisitos mínimos... 2 Antes da instalação Motorola Phone Tools... 3 Instalar Motorola Phone Tools... 4 Instalação e configuração do dispositivo móvel... 5
Leia maisPadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M
JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):
Leia maisDESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID
DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID Maik Olher CHAVES 1 ; Daniela Costa Terra 2. 1 Graduado no curso de Tecnologia em Análise e Desenvolvimento de Sistemas
Leia maisPrime: uma solução Java para acesso móvel a informações utilizando GSM/GPRS
Prime: uma solução Java para acesso móvel a informações utilizando GSM/GPRS RENATO BARBOSA MIRANDA VALESKA PIVOTO PATTA MARCONDES Inatel - Instituto Nacional de Telecomunicações ICC - Inatel Competence
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Leia maisFAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO
FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO O Driver IGS possui um módulo de configuração que possibilita a comunicação com protocolos proprietários. Trata-se do Driver
Leia maisINSTALAÇÃO DE NOKIA CONNECTIVITY CABLE DRIVERS
GUIA DE CONSULTA RÁPIDA DA INSTALAÇÃO DE NOKIA CONNECTIVITY CABLE DRIVERS 1/6 Copyright 2003-2004 Nokia. Todos os direitos reservados. Conteúdo 1. INTRODUÇÃO...3 2. REQUISITOS DO SISTEMA...3 3. INSTALANDO
Leia maisPROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB
PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB Sumep Julho/2006 PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB Objetivo
Leia maisPrática em Laboratório N.02 Criando um serviço Web via NetBeans
Prática em Laboratório N.02 Criando um serviço Web via NetBeans O objetivo deste exercício é criar um projeto apropriado para desenvolver um contêiner que você resolva utilizar. Uma vez criado o projeto,
Leia mais1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO
1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO
Leia maisInvocação de Métodos Remotos
Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso
Leia maisArquitetura de uma Webapp
Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação
Leia maisESTUDO DE CASO WINDOWS VISTA
ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado
Leia maisSyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados
SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados Acadêmico: Bernardo Marquardt Müller Orientador: Prof. Dr. Mauro Marcelo Mattos Roteiro
Leia maisIntrodução à Linguagem Java
Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar
Leia maisAula 4. Objetivos. Conteúdo dinâmico na internet.
Aula 4 Objetivos Conteúdo dinâmico na internet. Para uma solicitação da Web mais simples, um navegador solicita um documento HTML e o servidor Web encontra o arquivo correspondente e devolve. Se o documento
Leia maisCURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Leia mais1 Sumário... 2. 2 O Easy Chat... 3. 3 Conceitos... 3. 3.1 Perfil... 3. 3.2 Categoria... 3. 4 Instalação... 5. 5 O Aplicativo... 7 5.1 HTML...
1 Sumário 1 Sumário... 2 2 O Easy Chat... 3 3 Conceitos... 3 3.1 Perfil... 3 3.2 Categoria... 3 3.3 Ícone Específico... 4 3.4 Janela Específica... 4 3.5 Ícone Geral... 4 3.6 Janela Geral... 4 4 Instalação...
Leia maisAPIs PARA J2ME. JSR 120 (SMS), JSR 205 (WMAPI 2.0) e JSR 180 (SIP) TÓPICOS EM ENGENHARIA DE COMPUTAÇÃO V. Prof. José Mario De Martino
APIs PARA J2ME JSR 120 (SMS), JSR 205 (WMAPI 2.0) e JSR 180 (SIP) TÓPICOS EM ENGENHARIA DE COMPUTAÇÃO V Prof. José Mario De Martino ALUNO: Julian Mauricio Prada Sanmiguel RA: 079928 Grupo 6 1 ÍNDICE. ÍNDICE
Leia mais5 Mecanismo de seleção de componentes
Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações
Leia maisProcedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows
Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows 1 - Configuração do J2SDKSE (Java 2 SDK Standard Edition) Deve-se obter o arquivo j2sdk-1_4_2_03-windows-i586-p.exe ou mais recente
Leia maisINTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Leia maisCA Nimsoft Monitor Snap
CA Nimsoft Monitor Snap Guia de Configuração do Monitoramento da máquina virtual Java jvm_monitor série 1.4 Aviso de copyright do CA Nimsoft Monitor Snap Este sistema de ajuda online (o Sistema ) destina-se
Leia maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisConsiderações no Projeto de Sistemas Cliente/Servidor
Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis
Leia maisWeb Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:
Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em
Leia maisInstalação do VOL Backup para Sistemas Unix-Like
Este é o guia de instalação e configuração da ferramenta VOL Backup para Sistemas Unix-Like. Deve ser seguido caso você queira instalar ou reinstalar o VOL Backup em sistemas Linux, Solaris ou BSD. Faça
Leia maisMotorola Phone Tools. Início Rápido
Motorola Phone Tools Início Rápido Conteúdo Requisitos mínimos...2 Antes da instalação Motorola Phone Tools...3 Instalar Motorola Phone Tools...4 Instalação e configuração do dispositivo móvel...6 Registro
Leia mais