Introdução Geral à Plataforma Java ou Desenvolvimento Java de Sistemas na Web, em Celulares e na TV Digital Interativa
|
|
- Ana Beatriz Alícia Dreer Philippi
- 8 Há anos
- Visualizações:
Transcrição
1 Introdução Geral à Plataforma Java ou Desenvolvimento Java de Sistemas na Web, em Celulares e na TV Digital Interativa Prof. Dr. Jorge H C Fernandes jorgehcfernandes@uol.com.br CIC/UnB DIMAp/UFRN
2 Introdução Geral à Plataforma Java Apresentação teórico-prática sobre os conceitos em amplitude da plataforma Java no apoio ao desenvolvimento de software e sistemas Exemplos de aplicações da linguagem Java na: Programação de pequenos programas em computadores pessoais Desenvolvimento de módulos de sistemas web Software para execução em dispositivos móveis como celulares e PDAs Distribuição via broadcast e execução em equipamentos para televisão digital interativa (set top box)
3 Parte 1 Conceitos no desenvolvimento de software e sistemas Sofware e Sistemas Máquinas e Linguagens Cadeia de Valor na Convergência Digital Middleware
4 Conceitos no desenvolvimento de software e sistemas O que é um software e o que é um sistema Quando o software é livre
5 public class Calc { import java.awt.*; private int estadointeracao; import java.awt.event.*; Software private int operacaoselecionada; public class CalcVisual extends Frame { private long acumulador0; // Cria os painéis private long acumulador1; Panel panelteclas = new Panel(); private static final int NENHUMA Panel panelteclastopo = 0; = new button_9.setlabel("9"); Panel(); } private static final int SOMA Panel = 1; panelteclasnumericas = button_soma.setlabel("+"); new Panel(); private static final int SUBTRACAO = 2; }); button_igual.setlabel("="); private static final int ACUMULANDO_0 // cria os gerenciadores = 0; de layout dos painéis private static final int ACUMULANDO_1 BorderLayout BorderLayoutPrincipal = 1; = new BorderLayout(); public Calc() {} BorderLayout BorderLayoutTodasAsTeclas = new BorderLayout(); long soma() { GridLayout gridlayoutclearcebackspace = new GridLayout(); operacaoselecionada = GridLayout SOMA; gridlayoutteclasnumericaseoperacoes = new GridLayout(); estadointeracao = ACUMULANDO_1; return acumulador0; // cria a área de display da calculadora } TextField textfielddisplay = new TextField(); } long um() {return numerodigitado(1);} }); long dois() {return numerodigitado(2);} // cria os botões da calculadora long numerodigitado(int valor) Button { buttonbackspace = new Button(); if (estadointeracao == ACUMULANDO_0) Button buttonc = new { Button(); acumulador0 = acumulador0 Button * buttonce 10 + valor; = new Button(); estadointeracao = ACUMULANDO_0; Button button_0 = new Button(); return acumulador0; Button button_1 = new Button(); } else if (estadointeracao Button == ACUMULANDO_1) button_2 = new Button(); { acumulador1 = acumulador1 Button * button_ valor; = new Button(); } estadointeracao = ACUMULANDO_1; Button button_4 = new Button(); }); return acumulador1; Button button_5 = new Button(); } Button button_6 = new Button(); return 0; Button button_7 = new Button(); racoes); } Button button_8 = new Button(); long igual() { Button button_9 = new Button(); long resultado = 0; Button button_pontodecimal = new Button(); if (operacaoselecionada Button == SOMA) button_igual { = new Button(); resultado = acumulador0 Button + acumulador1; button_soma = new Button(); } p button_2.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent button_2_actionperformed(e); // cria o tratador de evento para o botão "+" button_soma.addactionlistener(new // adiciona alguns botões no painel de teclas superior java.awt.event.actionlistener() { gridlayoutclearcebackspace.setcolumns(3); public void actionperformed(actionevent panelteclastopo.setlayout(gridlayoutclearcebackspace); button_soma_actionperformed(e); panelteclastopo.add(buttonbackspace, null); panelteclastopo.add(buttonce, null); panelteclastopo.add(buttonc, null); // cria o tratador de evento para o botão "-" button_subtracao.addactionlistener(new // adiciona alguns botões java.awt.event.actionlistener() no painel de teclas inferior { gridlayoutteclasnumericaseoperacoes.setrows(4); public void actionperformed(actionevent gridlayoutteclasnumericaseoperacoes.setcolumns(5); button_subtracao_actionperformed(e); gridlayoutteclasnumericaseoperacoes.sethgap(4); gridlayoutteclasnumericaseoperacoes.setvgap(4); // cria o tratador de evento para o botão "*" panelteclasnumericas.setlayout(gridlayoutteclasnumericase button_mult.addactionlistener(new java.awt.event.actionlistener() { panelteclasnumericas.add(button_7, null); public void actionperformed(actionevent panelteclasnumericas.add(button_8, null); button_mult_actionperformed(e); panelteclasnumericas.add(button_9, null); lt l N i dd(b tt di i ll)
6 Software Conjunto organizado de instruções e descrições de dados Escrito em uma (ou mais) linguagens compreensíveis por um sistema de computação
7 Sistema um conjunto de elementos inter-relacionados que interagem no desempenho de uma função Sistema econômico mantém os recursos da economia em circulação Sistema Computacional atende a uma determinada necessidade de processamento de informações de usuários Sistema Solar Manter os planetas girando em torno do sol Sistema de injeção eletrônica regular a mistura ótima de combustível e ar para o funcionamento do motor Sistema digestivo incorporar, ao corpo de um animal, a energia e matéria contidas em alimentos Biosfera manter a vida sobre a terra
8 Um Sistema De Computador é uma Máquina O Usuário Conversa com a Máquina Sistema de Computador (Estendido Pelo Software) Saída (output) Entrada (input) Usuário
9 Uma Máquina de Calcular
10 Uma Máquina para Analisar Programas Java
11 Um Sistema para Desenhar ou Máquina de Desenhar
12 Um Sistema ou Máquina para Tratar Imagens
13 Um Sistema ou Máquina, que Simula um Celular, que simula um jogo de damas
14 Várias Máquinas Coexistem em um Sistema de Computador em um Mesmo Instante de Tempo
15 Um Sistema de Computador Programável é uma Fábrica de Máquinas Extensível E cada software descreve como fábricar uma máquina E o programador constrói estas descrições de máquinas conforme especificações do que a máquina deve fazer quando em funcionamento
16 O uso da Máquina é feito por uma Conversa, que é Baseada uma Linguagem Linguagem A (Conversar com Celular) Linguagem B (Conversar com Paint) Linguagem C (Conversar com Calculadora)
17 A Linguagem da Máquina Paint
18 A Linguagem da Máquina Calculadora
19 Vamos conversar com Algumas Máquinas? Converse com o Paint Converse com o GIMP Converse com o Powerpoint! Converse com o sistema operacional
20 No que consiste o conversar? Num diálogo com a máquina Na locução de frases que são construídas numa linguagem com sintaxe e semântica próprias
21 Quando uma máquina faz sucesso? Quando a conversa entre usuário e máquina é produtiva Quando do diálogo são produzidos resultados que satisfazem as necessidades do usuário
22 Máquinas Complexas e Hierarquizadas
23 Usuário Uso Máquina n+1 Interpretação do Software Software Carga Máquina n
24 Um Sistema Computacional Usual Máquina n( MCSW) Software em Execução Interpretação... Máquina 2 ( MCSW) Software em Execução Uso Interpretação Software Carga... Software Carga Máquina 1 ( MCSW) Software em Execução Interpretação Uso Software Carga Máquina 0 MPU Uso
25 usuário echo.txt (software) Loader.class (software) input output input output input output Loading Loader (machine) Echo (machine) JVM Java Virtual Machine (machine) Interpretation vc0 (machine) Interpretation java.exe (software) input output cmd (machine) Loading Interpretation Sistema Operacional (machine)
26 Uma Máquina explorer criada pelo sistema operacional input Usuário do Explorer explorer.exe (software) Read output explorer (machine) Interpretation Usuário do Sistema Operacional input output cmd (machine) Loading Sistema Operacional (machine)
27 public class Calc { private int estadointeracao; private int operacaoselecionada; private long acumulador0; private long acumulador1; private static final int NENHUMA = 0; private static final int SOMA = 1; private static final int SUBTRACAO = 2; private static final int ACUMULANDO_0 = 0; private static final int ACUMULANDO_1 = 1; public Calc() {} long soma() { operacaoselecionada = SOMA; estadointeracao = ACUMULANDO_1; return acumulador0; } long um() {return numerodigitado(1);} long dois() {return numerodigitado(2);} long numerodigitado(int valor) { if (estadointeracao == ACUMULANDO_0) { acumulador0 = acumulador0 * 10 + valor; estadointeracao = ACUMULANDO_0; return acumulador0; } else if (estadointeracao == ACUMULANDO_1) { acumulador1 = acumulador1 * 10 + valor; estadointeracao = ACUMULANDO_1; return acumulador1; } return 0; } long igual() { long resultado = 0; if (operacaoselecionada == SOMA) { Você Usa ou Testa Software? resultado = acumulador0 + acumulador1; } reset(); return resultado; } long reset() { estadointeracao = ACUMULANDO_0; operacaoselecionada = NENHUMA; acumulador0 = 0; acumulador1 = 0; return acumulador0; } } import java.awt.*; import java.awt.event.*; public class CalcVisual extends Frame { // Cria os painéis Panel panelteclas = new Panel(); Panel panelteclastopo = new Panel(); Panel panelteclasnumericas = new Panel(); // cria os gerenciadores de layout dos painéis BorderLayout BorderLayoutPrincipal = new BorderLayout(); BorderLayout BorderLayoutTodasAsTeclas = new BorderLayout(); GridLayout gridlayoutclearcebackspace = new GridLayout(); GridLayout gridlayoutteclasnumericaseoperacoes = new GridLayout(); // cria a área de display da calculadora TextField textfielddisplay = new TextField(); // cria os botões da calculadora Button buttonbackspace = new Button(); Button buttonc = new Button(); Button buttonce = new Button(); Button button_0 = new Button(); Button button_1 = new Button(); Button button_2 = new Button(); Button button_3 = new Button(); Button button_4 = new Button(); Button button_5 = new Button(); Button button_6 = new Button(); Button button_7 = new Button(); Button button_8 = new Button(); Button button_9 = new Button(); Button button_pontodecimal = new Button(); Button button_igual = new Button(); Button button_soma = new Button(); Button button_subtracao = new Button(); Button button_mult = new Button(); Button button_divisao = new Button(); Button button_percento = new Button(); Button button_raiz = new Button(); Button button_invertesinal = new Button(); Button button_reciproco = new Button(); // cria o "modelo de dados", isto é, o próprio objeto calculadora // que irá efetivamente realizar os cálculos Calc calc = new Calc(); // construtor da parte visual da calculadora public CalcVisual() { try { buildgui(); } catch (Exception e) { e.printstacktrace(); } } /** * Constroi os elementos da interface grafica da calculadora */ private void buildgui() throws Exception { // ajusta as propriedades display textfielddisplay.settext("0"); // modifica cores de alguns botões buttonbackspace.setforeground(color.red); buttonc.setforeground(color.red); buttonce.setforeground(color.red); // atribui rótulos aos botões da calculadora buttonc.setlabel("c"); buttonce.setlabel("ce"); buttonbackspace.setlabel("backspace"); button_0.setlabel("0"); button_1.setlabel("1"); button_2.setlabel("2"); button_3.setlabel("3"); button_4.setlabel("4"); button_5.setlabel("5"); button_6.setlabel("6"); button_7.setlabel("7"); button_8.setlabel("8"); button_9.setlabel("9"); button_soma.setlabel("+"); button_igual.setlabel("="); // adiciona alguns botões no painel de teclas superior gridlayoutclearcebackspace.setcolumns(3); panelteclastopo.setlayout(gridlayoutclearcebackspace); panelteclastopo.add(buttonbackspace, null); panelteclastopo.add(buttonce, null); panelteclastopo.add(buttonc, null); // adiciona alguns botões no painel de teclas inferior gridlayoutteclasnumericaseoperacoes.setrows(4); gridlayoutteclasnumericaseoperacoes.setcolumns(5); gridlayoutteclasnumericaseoperacoes.sethgap(4); gridlayoutteclasnumericaseoperacoes.setvgap(4); panelteclasnumericas.setlayout(gridlayoutteclasnumericaseoperacoes); panelteclasnumericas.add(button_7, null); panelteclasnumericas.add(button_8, null); panelteclasnumericas.add(button_9, null); panelteclasnumericas.add(button_divisao, null); panelteclasnumericas.add(button_raiz, null); panelteclasnumericas.add(button_4, null); panelteclasnumericas.add(button_5, null); panelteclasnumericas.add(button_6, null); panelteclasnumericas.add(button_mult, null); panelteclasnumericas.add(button_percento, null); panelteclasnumericas.add(button_1, null); panelteclasnumericas.add(button_2, null); panelteclasnumericas.add(button_3, null); panelteclasnumericas.add(button_subtracao, null); panelteclasnumericas.add(button_reciproco, null); panelteclasnumericas.add(button_0, null); panelteclasnumericas.add(button_invertesinal, null); panelteclasnumericas.add(button_pontodecimal, null); panelteclasnumericas.add(button_soma, null); panelteclasnumericas.add(button_igual, null); // adiciona ao painel geral de todas as teclas // os dois paineis de teclas menores // ajusta as propriedades dos gerenciadores de layout panelteclas.setlayout(borderlayouttodasasteclas); panelteclas.add(panelteclastopo, BorderLayout.NORTH); panelteclas.add(panelteclasnumericas, BorderLayout.CENTER); // ajusta propriedades gerais visuais da interface this.setsize(250, 275); this.setresizable(false); this.setlayout(borderlayoutprincipal); // adiciona o painel geral de teclas ao centro frame (this) this.add(panelteclas, BorderLayout.CENTER); // adiciona o display ao topo do frame (this) this.add(textfielddisplay, BorderLayout.NORTH); /** * cria os vários tratadores de evento */ // cria o tratador de evento para o botão C (clear) buttonc.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { buttonc_actionperformed(e); } }); // cria o tratador de evento para o botão "1" button_1.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button_1_actionperformed(e); // cria o tratador de evento para o botão "2" button_2.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button_2_actionperformed(e); } }); // cria o tratador de evento para o botão "+" button_soma.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button_soma_actionperformed(e); } }); // cria o tratador de evento para o botão "-" button_subtracao.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button_subtracao_actionperformed(e); } }); // cria o tratador de evento para o botão "*" button_mult.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button_mult_actionperformed(e); } }); // cria o tratador de evento para o botão "/" button_divisao.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button_divisao_actionperformed(e); } }); // cria o tratador de evento para o botão "=" button_igual.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(actionevent e) { button_igual_actionperformed(e); } }); // cria o tratador de evento para o comando de janelas window close // (ALT+F4 no windows) this.addwindowlistener(new java.awt.event.windowadapter() { public void windowclosing(windowevent e) { this_windowclosing(e); } }); // mostra a interface grafica para o usuário show(); } // métodos que implementam o tratamento de eventos void this_windowclosing(windowevent e) { System.exit(0); } void button_soma_actionperformed(actionevent e) { this.textfielddisplay.settext("" + calc.soma()); } void button_subtracao_actionperformed(actionevent e) { this.textfielddisplay.settext("" + calc.sub()); } void button_mult_actionperformed(actionevent e) { this.textfielddisplay.settext("" + calc.mult()); } void button_divisao_actionperformed(actionevent e) { this.textfielddisplay.settext("" + calc.div()); } void button_igual_actionperformed(actionevent e) { this.textfielddisplay.settext("" + calc.igual()); } void button_1_actionperformed(actionevent e) { this.textfielddisplay.settext("" + calc.um()); } void button_2_actionperformed(actionevent e) { this.textfielddisplay.settext("" + calc.dois()); } void buttonc_actionperformed(actionevent e) { this.textfielddisplay.settext("" + calc.reset()); } public static void main(string[] args) { CalcVisual CalcVisual1 = new CalcVisual(); } } Introdução Geral à Plataforma Java para Desenvolvimento de } Sistemas na Web, em Celulares e na Televisão Digital Interativa });
28 Software ou Sistema? Win32 Windows Device Drivers Hardware
29 Ser livre é ter liberdade para pensar, criar e se comunicar com sistemas de computadores complexos e hierarquizados: Apropriar-se dos meios de comunicação com as máquinas computáveis
30 Conversas com Sistemas Sistemas Computacionais muito Abstratos
31 Descrever Casos de Uso de uma Aplicação # Caso de Uso Descrição
32 Mapa de navegação de uma aplicação
33 Conceber um mapa de um site
34 Conversas com Sistemas Sistemas Computacionais menos Abstratos
35 Descrever Estruturas de uma aplicação
36 Descrever Comportamentos
37 Conversas com Sistemas Computacionais Concretos: Programação
38 Construir Código compreensível e útil Construir programas funcionais e coerentes através da codificação, auto-validação e teste unitário. Passos Organize a arquitetura e design antes de implementar Entenda as APIs antes de usar Utilize técnicas e convenções de codificação Faça teste unitário dos módulos Adote padrões e idiomas de design
39 Testar Software e Sistemas Verificar dinamicamente o comportamento do programa através do uso de um conjunto finito de casos de teste - adequadamente selecionados de um domínio de execuções usualmente infinito - contra o comportamento esperado deste Passos Defina e documente um plano de teste e um formulário de log de testes, que serão executados durante o desenvolvimento da aplicação e que servirão para validar a aplicação antes de entregar/apresentar
40 Plano de Teste Plano de Teste: <APLICACAO> <VERSÃO-DO-PLANO> Autor: <AUTOR-PLANO> Configuração sob teste: <DESCRIÇÃO-CONFIG><VERSÃO-CONFIG> Histórico de Alterações: <DT-CRIACÃO> <ALT-1> <ALT-2>,, <ALT-N> Caso de Teste CASO 1 Objetivo: <OBJETIVO DO CASO DE TESTE-1> Passos: Resultado Esperado <PASSO-1-1> <RESULTADO-1-1> <PASSO-1-2> <RESULTADO-1-2> <PASSO-1-n> <RESULTADO-1-n> CASO 2 Objetivo: <OBJETIVO DO CASO DE TESTE-2> Passos: Resultado Esperado <PASSO-1-1> <RESULTADO-1-1> <PASSO-1-2> <RESULTADO-1-2> <PASSO-1-n> <RESULTADO-1-n>
41 Log de Teste Log de Teste: <APLICACAO> <VERSÃO-DO-PLANO> Testador: <TESTADOR> Configuração sob teste: <DESCRIÇÃO-CONFIG><VERSÃO-CONFIG> Data: <DATA DE REALIZACAO DO TESTE> Casos de Teste CASO 1 Objetivo: <OBJETIVO DO CASO DE TESTE-1> Passos: Resultado Esperado Observações <PASSO-1-1> <RESULTADO-OBTIDO> <ERRO? Ou ACERTO?> <PASSO-1-2> <RESULTADO-OBTIDO> <ERRO? Ou ACERTO?> <PASSO-1-n> <RESULTADO-OBTIDO> CASO 2 Objetivo: <OBJETIVO DO CASO DE TESTE-2> Passos: Resultado Esperado <PASSO-1-1> <RESULTADO-OBTIDO> <PASSO-1-2> <RESULTADO-OBTIDO> <PASSO-1-n> <RESULTADO-OBTIDO> <ERRO? Ou ACERTO?> <ERRO? Ou ACERTO?> <ERRO? Ou ACERTO?> <ERRO? Ou ACERTO?>
42 A Amplitude das Plataformas Computacionais Atuais
43 Cadeia de Valor na Era da Convergência Digital Network Back-End Wap/Web Servers Internet Mobile/Broadcast Network Technology Software Development Payment Solutions Security Solutions Software Platforms Application Development Content Content Provision Content Aggregation Interface Portals/ Services/ Channels Devices (TV / Mobile)
44 Middleware: Solução para Organização da Complexidade dos Sistemas Computacionais
45 Middleware: Um Modelo de Portabilidade Uma camada de software que provê uma API (Application Programming Interface) genérica, padronizada e bem definida que abstrai especificidades e heterogeneidades de hardware e software dos diversos tipos de dispositivos Aplicações Desenvolvedores independentes Diferentes provedores de serviços Diversas áreas de aplicação API Genérica Sistema Operacional Hardware Implementações independentes Diferentes plataformas de hardware Diferentes plataformas de sistema operacional
46 Parte 2: Plataforma e Linguagem de Programação Java
47 Java: Uma Plataforma de Desenvolvimento de Software com Arquitetura Aberta e Amplo Espectro de Aplicação
48 Java é uma proposta de middleware que apresenta várias características de suporte ao modelo aberto de desenvolvimento de software e sistemas: Arquiteturas bem conhecidas
49 Edições Java 2 e Seus Dispositivos
50 Linguagem de Programação Java
51 Introdução A linguagem de Programação Java é De uso geral Concorrente Baseada em classes Orientada a objetos Fortemente tipada Compilada
52 Tempo de compilação (compile-time) e tempo de execução (runtime) Tempo de compilação Tradução para byte-code independente de máquina Tempo de Runtime Carga e ligação de classes necessárias à execução Geração de código de máquina (opcional) Otimização dinâmica do programa Execução do código
53 Gerenciamento Automático de Memória
54 Tipos e valores: primitivos e referências
55 Organização modular Organização em packages, similar à linguagem Modula. Membros de um package: classes, interfaces, e subpackages Packages são divided em unidades de compilação Unidades de Compilação Contem declarações de tipos Podem importar tipos de outros packages
56 Métodos e Variáveis de Classe e Instância Variáveis de classe uma por classe Métodos de classe operam sem referência a instâncias específicas Variáveis de instância dinamicamente criadas em objetos que são instâncias de uma classe Métodos de instância são invocados sobre uma instância de uma classe: this
57 String Strings de caracter em formato Unicode
58 Herança (inheritance) Herança simples de implementação
59 Sincronização e Exceções Programação concorrente com métodos sincronizados Declaração de exceções checadas em tempo de compilação
60 Interfaces Declaram métodos abstratos, tipos aninhados e constantes Classes não relacionadas por herança podem implementar a mesma interface Uma variável do tipo de uma interface pode conter uma referência a qualquer objeto que implementa a interface Implementação de múltiplas interfaces
61 Arrays Com verificação de limites de acesso Arrays são objetos dinâmicamente criados
62 Tratamento de Exceções Totalmente integrado com a semântica da linguagem e mecanismos de concorrência Três tipos de exceções: Checadas Run-time Errors
63 Blocos e Comandos Baseados em C e C++. Sem goto, mas com break e continue Sem conversão entre booleanos e inteiros Blocos sincronizados Comando try, com cláusulas catch e finally
64 Expressões Com ordem de avaliação completamente especificada: determinismo e portabilidade Métodos e construtores sobrecarregados e sobrescritos
65 Threads e Locks Usa modelo de concorrência baseado em monitor, introduzido originalmente com a linguagem Mesa Modelo de memória para sistemas multi-processados com memória compartilhada
66 Java Organização Léxica e Sintática
67 Java Organização Léxica Análise léxica de uma unidade de compilação (arquivo) produz uma seqüência de tokens Tradução léxica (tradução para unicode, tradução para input chars e terminadores, produção de input-elements) White-space Comments Tokens (terminais) class HelloWorld { // HelloWorld public static void main(string[] args) { System.out.println( Olá + Mundo \u0030 ); } } Id KW Literal Sep Operator
68 Java Organização Sintática class HelloWorld { // HelloWorld public static void main(string[] args) { String s = Olá + Mundo \u0030 ; System.out.println(s); } class : KW } public : KW HelloWorld : Id static : KW void : KW ResultType { : Sep main :Id Type ( :Sep MethodDecl MethodDeclarator FormalParas FormalParam Name ) :Sep Name Type CompilationUnit Type-Decl Class-Decl ClassBody ClassBodyDecl { :Sep BlockStmt LocalVarDecl Name VarDecl VarInit } : Sep Block BlockStmt System : Id. :Sep Stmt Identifier-Id Keyword-KW Literal-Lit Separator-Sep Operator-Oper } :Sep ExprStmt s : Id ( :Sep String : Id Name [ :Sep args : Id String : Id s : Id ] :Sep \ Olá\ :Lit + :Oper \ Mundo0\ :Lit out : Id. :Sep println : Id ) :Sep Expr
69 Java: Um Modelo de Organização Semântica Concorrência e tratamento de exceções herança de implementações alocação de memória Estruturas de classes-módulos-interfaces Controle Subrotinas estruturas Classes de controle e subrotinas Objetos Herança variáveis e tipos de dados
70 Concorrência e tratamento de exceções Linguagem Java: Keywords[1996] herança de implementações alocação de memória Estruturas de classes-módulos-interfaces Controle Subrotinas estruturas Classes de controle e subrotinas Objetos Herança variáveis e tipos de dados boolean if implements new throw byte else interface this throws short while import try char do package catch int for private finally long break protected synchronized float switch abstract transient double default extends volatile static continue native final return super const class void instanceof goto public
71 Linguagem Java: Literais Integer DecimalInteger HexInteger OctalInteger FloatingPoint Float Double Boolean true, false (reserved literal words) Character String Null Literal null (reserved literal word)
72 Linguagem Java: Separadores ( ) { } [ ] ;,.
73 Linguagem Java: Operadores Numéricos Atribuição Lógicos = attrib > greather ++ incr < smaller -- decr! not + sum += attrib-sum ~ bitwise-inv - sub -= attrib-sub? conditional * mult *= attrib-mult : conditional / div /= attrib-div == equals % remainder %= attrib-rem-div <= small-or-equal & and-bin &= attrib-and-bin >= great-or-equal or-bin = attrib-or-bin!= different ^ xor-bin ^= attrib-xor-bin logical-or << shiftleft <<= attrib-shl && logical-and >> shiftright >>= attrib-shr >>> unsigned-shr >>>= attrib-unsigned-shr
74 Linguagem Java: Categorias de Variáveis Variáveis de classe Usam a palavra reservada static numa declaração de classe Dentro de uma declaração de interface Variáveis de Instância Declaradas no escopo de uma classe sem a palavra reservada static Componentes de array Variáveis não nomeadas dentro de um array Parâmetros de métodos Valores de argumentos nomeados passados para um métodos Parâmetros de Constructor Valores de argumentos nomeados passados para um métodos Parâmetros de tratamento de exceção Criadas sempre que uma exceção e agarrada em uma clásula catch Variáveis locais Declaradas dentro de blocos
75 Aprendendo a Programar em Java: Reconstruindo a História das Linguagens de Programação
76 Programação Estruturada em Algoritmos simples Java
77 Tipos de dados Primitivos Referências
78 Programação Java Baseada em Classes: Métodos e variáveis estáticas Calculando com módulos
79 Programação Java Baseada em Objetos: Métodos e variáveis de instância Alocando Memória
80 Interfaces, contratos e arquiteturas Descrevendo e implementando contratos
81 Parte 3: Aplicações de Java na programação de pequenos programas em computadores pessoais
82 Programação de pequenos programas em computadores pessoais Linguagem Java + Java 2 Standard Edition Ferramenta para desenvolvimento Java Development Kit JDK Ferramenta para Aprendizagem BlueJ Exemplos Interface Gráfica Acesso a arquivos Conectividade de rede Estado da prática
83 Estrutura Hierárquica da Interface de uma Calculadora :Frame (Container) [components] :TextField (Component) :Panel (Container) [components] 7 :Button 8 :Button 9 :Button / :Button 4 :Button 5 :Button 6 :Button * :Button 1 :Button 2 :Button 3 :Button - :Button 0 :Button +/- :Button. :Button + :Button = :Button C :Button % :Button M+ :Button
84 Parte 4: Aplicações de Java no Desenvolvimento de módulos de sistemas web
85 Aplicações de Java no Desenvolvimento de módulos de sistemas web Arquitetura de Sistemas Web HTTP/HTML/JDBC Animação em Páginas HTML: Applet Usando o Protocolo HTTP: Servlet Gerando Páginas HTML: JSP Conectividade com SGBDs: JDBC Estado da prática
86 Arquiteturas Multi-Camadas Two-Tier Cliente Java Aplicação/Applet, HTML Browser java.net com Servlets Three-Tier Cliente Java Aplicação/Applet, HTML Browser java.net N-Tier Cliente Java Aplicação/Applet, HTML Browser java.net Middleware HTTP Servlets java.servlet Middleware HTTP Servlets javax.servlet java.sql HTTP javax.servlet Servlets java.net, javax.servlet SGBD Relacional A B C
87 Arquiteturas Multi-Camadas com Enterprise Java Beans (EJBs) Two-Tier Cliente Java Aplicação/Applet, java.rmi, javax.jndi N-Tier Cliente Java Aplicação/Applet java.rmi, javax.jndi N-Tier Cliente Java Aplicação/Applet, HTML Browser java.net Middleware RMI, JNDI EJBs javax.ejb Middleware RMI, JNDI javax.ejb EJBs java.rmi, javax.jndi java.sql HTTP javax.servlet Servlets java.rmi, javax.jndi SGBD Relacional A B C
88 Construindo um Pequeno Exemplo: Uma Aplicação de Consulta a Dados de um Restaurante
89 Um Restaurante Quer oferecer o cardápio de pratos através da internet Consulta cardápio Faz pedido Clientes web Clientes via celular Clientes através de televisão digital
90 Arquitetura da Aplicação Restaurante usando Browser Cliente Web Servidor Web Servidor Dados
91 Protocolos Usados HTTP (Servlets) SQL(JDBC)
92 Um Típico Pedido HTTP (com GET) GET /~jhcf/cgi/welcome.html HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.5 [en] (WinNT; I) Host: Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso ,*,utf-8
93 Uma Típica Resposta HTTP HTTP/ OK Date: Wed, 28 Jul :29:08 GMT Server: Apache/1.2.5 Last-Modified: Wed, 28 Jul :32:21 GMT ETag: "1bfc e5da5" Content-Length: 98 Accept-Ranges: bytes Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html <HTML> <HEAD> <TITLE> Saudação </TITLE> </HEAD> <BODY> <H1>Bem vindo à Web!</H1> </BODY> </HTML>
94 HTTP e HTML com Servlets Web Server WWW (HTTP) Web Browser Servlet Engine Formulário Nome Sepia Ano 1997 Mod
95 Modelo Computacional JDBC Cliente getconn() Aplicação createstmt() next(); next();next(); get*( Col-n ); get*(n); execquery() execupdate() Col-1 Col-2... Col-n Conn Stmt ResultSet Servidor SGBD Relacional Bases de Dados DriverMngr JDBC API Java CORE APIs Driver A B C
96 Construindo a Aplicação Restaurante usando Browser Cliente Web Servidor Web Servidor Dados
97 Java e a Computação Corporativa: Estado da Arte Muita gente desenvolvendo soluções para organizações de pequeno e médio porte Modelo já estabelecido no Brasil
98 Parte 5: Software Java para dispositivos móveis como celulares e PDAs
99 Software para dispositivos móveis como celulares e PDAs J2ME/MIDP Arquitetura de sistemas com mobilidade HTTP/XML Programação de pequenos programas para celulares Dispositivos de acesso a dados Jogos e outras aplicações com interface gráfica de baixo nível Estado da prática
100 Limitações dos Dispositivos Móveis Pequena espaço de display Pequeno espaço para entrada de dados Pequeno espaço de memória Pequena capacidade de processamento Pequena banda de rede Rede insegura Trabalho eventual em modo desconectado Necessidade de sincronização
101 Vantagens dos Dispositivos Móveis O celular é mais importante que a Internet! A internet está no celular Computador móvel, de baixo custo, com alta taxa de penetração mundial Canal de lucros constante através dos modelos fidelizadores das operadoras Curto ciclo de renovação tecnológica Oportunidades de integração com automação doméstica e corporativa
102 Características do Modelo de Aplicações e Serviços Móveis Independência de localização Conectividade instantânea Adaptabilidade e intimidade Novas formas de trabalho Novas formas de negociação Novas formas de entretenimento
103 Categorias de Aplicações da Internet Móvel[MBS, 2001] Comunicação Comércio Corporativo Voz Mensagem instantânea Messagem unificada Ferramentas de trabalho em grupo Video telefonia Varejo Comércio-baseado em localização Corretagem de ações Serviços bancários Leilões corporativos Comércio multicanais Seguros Reservas Anúncios Consumidor Voz Mensagem instantânea Messagem unificada Chat Video telefonia Serviços em comunidade Cartões postais digitais Varejo Comércio-baseado em localização Compras por comparação no shopping Compra de tickets Corretagem de ações Serviços bancários Leilões corporativos Comércio multicanais Música Jogos e apostas Tons musicais e ícones Seguros Reservas Anúncios Notícias financeiras e industriais Notícias CRM - Customer Relatioship Management Entretenimento Relatórios gerenciais Viagens Gerência de frota Direcionamento ao volante Automação de força de vendas Serviços baseados em localização Serviços de valor Auto-serviço para empregados Segurança agregado Gerenciamento de viagens Controle remoto doméstico Recrutamento Calendário Gerenciamento de cadeia de suprimentos Serviços sociais Gerencia de recursos humanos Mensagens instantâneas Segurança Controle remoto
104 MIDlets Pequenas aplicações instaláveis em um dispositivo MIDP, baseadas numa API bastante reduzida de programação, formada por aproximadamente 138 classes e interfaces (MIDP 1.0) Similar ao modelo de applets Downloadable Permite criar serviços para consumidores de telefones celulares jogos e aplicações de comércio
105 Mobile Information Devices (Versão 1.0) Mobilidade Operado com bateria Memória (mínima) 128KB de memória não volátil para implementação MIDP 8KB de memória não volátil para persistir dados das aplicações 32KB de runtime e heap Interface com o usuário (mínima) Display com 1 bit de cor e resolução mínima de 96 x 54 pixels Entrada de dados via teclado ou tela sensível ao toque Conexões de rede bidirecionais, com banda limitada
106 J2ME: Organização em Configurações e Perfis... Profile... Profile... Profile... Profile... Profile Foundation Profile Connected Device Configuration (CDC) JVM (CVM) Profile Profile Mobile Information Device Profile (MIDP) Connected, Limited Device Configuration (CLDC) KVM (Kilo Virtual Machine)
107 Evolução das Tecnologias de Sistemas Interativos na Web Desktop HTML + FORMS Applet HTML Browser HTML Browser + Java VM Wireless WML MIDlet WAP Cell Phone MIDP Cell Phone
108 Applet 2 Applet 1 Applet 3 Web Server Funcionamento dos Applets WWW (HTTP(s)) Web Browser Applet 1 Applet 2 Applet 3 Interface Browser Applet 1 Applet 2 Applet 3 Página HTML Classe Classe Applet Sandbox Objeto Applet Prof. Dr. Jorge Objeto H C Fernandes (jorgehcfernandes@uol.com.br). Depto Ciência da Computação / UnB Depto Informática e Mat. aplicada / UFRN
109 Applet 2 Applet 1 Applet 3 Funcionamento dos MIDlets Web Server WWW (HTTP(s)) Repositório Web Sandbox SUITE 1 SUITE 2 SUITE 3 MIDlet SUITE 1 A MIDlet SUITE 2 B MIDlet SUITE C 3 SUITE 3 Página HTML Descritor de Aplicação (JAD) Arquivos (Imagens, etc) Classe Classe MIDlet Objeto Objeto MIDlet SUITE 1 RecordStore
110 HelloWorldMIDlet: Implementação import javax.microedition.midlet.midlet; import javax.microedition.lcdui.*; public class HelloWorldMIDlet extends MIDlet implements CommandListener { } private Command exitcommand; private TextBox textbox; public HelloWorldMIDlet() { // Para associar a softkey // Para entrada de dados exitcommand = new Command("Exit", Command.EXIT, 1/*Priority*/); textbox = new TextBox("OláMundo MIDlet /* Nome do componente */, "Olá, Mundo! /* conteúdo */, 15 /*tamanho máximo */, 0 /*máscara*/); textbox.addcommand(exitcommand); textbox.setcommandlistener(this); } protected void startapp() { Display.getDisplay(this).setCurrent(textBox); } protected void pauseapp() {} protected void destroyapp(boolean unconditional) {} public void commandaction(command c, Displayable d) { if (c == exitcommand) { destroyapp(false); notifydestroyed(); } } // Adapta para tratar comandos // Criação e // interligação // entre objetos // Exec.quando MIDLet é ativado // Exec. quando MIDlet é suspenso // Exec. quando MIDLet é destruído // Exec. quando comando é acionado
111 HelloWorldMIDlet em Ação: Diagrama de Objetos current :Display thedisplay :HelloWorldMIDlet current textbox <<displayable>> :TextBox exitcommand :Command 1 new HelloWorldMIDlet() - Criação do MIDlet 1.1 Criação de um textbox (Displayable) para preencher o display 1.2 Criação de comandos para inserir no Displayable 2 startapp() - Associação do Displayable ao Display 3 commandaction() Ativação do comando Exit 3.1 destroyapp() Desativação do MIDlet
112 Packages CLDC1.0/MIDP 1.0 J2SE java.lang java.io java.util CDC CLDC javax.microedition.io MIDP1.0 javax.microedition.lcdui javax.microedition.midlet javax.microedition.rms
113 CLDC1.0/MIDP1.0: java.lang
114 CLDC1.0/MIDP1.0: java.io
115 CLDC1.0: java.util - MIDP1.0: java.util
116 CLDC1.0: javax.microedition.io e MIDP1.0: javax.microedition.io GENERIC CONNECTION FRAMEWORK
117 MIDP1.0: javax.microedtion.midlet
118 MIDP1.0: javax.microedition.lcdui
119 javax.microedition.rms
120 Arquitetura da Aplicação M-Commerce em J2EE [Gupta and Mayank, 2001]
121 Arquitetura da Aplicação Restaurante usando Dispositivo Móvel Dispositivo Móvel Gateway/ Servidor Web Servidor Dados
122 Java e a Computação Móvel: Estado da Arte Muita gente desenvolvendo soluções que dão lucro Modelo Asiático/Americanode consumo já bem desenvolvido Oportunidades no Brasil
123 Parte 6: Software em Java para plataformas de televisão digital interativa
124 Breve Introdução à Televisão Digital Interativa
125 Televisão Interativa Apresentação de menus e seleções de links em um aparelho de tv Associada ao conteúdo apresentado Que pode estar interagindo com o broadcaster
126 Televisão Digital Padrão para codificação, transmissão, modulação, difusão e recepção digital de programas televisivos TV Digital Terrestre Satélite Cabo
127 Substituição Analógica- >Digital Arquivos -> Sistemas de Arquivos LP -> CD Telefone Analógico -> Digital Celular Analógico -> Digital Televisão Analógica -> Digital
128 Ondas de Impacto na Transformação Analógica->Digital 1a Substituição de Equipamentos de Estúdio / Laboratório 2a Padrão Uniforme de Distribuição e Transmissão 3a Novos Modelos de Negócios
129 Aplicações em TVDI Televisão Digital de Alta Definição Democracia Eletrônica Guias de Programação Eletrônica (EPG) Pay-Per-View Personalização Personal Video Recorder Vídeo sob Demanda com Inscrição Propaganda Focalizada T-Commerce Jogos baseados na TV Vídeo sob Demanda Walled Garden BroadBand Data Transfer Rede Doméstica Segurança Doméstica
130 Arquitetura de Alto Nível de um Sistema de TV
131 Arquitetura Atual de Sistemas de TV
132 Arquitetura de Sistemas de TV Digital
133 Impactos da TVD Sobre o Estúdio Câmera com maior resolução Codificador MPEG-2 Streams de A/V armazenáveis em DVD Ilha de Edição não Linear distribuição dos programas através de rede de computadores
134 Impactos da TVD Sobre a Central de Produções Chamada de provedora de serviços Streamer transmite e recebe fluxos de transporte MPEG-2 (MPEG-2-TS) aumenta fortemente a capacidade de integração da Central com uma maior quantidade de estúdios, inclusive externos Reduz o uso de satélite Multiplexador Agrega programas de vários estúdios para distribuição em rede de tv
135 Impactos da TVD Impacto da TV Digital sobre a Rádio-Difusão Técnicas de compressão Tornam possível transmitir pelo menos 4 programas com qualidade superior Transmitir programas e dados adicionais Módulo Remultiplexador Responsável por fazer a multiplexação entre os vários TS gerados por uma ou mais centrais de produção Eliminar, substituir ou inserir programas e fluxos de dados que serão veiculados Inserir informações gerais sobre a programação dos vários canais veiculados Proteger programas cujo conteúdo é consumido através de pagamento (pay-per-view). Permite ao difusor operar uma maior quantidade de Centrais de Produção (Provedores de Serviços), o que aumenta a oferta de conteúdo e canais.
136 Impactos da TVD Sobre a Recepção Doméstica Necessita de um STB equipamento digital com capacidade de processamento de sinais de áudio e vídeo, e eventualmente capacidade de execução de programas Capaz de receber, demodular, decodificar e remodular o sinal televisivo Gera sinal de A/V compatível com televisores analógicos Interação Pseudo e Real
137 TV Digital Pseudo-Interativa Enhanced DTV
138 TV Digital Interativa
139 Arquitetura Genérica de um STB Interativo
140 Arquitetura do Carrossel
141 Uma questão fundamental para o sucesso de um sistema de televisão digital! Adoção e aceitação de padrões abertos para os vários componentes do sistema No Brasil Milhares de estações transmissoras e retransmissoras Milhões de aparelhos receptores E no Mundo
142 Modelo de Referência ITU, para TVD [2] MPEG-2 Padrões Mundiais
143 MPEG-2 Video, Audio e Systems [5] PS Arbitrary size packets Variable bitrate TS 188 bit Packets Fixed bitrate
144 MPEG-2 Systems TS - Transport Streams
145 Estrutura de um Transport Stream PID Packet Identification Code PCR Program Clock Reference
146 MPEG-2-TS-PSI PMT: Program Map Table Elementary stream 1 (Video) Elementary stream 2 (Audio1) Elementary stream 3 (Audio2)... Elementary Stream n-1 (Data i) Elementary Stream n (Data j) Elementary stream map (program_map_tabl e) PID1 PID2 PID3 PID(n-1) PIDn PID(n+1) Multiplexer MU Xed program transport bit stream
147 MPEG-2-TS-PSI PAT: Program Association Table Program transport stream 1 Program transport stream 2 Program transport stream 3... Program transport stream 4 Program transport stream 5 Multiplexer System level multiplex Program stream map (program_assocication_table) PID = 0
148 Remultiplexação Program transport stream 1 Program transport stream 2 Program transport stream 3... Program transport stream 4 Program transport stream 5 Program stream map (program_assocication_table) Program transport stream 1 Program transport stream 2 Program transport stream 3... Program transport stream 4 Program transport stream 5 PID = 0 Multiplexer Multiplexer Program transport stream 1 System level multiplex Program transport stream 2 Program transport stream 3 System level multiplex... Program transport stream 4 Program transport stream 5 Program stream map (program_assocication_table) PID = 0 Multiplexer Program transport stream 1 System level multiplex Program transport stream 2 Program transport stream 3... Program transport stream 4 Program transport stream 5 Program stream map (program_assocication_table) PID = 0 Multiplexer System level multiplex Program stream map (program_assocication_table) PID = 0 Program transport stream 1 Program transport stream 2 Elementary stream 1 (Video) Elementary stream 2 (Audio1) Elementary stream 3 (Audio2)... Elementary Stream n-1 (Data i) Elementary Stream n (Data j) Elementary stream map (program_map_table) PID1 PID2 PID3 PID(n-1) PIDn PID(n+1) Multiplexer Program transport stream 3... Program transport stream 4 MU Xed Program transport stream 5 program transport Program stream map bit stream (program_assocication_table) PID = 0 Multiplexer System level multiplex
149 Demultiplexação de Programas e Fluxos Elementares System bit stream PID = 0 program_association_table program_ map_pid Obtain program_map_pid (PID of bit stream containing the program_map_table) program_map_table Obtain PIDs for elementary bit streams Program Identity PID1 PID2.. PIDn... Elementary bit streams for a program Dump other transport packets
150 Blocos Fundamentais de um Middleware para TV Digital DAVIC - Digital Audio-Visual Council HAVi - Home Audio Video Interoperability Java TV Java Media Framework
151 DAVIC - Digital Audio-Visual Council[8] Padrão da indústria para interoperabilidade fim-a-fim de informações audiovisual digital interativa e por difusão.
Natureza do Software e dos Sistemas
Natureza do Software e dos Sistemas Jorge H C Fernandes Diferença Fundamental entre Engenharia de Software e outras Engenharias! Os materiais são diferentes As teorias fundamentais são diferentes Dificuldades
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 maisUma 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 maisAs 10 Áreas da Engenharia de Software, Conforme o SWEBOK. Jorge H C Fernandes 2004
As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Jorge H C Fernandes 2004 Indicações de que a engenharia de software está se tornando uma atividade de engenharia (SWEBOK) Cursos de graduação em
Leia maisTeste de Software: Existe Isto? Jorge Fernandes Junho de 2004
Teste de Software: Existe Isto? Jorge Fernandes Junho de 2004 public class Calc { private int estadointeracao; private int operacaoselecionada; private long acumulador0; private long acumulador1; private
Leia maisGTTV - Grupo de Trabalho de Televisão Digital. Guido Lemos de Souza Filho LAViD - DI CCEN UFPB
GTTV - Grupo de Trabalho de Televisão Digital Guido Lemos de Souza Filho LAViD - DI CCEN UFPB Sistema de TV Digital ITV Middleware (eg. MHP or DASE) Real-Time Operating System Device Drivers Conditional
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 maisAula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/
Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
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 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 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 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 maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Leia maisUniversidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
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 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 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 maisCONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa
CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs
Leia maisDesenvolvimento de Sistemas para TV Digital. Prof. Fabrício J. Barth fbarth@tancredo.br Faculdades Tancredo Neves
Desenvolvimento de Sistemas para TV Digital Prof. Fabrício J. Barth fbarth@tancredo.br Faculdades Tancredo Neves Objetivo Apresentar os conceitos básicos para o desenvolvimento de sistemas para TV Digital.
Leia maisEMENTA DO CURSO. Tópicos:
EMENTA DO CURSO O Curso Preparatório para a Certificação Oracle Certified Professional, Java SE 6 Programmer (Java Básico) será dividido em 2 módulos e deverá ter os seguintes objetivos e conter os seguintes
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 maisJava Enterprise Edition. by Antonio Rodrigues Carvalho Neto
Java Enterprise Edition by Antonio Rodrigues Carvalho Neto Enterprise Edition Architecture O que é Java Enterprise Edition? Java EE é uma plataforma que reune diversas especificações relacionadas a computação
Leia maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
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 maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
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 maisJorge Fernandes (jhcf@cic.unb.br) 1,2 Guido Lemos (guido@di.ufpb.br) 3 Gledson Elias Silveira (gledson@di.ufpb.br) 3
Introdução à Televisão Digital Interativa: Arquitetura, Protocolos, Padrões e Práticas Dia 1 Minicurso com duração de 6 Horas, Apresentado na XXIII Jornada de Atualização em Informática do XXIV Congresso
Leia maisBacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java
Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre
Leia maisLinguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br
Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim
Leia maisSistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Leia maisO protocolo HTTP. O que é o protocolo HTTP?
O protocolo HTTP Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. Quais são as partes de um a resposta HTTP. IIS - HTTP 1 O que é o protocolo HTTP? Hyper
Leia maisJava 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Leia maisSUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA... 1
SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA... 1 A Origem... 2 O Caminho Para a Aprendizagem... 4 Java Como Plataforma... 6 Finalidade... 9 Características... 11 Perspectivas... 13 Exercícios... 14 CAPÍTULO
Leia maisPadrão Arquitetura em Camadas
Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Definição Estimula a organização
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 mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Leia maisJavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5
JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,
Leia maisA Linguagem Java. Alberto Costa Neto DComp - UFS
A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão
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 maisOrientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Orientação a Objetos em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução; Orientação a Objetos; Orientação a Objetos em Java; Leonardo Murta Orientação a Objetos em Java 2 Agosto/2007
Leia maisESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado
Leia maisLP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br
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 maisSobre o Professor Dr. Sylvio Barbon Junior
5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005
Leia maisLinguagem de Programação Introdução a Linguagem Java
Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,
Leia maisO Modelo DX sumário executivo
White Paper O Modelo DX sumário executivo INTRODUÇÃO 2 O MODELO BROADCAST 3 MODELO TRADICIONAL DE BROADCAST 3 O MODELO DX 4 NOVOS MODELOS DE RECEITA 5 O MODELO DX PARA TELAS COLETIVAS 6 1 www.dx.tv.br
Leia maisResumo: Perguntas a fazer ao elaborar um projeto arquitetural
Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?
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 maisESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado
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 maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
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 maisBSI UFRPE Prof. Gustavo Callou gcallou@gmail.com
BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados
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 maisLista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição
Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:
Leia maisFundamentos de Java. Prof. Marcelo Cohen. 1. Histórico
Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da
Leia maisinsfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Leia maisInternet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos
Internet e protocolos web A Internet é uma rede descentralizada de recursos computacionais Tolerante a falhas (no single point of failure) Topologia tem de fornecer caminhos alternativos entre 2 computadores
Leia maisA Linguagem Algorítmica Estrutura de Repetição. Ex. 2
Estrutura de Repetição. Ex. 2 A ESTRUTURA Enquanto faça{} É MELHOR UTILIZADA PARA SITUAÇÕES ONDE O TESTE DE CONDIÇÃO (V OU F) PRECISA SER VERIFICADO NO INÍCIO DA ESTRUTURA DE REPETIÇÃO.
Leia maisComo foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.
5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
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 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 maisJava - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br
Java - Introdução Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda O que é Java? Sun / Oracle. IDE - NetBeans. Linguagem Java; Maquina Virtual; Atividade Prática. Identificando Elementos
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 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 maisUNIVERSIDADE FEDERAL DO PARANÁ
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 02 APRESENTAÇÃO: Apresentação; conceitos básicos da linguagem java; estrutura
Leia maisAlgoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões
Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal
Leia maisI N T R O D U Ç Ã O W A P desbloqueio,
INTRODUÇÃO Para que o Guia Médico de seu Plano de Saúde esteja disponível em seu celular, antes de mais nada, sua OPERADORA DE SAÚDE terá de aderir ao projeto. Após a adesão, você será autorizado a instalar
Leia maisAnálise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
Leia maisProgramação Básica em Arduino Aula 2
Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas
Leia maisRUI ROSSI DOS SANTOS PROGRAMAÇÃO DE COMPUTADORES EM. Java
RUI ROSSI DOS SANTOS PROGRAMAÇÃO DE COMPUTADORES EM Java 2ª Edição n Sumário VII Sumário CAPÍTULO 1 Introdução ao Java... 1 A Origem... 2 O Caminho Para a Aprendizagem... 4 Java como Plataforma... 6 Finalidade...
Leia maisA INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO
A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO 1 OBJETIVOS 1. O que é a nova infra-estrutura informação (TI) para empresas? Por que a conectividade é tão importante nessa infra-estrutura
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 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 maisCurso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Leia maisAula 03-04: Modelos de Sistemas Distribuídos
UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)
Leia maisAULA 02. 1. Uma linguagem de programação orientada a objetos
AULA 02 TECNOLOGIA JAVA O nome "Java" é usado para referir-se a 1. Uma linguagem de programação orientada a objetos 2. Uma coleção de APIs (classes, componentes, frameworks) para o desenvolvimento de aplicações
Leia maisJPA: Persistência padronizada em Java
JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes
Leia mais3 Classes e instanciação de objectos (em Java)
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
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 maisO objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.
Departamento de Ciência da Computação Universidade de Brasília Computação Básica - 2004.1 Roteiro de Laboratório #1 Usando o Computador Visível Professor Jorge Henrique Cabral Fernandes 0. Objetivo O objetivo
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisEspecialização em Engenharia de Software - CEUT
Até aqui Programação com interfaces gráficas Sérgio Soares scbs@cin.ufpe.br Criamos a infra-estrutura para a aplicação bancária classes que representam os tipos de conta classe que implementa regras de
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 maisUma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)
Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido
Leia maisCurso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais
Curso de Java Geração de Páginas WEB Aplicação WEB Numa aplicação WEB de conteúdo dinâmico As páginas são construídas a partir de dados da aplicação (mantidos num banco de dados). Usuários interagem com
Leia maisVPAT (Voluntary Product Accessibility Template, Modelo de Acessibilidade de Produto) do eportfolio da Desire2Learn Maio de 2013 Conteúdo
VPAT (Voluntary Product Accessibility Template, Modelo de Acessibilidade de Produto) do eportfolio da Desire2Learn Maio de 2013 Conteúdo Introdução Recursos de acessibilidade principais Navegação usando
Leia maisDesenvolvimento de Aplicações Locais na Plataforma Microsoft
Desenvolvimento de Aplicações Locais na Plataforma Microsoft Profª. Angelina V.S. Melaré angelinamelare@gmail.com Tecnologia em Análise e Desenvolvimento de Sistemas 1ºsem/2008 Objetivo da Aula Saber diferenciar
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO
Leia maisChamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução
Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite
Leia maisIntranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO
Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial
Leia maisMódulo 06 Desenho de Classes
Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.
Leia mais