Instituto Superior de Engenharia do Porto

Tamanho: px
Começar a partir da página:

Download "Instituto Superior de Engenharia do Porto"

Transcrição

1 Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática Tecnologia Java Aplicada a Telemóveis Trabalho realizado no âmbito da disciplina de Projecto, do 5º ano da licenciatura de engenharia informática. Aluno: José Filipe Soeiro Teixeira Orientador: Eng.º Luís Pinho Porto, 2003

2 Tecnologia Java aplicada a telemóveis II

3 Tecnologia Java Aplicada a Telemóveis Realizado por: José Filipe Soeiro Teixeira Orientador ISEP: Eng.º Luís Pinho Data de realização: Agosto, 2003 III

4 Tecnologia Java aplicada a telemóveis IV

5 Índice ÍNDICE...V AGRADECIMENTOS...VII 1. INTRODUÇÃO TELEMÓVEIS E TECNOLOGIA AUDIO Sons polifónicos Leitores de MP VÍDEO Captura de Imagens Display MEMÓRIA SOFTWARE Exemplos Suporte JAVA CONCEITOS BÁSICOS A linguagem de programação A plataforma J2SE / J2EE / JAVA CARD J2ME Arquitectura do J2ME Configuração Perfil Connected Limited Device Configuration CLDC Java Virtual Machine Virtual Machine e especificações de linguagem Carregamento de classes Considerações de segurança Compilar e correr código com KVM O Mobile Information Device Profile e MIDlets MIDP Requisitos de hardware do MIDP Requisitos de software do MIDP A plataforma MIDP MIDlets e MIDlet suites Segurança nas MIDlets MIDlet packaging Ciclo de vida e ambiente de execução das MIDlets ALTERNATIVAS AO J2ME EXECUTION ENGINE (EXEN) MOPHUN WIRELESS GRAPHICS ENGINE (WGE) BINARY RUNTIME ENVIRONMENT FOR WIRELESS (BREW) SYMBIAN OS...56 V

6 Tecnologia Java aplicada a telemóveis 5. QUESTÕES FUNDAMENTAIS AO DESENVOLVIMENTO PARA TELEMÓVEIS MEMÓRIA PROCESSADOR DISPLAY SOM INPUT SEGURANÇA FUNCIONALIDADE INSTALAÇÃO FERRAMENTAS PARA O DESENVOLVIMENTO DE APLICAÇÕES J2SE SDK J2ME WIRELESS TOOLKIT Default Device Selection Documentation KToolbar OTA Provisioning Preferences Run MIDP Application Utilities EDITOR JAVA DESENVOLVIMENTO HELLO WORLD PRINCÍPIOS BÁSICOS DESENVOLVIMENTO DE UMA MIDLET CONCLUSÃO BIBLIOGRAFIA ANEXO ÍNDICE DE FIGURAS ÍNDICE DE TABELAS VI

7 Agradecimentos Existem algumas pessoas sem as quais não teria sido possível a realização deste projecto e, por isso, merecem um especial agradecimento. Quero agradecer em primeiro lugar à minha Mãe e à minha Avó (adorovos) que, apesar de infelizmente, já não estarem entre nós, sempre me apoiaram no decurso deste projecto e, de certeza, ainda estão comigo. Quero também agradecer ao meu Pai (também te adoro) que me apoiou em tudo, especialmente nos momentos mais difíceis. Um agradecimento especial à Ana, que está sempre comigo e me aturou durante este tempo todo (um enorme beijinho para ti!). Um abraço para os meus amigos, com quem posso contar para tudo! Obrigado Samuel (pelas ideias), Rui Les Matos, Wilson Bizu Carvalho, Nuno Presi Soares, Ana Timon Azevedo, Aníbal Flintstone Couto, Luís Viagra Leal, Leandro Julieta Castro, Daniel Spielberg Martinho, Victor, Romeu, Mário, Nuno e o resto do pessoal do ISEP que me apoiou e, mesmo não notando, ajudou à realização deste projecto. Quero agradecer também ao meu orientador Luís Pinho que foi uma ajuda fundamental em todas as formalidades necessárias ao sucesso deste projecto. Para finalizar, como de certeza que me esqueci de alguém, quero agradecer a essa pessoa e pedir desculpa pelo esquecimento. Obrigado! Este projecto é dedicado à minha Mãe e à minha Avó. VII

8 Tecnologia Java aplicada a telemóveis VIII

9 1. Introdução Nestes últimos anos, tem-se vindo a observar uma enorme evolução no campo das novas tecnologias, nomeadamente na área das telecomunicações. O aparecimento do telemóvel foi revolucionário, e alterou radicalmente o modo de estar e de pensar de milhares de pessoas que possuem e até dependem deste pequeno aparelho. Desde a viragem do milénio, o telemóvel tem evoluído a uma velocidade estonteante e é agora muito mais do que um simples meio de comunicação. Os grandes telefones portáteis com um pequeno visor monocromático onde apenas se escreviam números, transformaram-se em pequenos aparelhos dotados de uma grande capacidade de memória, destinados às mais diversas operações, desde captura de imagens ou filmes, até leitores de MP3 e, mais recentemente, consola de jogos. O telemóvel é agora uma ferramenta de trabalho e lazer com grandes potencialidades, para a qual se consegue antever um futuro muito promissor. Porém, uma grande evolução tecnológica tem que ser acompanhada por uma evolução a nível de software de modo a que seja possível tirar partido de todas as capacidades desta nova ferramenta de trabalho. O recente aparecimento de telemóveis que suportam linguagens de programação de alto nível, nomeadamente Java, vem fundamentar esta teoria. Este suporte vem alargar consideravelmente as potencialidades deste aparelho. Novos programas ou jogos podem ser desenvolvidos e facilmente inseridos no telemóvel. Em comparação com outros aparelhos portáteis como PDAs ou consolas de jogos, o telemóvel tem inúmeras vantagens. As pessoas habituaram-se a levar o telemóvel para todo o lado, ao contrário do que acontece com outros dispositivos e, por isso, é muito mais confortável ter todas as funcionalidades necessárias aí incluídas. Num futuro próximo, qualquer pessoa poderá consultar a sua agenda, navegar na internet ou jogar um jogo, enquanto toma café ou espera numa fila, apenas utilizando o seu telemóvel que anda sempre consigo. O objectivo deste documento é dar a conhecer o estado actual das tecnologias móveis de comunicação, as suas verdadeiras potencialidades e o modo de as explorar. Só através do conhecimento das tecnologias e desenvolvimento de software é possível tirar partido das funcionalidades que os telemóveis têm actualmente para oferecer. Ao longo deste documento, no capítulo 2 irão ser ilustradas as características principais dos telemóveis mais actuais, como capacidade de memória, número de cores ou resolução suportada. No capítulo 3 será abordada a linguagem Java como linguagem principal para o desenvolvimento de aplicações destinadas a este tipo de plataformas móveis. Neste capítulo, será feita uma distinção entre a linguagem Java normal (J2SE), que é utilizada em inúmeras aplicações para computador, e a sua versão micro que se destina a plataformas móveis, como é o caso dos telemóveis. 1

10 Tecnologia Java aplicada a telemóveis No capítulo 4, será feita uma breve referência a outras linguagens existentes que, em alternativa ao J2ME, também podem ser utilizadas para desenvolver aplicações destinadas a telemóveis. O 5º capítulo faz uma abordagem a algumas questões fundamentais que o programador deve ter em conta quando programa para esta plataforma. Mais adiante, no capítulo 6, será feita uma análise ás ferramentas necessárias para o desenvolvimento de aplicações em J2ME para telemóveis. É importante conhecer as aplicações utilizadas, de modo a optimizar e toda a fase de desenho e programação de aplicações. Por fim, no capítulo 7, será descrito passo a passo todo o processo de desenvolvimento de uma pequena aplicação J2ME (jogo), desde a sua criação utilizando as ferramentas adequadas, até à sua instalação, passando por diversos exemplos de codificação das características mais importantes de uma aplicação deste tipo. Todo o código referente à aplicação desenvolvida no capítulo 7, será disponibilizado em anexo. 2

11 2. Telemóveis e tecnologia Actualmente quando alguém quer comprar um telemóvel tem uma enorme variedade de marcas e modelos à escolha, cada um com características diferentes desde o seu formato, até à sua memória ou número de cores do ecrã. A gama de telemóveis varia desde o mais barato que serve apenas para telefonar e escrever mensagens (Nokia 3310,...) até ao mais caro, topo de gama com câmara de vídeo incorporada, ecrã a cores, Bluetooth e suporte para linguagens de programação de alto nível, como J2ME (Nokia 3650,...). Os telemóveis mais actuais disponibilizam um enorme leque de capacidades para uso do consumidor. Agora, para além de comunicar, é possível gravar vídeo e tirar fotografias com o telemóvel, navegar na internet, ouvir música ou mesmo jogar. Estas são algumas das tecnologias mais recentes que se podem encontrar nos telemóveis: 2.1.Audio A componente audio dos telemóveis foi a primeira a ser explorada. Desde já há algum tempo que os telemóveis têm variados tipos de toques para todos os gostos. No entanto, a evolução a este nível continua e, nos últimos anos, apareceram os toques polifónicos e os leitores de MP Sons polifónicos Esta tecnologia permite aos telemóveis um nível sonoro bastante melhorado. Isto é possível através do uso de 16, 32 ou mais canais em vez de apenas 1, como acontece nos telemóveis mais antigos. Deste modo, é possível ouvir o som de diversos instrumentos diferentes ao mesmo tempo, elevando assim a sua qualidade. É importante ter em conta este facto quando se programa para um telemóvel. No caso da criação de um jogo (que é actualmente o mais habitual...), é possível separar a musica de fundo dos efeitos sonoros. Aqui está uma lista de telemóveis que suportam toques polifónicos: Marca Modelos Motorola C330, C350, T720I,... Nokia 3510, 3650, 5100, 7650,... Panasonic GD700, GD87, GU87,... Samsung SGH-X400(40), SGH-V200(40),... Sony Ericsson P800, T310(32), T610(32),... Tabela Toques Polifónicos

12 Tecnologia Java aplicada a telemóveis Leitores de MP3 Por outro lado, temos os telemóveis que funcionam como leitor de MP3. Nestes aparelhos, é possível armazenar uma quantidade variável de musicas no formato MP3, dependendo da qualidade de gravação e da memória do aparelho Vídeo Esta componente só há relativamente pouco tempo é que começou a sofrer alterações. Inicialmente, um telemóvel servia apenas para telefonar e continha um visor monocromático, o que era suficiente para as suas funcionalidades. Actualmente já não é bem assim... Quando se fala da componente vídeo num telemóvel, fala-se de captura de vídeo ou imagens, e da resolução, tamanho e número de cores suportadas pelo ecrã. Estas são características cada vez mais importantes a ter em consideração, quando se pensa em adquirir um telemóvel Captura de Imagens No que diz respeito à captura de imagens, não se pode considerar um factor de muita importância para a programação, pois a maioria dos programas não necessita de câmara digital. De qualquer forma, a lista que se segue indica alguns dos telemóveis mais recentes que suportam esta tecnologia. Marca Modelo Tipo de câmara Resolução Captura de vídeo Nokia 7650 Incorporada 640x480 Sim (por software) Nokia 3650 Incorporada 640x480 Sim Nokia 6600 Incorporada 640x480 Sim Nokia 6650 Incorporada 640x480 Sim Panasonic GU87 Incorporada 132x176 Não Samsung SGH-V200 Incorporada 640x480 Não Siemens SL55 Incorporada 640x480 Não Sony Ericsson T310, Como 640x480 Não T300 acessório Sony Ericsson T610 Incorporada 288x352 Não Sony Ericsson P800 Incorporada 640x480 Não Tabela Captura de imagens/vídeo Note-se porém, que a programação destinada a este tipo de plataformas moveis está ainda a dar os primeiros passos e tudo indica que futuramente se faça uso das capacidades de captura de vídeo para o desenvolvimento de programas, por exemplo, de videoconferência ou até mesmo de entretenimento. 4

13 Telemóveis e tecnologia A grande popularidade das câmaras digitais nos telemóveis, irá certamente despertar o interesse de muitos programadores que tentarão tirar o melhor partido desta tecnologia Display Este é um dos factores mais importantes a ter em conta quando se programa para um telemóvel. É necessário ter em atenção a resolução, o tamanho do ecrã e mesmo a quantidade de cores suportada varia, o que quer dizer que um determinado programa pode funcionar apenas num determinado modelo de telemóveis, ou pode ser mais genérico e adaptar-se a um leque mais variado de modelos. Actualmente a grande maioria dos programas desenvolvidos para telemóveis são jogos, e como tal, possuem uma elevada componente visual. O grafismo deste tipo de aplicações é muito importante e, se por um lado um jogo fica melhor quando desenvolvido para uma mais alta resolução e um elevado número de cores, por outro lado, isto pode limitar a sua compatibilidade e restringi-lo a um ou dois modelos disponíveis no mercado. Segue-se uma lista das características do display de alguns dos telemóveis mais recentes. Marca Modelo Resolução Cores Nokia N-Gage 176x208 px 4,096 Nokia x208 px 4,096 Nokia x208 px 65,536 Nokia x208 px 4,096 Nokia x128 px 4,096 Nokia x128 px 4,096 Panasonic GU87 132x176 px 65,536 Panasonic X70 132x176 px 65,536 Samsung SGH-X x160 px 65,536 Samsung SGH-V x160 px 65,536 Samsung SGH-C x128 px 65,536 Samsung SGH-S x144 px 65,536 Samsung SPH-N x160 px 65,536 Samsung SPH-A x160 px 4,096 Siemens SL55 101x80 px 4,096 Sony Ericsson T x80 px 256 Sony Ericsson T x160 px 65,536 Sony Ericsson P x320 px 4,096 Tabela Características do display Desta extensa lista, presta-se especial atenção ao Nokia N-Gage que se apresenta não só como um telemóvel mas, principalmente, como uma consola de jogos, tendo já feito referência a alguns jogos de nome já conhecido ( Tomb Raider, Sonic,...) desenvolvidos pela Sega especialmente para o N-Gage. 5

14 Tecnologia Java aplicada a telemóveis 2.3. Memória Outra característica muito importante a ter em conta é a memória disponível no telemóvel, para os programas desenvolvidos. Actualmente, estes aparelhos possuem uma memória muito escassa o que dificulta a programação e limita a qualidade dos programas. Por isso, é necessário ter em consideração a capacidade de memória do telemóvel para o qual se pretende desenvolver uma aplicação. Existem três tipos de memória a ter em atenção: a memória de armazenamento, a memória de execução e o tamanho máximo dos ficheiros JAR. Memória de armazenamento - A memória de armazenamento limita o tamanho máximo disponível para o programa. Esta é a memória onde o programa desenvolvido fica alojado. Alguns telemóveis suportam o uso de cartões de memória externos para aumentar a sua capacidade. Memória de execução Esta é a memória utilizada em tempo de execução por uma aplicação, ou seja, é a capacidade máxima de memória que uma aplicação pode utilizar durante a sua execução. Ficheiros JAR Esta memória define o tamanho máximo suportado para os ficheiros JAR. Note-se que um ficheiro JAR é um ficheiro comprimido que contém código e é muitas vezes utilizado como forma de reduzir o tamanho de uma aplicação, o que é muito útil no caso da programação para este tipo de suporte. As capacidades de memória de alguns dos telemóveis mais propícios ao desenvolvimento de programas, encontram-se na seguinte tabela: Marca Modelo Armazenamento Execução Ficheiros JAR Nokia N-Gage 4MB+MMC (memory cards) 2.8MB 4MB Nokia MB 1.4MB 4MB Nokia MB+MMC 3MB (não disponível) Nokia MB+MMC 1.4MB 4MB Nokia MB 200KB 64KB Nokia KB 200KB 64KB Tabela Capacidades de memória Embora seja fundamental que um programador saiba as características de memória do telemóvel para o qual se destina uma aplicação a ser desenvolvida, está é ainda uma informação de difícil acesso. Deste modo, só foi possível obter as características de memória, relativas aos telemóveis Nokia, disponibilizadas no site da marca Software O software criado para telemóveis encontra-se actualmente numa fase ainda inicial de desenvolvimento. No entanto, tem-se notado uma rápida evolução neste campo. Todos os dias surgem novos programas destinados a estas plataformas e cada vez mais programadores interessados por esta tecnologia. 6

15 Telemóveis e tecnologia Existem actualmente diversas plataformas de programação suportadas pelos telemóveis mais recentes, sendo o Java a mais popular e, quando se fala em Java para telemóveis, fala-se em jogos e programas ligados à área de entretenimento. A verdade é que a grande maioria do software que se pode inserir num telemóvel são jogos, desenvolvidos quer por grandes empresas, quer por programadores independentes. Já na industria da informática, os jogos ocupam um lugar de destaque e representam uma parcela considerável das vendas e dos lucros, no que diz respeito a software. Daqui se pode concluir que as novas tecnologias não são só uma ferramenta de trabalho, mas também um instrumento de lazer para que se possa fugir do stresse do dia-a-dia. É por isso natural que nos telemóveis, a área do entretenimento prospere ainda mais. Se pelo ponto de vista do utilizador os jogos são mais apelativos e um óptimo meio para descontrair, para a grande parte dos programadores, desenvolver um jogo é mais motivante e vende-se melhor. Também à semelhança do que acontece com os computadores pessoais, são os jogos que vão tirar o máximo partido de todas as capacidades do aparelho. São estes programas que vão combinar uma elevada resolução de imagem com uma boa qualidade sonora, o que dá a conhecer ao utilizador todas as capacidades do seu telemóvel, e permite ao programador, usar as mais recentes tecnologias no desenvolvimento de aplicações. Além disso, a utilidade de outro tipo de ferramentas num telemóvel, como uma folha de cálculo, uma base de dados ou um processador de texto, é bastante questionável. O aparecimento de alguns modelos de telemóveis como o SGH- X400 da Samsung e o N-Gage da Nokia vêm reforçar a ideia de que os jogos têm uma crescente importância neste meio. O N-Gage, mais do que um telemóvel é já considerado uma consola capaz até de rivalizar num futuro próximo com o já conhecido Game Boy. Para este caso, a Nokia Figura Nokia N-Gage assumiu uma parceria com a Sega que produzirá jogos de grande qualidade ( Sonic, Tomb Raider,...) para esta consola/telemóvel. Em seguida, serão mostrados alguns exemplos de software que se pode obter para as diversas plataformas suportadas pelos telemóveis mais recentes. 7

16 Tecnologia Java aplicada a telemóveis Exemplos Figura Imagens de Dragon Island Título: Dragon Island Desenvolvido por: Macrospace Tipo: Jogo Plataforma: J2ME Memória: 65K Preço: 3,00 Telemóveis: Nokia 7650, 3650, 6800, 5100,...; Siemens SL55;... Comentário: Este é um dos mais recentes jogos desenvolvidos para a plataforma J2ME. Como pode ser visto nas imagens, foi feito um bom aproveitamento das 4,096 cores utilizadas, o que também torna este jogo compatível com um maior número de telemóveis. Aqui está um bom exemplo do que se consegue desenvolver para um telemóvel. Figura Imagens de XFinity Título: XFinity Desenvolvido por: Synergenix Tipo: Jogo Plataforma: Mophun Memória: 118K Preço: 5,00 Telemóveis: Sony Ericsson T300, T310,... Comentário: Este é um exemplo de uma aplicação desenvolvida sobre a plataforma Mophun. A qualidade mantêm-se bastante boa e, existe bastante suporte para Mophun, quer em termos de software disponível, quer em termos de telemóveis. Note-se que este é um jogo mais caro, e ocupa bastante mais memória. 8

17 Telemóveis e tecnologia Título: Hurricane Space Fighters Desenvolvido por: TTPCom Tipo: Jogo Plataforma: WGE Memória: Não disponível Preço: Não Disponível Telemóveis: Innostream I- 1000,... Figura Imagens de Hurricane Space Fighters Comentário: Aqui temos uma plataforma que demonstra possuir grandes potencialidades mas, encontrar uma aplicação desenvolvida para Wireless Graphics Engine, revela-se uma tarefa quase impossível. Além da falta de software, existem ainda poucos telemóveis a suportar WGE. Título: Crash Bandicoot Desenvolvido por: In-Fusio Tipo: Jogo Plataforma: ExEn Memória: Não disponível Preço: Não Disponível Telemóveis: Panasonic GD67, GD87,... Comentário: O Execution Engine (ExEn) revela-se uma plataforma capaz de produzir bons resultados. Apesar disso, existe alguma dificuldade de encontrar Figura Imagens de Crash Bandicoot software desenvolvido para ExEn. Também se nota alguma escassez de telemóveis a suportar esta plataforma. Título: Fantom Overdrive Desenvolvido por: Overloaded Tipo: Jogo Plataforma: Symbian OS Memória: 581K Preço: 5,95 Telemóveis: Nokia 3650, 7650, Sony Ericsson P800,... Comentário: Embora não tenha a popularidade do Java, a plataforma Symbian possui já bastante software disponível, com uma boa qualidade. Além disso, existe já uma vasta gama de telemóveis com este suporte. Figura Imagens de Fantom Overdrive 9

18 Tecnologia Java aplicada a telemóveis Suporte Um dos principais aspectos a ter em conta quando se pretende desenvolver uma aplicação para uma determinada plataforma, é o suporte disponibilizado. Antes de se começar a desenvolver, é necessário saber que telemóveis suportam as diversas plataformas existentes, de forma a fazer a opção mais adequada. Aqui está uma pequena lista de telemóveis que suportam as diversas tecnologias. Marca Modelo Plataformas Fujitsu F2051 J2ME, Symbian Innostream I-1000 WGE Motorola V600 J2ME Motorola T725 J2ME Nokia N-Gage J2ME, Symbian Nokia 7650 J2ME, Symbian Nokia 6600 J2ME, Symbian Nokia 3650 J2ME, Symbian Nokia 6800 J2ME Nokia 5100 J2ME Panasonic GU87 ExEn Panasonic X70 J2ME, ExEn Sagem my G-5 ExEn Sagem my X-5 ExEn Samsung SGH-X400 J2ME Samsung SGH-V200 J2ME Samsung SGH-C100 J2ME Samsung SGH-S200 J2ME Siemens SL55 J2ME Siemens U10 J2ME Sony T310 Mophun Ericsson Sony T610 J2ME, Mophun Ericsson Sony Ericsson P800 J2ME, Symbian Tabela 2. 5 Tecnologias suportadas Como se pode observar, o Java ocupa actualmente a maior parcela de mercado, comparativamente com outras plataformas de programação. 10

19 3. Java Actualmente os telemóveis de ultima geração, associam-se à tecnologia Java, mesmo que não se saiba exactamente o que isso é. A grande quantidade de publicidade feita a esta plataforma tem resultado e, para comprovar, pode-se observar a crescente importância do Java na área das comunicações móveis, e a quantidade de software e suporte existente para esta tecnologia. As campanhas publicitárias feitas aos telemóveis já nos habituaram à palavra Java, falando insistentemente de jogos Java e tecnologia Java, de tal maneira que quando se vai comprar um telemóvel, é normal perguntar ao vendedor: Este modelo suporta Java? Muitas das vezes a resposta é afirmativa e o cliente vai para casa satisfeito por ter adquirido um telemóvel que até ficou um pouco mais caro mas suporta Java. No entanto, a verdadeira pergunta é: Mas afinal o que é o Java? E qual é a vantagem de ter Java no telemóvel? Este documento é destinado pessoas que já possuem algum conhecimento na área da programação e, certamente já estão familiarizados com o conceito Java como linguagem de programação mas, de qualquer maneira existem algumas diferenças quando se programa nesta linguagem para plataformas móveis. Neste capítulo, irá ser feita uma breve referência à linguagem Java e à sua utilização em telemóveis. Quem tenciona desenvolver uma aplicação destinada às mais recentes tecnologias móveis usando esta plataforma deve, em primeiro lugar, saber as características e o modo de funcionamento desta linguagem de programação, em particular da sua versão Micro que se destina exactamente a máquinas com baixa capacidade de memória e processamento (telemóveis).

20 Tecnologia Java aplicada a telemóveis 3.1 Conceitos básicos O Java é um ambiente de programação que combina uma plataforma específica com uma linguagem de alto nível, muito prática e funcional A linguagem de programação O Java é uma linguagem de programação de alto nível, orientada ao objecto e de fácil compreensão. Esta linguagem possui determinadas características que a tornam muito apetecível para programadores que trabalham sobre qualquer plataforma. Podemos então definir o Java como uma linguagem de programação que se distingue pelas seguintes características: Simples O Java é uma linguagem simples e não necessita de treino extensivo de programação para que se consiga obter resultados. Os conceitos básicos do Java são facilmente apreendidos e as ferramentas são intuitivas e facilitam o trabalho do programador. Orientada ao objecto O Java adopta o conceito de objecto, para facilitar e organizar todo o processo de programação. O código passa a ser encapsulado e reutilizável, podendo abstrair o programador de funções mais complexas ou permitir o uso de objectos já desenvolvidos. Podem ser utilizadas librarias externas com código já desenvolvido bem como quaisquer outros objectos que possam ser úteis para a programação de uma aplicação. Arquitectura neutra O Java foi desenhado de forma a poder interagir com diversos sistemas, com diversas arquitecturas distintas e heterogéneas. Para que isto seja possível e para que seja independente da plataforma utilizada, o compilador Java compila o código desenvolvido para uma arquitectura intermédia denominada byte codes, neutra e independente, destinada a transportar o código eficientemente entre diferentes plataformas de hardware e software. Portável A arquitectura neutra utilizada pelo Java, torna-o numa linguagem altamente portável e compatível com diferentes tipos de máquinas ou software. Cada máquina (plataforma) é responsável pela interpretação do código de byte codes, através de uma Java Virtual Machine (JVM). Assim sendo o código desenvolvido em Java pode correr em qualquer plataforma desde que esta possua uma JVM. Distribuída Devido à sua grande portabilidade, o Java consegue estabelecer comunicação entre diversas plataformas distintas o que a torna ideal para a programação distribuída. 12

21 Java Interpretada O Interpretador Java pode executar byte codes em qualquer máquina para a qual tenha sido portado o sistema. Por outras palavras, num sistema interpretado, como é o caso do Java, a fase de linkagem do programa é simples, incremental e de baixo processamento, tornando os ciclos de desenvolvimento mais rápidos, comparativamente a outras linguagens. Robusta Esta linguagem de programação foi criada tendo em vista o desenvolvimento de software robusto e de confiança. São efectuadas diversas verificações durante as fases de desenvolvimento, compilação e em execução. Além disso, a gestão de memória é encapsulada, feita implicitamente pelo Java, diminuindo drasticamente os erros e facilitando a sua gestão. Um programador pode desenvolver uma aplicação com a confiança de que quaisquer erros serão rapidamente encontrados e resolvidos. Segura O Java foi desenhado para operar em ambientes distribuídos, por isso, foi prestada uma especial atenção ao factor segurança. Deste modo, quaisquer aplicações desenvolvidas estão seguras contra possíveis ataques vindos do exterior. Alta performance Numa linguagem de programação, a performance é sempre importante. No Java, o interpretador pode correr e converter os byte codes em código, sem ter que fazer verificações ao sistema. Algumas empresas estão a tentar desenvolver um compilador de Java para a arquitectura nativa da máquina o que aumentará a performance. Multi-processo O Java suporta programação multi-processo. Num único programa, podem estar múltiplos processos independentes a correr código distinto e continuamente, de uma forma concorrente. Dinâmica A fase de linkagem é dinâmica. As classes desenvolvidas são linkadas apenas quando necessário o que permite que, a qualquer altura, novas classes internas, externas ou até vindas de uma rede, possam ser linkadas com o programa em desenvolvimento. As aplicações desenvolvidas podem assim ser actualizadas em qualquer altura. Garbage Collector Não é necessário fazer qualquer alocação explícita de memória no Java. A memória é alocada quando necessário e recolhida pelo Garbage Collector quando deixa de ser necessária. Ao contrário da maior parte das linguagens de programação, em que um programa pode ser compilado ou interpretado para que possa correr num computador, com Java o programa é compilado e interpretado. Primeiro o compilador traduz o programa para uma linguagem intermédia e independente da plataforma, denominada byte codes. A partir daí, o interpretador é responsável por correr o código desenvolvido em cada plataforma. 13

22 Tecnologia Java aplicada a telemóveis No caso do Java, o código é compilado apenas uma vez, e interpretado cada vez que é corrido. Figura Esquema de funcionamento do Java Cada interpretador, quer seja uma aplicação ou um browser que suporte Java applets é uma implementação de uma Java Virtual Machine (JVM) preparada para receber o código em byte codes e corre-lo. É isto que faz com que o Java seja uma linguagem do tipo write once, run anywhere. Uma aplicação pode ser desenvolvida e compilada sobre qualquer plataforma, e depois corrida em cima de qualquer implementação da JVM, independentemente da nova plataforma utilizada. Figura Portabilidade do Java 14

23 Java A plataforma Uma plataforma pode ser descrita como o ambiente de hardware e software onde pode ser corrido um programa. Ao contrario da maior parte das plataformas conhecidas que resultam na combinação de componentes de hardware com software específico, a plataforma Java é baseada apenas numa componente de software que corre em cima de hardware de outras plataformas. A plataforma Java é constituída por dois componentes: Java Virtual Machine (JVM); Java Application Programming Interface (API); Tal como foi já referenciado, o JVM é um interpretador que analisa o código traduzido para byte codes e faz com que possa ser corrido sobre qualquer plataforma. O JVM é portanto toda a base da portabilidade do Java. O Java API (Application Programming Interface) é uma colecção de componentes de software já desenvolvidos que disponibilizam muitas utilidades aos programadores, como por exemplo, um interface gráfico (GUI). A API está agrupada em librarias de interfaces e classes relacionados, que são conhecidas como packages. Os programadores podem assim utilizar livremente quaisquer packages disponibilizados afim de facilitar e optimizar o desenvolvimento de aplicações sobre esta plataforma. O esquema que se segue, mostra a plataforma Java e os seus constituintes: Figura Constituintes do Java Devido ao uso de um estado intermédio de compilação, onde são gerados os byte codes, a plataforma Java torna-se um pouco mais lenta do que código nativo, contudo, com a utilização de bons compiladores e interpretadores, a performance pode-se aproximar bastante do código nativo sem porém pôr em causa a sua portabilidade. O Java é portanto ideal para trabalhar em diversas plataformas distintas e, por isso, teoricamente, seria apenas necessário desenvolver uma JVM que se pudesse aplicar às diversas plataformas moveis existentes. À primeira vista, o Java adaptar-se-ia perfeitamente como linguagem para programar aplicações destinadas a telemóveis. 15

Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro

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 mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem 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 mais

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS Ana Paula Carrion 1, Késsia Rita da Costa Marchi 1, Jaime Willian Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,

Leia mais

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo

Programaçã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 mais

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

Java 2 Micro Edition (J2ME)

Java 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 mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programaçã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 mais

Programação Orientada a Objetos

Programaçã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 mais

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso

Marcus 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 mais

Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus

Java 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 mais

UM FRAMEWORK PARA DESENVOLVIMENTO DE

UM FRAMEWORK PARA DESENVOLVIMENTO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK PARA DESENVOLVIMENTO DE APLICATIVOS EM WINDOWS MOBILE. PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno:

Leia mais

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva Introdução à Linguagem Java Departamento de Informática Prof. Anselmo C. de Paiva Breve Histórico Sun Microsystems, 90/91: projeto de uma linguagem de programação pequena que pudesse ser usada em dispositivos

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 *Adaptado de PACHECO, R C S & RIEKE, R N INE UFSC Disponível em: http://wwwstelaufscbr/~pacheco/dsoo/htm/downloadshtm

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação

Leia mais

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Fundamentos 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 mais

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta

Leia mais

Arquitectura de Sistemas Computacionais

Arquitectura 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 mais

5 Mecanismo de seleção de componentes

5 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 mais

De Arte a Ciência: Regras para o Desenho de Software

De Arte a Ciência: Regras para o Desenho de Software De Arte a Ciência: Regras para o Desenho de Software Neste artigo é apresentado um conjunto de regras de desenho um padrão de desenho universal associado ao princípio fundamental e aos requisitos axiomáticos.

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

Análise de Sistemas. Conceito de análise de sistemas

Análise de Sistemas. Conceito de análise de sistemas Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de

Leia mais

Integração de Sistemas Embebidos MECom :: 5º ano

Integração de Sistemas Embebidos MECom :: 5º ano Integração de Sistemas Embebidos MECom :: 5º ano Device Drivers em Linux - Introdução António Joaquim Esteves www.di.uminho.pt/~aje Bibliografia: capítulo 1, LDD 3ed, O Reilly DEP. DE INFORMÁTICA ESCOLA

Leia mais

Interfaces Dinâmicas e Adaptativas para Celulares

Interfaces Dinâmicas e Adaptativas para Celulares Interfaces Dinâmicas e Adaptativas para Celulares Flavio Henrique Cardoso de Freitas, Silvano Maneck Malfatti Faculdade Católica do Tocantins (FACTO) Palmas TO Brasil {flaviohcf,silvanomalfatti}@hotmail.com

Leia mais

Manual do Utilizador

Manual do Utilizador Faculdade de Ciências e Tecnologia da Universidade de Coimbra Departamento de Engenharia Electrotécnica e Computadores Software de Localização GSM para o modem Siemens MC35i Manual do Utilizador Índice

Leia mais

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem 1 JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem orientada a objectos. Tal como em ASP e PHP, os ficheiros

Leia mais

Introdução à Linguagem Java

Introduçã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 mais

Guia de telemóveis, tarifários e serviços Empresas e Profissionais

Guia de telemóveis, tarifários e serviços Empresas e Profissionais Guia de telemóveis, tarifários e serviços Empresas e Profissionais Vodafone Business O guia de telemóveis, tarifários e serviços para Empresas e Profissionais. Tudo o que necessita para facilitar a sua

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Documentação sobre a Tecnologia RAID

Documentação sobre a Tecnologia RAID Documentação sobre a Tecnologia RAID Enquanto especialista no armazenamento de dados, a LaCie reconhece que quase todos os utilizadores de computadores irão necessitar de uma solução de cópia de segurança

Leia mais

Relatório de Progresso

Relatório de Progresso Luís Filipe Félix Martins Relatório de Progresso Mestrado Integrado em Engenharia Electrotécnica e de Computadores Preparação para a Dissertação Índice Introdução... 2 Motivação... 2 Cloud Computing (Computação

Leia mais

ServidorEscola Plataforma Web de apoio Administrativo

ServidorEscola Plataforma Web de apoio Administrativo ServidorEscola Plataforma Web de apoio Administrativo Introdução Co-habitamos uma sociedade de informação universal, aliados ao paradigma da evolução tecnológica que se verifica e se revela como um meio

Leia mais

O gjaiku é um aplicação de desktop para uso com o serviço online de microblogging, Jaiku.

O gjaiku é um aplicação de desktop para uso com o serviço online de microblogging, Jaiku. Relatório final Denis Encarnação 25077 Tiago Rodrigues 25092 O gjaiku é um aplicação de desktop para uso com o serviço online de microblogging, Jaiku. O que é o Jaiku? O Jaiku é um serviço online de microblogging.

Leia mais

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:

Leia mais

Aspectos técnicos do desenvolvimento baseado em componentes

Aspectos técnicos do desenvolvimento baseado em componentes Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos

Leia mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas) ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947

Leia mais

ZSRest. Manual de Configuração. CheckOutPDA. V2011-Certificado

ZSRest. Manual de Configuração. CheckOutPDA. V2011-Certificado Manual de Configuração CheckOutPDA V2011-Certificado 1 1. Índice 2. Introdução... 2 3. Pré-requisitos... 3 a) Base de dados... 3 b) Firewall... 3 c) Rede sem fios... 3 d) PDA... 3 4. Instalar PDA... 4

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

Linguagem de Programação Introdução a Linguagem Java

Linguagem 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 mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

PHC dteamcontrol Externo

PHC dteamcontrol Externo PHC dteamcontrol Externo A gestão remota de projectos e de informação A solução via Internet que permite aos seus Clientes participarem nos projectos em que estão envolvidos, interagindo na optimização

Leia mais

Departamento de Sistemas e Informática. Licenciatura em Engenharia Informática Industrial EDP

Departamento de Sistemas e Informática. Licenciatura em Engenharia Informática Industrial EDP Departamento de Sistemas e Informática Licenciatura em Engenharia Informática Industrial Projecto ARC Ano Lectivo de 2006/2007 EDP Processamento das Leituras dos Contadores de Electricidade dos Consumidores

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Portal AEPQ Manual do utilizador

Portal AEPQ Manual do utilizador Pedro Gonçalves Luís Vieira Portal AEPQ Manual do utilizador Setembro 2008 Engenharia Informática - Portal AEPQ Manual do utilizador - ii - Conteúdo 1 Introdução... 1 1.1 Estrutura do manual... 3 1.2 Requisitos...

Leia mais

Enunciado de apresentação do projecto

Enunciado de apresentação do projecto Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 Enunciado de apresentação do projecto FEARSe Índice 1 Introdução... 2 2 Cenário de Enquadramento... 2 2.1 Requisitos funcionais...

Leia mais

Acronis Servidor de Licença. Manual do Utilizador

Acronis Servidor de Licença. Manual do Utilizador Acronis Servidor de Licença Manual do Utilizador ÍNDICE 1. INTRODUÇÃO... 3 1.1 Descrição geral... 3 1.2 Política de licenças... 3 2. SISTEMAS OPERATIVOS SUPORTADOS... 4 3. INSTALAR O SERVIDOR DE LICENÇA

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento 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 mais

DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION

DESENVOLVIMENTO 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 mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Relatório de Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens 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 mais

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual Engenharia de Software Sistemas Distribuídos 2º Semestre, 2007/2008 Departamento Engenharia Informática Enunciado do projecto: Loja Virtual Fevereiro de 2008 Índice Índice...2 Índice de Figuras...3 1 Introdução...4

Leia mais

Audacity. Os primeiros passos com o Audacity!

Audacity. Os primeiros passos com o Audacity! Audacity Os primeiros passos com o Audacity! João Torres joao.torres@dgidc.min-edu.pt Milena Jorge milena.jorge@dgidc.min-edu.pt Dezembro de 2009 Conteúdo 1 Sobre este documento 2 2 O que é o Audacity?

Leia mais

Android. Escolhe o dispositivo Android certo!

Android. Escolhe o dispositivo Android certo! Android O Android é a plataforma mais popular do mundo das telecomunicações. Podemos usar todos os aplicativos do Google, existem mais de 600.000 aplicativos e jogos disponíveis no Google Play para nos

Leia mais

UMA ABORDAGEM SOBRE J2ME

UMA 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 mais

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional Introdução à Linguagem JAVA Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação Laboratório de Visão Computacional Vantagens do Java Independência de plataforma; Sintaxe semelhante às linguagens

Leia mais

Roteiro. Linguagens, plataformas e ambientes de Desenvolvimento. Desenvolvimento de Aplicações para DM. Java. Linguagem C

Roteiro. Linguagens, plataformas e ambientes de Desenvolvimento. Desenvolvimento de Aplicações para DM. Java. Linguagem C Desenvolvimento de Aplicações para Dispositivos Móveis José de Ribamar Martins Bringel Filho Mestre em Ciência da Computação (UFC) bringel@cenapadne.br Roteiro Overview das Plataformas e Linguagens J2ME

Leia mais

Como dito anteriormente, a JCP especificou dois grupos para a J2ME conforme as necessidades dos dispositvos, chamadas Configurações:

Como 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 mais

ZS Rest. Manual Avançado. Instalação em Rede. v2011

ZS Rest. Manual Avançado. Instalação em Rede. v2011 Manual Avançado Instalação em Rede v2011 1 1. Índice 2. Introdução... 2 3. Hardware... 3 b) Servidor:... 3 c) Rede:... 3 d) Pontos de Venda... 4 4. SQL Server... 5 e) Configurar porta estática:... 5 5.

Leia mais

NOÇÕES ELEMENTARES DE BASES DE DADOS

NOÇÕES ELEMENTARES DE BASES DE DADOS 1 NOÇÕES ELEMENTARES DE BASES DE DADOS Este primeiro capítulo aborda conceitos elementares relacionados com bases de dados. Os conceitos abordados neste capítulo são necessários para trabalhar adequadamente

Leia mais

Programação de Computadores II TCC-00.309 Turma A-1

Programação de Computadores II TCC-00.309 Turma A-1 Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente

Leia mais

CUSTO TOTAL DE PROPRIEDADE DO PANDA MANAGED OFFICE PROTECTION. 1. Resumo Executivo

CUSTO TOTAL DE PROPRIEDADE DO PANDA MANAGED OFFICE PROTECTION. 1. Resumo Executivo 1. Resumo Executivo As empresas de todas as dimensões estão cada vez mais dependentes dos seus sistemas de TI para fazerem o seu trabalho. Consequentemente, são também mais sensíveis às vulnerabilidades

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Laboratório de Sistemas e Redes. Nota sobre a Utilização do Laboratório

Laboratório de Sistemas e Redes. Nota sobre a Utilização do Laboratório Nota sobre a Utilização do Laboratório 1. Introdução O laboratório de Sistemas e Redes foi criado com o objectivo de fornecer um complemento prático de qualidade ao ensino das cadeiras do ramo Sistemas

Leia mais

Projecto 5º Ano - Engenharia Informática. Orientadores. Prof. Doutor Sá Silva Prof. Mestre Sérgio Duarte

Projecto 5º Ano - Engenharia Informática. Orientadores. Prof. Doutor Sá Silva Prof. Mestre Sérgio Duarte Projecto 5º Ano - Engenharia Informática Orientadores Prof. Doutor Sá Silva Prof. Mestre Sérgio Duarte Sumário Etapas do projecto WhyCry Ponto de Partida Técnicas de Transmissão de vídeo Arquitectura Java

Leia mais

Tutorial J2ME Parte 3

Tutorial 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 mais

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Trabalho elaborado por: 980368 - Sérgio Gonçalves Lima 1010949 - Nisha Sudhirkumar Chaganlal Clusters O que é

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Exemplos de SD Quais podem ser? Ex. de SD: Internet Internet é um conjunto de redes de computadores, de muitos tipos diferentes,

Leia mais

O aumento da força de vendas da empresa

O aumento da força de vendas da empresa PHC dcrm O aumento da força de vendas da empresa O enfoque total na actividade do cliente, através do acesso remoto à informação comercial, aumentando assim a capacidade de resposta aos potenciais negócios

Leia mais

Instalação e Manutenção de Microcomputadores (COI)

Instalação e Manutenção de Microcomputadores (COI) Instalação e Manutenção de Microcomputadores (COI) 4. Montagem do Computador Disco rígido limpeza; Disco rígido verificação de erros (modo gráfico); Disco rígido verificação de erros (linha de comandos;

Leia mais

Faculdade de Ciências e Tecnologia da Universidade de Coimbra

Faculdade de Ciências e Tecnologia da Universidade de Coimbra Faculdade de Ciências e Tecnologia da Universidade de Coimbra Departamento de Engenharia Informática Arquitectura de Computadores 2 João Eurico Rosa Pinto jepinto@student.dei.uc.pt Filipe Duarte da Silva

Leia mais

1. Introdução ao. Crystal Reports

1. Introdução ao. Crystal Reports 1. Introdução ao Crystal Reports Como é sabido e geralmente aceite por todos nós, vivemos um período onde a complexidade dos negócios é cada vez maior, tal como o prova a intensificação da concorrência,

Leia mais

Aumente o potencial da força de vendas da empresa ao fornecer-lhe o acesso em local remoto à informação comercial necessária á à sua actividade.

Aumente o potencial da força de vendas da empresa ao fornecer-lhe o acesso em local remoto à informação comercial necessária á à sua actividade. Descritivo completo PHC dcrm Aumente o potencial da força de vendas da empresa ao fornecer-lhe o acesso em local remoto à informação comercial necessária á à sua actividade. Benefícios Acesso aos contactos

Leia mais

O Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: José Pires

O Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: José Pires O Manual do Remote Desktop Connection Brad Hards Urs Wolfer Tradução: José Pires 2 Conteúdo 1 Introdução 5 2 O protocolo do Remote Frame Buffer 6 3 Usar o Remote Desktop Connection 7 3.1 Ligar o Remote

Leia mais

PHC dcrm. Aumente o potencial da força de vendas da sua empresa ao aceder remotamente à informação comercial necessária à sua actividade

PHC dcrm. Aumente o potencial da força de vendas da sua empresa ao aceder remotamente à informação comercial necessária à sua actividade PHC dcrm DESCRITIVO O módulo PHC dcrm permite aos comerciais da sua empresa focalizar toda a actividade no cliente, aumentando a capacidade de resposta aos potenciais negócios da empresa. PHC dcrm Aumente

Leia mais

Qualidade em e-serviços multicanal

Qualidade em e-serviços multicanal Qualidade em e-serviços multicanal Em anos recentes temos assistido a um grande crescimento dos serviços prestados pela internet (e-serviços). Ao longo deste percurso, os e-serviços têm também adquirido

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Guia Rápido de Vodafone Conferencing

Guia Rápido de Vodafone Conferencing Guia de Utilizador Vodafone Guia Rápido de Vodafone Conferencing O seu pequeno manual para criar, participar e realizar reuniões de Vodafone Conferencing. Vodafone Conferencing Visão geral O que é uma

Leia mais

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng. Aula teórica 3 Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java Preparado por eng.tatiana Kovalenko Linguagens de Programação Para escrever programas é necessário

Leia mais

Programaçã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 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 mais

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres Linguagem de Programação Orientada a Objeto Introdução a Orientação a Objetos Professora Sheila Cáceres Introdução a Orientação a Objetos No mundo real, tudo é objeto!; Os objetos se relacionam entre si

Leia mais

Introdução a Computação Móvel

Introdução a Computação Móvel Introdução a Computação Móvel Computação Móvel Prof. Me. Adauto Mendes adauto.inatel@gmail.com Histórico Em 1947 alguns engenheiros resolveram mudar o rumo da história da telefonia. Pensando em uma maneira

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Universidade de Trás-os-Montes e Alto Douro Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Agenda A UTAD Virtualização Uma definição Introdução e abrangência

Leia mais

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Java 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 mais

VM Card. Referência das Definições Web das Funções Avançadas. Manuais do Utilizador

VM Card. Referência das Definições Web das Funções Avançadas. Manuais do Utilizador VM Card Manuais do Utilizador Referência das Definições Web das Funções Avançadas 1 Introdução 2 Ecrãs 3 Definição de Arranque 4 Informações de Função Avançada 5 Instalar 6 Desinstalar 7 Ferramentas do

Leia mais

gettyimages.pt Guia do site área de Film

gettyimages.pt Guia do site área de Film gettyimages.pt Guia do site área de Film Bem-vindo à área de Film do novo site gettyimages.pt. Decidimos compilar este guia, para o ajudar a tirar o máximo partido da área de Film, agora diferente e melhorada.

Leia mais

Vantagem Garantida PHC

Vantagem Garantida PHC Vantagem Garantida PHC O Vantagem Garantida PHC é um aliado para tirar maior partido das aplicações PHC A solução que permite à empresa rentabilizar o seu investimento, obtendo software actualizado, formação

Leia mais

INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES

INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES 2010/2011 1 Equipamentos informáticos Hardware e Software Hardware refere-se aos dispositivos físicos (electrónicos, mecânicos e electromecânicos) que constituem

Leia mais

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 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 mais

Hardware & Software. SOS Digital: Tópico 2

Hardware & Software. SOS Digital: Tópico 2 Hardware & Software SOS Digital: Tópico 2 Os objetos digitais são acessíveis somente através de combinações específicas de componentes de hardware a parte física do computador software programas para operar

Leia mais

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Luís Filipe Borges Pinto Resumo: Este projecto consiste na implementação de uma aplicação WEB para monitorização

Leia mais

A solução para consultar e introduzir documentos, imagens e outros ficheiros a partir de um local com acesso à Internet.

A solução para consultar e introduzir documentos, imagens e outros ficheiros a partir de um local com acesso à Internet. dcontroldoc Interno e Externo Descritivo completo A solução para consultar e introduzir documentos, imagens e outros ficheiros a partir de um local com acesso à Internet. Benefícios Facilidade em pesquisar

Leia mais

Nero ImageDrive Manual

Nero ImageDrive Manual Nero ImageDrive Manual Nero AG Informações sobre direitos de autor e marcas O manual do Nero ImageDrive e todo o respectivo conteúdo estão protegidos por direitos de autor e são propriedade da Nero AG.

Leia mais

Projecto de Modelação, Engenharia de Software e Sistemas Distribuídos 2008-09. Requisitos para a 3ª entrega do projecto.

Projecto de Modelação, Engenharia de Software e Sistemas Distribuídos 2008-09. Requisitos para a 3ª entrega do projecto. Departamento de Engenharia Informática Modelação, Engenharia de Software, Sistemas Distribuídos Requisitos para a 3ª entrega do projecto Test O Matic 10 de Maio de 2009 1 Índice 1 Índice... 1 2 Sumário...

Leia mais

Universidade da Beira Interior

Universidade 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 mais

T&E Tendências & Estratégia

T&E Tendências & Estratégia FUTURE TRENDS T&E Tendências & Estratégia Newsletter número 1 Março 2003 TEMA deste número: Desenvolvimento e Gestão de Competências EDITORIAL A newsletter Tendências & Estratégia pretende ser um veículo

Leia mais

Linguagem de Programação JAVA

Linguagem de Programação JAVA Linguagem de Programação JAVA Curso Técnico em Informática Modalida Integrado Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora: Michelle Nery Agenda JAVA Histórico Aplicações Pós e Contras

Leia mais