Jayme Frederico Junior. Comunicação Entre Dispositivos Móveis e Servidores Utilizando Tecnologia WAP - WML e WMLScript

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

Download "Jayme Frederico Junior. Comunicação Entre Dispositivos Móveis e Servidores Utilizando Tecnologia WAP - WML e WMLScript"

Transcrição

1 Jayme Frederico Junior Comunicação Entre Dispositivos Móveis e Servidores Utilizando Tecnologia WAP - WML e WMLScript UEM Maringá / PR 2005

2 Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Comunicação entre dispositivos móveis e servidores utilizando tecnologia WAP - WML e WMLScript Jayme Frederico Júnior. Monografia apresentada ao curso de Especialização em Desenvolvimento de Sistemas para Web do Departamento de Informática, Centro de Tecnologia da Universidade Estadual de Maringá. Orientador: Prof. Dr. Antonio Mendes da Silva Filho. Co-Orientador; Prof MSc Ademir Carniel 2

3 Resumo O trabalho realiza um estudo sobre a Comunicação entre dispositivos móveis e Servidores da Web, assim como as ferramentas voltadas para o desenvolvimento de aplicações para equipamentos portáteis e Internet. O foco principal está na utilização da linguagem WML que é uma derivação da XML direcionada a dispositivos móveis. As ferramentas e softwares utilizados são: simuladores de dispositivos móveis, protocolo WAP, WML e WMLScript, PHP, MySQL, Apache. Além de apresentar um estudo das tecnologias envolvidas no desenvolvimento de aplicações Wireless, outro objetivo deste trabalho é demonstrar através de um estudo de caso uma aplicação denominada Enquete On Line, em que o usuário possa expressar sua opinião através do celular, recebendo uma resposta do sistema. Um banco de dados é utilizado para armazenar as informações da pesquisa de opinião. 3

4 Agradecimentos Agradeço a minha esposa, Lia e minha filha Mayara, pelo carinho e compreensão, pelos longos períodos de ausência. Agradeço também ao prof MSc. Ademir Carniel que sempre esteve disposto a ajudar demonstrando enorme dedicação e empenho e principalmente.pelos incentivos para conclusão desta monografia. Também não poderia terminar esse parágrafo, sem antes citar meu agradecimento ao meu orientador e amigo, prof. Dr. Antonio Mendes Silva Filho pelo apoio, incentivo e pela oportunidade que me foi dada. 4

5 Índice ÍNDICE... 5 LISTA DE FIGURAS LISTA DE ABREVIATURAS INTRODUÇÃO Contextualização Justificativa Objetivo Geral Objetivo específico Organização do texto FUNDAMENTAÇÃO TEÓRICA Definição e conceito de Dispositivos Móveis Tipos de Dispositivos Características Funcionalidade do Dispositivo Móvel Vantagens dos Dispositivos Móveis Inovações Tecnologias e novas aplicações Wireless O que é wireless? Principais benefícios das redes sem fio: Aplicações Opções de Plataforma sem Fio

6 Opções de Hardware WAP Definição e Conceito de WAP O protocolo WAP Principais características do protocolo WAP Aplicações do Protocolo WAP Limitações O Modelo O Modelo WAP Principais funções do proxy WAP: Arquitetura - A Pilha de Protocolos Tipos de redes telefônicas WAP Exemplos de portadores Linguagens de Marcação SGML HTML Conceitos Básicos XML - Linguagem de Marcação Extensível Comparações entre HTML e XML Características da linguagem XML Separação entre dados e apresentação Principais benefícios da linguagem XML Tipos de aplicações Exemplo em XML WML Demonstrando o WML Elementos WML Regras básicas de formatação: Programando em WML Aplicações com WML: Variáveis Criando um Deck WML

7 Imagens ícones Imagens wbmp Acentuação na WML Linguagem de programação PHP O que é PHP? Instalação e configuração em ambiente windows O que pode ser feito com PHP? Sintaxe Básica Separador de instruções Nomes de variáveis Comentários Criando scripts Enviando Dados para o Servidor http Utilizando formulários HTML Outras facilidades do PHP ASP O que é ASP? Vantagens do ASP Servidor Banco de Dados VBScript e ASP Linguagem de Script Java Script O que é JavaScript? Diferença entre JavaScript e Java Executando o JavaScript Suporte a JavaScript Detectar a versão do Browser Outras aplicações para o Java Script

8 WMLScript O que é o WMLScritp: O que pode ser feito com WMLScript: Principais características da linguagem WMLScript: Exemplo de programa escrito em WMLScript: Banco de Dados MySQL O que é MySQL? Como funciona o MySQL? Perguntando (querys): O uso do MySQL com linguagens de programação Acessando o MySQL via PHP Selecionando a base de dados Realizando consultas Apagando o resultado Número de linhas Utilizando os resultados Alterando o ponteiro de um resultado Servidores WEB Personal Web Server - PWS O que é PWS Suporte do Servidor PWS Requisitos para instalação Tomcat O Software Tomcat Linguagens: Java, HTML e XML Servlets e Java Server Pages O servidor Tomcat Ponto de vista técnico Ponto de vista operacional

9 Apache/PHP em Windows Demonstrando o Apache Hardware necessário Características técnicas METODOLOGIA ( MATERIAIS E MÉTODOS ) Métodos Materiais Software Equipamentos TECNOLOGIAS ENVOLVIDAS NO ESTUDO DE CASO Wireless Linguagem para web Servidor WEB Banco de dados DESENVOLVIMENTO DO ESTUDO DE CASO ENQUETE ON LINE Descrição do Sistema Visão Geral do Sistema Diagrama de Use Case Diagrama de Classes Dicionário de Dados Fluxo de Chamada das Telas

10 5.7. Layout das Telas WEB WAP Relação de Programas Relação de Arquivos RESULTADOS OBTIDOS Simuladores Teste de Micronavegadores WEB Browser Servidores Apache PWS Tomcat Linguagem de Programação PHP ASP WML/ WMLScript JavaScript Banco de Dados MySQL CONCLUSÃO TRABALHOS FUTUROS Validação do usuário

11 8.2. Segurança Relatórios REFERÊNCIAS BIBLIOGRÁFICAS Bibliografias Bibliografias Auxiliares APÊNDICE I INSTALAÇÃO PWS / TOMCAT / APACHE PWS Instalando o PWS Configurando o PWS Tomcat Instalando o Tomcat Instalação do servidor de JSP no IIS Para iniciar o Tomcat: Apache Obtendo o Apache Instalando o Apache Iniciando/parando o Apache (com Win95/98/ME/XP) Testando a instalação do Apache APÊNDICE II SCRIPT DO BANCO DE DADOS ENQUETE Banco de Dados enquet APÊNDICE III CÓDIGO FONTE ENQUETE ON LINE Arquivo Index.Wml Arquivo index2.php

12 12.3. Arquivo Cria.php Arquivo Enquete.php Arquivo Enquetes.php Arquivo Vota.php Arquivo Salva_Voto.php Arquivo Resultado.php

13 Lista de Figuras FIGURA 1 TIPOS DE PERSONAL DIGITAL ASSISTANT (PDA) FIGURA 2 TIPOS CELULARES FIGURA 3 TIPOS DE DISPOSITIVOS MÓVEIS VOLTADOS PARA EMPRESAS FIGURA 4 SITE DA GOOGLE PARA DISPOSITIVOS MÓVEIS FIGURA 5 TECLAS DE PLAY, PAUSE E TROCA DE FAIXA FIGURA 6 REDE WIRELESS FIGURA 7 MODELO WAP E MODELO 44 FIGURA 8 MODELO WAP FIGURA 9 EXEMPLO DE UMA REDE WAP FIGURA 10 CAMADAS DO PROTOCOLO WAP FIGURA 11 EXEMPLO DE UM DECK FIGURA 12 EXEMPLO DOCUMENTO WML FIGURA 13 CARTÃO LOGIN FIGURA 14 CARTÃO SENHA FIGURA 15 CARTÃO RESULTADO FIGURA 16 CARTÃOEXEMPLO IMAGEM FIGURA 17CARTÃO IMAGEM LOGO DIN FIGURA 18 RESULTADO DA EXECUÇÃO DA FUNÇÃO PHPINFO() FIGURA 19 SCRIPT PHP FIGURA 20 APRESENTAÇÃO DO EXEMPLO SCRIPT FIGURA 21 SUBMIT FIGURA 22 ENVIA TEXTO FIGURA 23 RETORNA FIGURA 24 VERSÃO DO BROWSER EM JAVASCRIPT FIGURA 25 CRIA UMA JANELA JAVASCRIPT FIGURA 26 VISÃO DA JANELA JAVASCRIPT FIGURA 27 VISÃO GERAL DO SISTEMA FIGURA 28 USE CASE VISÃO DO ADMINISTRADOR FIGURA 29 USE CASE VISÃO DOS USUÁRIOS WEB

14 FIGURA 30 USE CASE VISÃO DOS USUÁRIOS WAP FIGURA 31 DIAGRAMA DE CLASSES FIGURA 32 FLUXO DE CHAMADA DAS TELAS FIGURA 33 PÁGINA PRINCIPAL FIGURA 34 CRIAÇÃO DA ENQUETE FIGURA 35 VOTAÇÃO FIGURA 36 RESULTADO FIGURA 37 PÁGINA DE APRESENTAÇÃO FIGURA 38 SELECIONA ENQUETE FIGURA 39 SOLICITAÇÃO DE CONFIRMAÇÃO FIGURA 40 RESPOSTA E FINALIZAÇÃO FIGURA 41 ARQUITETURA DO SISTEMA SGBD FIGURA 42 OPENWAVE SDK FIGURA 43 NOKIA MOBILE BROWSER FIGURA 44 NOKIA 5100 SDK V FIGURA 45 NOKIA FIGURA 46 WINWAP SMARTPHONE FIGURA 47 NOKIA FIGURA 48 NOKIA WAP GATEWAY SIMULATOR V FIGURA 49 NOKIA MOBILE INTERNET TOOLKIT V 4.0 MAY/ FIGURA 50 NAVEGADOR OPERA VER FIGURA 51 INSTALAÇÃO SERVIDOR APACHE FIGURA 52 INSTALAÇÃO DO PWS FIGURA 53 INSTALAÇÃO DO PHP FIGURA 54 VERIFICAÇÃO DO MYSQL FIGURA 55 INSTALAÇÃO DO MYSQL FIGURA 56 BEM VINDO A INSTALAÇÃO DO APACHE FIGURA 57 INFORMAÇÕES DO SERVIDOR FIGURA 58 APACHE EM EXECUÇÃO FIGURA 59 TESTE DE INSTALAÇÃO DO APACHE

15 Lista de Abreviaturas API BMP - CDMA CDPD CGI CHTML CSD CSS DOM DSSS DTD ECMA EDGE EDI FDMA GML GPRS GSM HDML HTML HTTP ICMP IETF - ISO ITTP MAC MDI MIT Application Programming Interface Bitmap Code Division Multiple Access Cellular Digital Packet Data Common Gateway Interface Compact HyperText Markup Language Circuit Switched Cellular Data Cascade StyleSheets Document Object Model Direct Sequence Spread Spectrum Data Type Definitions European Computer Manufacturers Association Enhanced Data Rates for Global Evolution Eletronic Data Interchange Frequency Division Multiple Access General Markup Language General Packet Radio Services Global System for Mobile Communication Handheld Device Markup Language HyperText Markup Language HyperText Transfer Protocol Internet Control Message Protocol Internet Engineering Task Force International Standard Organization Intelligent Terminal Transfer Protocol Message Authentication Code Mobile Data Initiative Massachusetts Institute of Technology 15

16 ML Markup Language MMI Man-Machine Interface NTP Network Time Protocol PDA Personal Digital Assistant PDU Protocol Data Unit SDK Software Development Kit SGML Standardized Generalized Markup Language SMS Smart Messaging Service SSL Secure Socket Layer TCP Transmission Control Protocol TDMA Time Division Multiple Access TLS Transport Layer Security TTML Tagged Text Markup Language UI User Interface URI Universal Resource Identifier URL Universal Resource Locator W3 Consortium Consortium - World Wide Web WAE Wireless Application Environment WAP l Wireless Application Protoco WBMP Wireless Bitmap W-CDMA Wireless Code Division Multiple Access WCMP Wireless Control Message Protocol WDP Wireless Datagram Protocol WEB Simplificação do termo WWW WML Wireless Markup Language WSP Wireless Session Protocol WTA Wireless Telephony Applications WTAI Wireless Telephony Application Interface WTLS Wireless Transport Layer Security WTML Web Test Markup Language WTP Wireless Transaction Protocol 16

17 WWW XHTML - XML XSL XSLT World Wide Web extensible HyperText Markup Language Extensible Markup Language XML Style Language XML Style Language Transformation 17

18 1. Introdução Givanildo Francisco da Silva Junior A humanidade sempre buscou a rapidez na troca de informações, desde as eras mais remotas. Com o advento do radio e com a primeira mensagem enviada em 1896, por Guillermo Marconi, segundo Taurion (2002), a comunicação nunca mais precisou de um meio físico para transportá-la. Com isso a comunicação pelo rádio revolucionou a humanidade, pois agora, podemos nos comunicar enviando mensagens de um lugar a outro sem a necessidade de nos deslocarmos. Com o surgimento da telefonia móvel por Martin Cooper, inventor do celular e da Internet, ainda segundo Taurion (2002), surge uma nova revolução. A telefonia móvel tornou-se extremamente acessível e, conseqüentemente, popular e de fácil operação, estabelecendo uma comunicação dinâmica e eficaz de grande utilidade estendendo-se a todas as camadas sociais. Entretanto, podemos dizer que ainda estamos diante de uma transformação gigantesca por acontecer, na qual o computador tornar-se-á ainda mais virtualizado. É nesse sentido que as pesquisas de novas tecnologias têm se desenvolvido, trabalhando para atingir objetivos diferentes de formas diferentes em hardware, software, protocolos de comunicação, sistemas operacionais, redes, redes sem fio e assim por diante. Nessa explosão de tecnologias, a comunicação sem fio tem se destacado e o celular é o dispositivo móvel mais utilizado para conexão com a Internet e comunicação entre as pessoas, sendo sem dúvida, a mobilidade fator de fundamental importância, e sua conveniência é o atrativo principal. Essas facilidades nos permitem fazer compras pela Web em lojas virtuais sem precisarmos nos deslocar até um ponto fixo onde tenha um micro computador, gerando economia de tempo e maior conforto. Segundo Lapa (2004) atualmente, existem mais usuários de celulares e equipamentos móveis do que usuários de PCs. A proliferação de dispositivos móvel tende a continuar e aliado a essa demanda a evolução da tecnologia da comunicação também está cada vez mais 18

19 potente em termos de capacidade de transmissão, permitindo tráfego de imagens e vídeos de alta resolução, e dados. Segundo Dias (2003), com usuários cada vez mais dependentes dos serviços oferecidos via Internet onde milhões ficam muitas vezes distantes, presos ao trânsito ou em lugares onde não há um cabo para a conexão, a troca de informações torna-se um empecilho e para sanar este problema surge, então, a computação móvel objetivando permitir que usuários tenham acesso à rede, independente de sua localização física. Segundo Silva Junior (2004), quando se utiliza um aparelho móvel, normalmente, o ambiente onde nos encontramos é diferente de um computador de mesa. Geralmente, estamos na rua, no carro, na reunião, no metrô, elevador, com atenção compartilhada entre aparelho e outras atividades. Portanto, as aplicações feitas para o mundo wireless precisam considerar tais diferenças. A interface, a interação, os movimentos de mão, a atenção do usuário, tudo é diferente. Dessa forma, não basta colocar HTML ou algo similar e imaginar que todos os problemas estão resolvidos. Precisamos criar aplicações adequadas a essas necessidades. Considerando as tecnologias existentes para o desenvolvimento de aplicações para dispositivos móveis, o crescente avanço das tecnologias das ferramentas de desenvolvimento de software e a demanda no mercado wireless em nível mundial, torna-se importante identificar as tecnologias necessárias ao desenvolvimento de aplicações do tipo wireless, bem como avaliar a adequabilidade de seu uso em diversos contextos. 19

20 1.1. Contextualização Atualmente a mobilidade segundo Next Generation (2005) é uma presença constante no cotidiano das sociedades modernas, tanto em casa, como no trabalho: hoje, mais do que nunca, a informação está em trânsito. O conceito de mobilidade está hoje muito além dos serviços e aplicações oferecidas por operadores móveis celulares. Assimilar essa mudança e transformá-la em oportunidade é um diferencial que garante espaço para profissionais e empresas conectadas a esse conceito. A mobilidade apresenta-se hoje como uma das características intrínsecas e mais marcantes no desenvolvimento das sociedades modernas, e por isso, é cada vez mais um componente importante nos processos de negócios e nos modelos e estilos de vida. Considerando essa premissa e diante de tal realidade, apresentamos nessa monografia um estudo das tecnologias envolvidas no desenvolvimento de aplicações móveis, onde foram pesquisados vários ambientes, sendo concluído como uma aplicação de Estudo de Caso denominado Enquete on line. Nesse trabalho foram utilizados ambientes como, WML e WMLScript, Servidor Apache, PHP, e Banco de Dados MySQL. A aplicação Enquete On Line pode ser utilizada com vários temas diferentes, porém somente uma por vez pode estar ativo. Exemplo: Qual a sua opinião quanto ao aborto? Quem vai ganhar a copa de 2006? Em quem você votaria para Presidente?, etc. Esse estudo de caso, baseado em pesquisa de opinião publica e denominado Enquete On Line está estruturada da seguinte forma: 20

21 Um ambiente WEB onde o administrador do sistema pode gerar uma enquete e disponibilizá-la para os usuários responde-las Um ambiente Móvel (celular) onde o usuário pode se conectar a WEB e receberá uma pesquisa de opinião, devendo fazer sua seleção. Apos a seleção o usuário recebe a informação do percentual recebido pela sua opção até o momento. Um ambiente WEB onde o administrador e usuários poderão consultar o andamento da pesquisa, analisando a sua evolução. A quantidade de votos recebidos por cada opção e total geral, percentualmente e graficamente. Um banco de dados onde ficará registrada todas as enquetes realizadas facilitando assim a emissão de relatórios. Outras aplicações poderiam ser desenvolvidas a partir deste mesmo ambiente de desenvolvimento e produção. Aplicações na área da saúde, ensinoaprendizagem, etc Justificativa Com o direcionamento voltado à informação cientifica, pretende-se apresentar o trabalho realizado e implementar um estudo de caso, com o objetivo de esclarecimento do tema, Comunicação entre dispositivos móveis e servidores utilizando tecnologia WML/WAP, cujo foco é demonstrar conceitos das tecnologias envolvidas para o desenvolvimento de aplicações voltadas a dispositivos móveis. Diante da necessidade de atender requisitos do curso de Especialização em Desenvolvimento de Sistemas para WEB, oferecido pelo Departamento de 21

22 Informática da Universidade Estadual de Maringá, e por considerar fundamental entender as soluções tecnológicas que o mundo competitivo em que vivemos apresenta e almejando uma noção do mercado e da importância destas tecnologias para saber aplicá-las corretamente nas mais diversas atividades, esse estudo torna-se justificável Objetivo Geral O objetivo principal deste trabalho é mostrar um estudo das linguagens WML, WMLScript e PHP juntamente com servidor WEB e o Banco de Dados MySql, abordando seus conceitos, fundamentos, aplicações e tecnologias para o desenvolvimento de uma aplicação utilizando dispositivos moveis, em particular, no uso de celulares. Além disso, também pretendo mostrar as facilidades e dificuldades no desenvolvimento de aplicações para dispositivos móveis, e para tanto, será implementando um estudo de caso utilizando as tecnologias estudadas, onde então, poderemos avaliar desempenho, praticidade, produtividade na criação de soluções para dispositivos móveis Objetivo específico. Estudar detalhadamente tecnologias que possam ser empregadas no desenvolvimento de aplicações wireless, investigando quão apropriadas elas são em situações diversas. Tecnologias como Wap em conjunto com a linguagem WML, WMLScript e um servidor WEB dando suporte à linguagem PHP associada à utilização de banco de dados MySQL. Para complementarmos a teoria, 22

23 continuaremos com um estudo de caso desenvolvendo um aplicativo onde os usuários de dispositivos móveis poderão fazer uma votação selecionando diferentes opções através de conexão wireless via, celular / Web enviando dados ao DataBase, e recebendo dados WEB / celular. Para facilitar a avaliação desse processo, concluiremos com uma interface web on line para monitoração do Banco de Dados.MySQL disponível no servidor. Para o cumprimento dessa meta, e desenvolvimento deste trabalho apresentamos a seqüência abaixo. Apresentar um estudo dos tipos de dispositivos móveis. Apresentar um estudo dos protocolos usados pelos dispositivos Apresentar um estudo da tecnologia empregada para comunicação wireless: Tecnologia GSM Apresentar um estudo das linguagens utilizadas em dispositivos móveis: linguagem WML e WMLScript. Apresentar um estudo da tecnologia utilizada para conexão wireless/web e web / wireless, como o protocolo WAP Apresentar um estudo do tipo do servidor web: servidor Personal Web Server, servidor Tomcat e Servidor Apache Apresentar um estudo do banco de dados : Mysql Apresentar um estudo da linguagem web: HTML e XML SGML Apresentar um estudo da linguagem Scritp: JavaScript Apresentar um estudo da linguagem web com interação ao banco de dados: PHP e ASP Construção e implementação de um banco de dados. Essa base de dados servirá como repositório para as pesquisas de opinião e análise dos dados. Construção e implementação de sistema web para monitoração on line. Essa aplicação ilustra como será possível monitorar uma pesquisa de 23

24 opinião em tempo real, bem como definir as opções para seleção dos itens para os usuários opinarem. Construção e implementação de sistema de pesquisa para dispositivos móveis. aplicação que será chamada de Enquete on-line, onde o usuário deverá interagir pela Internet com a base de dados MySQL através dos dispositivos móveis que já oferecem suporte à Internet Organização do texto Além do capitulo introdutório onde também foi colocado o objetivo desta monografia, o trabalho está composto por 7 capítulos distribuídos da seguinte forma: O capitulo 2 descreve a fundamentação teórica necessária, dividido em 9 sub-itens: O item 3 descreve sobre Metodologia, Materiais e Metodos explicando como foi feito a monografia e o que foi utlizado. O item 4 descreve sobre Tecnologia Envolvidas no Estudo de Caso. O item 5 descreve sobre Desenvolvimento do Estudo de Caso. O item 6 descreve sobre Resultados Obtidos. O item 7 descreve sobre Conclusão. O item 8 descreve sobre Trabalhos Futuros. O item 9 relaciona as Referencias bibliográfica e bibliograifa consultada. O item 10 descreve sobre Instalações dos Servidores Web O item 11 descreve sobre Script do Banco de Dados. O item 12 relaciona o Código fonte do Estudo de Caso Enquete. 24

25 2. Fundamentação Teórica 2.1. Definição e conceito de Dispositivos Móveis Novas formas de comunicações estão sendo proporcionadas por redes móveis de dados, usando dispositivos móveis, que nos oferecem vantagens como associação, mobilidade/portabilidade. Mobilidade é o termo utilizado para identificar dispositivos que podem ser operados a distancia ou sem fio. Dispositivos que podem ser desde um simples bip até os mais modernos Pockets. Portabilidade descreve a facilidade de instalações, atualizações e compatibilidade com outros sistemas Tipos de Dispositivos O Smartphone, conhecido como Stinger, baseados no sistema operacional Microsoft Windows Powered Smartphone Personal Digital Assistant (PDA) - um computador manual composto de uma caneta, com recursos internos e organizacionais de comunicações. Palmtop: termo original para PDA's sem teclado físico embutido. Handheld: termo original para PDA's com teclado físico embutido. WinCE ou PocketPC: designam tanto os dispositivos que rodam os SO's de mesmo nome, como são os nomes de SO's de propriedade da Microsoft. Na Figura 1 e na Figura 2, temos exemplos de PDAs e celulares. Figura 1 Tipos de Personal Digital Assistant (PDA) 25

26 Figura 2 Tipos Celulares Segundo Moon (2000), no caso específico do dispositivo celular, eles demonstram uma nova forma de comunicação de dados, pois embora ainda sejam usados principalmente para a transmissão de voz, as empresas de celulares desenvolveram recursos para utilizar a rede existente para transmitir também dados. Os celulares estão tornando-se apêndices do computador, possuindo a vantagem do tamanho reduzido e dando versatilidade e velocidade à coleta dos dados Características Conforme Samy Silva (2004) os dispositivos sem fios e portáteis, por suas características compactas, utilizam-se de um micro browser para navegar pelos conteúdos Web. As necessidades de hardware, CPU e memórias para esses micro browser são reduzidas ao mínimo. Também a linguagem de marcação dos documentos a serem apresentados nos displays dos aparelhos, segue normas rígidas e estritas. E ainda temos a limitação de banda. Tudo isso iremos discutir no decorrer deste trabalho. 26

27 Funcionalidade do Dispositivo Móvel Segundo Forta (2001) embora os dispositivos atuais possuem telas gráficas e maiores, a maioria dos dispositivos apresentam interfaces limitadas com onze linhas de texto vertical com dezesseis caracteres na horizontal sendo que a maioria ainda apresenta apenas quatro ou cinco linhas de texto na vertical, contudo ainda o teclado é bastante inadequado para utilização, na maioria das vezes é necessário digitar três vezes para obter a letra desejada. Quanto à navegação a maioria possui de dois a quatro botões de navegação, dois para rolagem da tela, um para select e apenas um para interação com o menu. A entrada limitada de dados é um motivo que deve ser ponderado no desenvolvimento das aplicações. Em geral todos os dispositivos possuem recursos e limitações as quais devemos saber lidar Vantagens dos Dispositivos Móveis Para aqueles que consomem grande parte do seu tempo trabalhando remotamente, estes equipamentos são versáteis, dedicados, multifuncionais e de uso genérico. Do ponto de vista empresarial, eles são ótimos geradores de informações, podendo ser utilizados desde a automação de processos até a coleta de informações estratégicas. Alguns exemplos são mostrados na Figura 3 abaixo. 27

28 Figura 3 Tipos de Dispositivos móveis voltados para empresas Segundo Pekus (2002), estes aparelhos também representam vantagens em relação a outros computadores, como: dimensões: além de mais leves e simples de manusear, podem ser transportados em qualquer espaço; consumo de energia: por serem dispositivos mais compactos e econômicos, o consumo de energia e tempo de recarga são menores e a autonomia em campo é maior; ganho de tempo e eficiência: o tempo de carga de aplicações embutidas nestes dispositivos é inferior quando comparado a outros equipamentos; custos operacionais e expansão programada: por serem mais compactos e voltados para atividades específicas, estes dispositivos não contam com vários circuitos e periféricos internos, como por exemplo disco rígido e discos flexíveis, diminuindo de forma evidente o custo com manutenção ou programas desnecessários. 28

29 Inovações Tecnologias e novas aplicações Segundo IT web (2005) a Google anunciou um serviço teste onde é possível encontrar estabelecimentos via celulares e outros aplicativos sem fio. O usuário pode procurar por restaurantes, lojas e outros estabelecimentos via celulares que navegam na web e outros aplicativos móveis. O serviço estará disponível nos EUA e Canadá no endereço ou na página principal de buscas. O Google Local para aparelhos móveis vai possibilitar que os usuários vejam 10 resultados de busca, com endereços, telefones e indicações de como chegar ao local de carro. Até o momento, o serviço não apresenta anúncios, conforme Figura 4 abaixo. Figura 4 Site da Google para dispositivos móveis. O Yahoo, que briga diretamente com o Google pelo mercado de buscas, lançou um serviço desse tipo em outubro de 2004, porem é necessário se cadastrar. 29

30 Segundo a Texas Instruments (2003), maior fabricante de processadores para telefones celulares, disponibilizou seus projetos aos fabricantes de dispositivos portáteis, com tecnologia necessária parar integrar GSM/GPRS, e Bluetooth. O GSM, ou Global System for Mobile Communications, é a tecnologia de telefonia celular mais usada no mundo. O GPRS, ou General Packet Rádio Service, é sua versão avançada que permite aos usuários acessarem a Internet em velocidades equivalentes ao de um modem convencional doméstico. A tecnologia , também conhecida como Wi-Fi, usa ondas de rádio para transmitir dados a velocidades elevadas em áreas limitadas a um raio de 100 metros do ponto de origem. O Bluetooth é uma tecnologia de transmissão de dados à curta distância que pode ser usada para substituir fios e cabos como os usados para conectar impressoras em computadores Para exemplificar, isso permite uma chamada telefônica em um telefone sem fio e acesso à Internet por meio de uma conexão em banda larga sem uso de cabos, tudo no mesmo aparelho. Conforme Rigonatti ( 2004 ), novidades não param de chegar ao mercado, cada vez mais tecnologias avançadas são embutidas nos dispositivos móveis. Uma das últimas novidades promete ser um aparelho conhecido até agora como SDA Musica Handset a ser lançado em breve no mercado nacional pela empresa T-Mobile. O Aparelho celular, traz como novidade o foco no entretenimento multimídia. Com sistema Windows Móbile para SmartPhones, acompanha 64 MB de Memória ROM e 32 MB RAM. A novidade do aparelho fica para os botões multimídia entre a tela e o teclado, conforme Figura 5 abaixo. 30

31 Figura 5 Teclas de Play, Pause e troca de Faixa. O aparelho conta com MP3 player que também suporta os formatos, WMA, WAV, AMR-NB, MID, pesa 100g, tem dimensões super reduzidas e autonomia para 240 minutos de conversação ou 200 horas em Standy by. 31

32 2.2. Wireless Neste capitulo será apresentado o que é um dispositivo Wireless (sem fio), como funciona, seus benefícios, e aplicações O que é wireless? Conforme Zanetti (2004) e Rischpater (2000) Wireless é uma tecnologia que permite a conexão entre diferentes equipamentos sem a necessidade de nenhum tipo de conexão física, ou seja, sem a necessidade do uso de cabos, através da instalação de uma antena receptora e transmissora Muitas das redes sem fio comerciais são baseadas em redes celulares existentes, que dividem uma região geográfica em células. Este caminho da rede sem fio para a Internet com fio envolve saltos da estação rádio base de uma célula, por meio de um ou mais centros de comutação, para um gateway e, finalmente, para um destino na Internet. A Figura 6 mostra um exemplo de uma simples rede wireless LAN. Figura 6 Rede Wireless 32

33 Principais benefícios das redes sem fio: Mobilidade; Instalação rápida e simples; Flexibilidade; Custo reduzido; Escalabilidade; Aplicações O poder e a flexibilidade das redes sem fio, permitem uma série de aplicações práticas como: doutores e enfermeiras com notebooks obtendo instantaneamente informações sobre pacientes; estudantes, durante a aula, acessando a Internet para consultar o catálogo da Biblioteca; gerentes de rede em ambientes dinâmicos, podendo realizar mudanças e extensões com menores preocupações; gerentes de rede instalando redes locais sem fio em prédios velhos por preços muito mais acessíveis; redes locais sem fio ligando as estações de trabalho nos andares de uma fábrica e auxiliando na coleta de dados de máquinas; através de dispositivos móveis, em qualquer lugar a qualquer hora, pode-se consultar qualquer tipo de notícia, verificar condições de tempo e trânsito,verificar s, pagar hospedagens e outras compras. 33

34 Opções de Plataforma sem Fio Existem três plataformas que podem ser utilizadas para o desenvolvimento de aplicativos para redes sem fio. WEB - World Wide Web: Rede mundial baseada em padrões de dados abertos que alimentou uma explosão de intercâmbio de informações. WAP - Wireless Application Protocol: Baseia-se no modelo adotado pela WEB e será o objeto de estudo desta monografia. HDML - Handheld Device Markup Language: Precedendo o WAP, contribuiu para a criação do WML e é atualmente mantida pela Phone.com como um padrão aberto separado, competindo com o padrão WAP Opções de Hardware Os principais terminais sem fio com acesso à WEB, são agrupados em 4 categorias onde o tamanho e a faixa de preço determinam quais são os recursos que cada dispositivo pode oferecer. Supertelefones: Oferecem uma plataforma de computação baseada em Personal Digital Assistant(PDA) combinada com hardware de telefone celular. Telefones Inteligentes: São extensões do conceito de produto de telefone celular existente, combinando as melhores características do telefone digital com a capacidade de obter dados da Internet usando WAP ou HDML. 34

35 PDAs: Tabletes eletrônicos do tamanho da palma da mão que aceitam módulos encaixáveis ou cartões de PC que permitem aos dispositivos acessar serviços sem fio de redes digitais. Laptops: Embora comparáveis aos seus correspondentes de mesa, são limitados principalmente pela rede sem fio e normalmente são operados quando o usuário está parado. 35

36 2.3. WAP Neste capitulo será apresentado o que é o protocolo WAP, principais características, aplicações, limitações e uma comparação do modelo WAP com o modelo WWW Definição e Conceito de WAP Segundo Oliveira (2000), o WAP é uma especificação aberta e global, que visa permitir que usuários de dispositivos móveis, sem fio, acessem facilmente informações e serviços de forma instantânea. A comunicação pode ser feita através de ondas de rádio via satélite ou antenas. Embora possa ser utilizado em palmtops, handhelds e notebooks equipados com modem sem fio, o telefone celular é o dispositivo móvel mais usado, com larga vantagem, para acessar a Internet através de WAP. O WAP adotou as melhores características de infra-estrutura WEB e aperfeiçoou sua operação permitindo a clientes e servidores intercambiar a maioria dos dados usando a mínima quantidade de largura de banda. Por ter sido criado especificamente para ser utilizado em dispositivos sem fio tornou-se mais eficiente que os protocolos tradicionais para este tipo de aplicação O protocolo WAP Ainda segundo Oliveira (2000), e, também citando Denega (2000) o protocolo WAP é basicamente uma pilha de protocolos de comunicação que tem como meta unir um servidor de aplicação a um dispositivo sem fio. Este conjunto de protocolos especifica dois elementos essenciais para a comunicação sem fio: um protocolo de comunicação fim-a-fim e um ambiente de aplicação baseado em visualizadores (browser). Quando o browser WAP é usado para solicitar uma informação, ocorrem os seguintes passos: 36

37 O pedido da Universal Resource Locator (URL) é enviado através da rede wireless para o gateway WAP, usando os protocolos WAP; O gateway WAP decodifica a solicitação recebida do protocolo Wireless Session Protocol (WSP) (no padrão WAP) para o protocolo da Internet HyperText Transfer Protocol (HTTP) e envia essa requisição para o web server através da internet; Ao ler a requisição, o web server retorna uma resposta com conteúdo Wireless Markup Language (WML) para o gatewaywap que o converte para o padrão bytecode do WAP, codificando a informação para um formato binário de forma que possa ser usada menos largura de banda. O conteúdo codificado é criptografado e enviado através da rede wireless para o browser WAP. Em síntese, o gateway WAP recebe o conteúdo WML do servidor WEB e o browser recebe a resposta do gateway WAP e a exibe no display do dispositivo WAP. Este conteúdo interpretado e exibido no display é criado através da linguagem WML, abordada com mais detalhes nos capítulos seguintes Principais características do protocolo WAP Um modelo de programação baseado fortemente no modelo de programação WEB existente. 37

38 Independência dos dispositivos: uma linguagem de marcação que obedece aos padrões Extensible Markup Language (XML), projetada para criar aplicativos WAP independentes de qualquer dispositivo particular. Especifica a funcionalidade mínima que um dispositivo deve ter e foi projetado para aceitar funcionalidade extra sobre este mínimo. A linguagem de script WMLScript, baseada na European Computer Manufacturers Association (ECMA), ECMAScript, para estender a capacidade da WML. A especificação de um micro-navegador que define como a WML e a WMLScript devem ser interpretadas no equipamento portátil e apresentadas ao usuário. Interoperabilidade: qualquer componente construído para ser compatível com a especificação WAP pode interoperar com qualquer outro componente WAP compatível. Um sistema adequado para os aplicativos de telefonia sem fio Wireless Telephony Applications (WTA), propiciando funções que as operadoras de telefonia possam usar para integrar as funções de telefonia e micronavegação de um equipamento WAP. Otimização de Transferência de Dados: houve interesse em otimizar os protocolos existentes, tais como o HTTP e o TCP, para maximizar a transferência de dados. Independência de Sistema Operacional: como este protocolo é dependente de padrões de comunicação ao invés de estarem baseados nas plataformas, qualquer plataforma capaz de implementar esses padrões de comunicação será compatível com WAP. 38

39 Uma pilha de protocolos leve, projetada para minimizar a exigência de largura de banda, trabalhar com uma diversidade de portadoras sem fio e propiciar conexões seguras Aplicações do Protocolo WAP Alguns sites WAP oferecem uma grande quantidade de serviços, chegando a compararem-se com os sites WEB baseados no modelo WWW, eis aqui alguns exemplos de aplicações do protocolo WAP Transações Bancárias: Tendo um celular WAP, com acesso à Internet, e considerando que sua operadora ofereça os serviços WAP em parceria com o Banco, pode-se fazer transações bancárias como as disponíveis no autoatendimento do Banco do Brasil, que já possui site WAP Programação dos Cinemas: Uma outra aplicação do Protocolo WAP é o acesso à programação dos cinemas. Sites WAP como o apresentam os filmes em cartaz no Brasil inteiro. Ferramentas de Auxílio para a Polícia Militar: A Polícia Militar de Minas Gerais possui um sistema que permite que os policiais façam consultas em uma base de dados, podendo, assim em mais ou menos 18 segundos, obter dados sobre carros suspeitos e até antecedentes criminais do motorista. Serviços de Agenda On-Line : Sendo o usuário cadastrado no sistema, ele pode dispor dos serviços de agenda on-line. Este serviço é muito utilizado para lembrar o usuário de compromissos, datas importantes, horóscopo e notícias. Indicadores Financeiros: Sites WAP oferecem, diariamente, informações do Sistema Financeiro Nacional com a cotação do dólar e o valor do grama do ouro, além de informações sobre as principais bolsas de valores. 39

40 Situação de Aeroportos: Através do endereço pode-se obter informações e saber como está a situação de aeroportos como Congonhas, Santos Dumont e Cumbica. Previsão do Tempo: O site oferece a previsão do tempo para várias cidades do Brasil divididas por regiões. Conversão de Moeda: Havendo necessidade de fazer conversões de moeda pode-se também utilizar o WAP. Este serviço pode ser conferido em Comércio Eletrônico: Compras podem ser feitas pelo celular WAP, essa tecnologia chamada de m-comerce (comércio móvel). O site hospeda cerca de 500 lojas e podese fazer compras como se estivesse navegando em um site WEB normal. Serviços de Mensagens não muito longas e sem aquelas formatações e quantidades de figuras como as enviadas pelos programas de e- mail da WEB tradicional, podem ser enviadas e recebidas através do celular WAP. Jogos: Vários jogos estão disponíveis pelas operadoras de celulares e também em sites pessoais, no entanto, maioria deles para um único jogador, exemplos: Memory, Battleships, Russian Roulette, kniffel Batalha Naval e outros. 40

41 Limitações de limitações: Apesar de fornecer várias vantagens, o protocolo WAP possui uma série Tamanho do LCD (display de cristal líquido): seu tamanho reduzido limita seriamente as capacidades do sistema. Teclado: por ser pequeno e numérico, o teclado se torna um empecilho para digitar palavras, reduzindo a capacidade de entrada de dados. Velocidade: a atual velocidade pode variar de 9,6 a 14,4kbs, assim, além de ainda ser muito lenta, há a necessidade de fazer uma nova chamada sempre que houver necessidade de uma nova conexão. Micro-browser: por apresentar apenas informações escritas em WML, as operadoras têm que desenvolver conteúdos próprios para WAP. Possuem CPU, RAM, ROM e velocidade de processamento limitados e poucas opções de fornecimento de energia (baterias, pilhas, etc); Redes de baixa capacidade com largura de banda modesta. As redes de voz e dados sem fio são inerentemente pouco confiáveis, instáveis e imprevisíveis. 41

42 O Modelo WWW A arquitetura Internet prevê um modelo de programação flexível e poderoso, onde aplicações e conteúdo são apresentados em formatos de dados padrões e são mostrados por aplicações conhecidas como web browser ou navegadores web. O web browser é uma aplicação para rede, o que significa que ele envia requisições para objetos de dados nomeados para um servidor de rede e este responde com o dado codificado, usando os formatos padrões. Os padrões WWW especificam a maioria dos mecanismos necessários para a construção de um ambiente de aplicação de propósito geral, incluindo: Modelo de nomeação padrão: todos os servidores e conteúdo na Web são nomeados de acordo com o padrão da Internet, conhecido como URL. Tipificação de conteúdo: todo conteúdo na internet é produzido de maneira que os navegadores web o processem da maneira correta, baseado em seu tipo. Formatos de conteúdo padrão: todos os web browser suportam um pacote de formatos de conteúdo padrões, que incluem o HTML e o JavaScript, entre outros. Protocolos de comunicação padrões: os protocolos padrões de rede, tais como o HTTP, permitem a qualquer navegador comunicar-se com qualquer servidor WEB. 42

43 Essa infraestrutura permite aos desenvolvedores criarem aplicações e conteúdo para um grande número de clientes. Os protocolos da WWW são definidos em três classes de servidores : Servidor de origem: servidor onde um dado recurso reside ou será criado. Proxy: um programa intermediário que age tanto como cliente quanto como servidor. Este tipo de servidor reside entre os clientes e os servidores que não têm meios de comunicação direta. Gateway: um servidor que age como intermediário para algum outro servidor. Diferente do proxy, um gateway recebe as requisições como se ele fosse o servidor de origem para o recurso solicitado O Modelo WAP O modelo de programação WAP é muito similar ao modelo de programação WWW, visando justamente se agregar a ela da melhor maneira possível. Esta tentativa de produzir um ambiente coerente com a estrutura já existente, provê vários benefícios à comunidade de desenvolvimento, como a familiarização com o modelo existente, a confiabilidade de uma arquitetura testada e a possibilidade de utilização de ferramentas existentes (como servidores WEB, editores XML, etc). A Figura 7 demonstra os modelos WAP e WWW. 43

44 Figura 7 Modelo WAP e Modelo WWW No entanto, apesar de muito similar o modelo de programação WAP possui duas diferenças cruciais: Há sempre pelo menos um servidor proxy WAP entre o usuário e o servidor de conteúdo. A comunicação entre o agente de usuário e o servidor proxy é feita com protocolos WAP, ilustrado na Figura 8 abaixo. 44

45 Figura 8 Modelo WAP Assim como o WWW, o WAP define um conjunto de componentes padrões para permitir a comunicação entre terminais móveis e servidores de rede: Modelo de nomeação padrão: o padrão WWW de Universal Resource Locator (URL) é usado para identificar o conteúdo WAP nos servidores originais, enquanto o padrão WWW de Universal Resource Identifier (URI) é usado para identificar recursos locais em um dispositivo. Tipificação de conteúdo: todo o conteúdo WAP tem um tipo específico consistente com a tipificação da WWW, o que permite aos agentes-usuários WAP processarem corretamente um conteúdo baseado em seu tipo. Formatos de conteúdo padrões: todos os formatos de conteúdo WAP são baseados na tecnologia WWW e inclui marcação para display, informações de calendário, objetos de cartões de negócios eletrônicos, imagens e linguagem de script. 45

46 Protocolos de comunicação padrões: o protocolo de comunicação WAP possibilita a comunicação das requisições do browser do terminal móvel com o servidor web. Os tipos de conteúdo e protocolos WAP foram otimizados para micro portáteis sem fio. O WAP utiliza a tecnologia de proxy para conectar um domínio sem fio à Internet Principais funções do proxy WAP: O gateway de protocolo traduz as requisições das camadas da pilha do Protocolo WAP. Essas camadas (WAE, WSP, WTP, WTLS e WDP) serão explicadas em mais detalhes na subseção Pilha de Protocolos. Codificador e decodificador de conteúdo: os codificadores de conteúdo traduzem o conteúdo WAP em um formato codificado compacto para reduzir o tamanho dos dados que trafegam pela rede. Os decodificadores traduzem o conteúdo codificado compacto para o conteúdo WAP. A partir dessas funções, o proxy WAP permite que conteúdo e aplicações sejam hospedados em servidores WWW padrões e sejam desenvolvidos usando tecnologias WWW como, por exemplo, scripts CGI. A Figura 9 ilustra um exemplo de uma rede WAP. 46

47 Figura 9 Exemplo de uma rede WAP O WAP gateway diminui o tempo de resposta do dispositivo portátil, agregando dados de diferentes servidores na WWW e guardando informações freqüentemente acessadas. O WAP gateway também pode se conectar a bancos de dados de assinantes e utilizar informações da rede wireless, tais como informação de localização, para personalizar as páginas WML de acordo com o usuário Arquitetura - A Pilha de Protocolos Apesar de ser visto como um protocolo, na verdade o WAP é uma pilha composta por cinco protocolos independentes, organizados em um ambiente escalável e extensível para o desenvolvimento de aplicações direcionadas à utilização em dispositivos móveis. Isto foi alcançado através da construção de uma pilha de protocolos dividida em camadas, conforme Figura

48 Figura 10 Camadas do Protocolo Wap WAE (Wireless Application Environment) : É um ambiente de aplicação de propósito geral baseado na combinação das tecnologias da WEB e de telefonia móvel. WSP (Wireless Session Protocol) : Disponibiliza para a camada de aplicação uma interface consistente para dois serviços de sessão. O primeiro é o serviço orientado a conexão, que opera sobre o protocolo de transação WTP e o segundo é o serviço não orientado a conexão, que opera sobre o serviço de datagrama seguro ou não (WDP). WTP (Wireless Transaction Protocol) : É executado no topo de um serviço de datagramas, provendo um protocolo orientado a conexão leve, otimizado para implementação em dispositivos móveis, como telefones celulares. 48

49 WTLS (Wireless Transport Layer Security) : É uma camada opcional da pilha WAP que fornece às camadas superiores um serviço de interface de transporte seguro. É um protocolo de segurança baseado no protocolo padrão da indústria, o Transport Layer Security (TLS), formalmente conhecido como Secure Socket Layer (SSL). WDP (Wireless Datagram Protocol) : É a camada de transporte da arquitetura WAP e opera sobre os serviços portadores de dados suportados por vários tipos de redes. Esta camada oferece uma forma consistente de transmissão de pacotes, permitindo às camadas de Segurança, Sessão e Aplicação funcionarem independentemente da rede sem fio utilizada. Camada de Rede : A camada de protocolos WAP foi projetada para operar sobre uma variedade de transportadores de serviços. Estes oferecem níveis diferentes de qualidade no que diz respeito a rendimento, taxa de erro e atraso, que devem ser compensados ou tolerados pelo WAP Tipos de redes telefônicas WAP Abaixo são apresentados os tipos de redes telefônicas que atualmente suportam a utilização de WAP CDMA (Code Division Multiple Access): tecnologia que utiliza sistema exclusivo, permitindo enviar a ligação codificada e resgatá-la de outra porta de forma clara e sem erros; MAC é um código calculado a partir de funções de hash seguras, para garantir a integridade das mensagens trocadas. 49

50 FDMA (Frequency Division Multiple Access): é uma das principais técnicas de múltiplo acesso utilizada em sistemas de comunicação móvel. Nesta, a multiplexação é feita por divisão de freqüência; GSM (Global System for Mobile Communication): sistema criado para padronizar as comunicações celulares, permitindo ao usuário utilizar seu telefone em qualquer país; EDGE (Enhanced Data Rates for Global Evolution): trata-se de uma tecnologia que permite às redes GSM suportar e oferecer serviços de terceira geração à telefonia móvel; W-CDMA (Wireless Code Division Multiple Access): é um padrão norte americano que possui um importante papel na realização das comunicações sem fio, porque tem quase a mesma performance na transmissão quanto às comunicações com fio; TDMA (Time Division Multiple Access): tecnologia para serviços digitais sem fio baseada na divisão de uma freqüência de rádio em frações de tempo que serão usadas em diferentes conexões. Além dos transportadores de serviços, também existe a rede portadora que é responsável pelo encaminhamento de datagramas até ao dispositivo destino. O endereçamento desta varia conforme o tipo de rede (endereços IP ou números de telefone), no entanto, o protocolo WAP foi projetado para compensar ou tolerar estas diferenças, permitindo que seus endereços de rede incluam o tipo de portadora e o endereço (ex.: IP; ). 50

51 Exemplos de portadores SMS (Smart Messaging Service): é um serviço que permite mandar ou receber mensagens curtas de/para telefones celulares sem que se tenha de fazer uma ligação, economizando desta forma tempo e dinheiro. CSD (Circuit Switched Cellular Data): uma tecnologia que permite a transferência de dados via celular através de um canal de tráfego digital, por exemplo: com um laptop, um aparelho celular com esta tecnologia e um cabo, o cliente pode acessar a internet independente do horário e local a uma velocidade de bps, além de poder enviar e receber fax. CDPD (Cellular Digital Packet Data): é uma especificação que suporta o acesso à internet e outras redes públicas através de comutação de pacotes. Um telefone celular e um modem CDPD possibilitam velocidades até 19,2Kbps. GPRS (General Packet Radio Services): serviço não baseado em voz que permite o envio e recepção de informações através de uma rede telefônica móvel. Ele utiliza as tecnologias de CSD e SMS. 51

52 2.4. Linguagens de Marcação SGML Segundo Silva Filho (2004) a SGML (Standard Generalized Markup Language) é a precursora das linguagens de editoração, a partir da SGML foi que surgiram a HTML e XML, as quais serão comentadas mais adiante. Com o objetivo de construir um sistema portável, para o intercâmbio e manipulação de documentos, foi criada a SGML, (independente de sistema operacional e formatos de arquivos). Foi desenvolvido um sistema de "Marcação Generalizada" (Generalized Markup), com dois objetivos básicos: A marcação de um documento deve descrever a estrutura do documento, e outros atributos do mesmo, em vez de especificar o processamento a ser feito no mesmo. A marcação deve ser definida rigorosamente, de forma que sistemas formais como programas possam ser usados para processar o documento Como SGML não possui um conjunto pré-definido de tags e de elementos, ela é na verdade uma meta-linguagem para descrever (mais precisamente especificar) linguagens de marcação. Ela não possui uma semântica pré-definida. A sintaxe de uma linguagem específica de marcação definida através de SGML é especificada através de construções coletadas num documento denominado DTD (Document Type Definition)(ou incluídas diretamente no documento SGML), onde aparecem "declarações de elementos", que especificam para cada elemento da linguagem todas as possíveis marcações válidas para o 52

53 elemento, como por exemplo, a ordem e obrigatoriedade de elementos num documento, quantidade,etc, e declarações de atributos, que especificam, por exemplo, tipos de valores de atributos, valores default, etc. O DTD define, portanto, uma gramática para a linguagem de marcação do documento. Todo documento SGML deve possuir um DTD (que define a sua gramática) de forma que o documento possa ser validado por um analisador sintático (parser) HTML Conceitos Básicos Ainda segundo Silva Filho (2004) e Godoy (2004) uma informação publicada na internet, e distribuída globalmente, deve ser entendida por todos os computadores e sistemas existentes na WEB, para isso foi necessário o desenvolvimento de uma linguagem de formatação única, o qual foi denominado HTML. HTML significa HyperText Markup Language - Linguagem de Marcação de Hipertexto. (Hipertexto é a capacidade de se pular de um documento para outro com um clique do mouse) Consiste de uma aplicação especifica do SGML utilizada na internet, e define um tipo de documento simples com marcações fixas projetadas para uma classe de relatórios técnicos de uso comum em escritórios, como, por exemplo, cabeçalhos, parágrafos, listas, ilustrações e algumas possibilidades para hipertexto e multimídia. É o padrão atualmente em uso na Internet. Não é possível programar em linguagem HTML, pois ela é simplesmente uma linguagem de marcação (ou formatação),: isto é, ela fornece elementos que indicam como um texto deve aparecer na página, tais como "negrito" e "sublinhado"; com ela também é possível inserir imagens, multimídia e outros recursos no texto, além, é claro, das ligações de hipertexto. 53

54 Os browsers são os responsáveis por identificar as marcações em HTML e apresentar os documentos conforme o que foi especificado por essas marcações. O HTML é usado principalmente para disponibilizar documentos e informações na Internet ou em Intranets, mas com a aceitação deste padrão por quase todos os sistemas computacionais existentes, tem aumentado consideravelmente o seu uso em soluções desktop, tais como "HELP" de softwares comerciais populares Apesar do HTML não ser uma linguagem de programação, tem em comum com estas a presença de diretivas, isto é trechos especiais de texto, geralmente destacados por algum caracter delimitador. São tais diretivas que controlam ou alteram a maneira em que as diversas partes de um documento são apresentadas tipograficamente. Assim, as diretivas não são normalmente tipografadas literalmente, mas o efeito destas é que pode ser observado. maior ( >). Todas as diretivas HTML são delimitadas pelos caracteres menor (<) e Exemplo: <TITLE>, <HEAD>, <P>, <BR>, etc A diretiva do HTML não é sensível ao tipo de caixa, isto é, tanto pode ser escrita em maiúsculas como em minúsculas, ou em qualquer combinação. Exemplo: <Title>, <HeAd>, <P> <br>, São diretivas interpretadas da mesma maneira. Numa diretiva, não deve haver espaço em branco nem quebra de linha entre o sinal de menor < e o nome da diretiva. Por exemplo, as seguintes codificações listadas a baixo,não são permitidas: 54

55 < TITLE>, < HEAD>, < P> Uma diretiva não é visualizada literalmente, mas é identificada e adequadamente interpretada pelo programa navegador a fim de produzir algum efeito visual ou de estrutura lógica. Qualquer outra informação que não seja uma diretiva, deve ser um texto, consistindo do conteúdo do documento. Exemplo: <P> Este parágrafo... Um fato importante sobre HTML é que ao contrário do que acontece com editores de texto convencionais, o programador não tem controle sobre o efeito final do documento. Este pode variar, de acordo com as condições estabelecidas pelo usuário final no programa navegador. Exemplo: Dimensões da área de visualização. Escolha dos fontes tipográficos Nível de HTML suportado Versão e marca do programa navegador Limitações de dispositivos (hardware e software) A preocupação principal dos desenvolvedores do HTML é a de permitir transportar a estrutura lógica e o conteúdo de documentos através de diferentes plataformas (conjunto consistindo de computador, sistema operacional e programa de suporte utilizado) de computadores. Em HTML, existe diretiva para iniciar e finalizar uma determinada especificação. <[diretiva]> inicia a especificação e </[diretiva]> finaliza a especificação. A diretiva </[diretiva]> é denominado de diretiva de fechamento. 55

56 Em alguns casos em que o final da especificação seja óbvio ou quando a diretiva não trata de especificação do bloco, a diretiva de finalização </[diretiva]> pode ser omitido. Caso tenha uma diretiva desconhecida no documento ela será simplesmente ignorada. A forma declarativa geral de um documento HTML é a seguinte: <html> <head> [cabeçalho do documento] </head> <body> [corpo do documento] </body> </html> Como podemos ver, o documento HTML consiste basicamente de duas seções: cabeçalho e corpo. <html> e </html> indica o começo e o fim do documento hipertexto em HTML, <head> e </head> indica o começo e o fim do caba alho do documento HTML, e <body> e </body> especifica o começo e o fim do corpo do documento HTML. 56

57 XML - Linguagem de Marcação Extensível Conforme Silva Filho (2004) e Bandeira Duarte (2004) a linguagem XML (extensible Markup Language) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados, também denominado linguagem de editoração, e herda diversas características de HTML, porém para atender as novas necessidade, onde HTML não poderia dar suporte, surgiu a XML. A XML foi proposta pela W3C (Word Wide Web Consortium) com o objetivo de preencher lacunas não atendidas pela HTML conforme Mendes (2004), trata-se de uma linguagem que permite que outras pessoas criem suas próprias linguagens de editoração para fins específicos. Certos documentos HTML não conseguem prover recursos satisfatórios como, por exemplo: Equações matemáticas, moleculares e outras. Mecanismo sofisticado em banco de dado (busca, filtragem e outros). Documentos com informações organizadas de forma hierárquica. Os princípios básicos da XML são os da simplicidade, o XML permite a criação de infinitas tags, e dispõem de um sistema para criar tags para dados estruturados. Um elemento XML pode ter dados declarados como: preços de venda, taxas de preço, um título de livro, quantidade de chuva, ou qualquer outro tipo de elemento. 57

58 Comparações entre HTML e XML Apesar de já ter discorrido sobre a HTML, cabe aqui algumas comparações entre HTML e XML. Por derivarem da SGML ambas identificam elementos em uma página e ambos utilizam sintaxes similares. A grande diferença entre HTML e XML é que o HTML descreve a aparência e a ações em uma página na rede enquanto o XML não descreve nem aparência e ações, mas sim o que cada trecho de dados é ou representa. Em outras palavras, o XML descreve o conteúdo do documento. Como o HTML, o XML também faz uso de tags (palavras encapsuladas por sinais '<' e '>') e atributos (definidos com name="value"), porém, enquanto em um documento HTML uma tag por exemplo, <p> indica um parágrafo, o XML usa as tags somente para delimitar trechos de dados, e deixa a interpretação do dado a ser realizada completamente para a aplicação que o está lendo e essa tag pode indicar um preço, um parâmetro, uma pessoa, ou qualquer outra coisa. Apesar dos arquivos XML serem textos, não são fáceis de serem interpretados pelo ser humano como o HTML é, porém arquivos XML são fáceis de depurar para programadores ou desenvolvedores, de forma que um simples editor de textos pode ser usado para corrigir um erro em um arquivo XML. As regras de formatação para documentos XML são muito mais rígidas do que para documentos HTML. Uma tag esquecida ou um atributo sem aspas torna o documento inutilizável, enquanto que no HTML isso é tolerado. As especificações oficiais do XML determinam que as aplicações não podem tentar adivinhar o que está errado em um arquivo, mas sim devem parar de interpretá-lo e reportar o erro, o que já não acontece com o HTML. 58

59 Características da linguagem XML O XML provê uma representação estruturada dos dados que mostrou ser amplamente implementável e fácil de ser desenvolvida. O XML provê um padrão que pode codificar o conteúdo, as semânticas e as esquematizações para uma grande variedade de aplicações desde simples até as mais complexas. Uma característica importante é que uma vez tendo sido recebido o dado pelo cliente, tal dado pode ser manipulado, editado e visualizado sem a necessidade de reacionar o servidor. Dessa forma, os servidores têm menor sobrecarga, reduzindo a necessidade de computação e reduzindo também a requisição de banda passante para as comunicações entre cliente e servidor. O XML é considerado de grande importância na Internet e em grandes intranets porque provê a capacidade de interoperação dos computadores por ter um padrão flexível e aberto e independente de dispositivo. As aplicações podem ser construídas e atualizadas mais rapidamente e também permitem múltiplas formas de visualização dos dados estruturados Separação entre dados e apresentação A mais importante característica do XML se resume em separar a interface com o usuário (apresentação) dos dados estruturados. O HTML especifica como o documento deve ser apresentado na tela por um navegador. Já o XML define o conteúdo do documento. Por exemplo, em HTML são utilizadas tags para definir tamanho e cor de fonte, assim como formatação de parágrafo. No XML você utiliza as tags para descrever os dados, como exemplo tags de assunto, título, autor, conteúdo, referências, datas, etc 59

60 O XML ainda conta com recursos tais como folhas de estilo definidas com Extensible Style Language (XSL) e Cascading Style Sheets(CSS) para a apresentação de dados em um navegador. O XML separa os dados da apresentação e processo, o que permite visualizar e processar o dado como quiser, utilizando diferentes folhas de estilo e aplicações Principais benefícios da linguagem XML O objetivo do XML é trazer flexibilidade e poder às aplicações Web. Dentre os benefícios para desenvolvedores e usuários temos: Buscas mais eficientes Os dados em XML podem ser unicamente "etiquetados", o que permite que, por exemplo, uma busca por livros seja feita em função do nome do autor. Atualmente, uma busca com o nome do autor poderia levar a qualquer site que tivesse referência a tal nome, não importando se fosse o autor do livro ou simplesmente um livro sobre o autor. Sem o XML é necessário para a aplicação de procura saber como é esquematizado e construído cada banco de dados que armazena os dados de interesse, o que é impossível. O XML permitiria definir livros por autor, título, assunto, etc, o que facilitaria enormemente a busca. Desenvolvimento de aplicações flexíveis para a Web O desenvolvimento de aplicações Web em três camadas, ou three-tier, é altamente factível com o XML. Os dados XML podem ser distribuídos para as aplicações, objetos ou servidores intermediários para processamento. Esses mesmos dados também podem ser distribuídos para o desktop (pc e similares) para ser visualizado em um navegador. 60

61 Integração de dados de fontes diferentes Atualmente é praticamente impossível a procura em múltiplos bancos de dados e incompatíveis. O XML permite que tais dados possam ser facilmente combinados. Essa combinação seria feita via software em um servidor intermediário, estando os bancos de dados na extremidade da rede. Os dados poderiam ser distribuídos para outros servidores ou clientes para que fizessem o processamento, a agregagem e a distribuição. Computação e manipulação local Os dados XML recebidos por um cliente são analisados e podem ser editados e manipulados de acordo com o interesse do usuário. Ao contrário de somente visualizar os dados, os usuários podem manipulá-los de várias formas. Os recursos disponíveis do Document Object Model (DOM) permitem que os dados sejam manipulados via scripts ou outra linguagem de programação. A separação da interface visual dos dados propriamente ditos permite a criação de aplicações mais poderosas, simples e flexíveis. Múltiplas formas de visualizar os dados Os dados recebidos por um usuário podem ser visualizados de diferentes formas uma vez que o XML define somente os dados e não o visual. A interpretação visual poderia ser dada de várias maneiras diferentes, de acordo com as aplicações. Os recursos de CSS e XSL permitem essas formas particulares de visualização. 61

62 Atualizações granulares dos documentos Os dados podem ser atualizados de forma granular, evitando que uma pequena modificação no conjunto de dados implique na busca do documento inteiro novamente. Dessa forma, somente os elementos modificados seriam enviados pelo servidor para o cliente. Atualmente, uma modificação em um item de dados acarreta na necessidade de atualização da página inteira. O XML também permite que novos dados sejam adicionados aos já existentes, sem a necessidade de reconstrução da página. Fácil distribuição na Web Assim como o HTML, o XML, por ser um formato baseado em texto aberto, pode ser distribuída via HTTP sem necessidade de modificações nas redes existentes. Escalabilidade Devido ao fato dos documentos XML separarem completamente os dados da forma com a qual são visualizados, autores de aplicações de visualização de dados podem torná-las muito poderosas e interativas, permitindo ao usuário visualizar os dados da forma que lhe agrade. Dessa forma, a interatividade, em termos, não dependeria tanto da comunicação cliente servidor, mas sim seria feita "offline", reduzindo o tráfego do link com o servidor. 62

63 Compressão A compressão de documentos XML é fácil devido à natureza repetitiva das tags usadas para definir a estrutura dos dados. A necessidade de compressão é dependente da aplicação e da quantidade de dados a serem movidos entre clientes e servidores. Os padrões de compressão do HTTP 1.1 podem ser usados para o XML Tipos de aplicações Apesar da tecnologia XML estar passando ainda por um processo evolutivo é uma tecnologia amplamente experimentada em diversas aplicações. Pelo fato de praticamente não apresentar restrições satisfazendo assim as mais variadas demandas surgem aplicações das mais diversas, das quais algumas serão apresentadas a seguir. RDF framework para descrição e troca de metadados, permite codificação, troca e reuso de metadados estruturados, também é visto como uma linguagem baseada em XML para descrição de informações WML linguagem baseada em XML que possibilita a especificação de conteúdo para dispositivos móveis; CML aplicação XML para fazer descrição das informações de estruturas moleculares; OFX aplicação XML que permite que você especifique transações financeiras; MathML, aplicação XML para descrever equações matemáticas; 63

64 SMLI, aplicação XML que permite elaborar apresentações multimídia; SVG aplicação XML para descrever imagens bidimensionais; VML aplicação XML direcionadas a gráficos vetoriais, os quais podem ser embutidos em paginas HTML; VoiceXML aplicação XML que possibilita uma interação entre o usuário e o computador de forma falada; TalkML aplicação XML destinada a ser empregada em browser que ofereçam suporte para dialogo com interação de voz; CDF aplicação XML utilizada para definir canais ou channels. Essa tecnologia permite o envio automático de conteúdo para usuários. 64

65 Como vimos às aplicações da linguagem XML são muitas, mas para esse trabalho foi concentrada a atenção na Wireless Markup Language (WML) a qual será tratada no próximo capitulo desta monografia Exemplo em XML <?xml version="1.0"?> <doc xml:base="http://example.org/today/" xmlns:xlink="http://www.w3.org/1999/xlink"> <head> <title>virtual Library</title> </head> <body> <paragraph>see <link xlink:type="simple" xlink:href="new.xml">what's new</link>!</paragraph> <paragraph>check out the hot picks of the day!</paragraph> <olist xml:base="/hotpicks/"> <item> <link xlink:type="simple" xlink:href="pick1.xml">hot Pick #1</link> </item> <item> <link xlink:type="simple" xlink:href="pick2.xml">hot Pick #2</link> </item> <item> <link xlink:type="simple" xlink:href="pick3.xml">hot Pick #3</link> </item> </olist> </body> </doc> 65

66 WML Demonstrando o WML Conforme Silva filho (2004) e Forta (2001) a WML é uma linguagem de programação baseada no XML (extensible Markup Language). A WML(Wireless Markup Language) poderia ser definida como uma filha da XML. Pois foi gerada totalmente baseando-se na XML, com isso, praticamente todas as regras de formatação da XML são iguais às da WML. A especificação oficial do WML foi desenvolvida e é mantida pelo WAP Fórum, um consórcio industrial fundado pela Nokia, Phone.com, Motorola, e Ericsson. As especificações definem a sintaxe, variáveis e elementos usados no WML. A WML foi construída para ser compatível com telefones celulares atuais, já que os mesmos não podem agüentar a variedade de formatação da HTML (como diferentes cores, etc). Com isso, a WML veio para deixar as páginas para celulares bem leves, e portanto compatíveis com o sistema. WML junta toda a facilidade da XML(XSL, DOM, DTD, etc) com o poder de outras linguagens de programação que agem do lado do servidor como o ASP e PHP. Com isso, um site com base de dados em XML, pode também disponibilizar uma página para celulares compartilhando a mesma base de dados. Isso torna o site WAP, mais dinâmico. Entendendo: se um telefone ou outro dispositivo de comunicação é tido como WAP, significa que este possui um software, conhecido como microbrowser, e este software tem a capacidade de entender tudo que é especificado como sendo WML. 66

67 Para executar páginas em WML, é necessário que tenha um site hospedado em um servidor com suporte a WML ou que em seu micro esteja instalado um emulador WML. O WML foi desenvolvido para uma pequena banda, e displays muitos pequenos. Uma parte deste desenvolvimento é o conceito utilizado como deck/cards. Um único documento WML é conhecido como Deck. Uma única interação com o usuário é conhecida como card. A vantagem do projeto é que múltiplas telas podem ser baixadas para o cliente numa única requisição. As páginas WML são chamadas de DECKS, esses DECKS são formados pelos CARDS. A Figura 11 abaixo representa essa estrutura. Figura 11 Exemplo de um Deck Elementos WML O WML define elementos que podem ser combinados para que se possa criar documentos WML. Os elementos podem ser divididos em dois grupos: os elementos Deck/Card e os elementos Eventos, conforme demostrado abaixo. 67

68 Deck Card Eventos Tarefas Variáveis Entradas Ancoras, Imagens e Timers Formatação de Textos Wml Do Go setvar Input A Br Card Ontimer Prev Select Anchor P Template Onenterforward Refresh Option Img Table Head onenterbackward Noop Optgroup timer Tr Access onpickonevent Fieldset td Meta postfield A utilização de cada um destes elementos, é da seguinte forma: <elemento>valor do elemento</elemento> Regras básicas de formatação: As tags WML diferenciam as letras maiúsculas de minúsculas, ou seja <wml> é diferente de <WmL>. Todas as tags devem ser fechadas; Os documentos WML devem ser salvos com a extensão.wml; Qualquer tipo de texto deve ser escrito entre as tags <p> e </p>. Na formatação de texto em WML as tags são usadas para "incrementar" o texto da mesma forma que no HTML. <strong>destacado</strong>; <i>itálico</i>; <b>negrito</b>; <u>sublinhado</u>; <small>pequeno</small>; <big>grande</big>. 68

69 Programando em WML Nesta introdução à linguagem WML propriamente dita, iremos ver como é a estrutura de um arquivo WML, e quais as regras de formatação. Todos os documentos WML seguem a uma regra DTD, que é especificada no início de todo documento. Para você entender melhor a estrutura de um arquivo WML, vamos ver o exemplo de um código-fonte: Na Figura 12 abaixo podemos ver como é formado um documento WML simples e ao lado o código do mesmo. <?xml version="1.0" encoding="iso "?> <!--Defino o DTD padrão--> <!DOCTYPE wml PUBLIC "- //WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/dtd/wml_1.1.xml"> <wml> <card id="index" title="inicial"> <p>isso é um documento <u>wml</u> de exemplo</p> <!--Fecho o CARD--> </card> </wml> Figura 12 Exemplo documento WML 69

70 Aplicações com WML: Variáveis Como vários cartões podem estar contidos em um deck, alguns mecanismos precisam estar posicionados para reter dados, enquanto o usuário navega de cartão em cartão. Este mecanismo é fornecido pelas variáveis WML.. As variáveis podem ser criadas e usadas utilizando-se diversos métodos diferentes. Por exemplo: Usando o elemento <setvar> como resultado do usuário que executa uma tarefa. O elemento <setvar> pode ser usado para "setar" uma variável para os seguintes elementos: go, prev e refresh. O elemento da linha abaixo criará uma variável "v1" com um valor "meu": <setvar name="v1" value="meu"/> As Variáveis também são "setadas" através dos elementos de entrada (input, select, option, etc.). Uma variável é automaticamente criada correspondendo a um atributo de um elemento de entrada. Por exemplo, o elemento da linha abaixo criará uma variável de nome "v1": <select name="v1" title="v1 Value:"> Criando um Deck WML Neste exemplo, nós criaremos um Deck WML que nos permite primeiramente selecionar um username da lista, entrar com uma senha, então temos nossas seleções repetidas. Basicamente será mostrada a manipulação de entrada, dos eventos e das variáveis num único Deck que utiliza vários cartões (cards). 70

71 Como você pode ver, na o prolog deste documento contém a versão do XML. Depois deste, vem o elemento do documento WML, o Deck, que contém três cartões: Login, Senha e Resultado. Cada um destes cartões é definido usando um elemento <card>. Os cartões do Login Figura 13 e da Senha Figura 14, também definem Eventos, eles utilizam o elemento <do type ="accept"> para definir o evento a ser chamado. <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/dtd/wml_1.1.xml"> <wml> <card id="login" title="login"> <do type="accept" label="senha"> <go href="#senha"/> </do> <p> Usuário: <select name="nome" title="nome:"> <option value="joão">joão</option> <option value="sergio">sergio</option> <option value="maria">maria</option> <option value="claudio">claudio</option> </select> </p> </card> Figura 13 Cartão Login 71

72 Quando o elemento "accept" é encontrado, ele é mostrado no display do celular (ou outro dispositivo) como uma opção. Selecionando uma destas opções, o elemento <go> será analisado. Se você está familiarizado com a tag (anchor) <a> no HTML, e você conhece as especificações do atributo href, então se pode fazer um link no browser para uma âncora selecionada. <card id="senha" title="senha:"> <do type="accept" label="resultado"> <go href="#resultado"/> </do> <p> Senha: <input type="text" name="senha"/> </p> </card> Figura 14 Cartão Senha 72

73 O elemento WML <go> e o atributo href trabalham da mesma maneira. Com HTML, para fazer um link para outro cartão no mesmo documento, você simplesmente insere o símbolo # antes do link. Por exemplo, um link para o cartão Resultado, é só definir o seguinte elemento, veja Figura 15 abaixo. <go href="#results"/> <card title="resultado:"> <p> Entrada:<br/> Nome: $(nome)<br/> Senha: $(senha)<br/> </p> </card> id="resultado" </wml> Figura 15 Cartão Resultado 73

74 Este cartão resultado emprega variáveis recuperando e exibindo o conteúdo das variáveis Nome e Senha. Lembre-se que as variáveis são substituídas em um cartão ou deck usando a seguinte sintaxe: $(nome_da_variável) Imagens ícones Podemos inserir imagens que já vem pré-definidas na memória. Para isso, podemos usar a propriedade localsrc do comando <img>, para acessar os ícones internos, porém não podemos esquecer de acrescentar de usar alt, caso a versão WAP do aparelho não suporte imagens. Veja o exemplo a seguir: <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/dtd/wml_1.1.xml"> <wml> <card title="monog. Jayme"> <p>imagem 1 : <img alt=":-)" localsrc="smileyface" src=""/> </p> <p>imagem 2 : <img alt=":-)" localsrc="videocam" src=""/> </p> <p>imagem 3: <img alt=":-)" localsrc="house" src=""/> </p> <p>imagem 4: <img alt=":-)" localsrc="dog" src=""/> </p> <p>imagem 5: <img alt=":-)" localsrc="heart" src=""/> </p> <p>imagem 6: <img alt=":-)" localsrc="car" src=""/> </p> <p>imagem 7: <img alt=":-)" localsrc="star3" src=""/> </p> </card> </wml> Figura 16 CartãoExemplo Imagem 74

75 Imagens wbmp Podemos inserir fotos, em página WAP, mas é importante ressaltar que o formato de imagens WAP é diferente do formato usado nas páginas HTML, já que o sistema é diferente dos PCs e navegadores convencionais. O formato em questão é o WBMP (Wireless BitMap) um gráfico em preto e branco com resolução de 100x70 que pode ser exibida em páginas WML. Existem programas que transformar GIFs e JPGs em WBMP. Abaixo na Figura 17 temos um exemplo de como fica. <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "- //WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/dtd/wml12.dtd"> <wml> <card title="monografia Jayme"> <p> Veja como ficou: <img src="logodin.wbmp" alt="rastaguy"/> </p> </card> </wml> Figura 17Cartão Imagem Logo DIN 75

76 Acentuação na WML Para usarmos caracteres especiais na linguagem WML, é necessário usar o seu código equivalente da tabela Latin-1 (ISO ). Se você quiser colocar a palavra Endereço por exemplo, e usar a cedilha, o resultado não será o esperado pois a palavra sairá escrita de forma incorreta. Para que saia escrita da forma correta, é necessário escrevê-la assim: Endere ccedil;o. Outro ponto importante é a visualização do conteúdo WML. Existem vários browser que simulam o telefone celular, entre eles está o Opera e o M3Gate que tem o formato de um celular. 76

77 2.5. Linguagem de programação PHP O que é PHP? Segundo Ullman (2001) PHP significa Personal Home Page é uma linguagem de criação de scripts embutida na HTML, compatível com varias plataformas do lado do servidor. Dizer que o PHP é embutido no HTML significa que ele pode ser colocado no seu código HTML sendo este o código com quais todas as páginas da web são criadas. PHP é uma linguagem de criação de scripts, em oposição à linguagem de programação. Isso significa que ela é criada para fazer algo apenas depois que um evento ocorre. PHP é uma linguagem que permite criar sites WEB dinâmicos, possibilitando uma interação com o usuário através de formulários, parâmetros da URL e links. Outra diferença de PHP com relação a linguagens semelhantes a Javascript é que o código PHP é executado no servidor, sendo enviado para o cliente apenas html puro. Desta maneira é possível interagir com bancos de dados e aplicações existentes no servidor, com a vantagem de não expor o código fonte para o cliente. Isso pode ser útil quando o programa está lidando com senhas ou qualquer tipo de informação confidencial. O que diferencia PHP de um script CGI escrito em C ou Perl é que o código PHP fica embutido no próprio HTML, enquanto no outro caso é necessário que o script CGI gere todo o código HTML, ou leia de um outro arquivo Instalação e configuração em ambiente windows O servidor http que será utilizado para o desenvolvimento desta monografia será é o Apache junto com mysql, que será discutido em outro item. 77

78 A melhor maneira de testar o sistema é criar um arquivo chamado teste.php e salvar no diretório raiz do servidor Apache. O arquivo deve conter o seguinte código mostrado abaixo. <? phpinfo();?> Acessando a página através do servidor (http://localhost/teste.php), devemos ter como resultado uma listagem de todas as configurações do PHP conforme Figura 18 abaixo. Figura 18 Resultado da execução da função phpinfo(). 78

79 O que pode ser feito com PHP? Ainda segundo Ullman (2001) basicamente, qualquer coisa que pode ser feita por algum programa CGI pode ser feita também com PHP, como coletar dados de um formulário, gerar páginas dinamicamente ou enviar e receber cookies. PHP também tem como uma das características mais importantes o suporte a um grande número de bancos de dados, como dbase, Interbase, msql, mysql, Oracle, Sybase, PostgreSQL e vários outros. Construir uma página baseada em um banco de dados torna-se uma tarefa extremamente simples com PHP. Além disso, PHP tem suporte a outros serviços através de protocolos como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda é possível abrir sockets e interagir com outros protocolos Sintaxe Básica O código PHP fica embutido no próprio HTML. O interpretador identifica quando um código é PHP pelas seguintes tags: <?php comandos?> <script language= php > comandos </script> <? comandos?> <% comandos %> 79

80 O tipo de tags mais utilizado é o terceiro, que consiste em uma abreviação do primeiro. Para utilizá-lo, é necessário habilitar a opção short-tags na configuração do PHP. O último tipo serve para facilitar o uso por programadores acostumados à sintaxe de ASP. Para utilizá-lo também é necessário habilitá-lo no PHP, através do arquivo de configuração php.ini Separador de instruções Entre cada instrução em PHP é preciso utilizar o ponto-e-vírgula, assim como em C, Perl e outras linguagens mais conhecidas. Na última instrução do bloco de script não é necessário o uso do ponto-e-vírgula, mas por questões estéticas recomenda-se o uso sempre Nomes de variáveis Toda variável em PHP tem seu nome composto pelo caracter $ e uma string, que deve iniciar por uma letra ou o caracter _. PHP é case sensitive, ou seja, as variáveis $vivas e $VIVAS são diferentes. Por isso é preciso ter muito cuidado ao definir os nomes das variáveis. É bom evitar os nomes em maiúsculas, pois como veremos mais adiante, o PHP já possui algumas variáveis pré-definidas cujos nomes são formados por letras maiúsculas. 80

81 Comentários Comentários de uma linha: Marca como comentário até o final da linha ou até o final do bloco de código PHP o que vier antes. Pode ser delimitado pelo caracter # ou por duas barras ( // ). Exemplo: <? echo teste ; #isto é um teste?> <? echo teste ; //este teste é similar ao anterior?> Comentários de mais de uma linha: Tem como delimitadores os caracteres /* para o início do bloco e */ para o final do comentário. Se o delimitador de final de código PHP (?> ) estiver dentro de um comentário, não será reconhecido pelo interpretador. Exemplos: <? echo teste ; /* Isto é um comentário com mais de uma linha, mas não funciona corretamente?> */ <? echo teste ; /* Isto é um comentário com mais de uma linha que funciona corretamente */?> 81

82 Criando scripts Será mostrado um script com uma saída simples inserido no HTML. Para digitar um script em PHP pode-se utilizar qualquer editor de texto, em nosso caso utilizei o Bloco de notas e para ver como fica na WEB estou utilizando a ferramenta "DPHPEdit" ou "Davor's PHP Editor", é um IDE (Integrated Development Environment) ambiente de desenvolvimento integrado para linguagem PHP. Isso mostra como o PHP funciona, o script é executado no servidor, ficando disponível para o usuário apenas o resultado, conforme mostra a Figura 19 e Figura 20. respectivamente Figura 19 Script PHP Figura 20 Apresentação do Exemplo Script1 82

83 Podemos também escrever um script que produza exatamente o mesmo resultado utilizando uma variável, como mostra o código abaixo. <html> <head><title>aprendendo PHP</title></head> <body> <?php $texto = "Primeiro Script"; echo $texto;?> </body> </html> Enviando Dados para o Servidor http O protocolo HTTP provê dois principais métodos para enviar informações para o servidor web. São POST e GET A requisição GET inicia com a palavra GET, inclui o documento solicitado e encerra com a combinação dos caracteres carriage return e line feed. GET /index.html crlf Pelo método GET também é possível passar parâmetros da requisição. GET /index.php?id=0024horas&tipo=taxi crlf GET permite uma quantidade de dados limitada a 1024 caracteres, o que pode gerar perda de informações. Pelo GET, como as informações fazem parte da URL, todos os dados podem ser vistos pelo usuário. Pode ser perigoso quando informações sigilosas estão envolvidas (senha). 83

84 A versão 1.0 do protocolo HTTP trouxe inovações, como o uso de headers em mensagens de requisição e de resposta. Headers são informações trocadas entre o navegador e o servidor de modo transparente ao usuário, contendo dados sobre o tipo e a versão do navegador, a página de onde partiu a requisição (link), tipos de arquivos aceitos como resposta, e uma série de outras informações. Através da utilização de headers é possível enviar os parâmetros da URL solicitada sem expor esses dados ao usuário, e sem limitar seu tamanho. O usuário não deve se preocupar com os headers, em codificar os dados ou em calcular o tamanho do corpo da mensagem. O browser faz isso de maneira transparente. O método GET pode ser utilizado através da digitação de um endereço no local apropriado do navegador, através de um hiperlink (com a conversão dos dados para o formato urlencode) e através de formulários HTML. O uso de formulários HTML é a única maneira possível de submeter dados pelo método POST Utilizando formulários HTML Ao clicar num botão Submit em um formulário HTML as informações dos campos serão enviadas ao servidor especificado para que possa ser produzida uma resposta. O PHP trata esses valores como variáveis, cujo nome é o nome do campo definido no formulário. O exemplo abaixo mostra isso, e mostra também como o código PHP pode ser inserido em qualquer parte do código HTML: Ao salvar o arquivo da Figura 21 e carregá-lo no browser, o usuário verá apenas um formulário que contém um espaço para digitar o texto, como visto na Figura 22. Ao digitar um texto qualquer e submeter o formulário, a resposta, que é o mesmo arquivo PHP (indicado pela constante $PATH_INFO, que retorna o nome do arquivo) será como na Figura 23.: 84

85 Figura 21 Submit Figura 22 Envia texto Figura 23 Retorna 85

86 Isso ocorre porque o código PHP testa o conteúdo da variável $texto. Inicialmente ele é uma string vazia, e por isso nada é impresso na primeira parte. Quando algum texto é digitado no formulário e submetido, o PHP passa a tratá-lo como uma variável. Como no formulário o campo possui o nome texto, a variável com seu conteúdo será $texto. Assim, no próximo teste o valor da variável será diferente de uma string vazia, e o PHP imprime um texto antes do formulário Outras facilidades do PHP Como podemos observar existe uma enorme simplicidade em manipular as informações utilizando PHP. Abaixo farei uma breve descrição das funcionalidades oferecidas por esta linguagem. Headers: O comando header permite enviar cabeçalhos html para o cliente. Gravando cookies: Para gravar cookies no cliente, deve ser utilizada a função setcookie. Lendo cookies gravados: Os cookies lidos por um script PHP ficam armazenados em duas variáveis. Enviando e mail Para enviar e mail através de um script PHP é bastante simples. Basta utilizar a função mail: 86

87 Manipulando arquivos: Através do PHP é possível ter acesso aos arquivos do sistema, e até arquivos remotos, como: Copiar Arquivos Verificar o tamanho de um arquivo Listar o conteúdo de um diretório, através de um scritps Mostrar o tamanho do arquivo, em bytes Verificar se um arquivo existe Abrir arquivos para leitura e/ou escrita Encerrar a manipulação de um arquivo Ler um arquivo Escrever em um arquivo Gravar um arquivo Também, como toda linguagem, o PHP utiliza-se de outras propriedades comum a qualquer linguagem como: Tipos de variáveis Constantes Operadores Estruturas de controles Funções Variáveis Classes e Objetos 87

88 ASP O que é ASP? Active Server Pages (ASP) é uma linguagem para geração de páginas HTML dinamicamente. Segundo Pereira (2001) Páginas de Servidor Ativas são um ambiente para programação por scripts no servidor, que você pode usar para criar páginas dinâmicas, interativas e de alta performance. Como as páginas ASP, os scripts rodam no servidor e não no cliente. É o próprio servidor que transforma os scripts em HTML padrão, fazendo com que qualquer browser do mercado seja capaz de acessar um site que usa ASP. Entre os recursos que podem ser implementados via ASP, podemos citar: Programação em VBScript ou JScript Acesso à banco de dados Sessões (persistência de informações no servidor) ASP surgiu juntamente com o lançamento do Internet Information Server 3.0. Esta é uma solução Microsoft, que exige que o seu servidor precisa rodar um sistema operacional da Microsoft (Windows 95 ou NT). Os seguintes servidores suportam o uso de páginas ASP: Microsoft Internet Information Server versão 3.0 no Windows NT Server Microsoft Peer Web Services versão 3.0 no Windows NT Workstation Microsoft Personal Web Server no Windows 95 ou Windows 98 A grande vantagem, porém, é que existe esta exigência apenas do lado do servidor. No lado do cliente, você pode utilizar qualquer browser, mesmo os que não suportam VBScript (como os da Netscape). 88

89 Vantagens do ASP Todos os browser suportam ASP. Isto acontece pelo fato das páginas ASP serem processadas pelo servidor. O que o cliente recebe é somente código HTML padrão. O ASP possui uma Independência do browser, podendo rodar páginas complexas no servidor e enviar somente os resultados para o cliente. As páginas ASP são capazes de guardar o estados, durante a execução de uma aplicação ASP podem armazenar dados que são mantidos durante toda uma sessão. Desta forma, um usuário pode fornecer seu nome somente uma vez em uma página e as demais páginas podem obter este dado automaticamente. Este recurso é ideal para aplicações de venda pela Internet. Uma aplicação ASP pode ser usada com qualquer banco de dados compatível com ODBC. Isto inclui dados do Access, Microsoft SQL Server, Oracle, Sybase, Informix, DB2, entre outros, além do que permitem visualizar, atualizar e adicionar informações nos servidores SQL O recurso de segurança do ASP é parte integrante do IIS (Internet Information Server), que tem sua segurança integrada com o Windows NT Server. É fácil restringir o acesso a páginas ASP usando os esquemas de autenticação do IIS (senha básica da Web, senha do NT ou certificados de cliente). E ainda é possível dar segurança aos dados transmitidos usando SSL. Como o Servidor retorna somente o resultado html, o código fonte (lógica) fica preservado. ASP lhe dá todos os recursos de aplicações CGI de uma forma mais fácil e mais robusta. Com ASP, é bem mais fácil criar conexões entre o browser e os dados em formatos normalmente incompatíveis com HTML, como bancos de dados. ASP é mais robusto por não criar um processo no servidor para cada 89

90 pedido do usuário, como acontece com o CGI. Usando ASP ao invés de CGI, um servidor pode atender a um grande número de pedidos de usuários de forma mais rápida e usando menos memória. Além disso, criar páginas ASP é em geral muito mais fácil do que criar aplicações CGI. Quanto a linguagens script há suporte nativo para JScript (o JavaScript da Microsoft) e VBScript. Existem plug-ins ActiveX para dar suporte para outras linguagens como REXX, PERL, and Python Servidor O computador que hospedará as páginas deverá rodar Windows NT Server, Windows NT Workstation, Windows 95 ou Windows 98. Portanto deve estar instalado o Microsoft Internet Information Server (IIS), o Peer Web Services (PWS) ou o Personal Web Server (PWS, também) instalado neste computador. O Windows NT 4.0 vem com a versão 2.0 do IIS, que não é suficiente. A partir de um Windows NT Server com o IIS3 ou IIS4 (Internet Information Server) instalado, é possível rodar códigos que geram páginas HTML dinamicamente, e então, mandálas para o Browser. Assim sendo, sempre que uma página ASP for requisitada pelo Browser, esta página será executada pelo servidor, e a partir daí, será gerada uma página HTML, a qual será enviada para o Browser que a requisitou. É possível então, a partir de uma única rotina, gerar uma página HTML contendo os registros,de um banco de dados. Detalhando um pouco mais, um usuário qualquer entra na página principal da agenda virtual da sua empresa. Nesta página existem links para todas as letras do alfabeto e para todas as cidades listadas na agenda. Esse usuário clica no link na letra A (poderia ser de qualquer outra letra), e então uma página ASP (uma rotina ASP) é acionada no servidor. O servidor por sua vez, vai ler e executar esta página, o que significa que, em primeiro lugar, o servidor abrirá o banco de dados, ai então, fará uma consulta a este banco de dados requisitando todos os registros 90

91 cujo nome comece com a letra A. Aí então o servidor cria uma página HTML contendo todos esses registros numa tabela Banco de Dados A linguagem ASP não serve apenas para consultas a banco de dados. Serve também para envio e recebimento de correio eletrônico via páginas HTML, para criação rotinas de propaganda rotativa, para identificação e autenticação de usuários, para leitura de arquivos texto e uma infinidade de outras aplicações. Se você pretende usar os recursos de acesso a bancos de dados, certifique se os dados estão acessíveis através de ODBC. Você precisará de um driver de ODBC instalado e funcionando no servidor. Se você optou por usar o Access, instale uma versão 7.0 (95) ou superior no Servidor. Isto garantirá a presença do driver ODBC e facilitará a criação dos seus bancos de dados. Se você preferir utilizar o SQL Server, garanta que o driver ODBC está instalado. Para usar os recursos de acesso a bancos de dados, deve estar configurada uma "Fonte de Dados" ODBC para o banco de dados. Isto é feito usando a opção "ODBC" do "Painel de Controle" do Windows. Se for usar o SQL Server, o usuário devera ter direito de acesso ao banco de dados VBScript e ASP A linguagem ASP é, na verdade, uma junção de programação em VBScript e Objetos ActiveX. VBScript é uma linguagem criada a partir do Visual Basic, mas com algumas limitações, por motivos de segurança. 91

92 Objetos ActiveX são objetos, ou melhor, funções prontas, já existentes no servidor. Essas funções captam os parâmetros de entrada dos dados, manipula-os de acordo a sua função e então os envia para a saída. Um exemplo de ActiveX é o Objeto ASPMail, o qual capta os dados de entrada (nome, , corpo da mensagem, etc), cria um com esses dados e depois envia o . A linguagem ASP tem uma estrutura muito bem elaborada, uma vez que ela pode ser implementada com os chamados Objetos. A linguagem ASP, além de trazer todo o poder do VBScript para a página HTML, traz ainda o poder dos Componentes ActiveX e dos Objetos. Os componentes ActiveX, simplificando bastante, são bibliotecas que contém vários objetos reunidos. Principalmente objetos que necessitam de instâncias para funcionar, o que significa que, por exemplo, cada acesso a um banco de dados deve ocupar uma instância daquele objeto.objetos são add-ons que dão a capacidade de captura e transmissão de variáveis entre as páginas, de criação e manipulação de cookies, sessions e publicidade rotativa nos sites, a capacidade de captura de informações sobre o Browser do usuário e sobre o servidor, de consulta, alteração e adição de dados em Bando de Dados, de envio e recebimento de s via página WEB, e uma infinidade outras funções. Esses objetos podem ser criados por outras empresas, implementando assim o poder da linguagem ASP. Uma vez que a linguagem ASP é usada apenas em alguns "pedaços" de páginas HTML, existe um símbolo para diferenciar o que é programação HTML e o que é programação ASP: <% código asp %> Abaixo segue a simbologia e as convenções de uso da linguagem ASP. <% -> início do trecho de código ASP %> -> final do trecho de código ASP 92

93 Abaixo um exemplo de um código que exibe a frase Ola Mundo!!! de três modos diferentes. O primeiro, usando apenas programação HTML, o segundo, usando apenas comandos ASP, e o terceiro, é uma mistura de código HTML com ASP. <html> <head><title>como funciona o ASP?</title></head> <body bgcolor="#ffffff"> <p> Ola Mundo primeiro esse!!!</p> <% response.write "<p> Ola Mundo depois esse!!!</p>" %> <p> <%="Ola Mundo final!!!"%> </p> </body></html> Como se percebe, não é necessário construir a página inteira com códigos ASP. É possível criar páginas onde há a mesclagem das duas programações. A única exigência é que, a partir do momento em que o código da página tenha pelo menos uma linha na linguagem ASP, a terminação do nome da página deve ser.asp. Somente assim o servidor poderá distinguir quais páginas devem ser executadas antes de enviar ao Browser 93

94 2.6. Linguagem de Script Java Script O que é JavaScript? Conforme Torres (1997), e Alves (2004) JavaScript é uma nova linguagem para criação de Home-Pages. Funções escritas em JavaScript podem ser embutidas dentro de seu documento HTML. Com JavaScript temos muitas possibilidades para "incrementar" documentos HTML com elementos interessantes. Por exemplo, responder facilmente a eventos iniciados pelo usuário. Alguns efeitos que são possíveis agora com JavaScript antes eram possíveis apenas com CGI. Assim você pode criar na verdade sofisticadas páginas com a ajuda do JavaScript Diferença entre JavaScript e Java Apesar dos nomes bem parecidos, Java não é o mesmo que JavaScript! Estas são duas técnicas diferentes de programação na Internet. Java é uma linguagem de programação. JavaScript é uma linguagem de hiper-texto. A diferença é que realmente podemos criar programas em Java. Mas muitas vezes precisamos apenas criar um efeito bonito sem ter que se incomodar com programação. A solução então é JavaScript, pois é fácil de entender e usar. Podemos dizer que JavaScript é mais uma extensão do HTML do que uma linguagem de programação propriamente dita 94

95 Executando o JavaScript Em documentos HTML, a utilização da linguagem JavaScript, se dá sob a forma de funções (applets), as quais são chamadas em determinadas situações ou em resposta a determinados eventos, estas funções podem estar localizadas em qualquer parte do código HTML, a única restrição é que devem começar com a declaração <SCRIPT> e terminar com o respectivo </SCRIPT>, por convenção costuma-se colocar todas as funções no início do documento (entre as TAGs <HEAD> e </HEAD>, isso para garantir que o código JavaScript seja carregado antes que o usuário interaja com a Home Page), ou seja, antes do <BODY>. Exemplo: <HTML> <HEAD> <TITLE>Exemplo</TITLE> Se houvesse alguma função seria bom declará-la aqui!!! </HEAD> <BODY> Esta linha está escrita em HTML <SCRIPT>document.write("Aqui já é JavaScript");</SCRIPT> Voltamos para o HTML </BODY> </HTML> 95

96 Este exemplo mostraria o seguinte: Esta é uma linha escrita em HTML Aqui já é JavaScript Voltamos para o HTML Este exemplo realmente não é dos mais úteis - poderia ter sido escrito mais facilmente em HTML puro. O objetivo foi apenas demonstrar o uso das TAGs <SCRIPT> e </SCRIPT>, tudo que está entre essas TAGs é encarado como JavaScript. É importante ressaltar, que como no C++, as linhas sejam terminadas com; (ponto e virgula) a menos que a próxima instrução seja um ELSE e se você precisar escrever mais de uma linha para executar uma condição seja ela em uma estrutura For, If ou While, este bloco de instruções deve estar entre { } (chaves). Inclusive a definição de funções segue este modelo, ou seja, todo o código da função deve estar limitado por { (no início) e } (no final) Suporte a JavaScript Um browser que não suporta JavaScript, não conhece a TAG <SCRIPT>. Ele ignora a TAG e logicamente todo o código que estiver sendo limitado por ela, mostrando todo o código na tela como se fosse um simples texto HTML. Deste modo o usuário veria o código JavaScript do programa dentro do documento HTML e como certamente essa não deve ser a intenção, existe um meio de esconder o código JavaScript dos browsers que não conhecem esta linguagem, basta utilizar os comentários HTML <!-- e -->. O código do nosso exemplo anterior ficaria assim: 96

97 <HTML> <HEAD> <TITLE>Exemplo</TITLE> Se houvesse alguma função seria bom declará-la aqui!!! </HEAD> <BODY> Esta linha está escrita em HTML <SCRIPT> <!-- Esconde o código JavaScript dos browsers mais antigos document.write("aqui já é JavaScript"); // --> </SCRIPT> Voltamos para o HTML </BODY> </HTML> Se o browser não suportar JavaScript e não inserirmos o comentário HTML, o que apareceria na tela seria: Esta é uma linha escrita em HTML document.write("aqui já é JavaScript"); Voltamos para o HTML Note que esse artifício não esconde completamente o código JavaScript, o que ele faz é prevenir que o código seja mostrado por browsers mais antigos, porém o usuário tem acesso a todas as informações do código fonte de sua Home Page (tanto HTML, quanto JavaScript), para isso ele só precisa escolher a opção Document Source, no menu View. 97

98 Detectar a versão do Browser Este script usa as variáveis do sistema navigator.appname e navigator.appversion para saber qual o NAVEGADOR e a VERSÃO que estão sendo usados pela pessoa que visita uma página. Depois ela usa o comando document.write para exibir na tela estas informações apenas para ilustrar o exemplo, mas na pratica a intenção seria usar estas informações para direcionar o usuário para uma página compatível com o browser que ele estiver usando. <html> <head> <title>javascript - Versão do Navegador</title> <script> function navegador() {navegador_usado = navigator.appname versao_navegador = navigator.appversion document.write("você Está Navegando No "+navegador_usado+" Versão "+versao_navegador+"")} </script> </head> <body text="#000000" bgcolor="#ffffff" link="#0000ff" vlink= "#800080" alink="#ff0000"> <center> <font color="#ff0000" FACE="arial"><b> <font size=+2>este script é mais um exemplo da Monografia do Jayme.<br><br></font> <font size=+1>nome e versão do seu Browser:</font></b> </font><br><br> <script>navegador()</script> </center> </body> </html> 98

99 A Figura 24 abaixo mostra como ficaria o código mostrado anteriormente. Figura 24 Versão do Browser em JavaScript Criar janelas é uma das grandes características do JavaScript. Você pode construir novas janelas, carregar documentos HTML, navegar pela Internet, tudo isso através do JavaScript. Podemos mostrar abrir uma janela e escrever qualquer coisa nela. Como podemos ver no exemplo abaixo, clicando no botão da Figura 25 chamamos a função WinOpen() que cria uma nova janela ao chamar o método open conforme Figura 26. Observando o código abaixo vemos que as primeiras aspas contêm a URL da página. Ali você pode colocar o endereço de um documento HTML que você quer que seja carregado. Se você as deixa em 99

100 branco, nenhuma página é carregada e se pode escrever nela com JavaScript! As aspas seguintes especificam o nome da janela. Ali você pode escrever quase tudo <html> <head> <script language="javascript"> function WinOpen() { msg=open(" ","DisplayWindow", "toolbar=no,directories=no,menubar=no"); msg.document.write("<head><title>monografia DO JAYME</TITLE></HEAD>"); msg.document.write("<center><h1><b>mais um exemplo do JavaScript!</B></h1></CENTER></Br></Br></Br><CENTER><h2><B>M ONOGRAFIA DO JAYME</B></h2></CENTER>"); } </script> </head> <body> <form> <P>Exemplo de como criar janelas no JavaScript.</br></br> <input type="button" name="button1" value="aperte-me" onclick="winopen()"> </br></br>uma das grandes características da linguagem.</p> </body> </html> 100

101 Figura 25 Cria uma Janela JavaScript Figura 26 Visão da Janela JavaScript 101

102 Outras aplicações para o Java Script O Javascript é uma liguagem scripting que permita que você adicione a programação real a seus webpages. Você pode criar pequenos processos ou aplicações com o Javascript, como uma calculadora ou algum tipo de joguinho. Entretanto, há usos mais sérios para o Javascript: Detecção do browser: que detecta o browser usado por um visitante em sua página. Dependendo do browser, uma outra página projetada especificamente para esse browser pode então ser carregada. Os Cookies que armazenam a informação no computador do visitante, recuperando então esta informação automaticamente quando da próxima vez o usuário visita sua página. Esta técnica é chamada Cookies. Controle dos browsers que abrem páginas nas janelas customizadas, onde você especifica se as teclas do browser, linha do menu, linha de status ou o que quer que deva estar presente. Validação dos campos dos formulários que são examinados na entrada dos dado, antes de submeter um formulário. Um exemplo seria validação do para verificar se no local do endereço de foi caso contrário o endereço não é válido. 102

103 WMLScript O que é o WMLScritp: O WMLScript é uma linguagem de script leve e procedural, segundo Forta (2001), projetada para sofisticar e realçar as facilidades de navegação e apresentação do WML, bem como proporcionar aos terminais de acesso sem fio capacidade de servir conteúdo dinâmico aos assinantes com um mínimo de interação sem fio. Usando WMLScript, as seleções e entradas do usuário podem ser retidas e distribuídas entre os cartões já carregados, eliminando então, transações excessivas com os servidores remotos. Claro que com limitações para o usuário. Dependendo da capacidade de memória do cliente, pode ser necessário dividir vários cartões e vários Decks para evitar que um deck fique demasiadamente grande. É bom mencionar que quando o WML e o WMLScript trabalham juntos, eles compartilham as mesmas variáveis. O WML trabalha com entrada e saída de dados, exibição de conteúdo e processamento de eventos, mas não tem recursos computacionais elaborados. O WMLScript preenche este vazio. Ele pode definir funções que podem ser chamadas a partir de programas WML. Dentro destas funções pode-se manipular instruções de atribuição, chamadas de funções, construções de laços, tipos de dados básicos fracamente tipados e um conjunto completo e poderoso de operadores lógicos, aritméticos e de comparação. 103

104 O que pode ser feito com WMLScript: Dar suporte a comportamento da Standardized Generalized Markup Language(UI) de modo mais avançado; Adicionar inteligência ao cliente; Prover um mecanismo conveniente de acesso aos dispositivos e seus periféricos; Verificar a validade dos dados de entrada por parte do usuário; Manejar mediante código funções próprias do terminal, como realizar chamadas deste telefone, enviar mensagens e agregar um número de telefone a uma lista de endereços; Realizar alertas, mensagens de erro, confirmações, etc; Reduzir a necessidade de idas e voltas ao servidor. Ainda segundo Forta (2001)A linguagem é fracamente baseada na linguagem de script da Internet o JavaScript, pois foi refinada para dispositivos de banda estreita. Os tipos de dados suportados pelo WMLScript são lógico, inteiro, ponto flutuante cadeia de caracteres e inválido, e a própria linguagem tenta fazer a conversão automaticamente entre os tipos. A linguagem suporta também várias categorias de operações, como: atribuições, aritméticas, lógicas e comparações, e vários tipos de funções, como locais, externas e de bibliotecas, além de definir uma série de bibliotecas incluindo uma para linguagem, uma para cadeia de caracteres, uma para navegador, uma para ponto flutuante e uma para diálogo. 104

105 Principais características da linguagem WMLScript: O WMLScript foi criado para ser semelhante ao ECMAScript (desenvolvido pela European Computer Manufacturers Association) que foi a formalização do JavaScript, o que o torna bastante fácil de aprender e usar. Lógica Procedural: o WML proporciona comportamento dinâmico simples usando eventos, tarefas e substituição de variáveis, mas suas ações são limitadas por falta de lógica procedural. Implementação compilada pelos gateways em uma representação binária compacta, apropriada para redes sem fio e eficiente para ser interpretada por terminais sem fio. A linguagem é totalmente integrada com o navegador WML, o que permite ao desenvolvedor construir serviços usando ambas as tecnologias, escolhendo a mais apropriada para a tarefa. Suporte internacional. A linguagem pode ser usada para expor e estender a funcionalidade do dispositivo sem mudanças no software deste. 105

106 Exemplo de programa escrito em WMLScript: extern function submit() { var a = Lang.parseFloat(WMLBrowser.getVar("valor")); var op = WMLBrowser.getVar("opcao"); var c = invalid; if (op == "reais") { c = a / 3; } else if (op == "dolares") { c = a * 3; } WMLBrowser.setVar("resultado", String.toString(c)); WMLBrowser.go("exercicio4.wml#Resultado"); } Este programa é constituído de apenas uma função responsável por fazer a conversão dólar/reais. As variáveis a e op declaradas nas linhas 3 e 4, são capazes de capturar os valores das variáveis valor e opção utilizadas pelo documento WML. Entre as linhas sete e 14 são feitos os cálculos propriamente ditos da conversão. Na linha 15 a variável resultado recebe o valor encontrado após a conversão e na última linha de código existe uma instrução para voltar ao programa WML. 106

107 2.7. Banco de Dados MySQL O que é MySQL? Segundo Anselmo (2000) e Parra (2004), o MySQL é um sistema de banco de dados rápido e fácil, que consegue interagir com diversas linguagens de programação Web, tais como ASP e PHP. O programa MySQL é tido como um servidor robusto de bancos de dados SQL (Structured Query Language - Linguagem Estruturada para Pesquisas) muito rápido, multi-tarefas e multiusuários. O Servidor MySQL pode ser usado em sistemas de produção com alta carga e missão crítica bem como pode ser embutido em programas de uso em massa. MySQL é uma marca registrada da MySQL AB, além de ser gratuito e de código aberto. É um sistema de gerenciamento de bancos de dados relacional. Um banco de dados relacional armazena dados em tabelas separadas em vez de colocar todos os dados em um só local. Isso proporciona velocidade e flexibilidade. O MySQL é um programa interativo que permite você conectar com um servidor de MySQL, perguntar e ver os resultados. MySQL utilizado em modo de lote é quando colocamos perguntas em um arquivo de antemão, e o MySQL executa os conteúdos do arquivo. Para ver uma lista de opções fornecidas pelo MySQL, devemos abrí-lo com -help: shell> mysql --help Para conectar a um servidor, usualmente necessitaremos fornecer um usuário ao MySQL e, mais provavelmente, uma senha. Se o servidor estiver numa 107

108 máquina que não tem onde se registrar, também necessitaremos especificar um hostname. shell> mysql -h host -u user -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 459 to server version: a-log mysql> O prompt diz que está pronto para receber os comandos. Algumas instalações do MySQL permitem aos usuários conectar com o servidor e continuar como anfitrião local. Quando é este o caso podemos nos conectar com o servidor ao abrir o MySQL sem quaisquer opções: shell> mysql Depois de conectado, pode-se desconectar a qualquer momento, é só digitar QUIT no mysql> prompt: mysql> QUIT Bye Podemos também, nos desconectar digitando o comando control-d Como funciona o MySQL? O MySQL funciona através de querys para a execução de comandos, como por exemplo: CREATE DATABASE (criar Database, onde ficam todas as tabelas que você cria), CREATE TABLE (criar tabela), INSERT INTO (inserir registro em uma tabela) e UPDATE (Updade dos dados de um registro). 108

109 Perguntando (querys): Neste ponto, é mais importante descobrir como emitir perguntas do que criar tabelas, carregar e recuperar dados. Esta seção descreve os princípios básicos de como entrar com os comandos, usando várias perguntas. Para ilustrar as característica do programa, podemos iniciar com um comando simples do MySQL. que pergunta ao servidor o número de sua versão e a data corrente. mysql> SELECT VERSION(), CURRENT_DATE; version() CURRENT_DATE a-log row in set (0.01 sec) mysql> Esta pergunta ilustra várias coisas sobre MySQL: Um comando normalmente consiste de uma declaração do SQL seguida por um ponto-e-vírgula, há algumas exceções onde um ponto-e-vírgula não é necessário, QUIT, mencionado anteriormente, é um deles. Quando emitimos um comando, MySQL envia ao servidor para execução e exibe os resultados, então exibe mysql>, para indicar que está pronto para outro comando. 109

110 MySQL exibe a saída da pergunta como uma tabela (filas e colunas). A primeira fila contém os rótulos das colunas. As demais filas são os resultados da pergunta. Normalmente, os rótulos da coluna são os nomes das colunas que vêm das tabelas do banco de dados. Se você está recuperando o valor de uma expressão, em vez de uma coluna de tabela, MySQL rotula a coluna usando a expressão que foi usada. MySQL mostra quantas filas foram exibidas, e quanto tempo à pergunta levou para ser executada, dando uma idéia rude de performance do servidor. Esses valores são imprecisos porque eles representam tempo de relógio de parede (não CPU ou tempo de máquina), e porque eles são afetados por certos tipos de fatores. Palavras chaves podem ser inseridas em qualquer caixa de entrada. As seguintes perguntas são equivalentes: mysql> SELECT VERSION(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt version(), current_date; Além das Querys apresentadas acima, existe a possibilidade de formar várias outras por meio de agrupamento de palavras reservadas do programa 110

111 O uso do MySQL com linguagens de programação Cada linguagem de programação tem suas peculiaridades, por isso não podemos definir como usá-la de uma maneira geral, mas cada linguagem possui um método de você executar uma query no Mysql com suas funções, as quais variam, de acordo com a linguagem Acessando o MySQL via PHP Estabelecendo conexões Para acessar bases de dados num servidor mysql, é necessário antes estabelecer uma conexão. Para isso, deve ser utilizado o comando mysql_connect, ou o mysql_pconnect. A diferença entre os dois comandos é que o mysql_pconnect estabelece uma conexão permanente, ou seja, que não é encerrada ao final da execução do script. As assinaturas dos dois comandos são semelhantes, como pode ser verificado a seguir: int mysql_connect(string [host[:porta]], string [login], string [senha] ); int mysql_pconnect(string [host[:porta]], string [login], string [senha] ); O valor de retorno é um inteiro que identifica a conexão, ou falso se a conexão falhar. Antes de tentar estabelecer uma conexão, o interpretador PHP verifica se já existe uma conexão estabelecida com o mesmo host, o mesmo login e a mesma senha. Se existir, o identificador desta conexão é retornado. Senão, uma nova conexão é criada. 111

112 Uma conexão estabelecida com o comando mysql_connect é encerrada ao final da execução do script. Para encerrá la antes disso deve ser utilizado o comando mysql_close, que tem a seguinte assinatura: int mysql_close(int [identificador da conexão] ); encerrada. Se o identificador não for fornecido, a última conexão estabelecida será IMPORTANTE: o comando mysql_close não encerra conexões estabelecidas com o comando mysql_pconnect Selecionando a base de dados Depois de estabelecida a conexão, é preciso selecionar a base de dados a ser utilizada, através do comando: mysql_select_db, que segue o seguinte modelo: int mysql_select_db(string base, int [conexao] ); Novamente, se o identificador da conexão não for fornecido, a última conexão estabelecida será utilizada Realizando consultas Para executar consultas SQL no mysql, utiliza se o comando mysql_query, que tem a seguinte assinatura: int mysql_query(string query, int [conexao] ); 112

113 Onde query é a expressão SQL a ser executada, sem o ponto e vírgula no final, e conexão é o identificador da conexão a ser utilizada. A consulta será executada na base de dados selecionada pelo comando mysql_select_db. É bom lembrar que uma consulta não significa apenas um comando SELECT. A consulta pode conter qualquer comando SQL aceito pelo banco. O valor de retorno é falso se a expressão SQL for incorreta, e diferente de zero se for correta. No caso de uma expressão SELECT, as linhas retornadas são armazenadas numa memória de resultados, e o valor de retorno é o identificador do resultado. Alguns comandos podem ser realizados com esse resultado: Apagando o resultado int mysql_free_result(int result); O comando mysql_free result deve ser utilizado para apagar da memória o resultado indicado Número de linhas int mysql_num_rows(int result); O comando mysql_num_rows retorna o número de linhas contidas num resultado Utilizando os resultados Existem diversas maneiras de ler os resultados de uma query SELECT. As mais comuns serão vistas a seguir: 113

114 int mysql_result(int result, int linha, mixed [campo] ); Retorna o conteúdo de uma célula da tabela de resultados. result é o identificador do resultado; linha é o número da linha, iniciado por zero; campo é uma string com o nome do campo, ou um número correspondente ao número da coluna. Se foi utilizado um alias na consulta, este deve ser utilizado no comando mysql_result. Este comando deve ser utilizado apenas para resultados pequenos. Quando o volume de dados for maior, é recomendado utilizar um dos métodos a seguir: array mysql_fetch_array(int result); Lê uma linha do resultado e devolve um array, cujos índices são os nomes dos campos. A execução seguinte do mesmo comando lerá a próxima linha, até chegar ao final do resultado. array mysql_fetch_row(int result); Semelhante ao comando anterior, com a diferença que os índices do array são numéricos, iniciando pelo zero (zero) Alterando o ponteiro de um resultado int mysql_data_seek(int result, int numero); Cada resultado possui um ponteiro, que indica qual será a próxima linha lida com o comando mysql_fetch_row (ou mysql_fetch_array). Para alterar a posição indicada por esse ponteiro deve ser utilizada a função mysql_data_seek, sendo que o número da primeira linha de um resultado é zero. 114

115 2.8. Servidores WEB Personal Web Server - PWS O que é PWS Segundo Hokama (2003), o Personal Web Server é um servidor WWW gratuito, da Microsoft, que roda em computadores com sistema operacional Windows 95 e 98. Para quem desenvolve sites, é muito importante trabalharmos primeiro "localmente" e ver nossas páginas no nosso próprio micro, antes de enviá-la para a Internet. Com o Personal Web Server (ou simplesmente "PWS"), isso fica bem mais fácil Suporte do Servidor PWS. Ele é um servidor WWW leve, feito sob medida para instalações pequenas e suporta as seguintes aplicações: (CGI)" ASP PHP Server Side Includes (SSI) Controles ActiveX Roda scripts "Internet Server API (ISAPI)" e "Common Gateway Interface Acesso à banco de dados via ODBC Secure Sockets Layer (SSL) 115

116 Requisitos para instalação O computador onde o Personal Web Server vai ser instalado e qualquer cliente que quiser acessá-lo via rede, deve ter o protocolo TCP/IP instalado. Este protocolo vem com sistema operacional Windows. O adaptador onde TCP/IP está instalado não é importante por enquanto. O que interessa é que este protocolo deve estar na lista. Se não estiver, deve ser adicionado por meio de uma instalação. Quanto ao hardware, pode ser instalado em uma maquina modesta (pressupondo que esta instalação seria usada para teste), está configuração básica poderia ser um Pentium clássico de 200Mhz, com 64 MB de memória RAM e um espaço mínimo no HD. No Apêndice I fazemos uma apresentação com maiores detalhes da instalação e configuração do Personal Web Server. 116

117 Tomcat O Software Tomcat Segundo Portaljava (2004) o software Tomcat, desenvolvido pela Fundação Apache, permite a execução de aplicações para web. Sua principal característica técnica é estar centrada na linguagem de programação Java, mais especificamente nas tecnologias de Servlets e de Java Server Pages (JSP). Esta abordagem rivaliza, por exemplo, com a usada pela Microsoft com o ASP (baseada na linguagem Visual Basic). A Fundação Apache, mais conhecida pelo seu servidor web de mesmo nome, permite, como no caso do servidor Apache, que o Tomcat seja usado livremente, seja para fins comerciais ou não. O Tomcat está escrito em Java e, por isso, necessita que a versão Java 2 Standard Edition (J2SE) esteja instalada no mesmo computador onde ele será executado. No entanto, não basta ter a versão runtime de Java instalada, pois o Tomcat necessita compilar (e não apenas executar) programas escritos em Java. O projeto Jakarta da Fundação Apache, do qual o subprojeto Tomcat é o representante mais ilustre, tem como objetivo o desenvolvimento de soluções código aberto baseadas na plataforma Java Linguagens: Java, HTML e XML O desenvolvimento de uma típica aplicação web a ser executada pelo Tomcat implica no domínio das seguintes linguagens: 117

118 Java : Todos os algoritmos da aplicação devem ser escritos em Java. HTML: A interface da aplicação, isto é, aquilo que o usuário vê em sua tela, é construída na forma de páginas escrita em HTML e visualizada através do browser do usuário. Esta tarefa normalmente é delegada ao web designer. XML : Qualquer aspecto relacionado à configuração da aplicação deve ser expresso por meio da linguagem XML em um arquivo chamado web.xml. Os dados de configuração podem ser usados tanto pelo Tomcat como pela aplicação Servlets e Java Server Pages Um servlet é uma classe escrita em Java cujos objetos têm a finalidade de gerar documentos codificados em HTML. Esta característica dos servlets implica em que um web designer precisa conhecer Java para poder construir as páginas de uma aplicação. Esta limitação (quantos web designers conhecem Java?) é superada pela tecnologia de JSP. Uma página escrita em JSP (arquivos com extensão.jsp) é uma página escrita em HTML e que contém pequenos fragmentos de código Java e/ou tags especiais (definidos na especificação JSP). Com estes tags, o web designer não necessita escrever uma única linha de código Java. Ao contrário do que acontece com a tecnologia ASP, o analista/programador pode criar (em Java) os seus próprios tags customizados para a aplicação em desenvolvimento O servidor Tomcat O servidor Tomcat tem a habilidade de converter automaticamente qualquer página JSP em um servlet equivalente. Em outras palavras, o Tomcat é capaz de criar código fonte Java a partir de um documento HTML. 118

119 Ponto de vista técnico Do ponto de vista técnico, Tomcat é a implementação referência das especificações das tecnologias de servlets e JSP criadas pela Sun. A versão 4.0.x do Tomcat implementa as especificações Servlet 2.3 e JSP 1.2 (que são as mais recentes). Várias empresas, como Borland, IBM, BEA, etc., também oferecem suas implementações das duas especificações da Sun Ponto de vista operacional Do ponto de vista operacional, a principal finalidade das tecnologias de servlets e JSP é permitir a criação dinâmica de conteúdos. A dinâmica, em um cenário típico, funciona do seguinte modo: Um usuário, no seu browser, solicita algum documento (indicado por um URL) a um servidor Tomcat; O servidor, ao receber uma solicitação (URL) do usuário, executa o servlet ou JSP correspondente aquele URL (a associação entre URL e servlet ou JSP é especificada no arquivo web.xml). O conteúdo gerado pelo servlet ou JSP, normalmente um documento no formato HTML, é uma combinação de tags HTML (incluídos explicitamente) e o resultado de algum processamento (por exemplo, algoritmo Java e/ou acesso a um banco de dados). O usuário recebe o conteúdo gerado pelo servidor Tomcat e o exibe através do seu browser. No Apêndice II fazemos uma apresentação com maiores detalhes da instalação e configuração do Servidor Tomcat. 119

120 Apache/PHP em Windows Demonstrando o Apache O Apache é um servidor Web extremamente configurável, robusto e de alta performance desenvolvido por uma equipe de voluntários (conhecida como Apache Group), buscando criar um servidor web com muitos recursos e com código fonte disponível gratuitamente via Internet em juntos. O Apache é mais usado que todos os outros servidores web do mundo Hardware necessário A máquina mínima para se rodar um servidor Apache para atender a uma rede padrão 10MB/s é um Pentium 90MHz, 24MB de memória RAM, um HD com um bom desempenho e espaço em disco de acordo com o tamanho projetado de seu servidor web (considerando seu crescimento) Características técnicas Podemos citar ainda uma lista de características técnicas que o Apache apresenta, como: Suporte a scripts CGI usando linguagens como PHP, Perl, ASP, Shell Script, etc; Módulos DSO (Dynamic Shared Objects) permitem adicionar/remover funcionalidades e recursos sem necessidade de recompilação do programa; 120

121 Autenticação, requerendo um nome de usuário e senha válidos para acesso a alguma página/sub-diretório/arquivo (suportando criptografia via Crypto e MD5). Suporte à autorização de acesso, podendo ser especificadas restrições de acesso separadamente para cada endereço/arquivo/diretório acessado no servidor; Suporte a virtual hosting, por nome ou endereço IP: é possível servir duas ou mais páginas com endereços/portas diferentes através do mesmo processo, ou usar mais de um processo para controlar mais de um endereço; Suporte a servidor proxy FTP e HTTP, com limite de acesso, caching (todas flexivelmente configuráveis). Suporte a proxy e redirecionamentos baseados em URLs para endereços internos; Suporte a criptografia via SSL, certificados digitais; Negociação de conteúdo, permitindo a exibição da página Web no idioma. requisitado pelo Cliente Navegador. Suporte a tipos MIME; Personalização de logs. No Apêndice III fazemos uma apresentação com maiores detalhes da instalação e configuração do Servidor Apache. 121

122 3. Metodologia ( Materiais e Métodos ) 3.1. Métodos Primeiramente foi feito um estudo das tecnologias que dão suporte às aplicações WAP, WML e WMLScript e um levantamentos das referências para os dispositivos móveis, analisando o que já havia sido feito e o que foi usado como ferramenta. Houve necessidade também de avaliar como alguns aplicativos funcionavam. Estudo da comunicação entre os telefones celulares, PDAs (Personal Digital Assistant) com programas servidores. Comparações de ferramentas para implementação de um ambiente para hospedar aplicações wireless. Investigação de tecnologias relacionadas para desenvolvimento de aplicações WML/WAP Estudos e levantamento das ferramentas que poderiam auxiliar no desenvolvimento de aplicações para os dispositivos móveis. Concepção de um estudo de caso onde poderíamos avaliar de forma mais ampla as possíveis variáveis de utilização da tecnologia dentro de um único sistema, onde deveriam ser agregados as linguagens pretendidas junto com banco de dados formando um único sistema wireless e sistema WEB. Instalação dos software necessários para construção e teste do aplicativo. Desenvolvimento de uma pequena aplicação Web 122

123 Seleção do ambiente para a implementação do estudo de caso. Implementação, teste e validação do estudo de caso e. Elaboração e desenvolvimento de estudo de caso usando tecnologia WML/WAP Realização de testes e avaliação de resultados em diversos emuladores Apresentação dos resultados e discussões Materiais Software Para o desenvolvimento dos estudos foram utilizados vários softwares descritos abaixo, dois micros e um telefone celular. Navegadores Mozilla Opera 7.53 Microsoft Internet Explorer 6.0 Editores textos Macromedia Dreamweaver 6.0 Microsoft Notepad 5.1 Microsoft Word 2000 Editores de Imagens Advanced Batch converter

124 Simuladores OpenWave SDK 6.22 WinWap SmartPhone Browser V 1.2 Nokia 7210 SDK v. 1.0 Nokia 5100 SDK v. 1.0 Nokia 7210 SDK v. 1.0 Nokia 6230 S40 SDK DP 2.0 Nokia Mobile Browser 4.0 NMB 4.0 Nokia WAP Gateway Simulator V 4.0 Nokia Mobile Internet ToolKit v 4.0 may/2003 Servidores Apache PWS Tomcat Linguagem de Programação, Marcação e Script. PHP Win32 ASP WML WMLScript JavaScript Banco de Dados MySQL win MySQL Front V 2.05 Java 2 Platform, Standard Edition (J2SE) Java 2 SDK, Standard Edition, v for Windows 124

125 Equipamentos Telefone celular Siemens GSM/GRPS modelo MC60 habilitado pela operadora local, Brasiltelecom. Esse aparelho serviu para os teste de campo. Um microcomputador AMD Athlon 1.1GHz com 256MB de memória RAM e 20GB.de disco rígido conectado na intranet do depto. de informática e limitado por um hub ao tráfego de 10mb/seg. trabalhando com sistema operacional Windows XP onde ficaram instalados os softwares para implementação, desenvolvimento e teste de avaliação/simulação dos estudos. Esse equipamento, serviu como base de desenvolvimento. Um microcomputador AMD K6 II 450MHz com 128 de memória RAM e 10GB.de disco rígido conectado na intranet do depto. de informática e limitado por um hub ao trafego de 10mb/seg. trabalhando com sistema operacional Windows 98 onde ficaram instalados os servidores de web Apache, PWS e banco de dados MySQL, para implementação, desenvolvimento e teste de avaliação/simulação dos estudos. Esse equipamento, serviu como apoio ao desenvolvimento. Um editor de WML e PHP para pequenas alterações nos softwares, também foi necessário instalar. 125

126 4. Tecnologias Envolvidas no Estudo de Caso Neste capítulo veremos quais as tecnologias que foram selecionadas para o desenvolvimento do Estudo de Caso Enquete On Line, e fazendo um comentário do porquê da escolha de cada uma delas Wireless Como nosso estudo de caso trata de uma aplicação wireless a qual é utilizada na comunicação (troca de informações) entre dispositivos móveis, tornase indispensável a utilização das tecnologias envolvidas como: WAP (wireless Application Protocol) por ter sido criado especificamente para ser utilizado em dispositivos sem fio é o mais eficiente protocolo para esse tipo de aplicação (Forta 2001). Linguagem de marcação WML, por ter sido criada para atender as necessidades dos dispositivos sem fios (Forta 2001). WMLScript por ser uma linguagem de Script projetada para facilitar a navegação e apresentação da WML, bem como proporcionar capacidade de servir conteúdos dinâmicos aos dispositivos wireless como o mínimo de interação (Forta 2001) Linguagem para web Para o desenvolvimento da estrutura WEB optamos pelo PHP (Hipertext Preprocessor) pelos seguintes motivos: segundo Ullman (2001): Uma linguagem fácil de aprender O código do PHP fica embutido dentro HTML É uma linguagem de script executada do lado do servidor. Código fonte aberto e gratuito. 126

127 Excelente velocidade de execução. Acesso nativo a vários bancos de dados. Multiplataforma, compatível com vários servidores web Servidor WEB Como servidor Web optamos pelo Apache. Segundo Shibayama D. (2005) é um servidor Web Alta performance com muitos recursos, além de: Alta performance com muitos recursos e com Código fonte disponível gratuitamente. Suporte a scripts CGI usando linguagens como PHP, e outras. Autenticação, requerendo um nome de usuário e senha válidos para acesso a alguma página/sub-diretório/arquivo Suporte à autorização de acesso. Suporte a servidor proxy FTP e HTTP. Negociação de conteúdo, permitindo a exibição da página Web no idioma requisitado pelo Cliente Navegador. Suporte a tipos MIME; Extremamente configurável e robusto Banco de dados Para o desenvolvimento optou-se pelo banco de dados MySQL, pois segundo Anselmo (2000): Utiliza linguagem SQL (structure Query language) para realizar operações no banco de dados. Suporta varias plataformas como win32 entre outras Suporta API (Application Program Interface) para linguagens como PHP entre outras. 127

128 Suporta múltiplos processos. Conexão com protocolo TCP/IP. Excelente velocidade de execução. Facilidade de uso e robustez. Open source. No próximo capítulo abordaremos como foi desenvolvido nosso estudo de caso Enquete On Line, mostrando os diagramas, e outros detalhes. 128

129 5. Desenvolvimento do Estudo de Caso Enquete on Line Neste capitulo vamos demonstrar como foi estruturado nosso estudo de caso, como e o que foi utilizado para sua criação Descrição do Sistema Enquete é uma forma de pesquisa que lançamos mão quando o objetivo é realizar uma pesquisa de opinião. O Sistema Enquete é uma aplicação que oferece soluções voltadas a pesquisa de opiniões integrando dispositivos wireless e internet, onde o controle pelo administrador é feito em tempo real Visão Geral do Sistema ENQUETE WEB WAP PAGINÁ PRINCIPAL PAGINÁ APRESENTAÇÃO OPÇÕES RESULTADO DISPONIBILIZA ENQUETE VOTA CADASTRA SOLICITA CONFIRMAÇÃO RESPOSTA FINALIZAÇÃO Figura 27 Visão Geral do Sistema 129

130 5.3. Diagrama de Use Case A Figura 28 mostra o diagrama de use case visão do Administrador do protótipo Enquete On Line, e abaixo apresenta suas funcionalidades. Excluir Enquete Ativar Enquete Cadastro Enquete Administrador Consultar Enquete Figura 28 Use Case visão do Administrador Funcionalidades do use case Administrador Use Case Descrição Cadastrar Enquete Adiciona uma nova Enquete Ativar Enquete Disponibiliza uma Enquete p/ resposta Excluir enquete Elimina uma Enquete do BD Consultar Enquete Consulta votos/opções da Enquete A Figura 29 mostra o diagrama de use case visão dos Usuários WEB do protótipo Enquete On Line, e abaixo apresenta suas funcionalidades. 130

131 Consultar Posição Usuario WEB Efetuar Votação Figura 29 Use Case visão dos Usuários WEB Funcionalidades do use case Usuários WEB Use Case Descrição Consultar posição Verifica posição de todas as opções da Enquete Votar votação Adiciona voto p/ uma opção da Enquete A Figura 30 mostra o diagrama de use case visão dos Usuários WAP do protótipo Enquete On Line, e abaixo apresenta suas funcionalidades. Receber Posição Usuario WAP Efetuar Votação Figura 30 Use Case visão dos Usuários WAP Funcionalidades do use case Usuários WAP Use Case Descrição Receber posição Recebe posição da opção votada na Enquete Votar votação Adiciona voto p/ uma opção da Enquete 131

132 5.4. Diagrama de Classes Classe é a descrição de um conjunto de objetos que tem os mesmo atributos, operações relacionamentos e semânticas. EnqueteBD USUARIO / WAP USARIO / WEB Titulo op1 op2 op3 op4 op5 op6 t_op1 t_op2 t_op3 t_op4 t_op5 t_op6 Ativo senha ADMINISTRADOR Cadastrar Ativar Excluir Figura 31 Diagrama de Classes 132

133 5.5. Dicionário de Dados EnqueteDB Atributos Tipo Tamanho Obrigatório Descrição id int Num. 3 Sim Chave Primaria Titulo char Caract 150 Titulo da Enquete op1 int Num. 3 Opção 1 op2 int Num. 3 Opção 2 op3 int Num. 3 Opção 3 op4 int Num. 3 Opção 4 op5 int Num. 3 Opção 5 op6 int Num. 3 Opção 6 t_op1 char Caract 50 Não Descrição da opção 1 t_op2 char Caract 50 Não Descrição da opção 2 t_op3 char Caract 50 Não Descrição da opção 3 t_op4 char Caract 50 Não Descrição da opção 4 t_op5 char Caract 50 Não Descrição da opção 5 t_op6 char Caract 50 Não Descrição da opção 6 Ativo char Num. 1 Sim Mostra a Enquete ativa 5.6. Fluxo de Chamada das Telas WEB 1 WAP Figura 32 Fluxo de chamada das Telas 4 1-Pagina Principal 1-Pagina de Apresentação 1.1-Criação da Enquete 2-Seleciona Enquete 1.2-Votação 3-Solicitação de Confirmação 1.3 Resultado 4- Resposta e Finalização 133

134 5.7. Layout das Telas WEB 1-Página Principal 1.1-Criação da Enquete Figura 33 Página Principal 1.2-Votação Figura 34 Criação da Enquete 134

135 Figura 35 Votação 1.3 Resultado Figura 36 Resultado 135

136 WAP 1-Página de apresentação Figura 37 Página de apresentação 136

137 2-Seleciona Enquete Figura 38 Seleciona Enquete 137

138 3 Solicitação de confirmação Figura 39 Solicitação de confirmação 138

139 4-Resposta da opção e Finalização Figura 40 Resposta e Finalização 139

140 5.8. Relação de Programas NOME INDEX INICIO SALVA_VOTO ENQUETE ENQUETES CRIA VOTA RESULTADO DESCRIÇÃO Mostra a pagina principal Faz a apresentação Adiciona mais um a opção selecionada APRESENTA A ALTERNATIVA SELECIONADA E PEDE P/ CONFIRMAR Apresenta a Enquete selecionada / ativada Cria as enquetes Apresenta as opções para selecionar Apresenta o resultado on line da tabela (gráfico e percent.) 5.9. Relação de Arquivos Enquete Nome da Tabela Nome do DataBAse EnqueteDB Arquitetura do Sistema SGBD WEB SERVER APACHE PARA WINDOWS WML e PHP SGBD MySQL Figura 41 Arquitetura do Sistema SGBD No próximo capitulo será mostrado os resultados obtidos, onde citaremos o que foi estudado e utilizado para o desenvolvimento do sistema. 140

141 6. Resultados Obtidos Neste capitulo vamos abordar os estudos e teste que foram realizados para o desenvolvimento do estudo de caso e desta monografia Simuladores Foram instalados seis emuladores de dispositivos moveis conforme as Figuras 42 a Figura 47 abaixo, onde foi possível verificar as dificuldades de instalação de cada um e como as paginas WML são apresentadas nas telas. Todos os emuladores usados são gratuitos e foram conseguidos na Internet. Figura 42 OpenWave SDK 6.22 Figura 43 Nokia Mobile Browser Figura 44 Nokia 5100 SDK v

142 Figura 45 Nokia 6230 S40 Figura 46 WinWap SmartPhone Figura 47 Nokia 7210 SDK v. 1.0 Quanto à instalação o Nokia SDK (Service Development Kits ou simplesmente Kit para Desenvolvimento de Serviço) é um dos mais simples, possui um emulador 7110 que não requer um Gateway independente, pois traz um interno, conforme Figura 48. Figura 48 Nokia WAP Gateway Simulator V

143 Já o Nokia WAP Toolkit foi desenvolvido em Java, o que implica ter que instalar o JRE e também é necessário utilizar um Gateway independente. A vantagem de utilizar o ToolKit é que oferece a possibilidade de compilar os arquivos WML e WMLS, a Figura 49 mostra a área de trabalho da ferramenta. Figura 49 Nokia Mobile Internet ToolKit v 4.0 may/2003 Os emuladores que vêm nos kits para desenvolvedores são os mais completos: documentação, gateway, editor e compilador. Eles facilitam a edição e a depuração dos erros no código fonte. Entre eles a documentação mais completa é fornecidas pela Nokia e Phone.com. Apesar dos recursos adicionais do Nokia WAP Toolkit, ainda é preferível as facilidade do Nokia SDK, tanto pela instalação como pelo uso. O OpenWave SDK 6.22, é o que oferece maior atrativo, um utilitário wizard deixa a instalação já configurada, pronta para o uso, e a operação é mais intuitiva, dirigida e estruturada para as necessidades dos desenvolvedores. O trabalho com os emuladores apresentou várias vantagens, entre elas: Foi possível simular o teste nos seis (6) modelos apresentados. Não foi necessário estar conectado na internet. O resultado da pagina testada foi apresentada de imediato off-line. A instalação do pacote Java 2 SDK, Standard Edition, v for Windows somente foi instalado para teste do emulador. 143

144 6.2. Teste de Micronavegadores. Foi feita uma bateria de teste em todos os simuladores usando o mesmo código WML. A apresentação do código WML nos micronavegadores deveria ser diferente em cada modelo ou pelo menos na maioria deles, conforme todos os autores descrevem em suas literaturas, porém não foi isso que constatamos. As diferenças apresentadas nos micronavegadores foram mínimas, como: estilo, centralização e quebra de linha, sendo que em nenhum deles a mensagem ficou ilegível ou distorcida WEB Browser Foi verificado que os navegadores para WEB utilizados nos PCs desktop não suportam a linguagem WML, quando chamado um arquivo ponto WML é apresentando o código HTML e em alguns casos o browser entende como uma solicitação de download. A única exceção foi o browser da Opera que apresentou a pagina perfeitamente conforme Figura 50 abaixo. Figura 50 Navegador Opera ver

145 Os Navegadores Mozilla e da Microsoft Internet Explorer 6.0 também foram testados, ambos apresentaram restrições ao código WML Servidores Apache O servidor de web Apache foi o instalado conforme Figura 51 sem dificuldades, a configuração é simples e se apresentou muito bem. Figura 51 Instalação Servidor Apache Depois do servidor Apache instalado foi feita a configuração do arquivo httpd.conf. Dentro deste arquivo encontra-se o "bloco" que aparece entre <IfModule mod_mime.c> e </IfModule>, conforme está mostrado abaixo. # Document types. # <IfModule mod_mime.c>.. </IfModule> # End of document types. 145

146 Dentro deste "bloco", coloca-se as linhas conforme mostrado abaixo. # MIME Types for WAP # Para o PHP 4.x: AddType application/x-httpd-php.wml # Para paginas WML comuns: AddType text/vnd.wap.wml.wml # Para scripts WML: AddType text/vnd.wap.wmlscript.wmls # Para paginas WML compiladas: AddType application/vnd.wap.wmlc.wmlc # Para scripts WML compilados: AddType application/vnd.wap.wmlscriptc.wmlsc # Para gráficos WML embutidos: Uma dificuldade AddType image/vnd.wap.wbmp foi quanto aos MIME,.wbmp porém foi logo solucionada adicinando as linhas # End acima MIME no Types arquivo for httpd.conf WAP PWS A instalação PWS (Personal Web Server) conforme Figura 52 foi realizada sem problemas. Figura 52 Instalação do PWS 146

147 Porem a configuração com a linguagem PHP já apresentou certa dificuldade. Somando as dificuldades apresentadas pelo servidor e o fato de o mesmo só ser gratuito e indicado para instalação no Windows 98, o PWS foi preterido Tomcat Conforme os estudos realizados a principal característica técnica do Servidor Tomcat esta centrada na linguagem de programação Java, mais especificamente nas tecnologias de Servlets e de Java Server Pages (JSP). Como o objetivo desse não é o de trabalhar com essa tecnologia optamos por realizar estudos práticos com o servidor. 147

148 6.5. Linguagem de Programação PHP dificuldade. A instalação do PHP Win32 conforme Figura 53 não apresentou Figura 53 Instalação do PHP Segundo Frota (2001), para se trabalhar com WML, deve-se declarar o cabeçalho indicando o tipo de conteúdo usado, conforme mostrado abaixo. <?php header ( content-type: text/vnd.wap.wml ); echo <?xml version=\ 1.0\?> ;?> Tipo conteúdo no WML A linguagem foi utilizada em conjunto com a WML isso facilitou o trabalho com o uso do PHP embutido no código WML. 148

149 ASP O teste realizado com a linguagem ASP demonstra que é possível também utiliza-la com o código WML embutido na linguagem, porém, comparando o PHP com ASP, a linguagem PHP oferecia maiores facilidades WML/ WMLScript No desenvolvimento dos estudos a linguagem de marcação WML demonstrou ser muito poderosa, durante os testes realizados conferimos que aliada ao WMLScript é possível conseguir praticamente tudo que se espera em termos de WEB para dispositivos móveis JavaScript A intenção de usar o JavaScript para identificar o Browser dos visitantes não teve seqüência porque a linguagem WMLScript se mostrou mais adequada. Foram feitos teste com JavaScript apenas para fazer uma comparação com a WMLScript. Esta última, como foi desenvolvida para este tipo de ambiente, oferece recursos mais apropriados. 149

150 6.6. Banco de Dados MySQL Em um estudo prévio realizado através da popularidade e quantidade de aplicações desenvolvidas e observado na Internet, a opção foi pelo MySQL win. Após a instalação que foi simples foi rodado um script para avaliação do banco conforme apresentado na Figura 54 abaixo. Figura 54 Verificação do MySQL O SGBD escolhido não apresentou nenhum tipo de problema. Ele mostrouse ser simples de gerenciar devido aos mecanismos implementados para facilitar as tarefas dos usuários. Para o desenvolvimento do banco foi utilizada a ferramenta MySQL Front V 2.05 conforme Figura 55,abaixo, de livre distribuição que proporcionou enorme facilidades de manuseio com as instruções SQL query, conexões remotas. 150

151 Figura 55 Instalação do MYSQL No próximo capitulo será discutido a conclusão do trabalho. 151

152 7. Conclusão As informações pertinentes à telefonia móvel, além da documentação dos fornecedores, estão sendo publicadas em artigos, jornais, revistas, periódicos, e internet. Durante a pesquisa não foi encontrada obra que tenha sido publicado recentemente. A mais recente é de Nestas obras é comum encontrar citações das complexidades em desenvolver aplicativos para os dispositivos móveis, como: memória de tamanho limitado, tela de apresentação com tamanho reduzido, baixa velocidade de processamento e de transferência de dados. Os equipamentos de telefonia móvel estão cada dia mais rápidos e com maior capacidade de processamento. Isto permite aplicações mais dinâmicas e com maior interatividade, prova disso são as constantes novidades tecnológicas que o mercado vem anunciando dia a dia, como a ultima novidade divulgada pelo jornal Estado de são Paulo (11/07/2005) onde uma operadora de telefonia móvel divulga o lançamento da telefonia 3G, que transmite conteúdo multimídia, inclusive TV ao vivo, com mais velocidade do que os existentes até agora. As limitações que os dispositivos móveis possuíam até alguns anos atrás como: telas pequenas, teclado impróprio para entrada de dados, bateria de curta duração, conexão de baixa velocidade, pouca memória e tarifas altas, que antes desestimulava a utilização dos celulares para o uso com internet, hoje já podemos dizer que algumas coisas já mudaram. As telas já não são tão pequenas, o teclado ainda continua impróprio para entrada de dados, as baterias melhoraram bastante a sua durabilidade, a conexão e a memória tem aumentado significativamente em velocidade e capacidade, e por outro lado as tarifas estão em declínio devido ao aumento da oferta pelos concorrentes. 152

153 A preocupação que praticamente as literaturas citam referente aos cuidados com o conteúdo que os programadores devem ter, controlando o numero de telas, evitando solicitar muitas informações aos usuários, já não se justificam tanto. Não se quer dizer com isso que tudo é possível, mas que os limites foram estendidos. A incompatibilidade do microbrowser entre os dispositivos de fabricantes diferentes, citada nas obras pesquisadas, como sendo uma das maiores dificuldades no desenvolvimento, atualmente com a os novos recursos de interfaces é praticamente imperceptível. Entre os sete modelos que foram testados, as diferenças de conteúdo apresentadas nos microbrowser, foram insignificantes, mostrando uma discreta compatibilidade. A padronização por parte das empresas ainda que modesta tem ajudado muito esse processo. Os estudos feitos com ferramentas e tecnologia para desenvolvimento de site e aplicações para dispositivos moveis, inclusive o desta pesquisa, mostraram que a utilização de linguagens mais adequada para esse padrão de equipamento é uma boa maneira de contornar as pequenas restrições e limitações que ainda existem. Embora as restrições e limitações dos dispositivos móveis, mesmo que em menor grau ainda exista, os estudos feitos mostraram que a utilização das tecnologias e ferramentas leves de fácil manipulação é uma boa solução para o desenvolvimento de sites e aplicações para os dispositivos móveis. Com isso a utilização de linguagens como PHP, WML, WMLScript, servidor de WEB Apache, Gerenciador de Banco de Dados MySQL mostraram uma excelente opção para a implementação do sistema. A utilização de ferramentas open source (código livre) também facilitaram o desenvolvimento, pois rodam em qualquer plataforma, não necessitamos comprá-las e a documentação também está disponível na internet. 153

154 Um dos objetivos deste trabalho foi o desenvolvimento do estudo de caso Enquete On Line, uma aplicação que serve de exemplo para novos trabalhos. A opção pelo uso de software livre oferece facilidade de acesso às tecnologias e às bibliografias envolvidas para novos desenvolvedores de sistemas, sem precisar utilizar software proprietário. O protótipo desenvolvido teve um bom resultado, apesar de precisar de algumas melhorias conseguiu executar de maneira objetiva o que foi proposto, fornecendo uma pesquisa de opinião de forma simples e direta. Portanto, este trabalho cumpre o que se propõe, na medida que fornece ao dispositivo móvel, conteúdo de paginas no formato WML em servidor WEB. O resultado da pesquisa recuperou um grande volume de material bibliográfico, no entanto, ainda há muitas fontes para ser trabalhadas pertinentes ao assunto. Entretanto a generalidade deste assunto dá uma visão ampla do contexto atual da área de wireless e serve como ponto de partida para novas pesquisas em assuntos específicos. 154

155 8. Trabalhos futuros Este capítulo apresenta alguns trabalhos complementares que visam o aperfeiçoamento de funcionalidades já existentes e adição de novas funções no protótipo Enquete On Line, para que o sistema tenha um melhor aproveitamento, não esquecendo de estar sempre buscando simplicidade e praticidade de uso para o usuário Validação do usuário Seria interessante que fosse solicitado ao usuário digitar um código para autenticação, impedindo que o mesmo vote várias vezes, pois dependendo do tipo da pesquisa de opinião, poderia ter resultados distorcidos Segurança Na aplicação desenvolvida não houve preocupação com a segurança, por se tratar de protótipo, porem o item segurança para o uso comercial é indispensável. Nesse ponto poderiam ser implementados códigos que dificultam o rastreamento e uso das tecnologias já existentes como WTLS (Wireless Transport Layer Security) e SSL (Secure Sockets Layer) e outros métodos Relatórios Outro recurso interessante seria o deixar opções para o administrador do sistema de solicitar relatórios das enquetes. Isso ajudaria muito na analise dos dados. 155

156 9. Referências bibliográficas 9.1. Bibliografias [Alves ] Willian Pereira Alves Dreamweaver UltraDev Criação de sites Dinamicos e Aplicações E-Commmerce, [Anselmo 2000] Fernando Anselmo, PHP e MySQL para Windows. Florianopolis Visual Books [Bandeira Duarte ] prof: Otto Carlos Muniz Bandeira Duarte, XML Extensible Markup LanguageTexto, Universidade Federal do Rio de Janeiro, em pesquisado em 11/08/2004 [Denega 2000] Marco Antonio Denega, WAP Tecnologia sem Fio, Editora Berkeley São Paulo, 2000 [Dias 2003] Bruna Chesye Dias, ANÁLISE DA TECNOLOGIA WAP VIA ESTUDO DE CASO EM JOGOS DISTRIBUÍDOS E INTERATIVOS, Monografia Depto. de Ciência da Computação da Universidade Federal de Lavras, como parte das exigências do curso de Ciência da Computação. em 16 de Junho de 2003 [Forta ] Ben Forta, Desenvolvimento WAP com WML e WMLScript, Editora Campus,

157 [Generation 2005] Next Generation, Mobilidade, visitado em 26/06/2005. [Godoy ] Luiz Henrique Pereira de Godoy, USP - Centro de Divulgação Científica e Cultural (CDCC), visitado em 12/06/2004 [Hokama 2003] Marçal de Lima Hokama, Personal Web Server - PWS, publicado em abril 2003, visitado em 12/02/2005. [IT web 2005] IT web Google lança serviço para equipamentos móveis-- 12/04/ visitado em 18/04/2005 [Moon 2000] Peter Moon, O futuro é agora. IstoÉ, São Paulo, n.1579, janeiro Disponível em:<http://www.zaz.com.br/istoe/ciencia/1999/12/28/003.htm>. Acesso em: 12 abril [Oliveira 2000] Winson José de Oliveira, WAP Tecnologia e segurança, Editora Visual Books, Florianópolis, [Parra 2004] Michelle Parra, O que é MySQL? Publicado em: 06 Dezembro 2004, visitado em 24/05/

158 [Pekus 2002] PEKUS Cons. e Desenvolvimento Ltda. Dispositivos móveis, São Paulo, Disponível em: <http://www.pekus.com.br/palmtops.htm>. Acesso em: 12 abril [Portal Java 2004] Tutorial Desenvolvido pela equipe do PortalJava, publicado em: , visitado em [Rigonatti ] Thiago Rigonatti, Móbile Life, Mobilidade e Entreternimento, Publicado em 15/9/2004, Visitado em 11/04/2005 [Rischpater 2000] Rischpater, R., Desenvolvendo Wireless para WEB. São Paulo, Makron Books, 1a Edição, [Samy Silva 2004] Maurício Samy Silva, Introdução a tecnologia WAP, Publicado em: 10/05/2004, visitado em 11/04/2005 [Shibayama ] Davi Shibayama, Tutorial de instalação do Apache/PHP em Windows em: <http://unix.wmonline.com.br/php/tutoriais/instalacao_apache/instalacao.htm>, pesquisado em 22/05/

159 [Silva Filho ] Antonio Mendes Silva Filho, Programando com XML, Editora Campus, [Taurion ] Cezar Taurion, Diferencial competitivo, Revista TI, Publicado em 25 de junho de 2002, pesquisado em 21/11/2003. [Texas Inst ] Texas Instruments, Novo conceito para aparelhos móveis, Publicado em: 17 de março de 2003 Visitado em 11/04/2005 [Torres ] Anderson Barros Torres, JavaScript - Guia de Referência publicado em 27/08/97, visitado em 15/05/2005. [Ullman ] Larry Ullman, PHP para a Word Wide Web, Editora Campus, [Zanetti ] L. C Gonçalves A. R Zanetti,.; Redes Locais sem Fio. Disponível, Pesquisado em outubro de

160 9.2. Bibliografias Auxiliares [Genilhu 2004] Leo Genilhu, Utilizando PHP e MySQL para gerar páginas WAP visitado em 10/05/2004. [Guimarães ] Prof. Célio Guimarães, Introdução a Linguagens de Marcação: HTML, XHTML, SGML, XML, Instituto de Computação Unicamp, Atualizado em 06-Jun-05. em 20 / 02 / 2005 [Lapa ] Eduardo Lapa, Computação móvel e diferencial nos negócios, publicado em 21/06/2004, consultado em 07/05/2004. [Macoratti ] José Carlos Macoratti, Tutorial WAP - Crie o seu site WAP, consultado em 29/08/2004 [Marinho 2005] Samuel Rocha Marinho, HTML Tutorial, Consultado em 10/02/2005 [Openwave Developer Network ] visitado em 02/4/

161 [Shtuzer 1997] Waldeck Shtuzer, Curso de Html, Publicado em 09/01/1997, consultado em 11/06/2004 [Silva Junior 2004] Givanildo Francisco da Silva Junior, WAP WIRELESS APPLICATION PROTOCOL, Consultado em [Silva 2004] Maurício Samy Silva, Introdução a tecnologia WAP, Publicado em: 10/05/2004, consultado em 11/04/2004. [Vivas 2000] Mauricio Vivas, Comitê de Incentivo a Produção do Software Gratuito e Alternativo CIPSGA, Curso de Aplicações WEB em PHP Junho de 2000 [W3C 2004] World-Wide Web Consortium, WML Specification V. 1., acessado em 25 de dezembro de [WAP Forum 2004] visitado em 12/04/2004. [Wireless Brasil 2004] Portal Independente de Telecomunicações, Comunidade Weriless Brasil, acessado em 02/03/

162 [WinWap Thechnologies 2004] visitado em 02/04/2004. [WML Club 2004] visitado em 15/04/2004. [Nokia 2004] Nokia - Developers visitado em: 15/junho/2003 [Nokia 2003] Nokia 5100 Software Developer s Kit Version 1.0 User s Guide June 2003 [Nokia 2003] Nokia Mobile Internet Toolkit Version 4.0 NMIT User s Guide May 2003 [Nokia 2004] Nokia Mobile Internet Toolkit Version 4.1 Installation Guide February,

163 [Nokia 2004] Nokia Mobile Internet Toolkit Version 4.1 User s Guide May 2004 [Nokia 2004] Nokia Connectivity Framework Lite User s Guide Version 1.1 June 18, 2004 [Nokia 2003] Nokia WAP Gateway Simulator Version 4.0 User s Guide May 2003 [Nokia 2003] Nokia Update Manager Version 1.1 User s Guide April 2003 [Nokia 2002] Nokia 7210 Content Authoring SDK Version 1.0 User s Guide December 2002 Copyright Nokia All rights reserved. 163

164 10. Apêndice I Instalação PWS / TOMCAT / APACHE PWS Instalando o PWS O PWS está no CD do Windows 98 pode ser Microsoft. Download - Personal Web Server - download KB baixado no site da Depois de copiado o arquivo para o seu computador, descompacte-o para uma pasta temporária usando um programa descompactador. Depois, execute o programa "Instalar.exe" no diretório temporário ou no CD. Aparecerá a tela inicial de instalação: Clique no botão "Avançar>". Aparecerá a próxima tela onde escolheremos o tipo de instalação. Recomenda-se a escolha da opção "Típica", que instala todos os componentes menos o "MSMQ - Cliente Microsoft Message Queue" e "Visual Interdev RAD - Remote Deployment Support". Tendo a necessidade de um desses componentes, a opção de instalação deve ser "Personalizada" e selecione o(s) componente(s) desejado(s). A pasta padrão é "\Inetpub\wwwroot". Tudo deve estar sendo exibido pelo servidor web pasta. Clique no botão "Avançar>" e a instalação estará concluída Configurando o PWS Para executar o Personal Web Server, clique no botão "Iniciar", escolha o item "Programas" e selecione a opção "Internet Explorer". Depois clique em "Personal Web Server" e abra o programa "Gerenciador do Personal Web". Para iniciar o servidor web, clique no botão "Iniciar" na janela. Na área "Principal", veremos que o serviço web está ativo, que sua home page pode ser encontrada no endereço (para descobrir o nome do 164

165 seu computador, veja as propriedades do seu "Ambiente de Rede", na área de identificação) ou também pelo endereço IP que se refere à própria máquina. Quando o servidor estiver ativo, aparecerá um ícone na barra de tarefas do Windows. Para acessar com servidor web, abra o seu browser e digite o seguinte endereço: - Será aberta a página inicial do seu servidor, que neste caso é a "default.asp". Observando a tela do Personal Web Manager acima, podemos ver que este arquivo se encontra localizado na seguinte pasta do seu servidor: "C:\Inetpub\wwwroot". Esta pasta pode ser alterada, através da área "Avançado". Ainda na área "Principal", podemos observar a seção "Monitorando", que mostra diversas estatísticas do servidor: Conexões ativas, visitantes, requisições, etc. Agora, no menu esquerdo, selecionamos "Avançado". Em "pastas virtuais", vemos as pastas virtuais que foram criadas para este servidor e podemos alterá-las, adicionando novas pastas através do botão "Adicionar", editar uma pasta virtual já existente, selecionando-a e clicando no botão "Editar propriedades" ou removendo-a clicando no botão "Remover". Uma pasta virtual é como se criássemos um atalho no servidor web para uma pasta localizada fisicamente (no disco) em outro local. A idéia das pastas virtuais é justamente facilitar o acesso a diretórios que têm um caminho muito longo ou que estão fora da pasta padrão do servidor. Nesse caso, no browser, digitando a URL "http:// /iissamples/default/welcome.htm", acessaria uma página que está fora do diretório-base do servidor, mas está na pasta virtual "IISSAMPLES". 165

166 Ainda na área "Avançado", a caixa "Ativar documento padrão" faz com que, se ativada, quando você não especificar no browser o nome de um documento, será procurado um documento padrão, especificado no campo "Documento(s) padrão". Se esta opção estiver desativada e você não especificar um nome de uma página, aparecerá uma mensagem de erro, ou uma lista de todas as páginas, dependendo da opção "Permitir busca na pasta". No campo "Documento(s) padrão", iremos definir os nomes dos documentos padrão, ou seja o documento que será exibido quando o usuário não especificar no nome do documento no browser. Por exemplo, quando alguém digitar "http:// ", qual a página que será exibida? É isso que é definido no campo "Documento(s) padrão". Na tela de exemplo, o valor deste campo é "Default.htm,Default.asp". Isso quer dizer que o servidor irá verificar se existe na pasta base algum documento de nome "default.htm". Se tiver, este será exibido no browser. Se não tiver, ele fará uma nova busca na pasta, desta vez por "default.asp". Se não for encontrado nenhum dos dois documentos, uma mensagem de erro ou a lista das páginas será exibida, dependendo da opção "Permitir busca na pasta". Ainda, o valor deste campo pode variar de servidor para servidor. Por isso, quando for colocar o seu site na Internet, verifique quais são os nomes de documentos padrões do servidor onde o seu site será hospedado. Por exemplo, suponha que no seu site você criou a página inicial de nome "default.asp", e que aparece normalmente no servidor local, que tem como documento padrão "default.asp". Se o servidor onde será hospedado o seu site na Internet tiver como documento padrão "index.asp", você será obrigado a renomear a sua página principal e alterar todos os links no seu site para ela. 166

167 O campo "Permitir busca na pasta" faz com que, se você não tiver um documento padrão especificado e esta opção estiver ativada, o visitante verá uma lista com todos os nomes de documentos contidos na pasta. Por exemplo, se no browser digitarmos o endereço "http:// /iissamples/default/" (sabendo que nesta pasta não há nenhum documento padrão), com esta opção ativada, aparecerá algo como: A opção "Salvar o log de atividade do site da Web" permite que dados do acesso ao seu servidor web sejam salvos em disco. Os logs serão salvos na pasta \System\LogFile\W3spc1 em formato texto e podem ser visualizados em qualquer editor de textos. Vimos aqui as principais funções do PWS, e explicando-as passo a passo. Este é um servidor muito utilizado em projetos de desenvolvimento para Internet, principalmente para quem usa tecnologias como ASP e SSI Tomcat Instalando o Tomcat Em termos práticos, o Tomcat pode ser usado isoladamente, assumindo o papel de um servidor web, ou em conjunto com outro servidor (como o Apache). Neste caso, o Apache atende a requisições de páginas estáticas enquanto que o Tomcat atende a requisições de páginas dinâmicas. Outra forma de usar o Tomcat é como parte da versão J2EE (Enterprise Edition) de Java para a criação de servidores de aplicação. Este é o caso, por exemplo, do servidor de aplicação JBoss. 167

168 Instalação do servidor de JSP no IIS O Tomcat é um servidor open source e gratuito, além disso, é muito utilizado comercialmente. Alguns podem encontrar uma certa dificuldade para instalá-lo e colocá-lo para funcionar. Podemos ainda colocá-lo como um serviço do Windows (NT/2000/XP). Devemos ter os seguintes softwares : Java Development Kit: Tomcat Binary Distribution: Extra do Tomcat para integração com IIS e NT/2000: Instalamos o JDK, versão j2sdk-1_4_0_01-windows-i586.exe ou mais recente. Deixando o diretório como j2sdk1.4.0_01. Durante a instalação deixamos todas as opções de componentes ativadas. Em seguida temos que ajustar a variável de ambiente chamada JAVA_HOME apontando para o caminho do diretório dentro do qual está a instalação do JDK. Para ajustar a variável JAVA_HOME iremos em: Painel de Controle -> Sistema -> Avançado -> Variáveis de Ambiente. Criaremos uma nova variável de ambiente chamada JAVA_HOME com o valor c:\j2sdk1.4.0_01 Instalando o Tomcat, versão jakarta-tomcat exe executando o arquivo de instalação deixando o tipo da instalação como Normal, e alterando o diretório para tomcat4 e ajustando a variável de ambiente chamada CATALINA_HOME com o valor c:\tomcat4. 168

169 Para iniciar o Tomcat: Devemos executar o arquivo.bat %CATALINA_HOME%\bin\startup Deverá aparecer algo do tipo: C:\>%CATALINA_HOME%\bin\startup Using CATALINA_BASE: C:\tomcat4 Using CATALINA_HOME: C:\tomcat4 Using JAVA_HOME: c:\j2sdk1.4.0_01 C:\> Colocamos o Tomcat para funcionar como um serviço do Windows, dessa forma não é necessário deixar a janela do DOS aberta enquanto ele estiver funcionando. Pegamos o arquivo jk_nt_service e o arquivo wrapper.properties que estão no arquivo tc4ntiis.zip e colocamos dentro da pasta %CATALINA_HOME%/conf/jk. Na seqüência editamos os arquivos wrapper.properties para configurar as variáveis de ambiente: wrapper.tomcat_home=c:\tomcat4 wrapper.java_home=c:\j2sdk1.4.0_01 Abrimos o prompt, e na linha de comando e executamos os seguintes comandos para instalar o serviço do Tomcat: C:\>cd %CATALINA_HOME% C:\tomcat4>cd conf\jk C:\tomcat4\conf\jk>jk_nt_service -i tomcat -a wrapper.properties 169

170 Iniciamos o serviço do Tomcat com o comando abaixo, mas devemos nos certificar de que o Tomcat já não esteja sendo executado: C:\tomcat4\conf\jk>jk_nt_service -s tomcat Asked (and given) winsock 1.1 Starting tomcat. tomcat started. Para removermos o serviço, utilizamos o seguinte comando: C:\tomcat4\conf\jk>jk_nt_service -r tomcat Apache Apresentaremos agora os passos para instalação e configuração do servidor Web Apache em ambientes Windows 95/98/ME/XP, para desenvolvimento local. O maior parte dos procedimentos apresentados aqui é válido também para sistemas Windows NT/2000, sendo que a única diferença está na maneira como o Apache é inicializado. É importante lembrar que, apesar do Apache executar de maneira satisfatória em ambientes Windows, é recomendável que esta plataforma seja usada apenas para desenvolvimento, simulando o ambiente Unix/Linux original onde essas ferramentas devem realmente residir. 170

171 Obtendo o Apache O arquivo de instalação do Apache para Windows está disponível em três formatos:.zip,.exe e.msi. Trabalharemos aqui com este último, que está no formato de pacote do Windows Installer. O arquivo de instalação do Apache pode ser conseguido no seguinte endereço: O arquivo deverá estar com o seguinte nome: apache_x.x.xx-win32- x86.msi, onde x.x.xx é a versão do software. Note que este arquivo é do tipo.msi (Microsoft Installer). É recomendável baixar o arquivo de instalação neste formato pois ele, além de ser menor, é mais fácil de instalar e configurar. Para maiores informações sobre os arquivos de instalação do Apache, consulte a página de download citada acima. Usuários do Windows95! Os usuários do Windows95 precisam primeiro baixar a atualização do Winsock para Windows, caso contrário, o Apache não funcionará. Esta atualização poderá ser obtida a partir do site da Microsoft, no seguinte endereço: 171

172 Instalando o Apache Para efetuar a instalação a partir deste tipo de arquivo.msi, você deverá ter o utilitário Microsoft Windows Installer instalado no seu sistema. Os usuários do Windows2000, WindowsME e WindowsXP já possuem este utilitário instalado. Os usuários de outras versões do Windows deverão baixá-lo a partir do site da Microsoft, nos seguintes links: Windows Installer v1.10 para Windows NT 4.0 Windows Installer v1.10 para Windows 95 e 98 Após ter instalado o utilitário Microsoft Windows Installer, clique duas vezes no arquivo de instalação do Apache. Uma tela como da Figura 56 abaixo deverá aparecer: Figura 56 Bem vindo a Instalação do Apache 172

173 Prossiga clicando no botão "Next", aceitando os termos da licença de uso e, na tela de Informações do Servidor ("Server Information"), onde é solicitado "Network Domain", "Server Name" e "Administrator's Address", conforme Figura 57 abaixo, informe, respectivamente: "localdomain", "localhost" e o seu endereço de . Deixe também selecionado a opção "Run as a service for All users", como indicado abaixo: Figura 57 Informações do Servidor instalação. Prossiga selecionando a instalação completa ("Complete") e finalize a Iniciando/parando o Apache (com Win95/98/ME/XP) Para INICIAR o servidor Web Apache, devemos clicar no botão Iniciar- >Programas->Apache HTTP Server e clique em Start Apache in Console. Uma janela como a da Figura 58 deverá aparecer, indicando que o Apache está em execução 173

174 Figura 58 Apache em Execução Para PARAR o Apache, não é aconselhável que se feche esta janela diretamente. Ao invés disso, devemos ir em Iniciar->Programas->Apache HTTP Server e clique em Stop Apache. Isso dará inicio ao processo de shutdown do servidor Web, o que fará com que a janela acima se feche. Atenção usuários do Windows NT/2000! O Apache é instalado como um serviço em sistemas Windows NT e 2000 e, por isso, os procedimentos descritos acima, para iniciar e parar o Apache, NÃO se aplicam a essas plataformas. Use o gerenciador de serviços do Windows NT/2000, localizado no painel de controle, para controlar a execução do Apache Testando a instalação do Apache Para testar a instalação, primeiramente, certificaremos de que o Apache esteja em execução. Abrindo o navegador e digitando o seguinte endereço: Este é o endereço do servidor web local. Uma página como a da Figura 59 deverá aparecer, indicando que foi instalado e configurado corretamente o servidor Web Apache no sistema. 174

175 Figura 59 Teste de Instalação do Apache Se não tiver alterado a pasta padrão de instalação do Apache, a pasta raiz do seu servidor web se encontra no seguinte caminho no seu disco: C:\Arquivos de programas\apache Group\Apache\htdocs É nesta pasta que devemos colocar todos os arquivos que serão acessados através do servidor Web local, incluindo páginas HTML, scripts em PHP, arquivos de imagens, etc. 175

Bruna Chesye Dias ANÁLISE DA TECNOLOGIA WAP VIA ESTUDO DE CASO EM JOGOS DISTRIBUÍDOS E INTERATIVOS

Bruna Chesye Dias ANÁLISE DA TECNOLOGIA WAP VIA ESTUDO DE CASO EM JOGOS DISTRIBUÍDOS E INTERATIVOS Bruna Chesye Dias ANÁLISE DA TECNOLOGIA WAP VIA ESTUDO DE CASO EM JOGOS DISTRIBUÍDOS E INTERATIVOS Monografia apresentada ao Departamento de Ciência da Computação da Universidade Federal de Lavras, como

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

NOVAS TECNOLOGIAS DE INFORMAÇÃO

NOVAS TECNOLOGIAS DE INFORMAÇÃO NOVAS TECNOLOGIAS DE INFORMAÇÃO Profª. Kelly Hannel Novas tecnologias de informação 2 HDTV WiMAX Wi-Fi GPS 3G VoIP Bluetooth 1 HDTV 3 High-definition television (também conhecido por sua abreviação HDTV):

Leia mais

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc. Implementar servidores de Web/FTP e DFS Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Conteúdo programático Introdução ao protocolo HTTP Serviço web

Leia mais

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com.

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com. IntroduçãoàTecnologiaWeb FerramentaseTecnologiasde DesenvolvimentoWeb ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br FerramentaseTecnologiasde DesenvolvimentoWeb

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

Leia mais

Aula 01: Apresentação da Disciplina e Introdução a Conceitos Relacionados a Internet e WEB

Aula 01: Apresentação da Disciplina e Introdução a Conceitos Relacionados a Internet e WEB Aula 01: Apresentação da Disciplina e Introdução a Conceitos Relacionados a Internet e WEB Regilan Meira Silva Professor de Informática do Campus Ilhéus Formação em Ciência da Computação com Especialização

Leia mais

Guia de Consulta Rápida HTTP. Décio Jr. Novatec Editora. www.novateceditora.com.br

Guia de Consulta Rápida HTTP. Décio Jr. Novatec Editora. www.novateceditora.com.br Guia de Consulta Rápida HTTP Décio Jr. Novatec Editora www.novateceditora.com.br Guia de Consulta Rápida HTTP de Décio Jr. Copyright 2001 da Novatec Editora Ltda. Todos os direitos reservados. É proibida

Leia mais

Arquiteturas para implantação de aplicações móveis wireless

Arquiteturas para implantação de aplicações móveis wireless Arquiteturas para implantação de aplicações móveis wireless Este tutorial apresenta uma visão geral da arquitetura para implantação de aplicações móveis wireless. Eduardo Tude Engenheiro de Teleco (IME

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Alternativas de aplicação do serviço GPRS da rede celular GSM em telemetria pela Internet

Alternativas de aplicação do serviço GPRS da rede celular GSM em telemetria pela Internet Alternativas de aplicação do serviço GPRS da rede celular GSM em telemetria pela Internet Marcos R. Dillenburg Gerente de P&D da Novus Produtos Eletrônicos Ltda. (dillen@novus.com.br) As aplicações de

Leia mais

Atividade Capitulo 6 - GABARITO

Atividade Capitulo 6 - GABARITO Atividade Capitulo 6 - GABARITO 1. A Internet é uma força motriz subjacente aos progressos em telecomunicações, redes e outras tecnologias da informação. Você concorda ou discorda? Por quê? Por todos os

Leia mais

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

Leia mais

Wireless Application Protocol (WAP) Este tutorial apresenta os conceitos básicos do WAP, suas características e aplicações.

Wireless Application Protocol (WAP) Este tutorial apresenta os conceitos básicos do WAP, suas características e aplicações. Wireless Application Protocol (WAP) Este tutorial apresenta os conceitos básicos do WAP, suas características e aplicações. Huber Bernal Filho Engenheiro de Teleco (MAUÁ 79), tendo atuado nas áreas de

Leia mais

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME Java para Dispositivos Móveis Desenvolvendo Aplicações com J2ME Thienne M. Johnson Novatec Capítulo 1 Introdução à computação móvel 1.1 Computação móvel definições Computação móvel está na moda. Operadoras

Leia mais

PRnet/2013. Linguagem de Programação Web

PRnet/2013. Linguagem de Programação Web Linguagem de Programação Web Linguagem de Programação Web Prnet/2013 Linguagem de Programação Web» Programas navegadores» Tipos de URL» Protocolos: HTTP, TCP/IP» Hipertextos (páginas WEB)» HTML, XHTML»

Leia mais

I N T R O D U Ç Ã O W A P desbloqueio,

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

INTRODUÇÃO A REDES SEM FIO

INTRODUÇÃO A REDES SEM FIO INTRODUÇÃO A REDES SEM FIO Alternativas aos tradicionais meios para transmissão de dados Maior flexibilidade de recursos Mobilidade dos computadores na empresa Saída para os problemas de comunicação ocasionados

Leia mais

PLATAFORMA PARA DISPONIBILIZAÇÃO DE INFORMAÇÕES USANDO WAP

PLATAFORMA PARA DISPONIBILIZAÇÃO DE INFORMAÇÕES USANDO WAP UNICENP - Centro Universitário Positivo Núcleo de Ciências Exatas e Tecnológicas Curso de Engenharia da Computação PLATAFORMA PARA DISPONIBILIZAÇÃO DE INFORMAÇÕES USANDO WAP Aluno: Fabiano Correa Mercer

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso 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 Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

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

Introdução à Informática

Introdução à Informática Introdução à Informática Aula 23 http://www.ic.uff.br/~bianca/introinfo/ Aula 23-07/12/2007 1 Histórico da Internet Início dos anos 60 Um professor do MIT (J.C.R. Licklider) propõe a idéia de uma Rede

Leia mais

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO Capítulo 9 A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO 9.1 2003 by Prentice Hall OBJETIVOS O que é a nova infra-estrutura de tecnologia de informação (IT) para empresas? Por que a conectividade

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II INTERNET Protocolos de Aplicação Intranet Prof: Ricardo Luís R. Peres As aplicações na arquitetura Internet, são implementadas de forma independente, ou seja, não existe um padrão

Leia mais

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO INTRODUÇÃO AO DESENVOLVIMENTO WEB PROFª. M.Sc. JULIANA H Q BENACCHIO Internet Internet é o conjunto de diversas redes de computadores que se comunicam entre si Internet não é sinônimo de WWW (World Wide

Leia mais

Informática. Aula 9. A Internet e seu Uso nas Organizações

Informática. Aula 9. A Internet e seu Uso nas Organizações Informática Aula 9 A Internet e seu Uso nas Organizações Curso de Comunicação Empresarial 2º Ano O Que é a Internet? A Internet permite a comunicação entre milhões de computadores ligados através do mundo

Leia mais

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML 1 1. : Conceitos Básicos 2. Aplicação : XHTML 3. Folhas de Estilo em Cascata 2 é um acrônimo para EXtensible Markup Language é uma linguagem de marcação muito parecida com HTML foi designada para descrever

Leia mais

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO

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

Lista de Exercício: PARTE 1

Lista de Exercício: PARTE 1 Lista de Exercício: PARTE 1 1. Questão (Cód.:10750) (sem.:2a) de 0,50 O protocolo da camada de aplicação, responsável pelo recebimento de mensagens eletrônicas é: ( ) IP ( ) TCP ( ) POP Cadastrada por:

Leia mais

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível Versão 1.0 Janeiro de 2011 Xerox Phaser 3635MFP 2011 Xerox Corporation. XEROX e XEROX e Design são marcas da Xerox Corporation nos Estados Unidos e/ou em outros países. São feitas alterações periodicamente

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais

ESCOLA SECUNDÁRIA DO MONTE DA CAPARICA Curso de Educação e Formação de Adultos NS Trabalho Individual Área / UFCD

ESCOLA SECUNDÁRIA DO MONTE DA CAPARICA Curso de Educação e Formação de Adultos NS Trabalho Individual Área / UFCD 1 de 9 Desde o nascimento do telemóvel e o seu primeiro modelo vários se seguiram e as transformações tecnológicas que estes sofreram ditaram o nascimento de várias gerações. O Motorola DynaTac 8000X é

Leia mais

COMPARAÇÃO ENTRE OS SERVIDORES DE E-MAILS MAIS UTILIZADOS ATUALMENTE

COMPARAÇÃO ENTRE OS SERVIDORES DE E-MAILS MAIS UTILIZADOS ATUALMENTE COMPARAÇÃO ENTRE OS SERVIDORES DE E-MAILS MAIS UTILIZADOS ATUALMENTE Mayara Dos Santos Marinho¹, Julio César Pereira¹ ¹Universidade Paranaense (Unipar) Paranavaí PR - Brasil mayara-marinho@hotmail.com

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

UFG - Instituto de Informática

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

Telecomunicações. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br

Telecomunicações. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Telecomunicações Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Rede de Telefonia Fixa Telefonia pode ser considerada a área do conhecimento que trata da transmissão de voz através de uma rede de telecomunicações.

Leia mais

1 Sistemas de telefonia celular no Brasil

1 Sistemas de telefonia celular no Brasil 1 Sistemas de telefonia celular no Brasil Em 1984, deu-se início à análise de sistemas de tecnologia celular sendo definido o padrão americano, analógico, AMPS Advanced Mobile Phone System, como modelo

Leia mais

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Professora: Sheila Cáceres Computador Dispositivo eletrônico usado para processar guardar e tornar acessível informação. Tópicos de Ambiente

Leia mais

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto UM NOVO CONCEITO EM AUTOMAÇÃO Série Ponto POR QUE NOVO CONCEITO? O que é um WEBPLC? Um CP na WEB Por que usar INTERNET? Controle do processo de qualquer lugar WEBGATE = conexão INTERNET/ALNETII WEBPLC

Leia mais

Desenvolvimento de Aplicações Web

Desenvolvimento de Aplicações Web Desenvolvimento de Aplicações Web André Tavares da Silva andre.silva@udesc.br Método de Avaliação Serão realizadas duas provas teóricas e dois trabalhos práticos. MF = 0,1*E + 0,2*P 1 + 0,2*T 1 + 0,2*P

Leia mais

Tecnologias Web. Lista de Exercícios AV02. Luiz Leão luizleao@gmail.com http://www.luizleao.com

Tecnologias Web. Lista de Exercícios AV02. Luiz Leão luizleao@gmail.com http://www.luizleao.com Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Um analista de sistemas deseja enviar para seu cliente um arquivo de 300 Mb referente a uma atualização do software. Para transferir esse

Leia mais

Integração de uma aplicação WAP com o PHP

Integração de uma aplicação WAP com o PHP Integração de uma aplicação WAP com o PHP Jacques Schreiber 1, Janice Inês Deters 2 1 Universidade de Santa Cruz do Sul (UNISC) - Departamento de Informática CEP: 96815-900 Santa Cruz do Sul RS- Brazil

Leia mais

PROTÓTIPO DE UM SISTEMA DE SERVIÇOS WAP PARA A BIBLIOTECA CENTRAL DA FURB

PROTÓTIPO DE UM SISTEMA DE SERVIÇOS WAP PARA A BIBLIOTECA CENTRAL DA FURB UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) PROTÓTIPO DE UM SISTEMA DE SERVIÇOS WAP PARA A BIBLIOTECA CENTRAL DA FURB TRABALHO DE

Leia mais

Universidade Federal de Mato Grosso

Universidade Federal de Mato Grosso Universidade Federal de Mato Grosso Programação III Curso de Ciência da Computação Prof. Thiago P. da Silva thiagosilva@ufmt.br Material basedado em [Kurose&Ross 2009] e [Gonçalves, 2007] Agenda Internet

Leia mais

REDES ESAF. leitejuniorbr@yahoo.com.br 1 Redes - ESAF

REDES ESAF. leitejuniorbr@yahoo.com.br 1 Redes - ESAF REDES ESAF 01 - (ESAF - Auditor-Fiscal da Previdência Social - AFPS - 2002) Um protocolo é um conjunto de regras e convenções precisamente definidas que possibilitam a comunicação através de uma rede.

Leia mais

INFORMÁTICA IINTERNET / INTRANET

INFORMÁTICA IINTERNET / INTRANET INFORMÁTICA IINTERNET / INTRANET Objectivos História da Internet Definição de Internet Definição dos protocolos de comunicação Entender o que é o ISP (Internet Service Providers) Enumerar os equipamentos

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática 1 Este é o seu teste de avaliação de frequência. Leia as perguntas com atenção antes de responder. Escreva as suas respostas nesta folha de teste, marcando um círculo em volta da opção ou opções que considere

Leia mais

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA CONCEITOS BÁSICOS DE INTERNET Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA conceito inicial Amplo sistema de comunicação Conecta muitas redes de computadores Apresenta-se de várias formas Provê

Leia mais

milenaresende@fimes.edu.br

milenaresende@fimes.edu.br Fundação Integrada Municipal de Ensino Superior Sistemas de Informação A Internet, Intranets e Extranets milenaresende@fimes.edu.br Uso e funcionamento da Internet Os dados da pesquisa de TIC reforçam

Leia mais

Componentes dos sistemas computadorizados Aula 04 FTC FACULDADE DE TECNOLOGIA E CIÊNCIAS ADMINISTRAÇÃO IV SEMESTRE

Componentes dos sistemas computadorizados Aula 04 FTC FACULDADE DE TECNOLOGIA E CIÊNCIAS ADMINISTRAÇÃO IV SEMESTRE Componentes dos sistemas computadorizados Aula 04 FTC FACULDADE DE TECNOLOGIA E CIÊNCIAS ADMINISTRAÇÃO IV SEMESTRE Componentes da infraestrutura Hardware Software Tecnologia de gerenciamento de dados Tecnologia

Leia mais

Wireless: aplicação na automação industrial

Wireless: aplicação na automação industrial Artigos Técnicos Wireless: aplicação na automação industrial Ricardo Jacobina Silva, Diretor Técnico da Autocon Automação e Controle Ltda. Introdução Este artigo busca apresentar, essencialmente, a utilização

Leia mais

Tecnologia da Informação. Prof Odilon Zappe Jr

Tecnologia da Informação. Prof Odilon Zappe Jr Tecnologia da Informação Prof Odilon Zappe Jr Internet Internet Internet é o conglomerado de redes, em escala mundial de milhões de computadores interligados, que permite o acesso a informações e todo

Leia mais

SISTEMA DE LOCALIZAÇÃO DE FACILIDADES PARA REDES DE TELECOMUNICAÇÕES, BASEADO NA TECNOLOGIA WAP

SISTEMA DE LOCALIZAÇÃO DE FACILIDADES PARA REDES DE TELECOMUNICAÇÕES, BASEADO NA TECNOLOGIA WAP 1 RONEY GIORDANO PATRÍCIO DA SILVA SISTEMA DE LOCALIZAÇÃO DE FACILIDADES PARA REDES DE TELECOMUNICAÇÕES, BASEADO NA TECNOLOGIA WAP Trabalho de conclusão de curso apresentado ao Curso de Ciência da Computação.

Leia mais

LISTA DE EXERCÍCIOS. Mede a capacidade de comunicação de computadores e dispositivos. Operam em diferentes plataformas de hardware

LISTA DE EXERCÍCIOS. Mede a capacidade de comunicação de computadores e dispositivos. Operam em diferentes plataformas de hardware 1. A nova infra-estrutura de tecnologia de informação Conectividade Mede a capacidade de comunicação de computadores e dispositivos Sistemas abertos Sistemas de software Operam em diferentes plataformas

Leia mais

Conceitos Web. Prof. Msc. Juliano Gomes Weber (jgw@unijui.edu.br) Notas de Aula Aula 13 1º Semestre - 2011. UNIJUÍ DETEC Ciência da Computação

Conceitos Web. Prof. Msc. Juliano Gomes Weber (jgw@unijui.edu.br) Notas de Aula Aula 13 1º Semestre - 2011. UNIJUÍ DETEC Ciência da Computação UNIJUÍ DETEC Ciência da Computação Prof. Msc. Juliano Gomes Weber (jgw@unijui.edu.br) Conceitos Web Notas de Aula Aula 13 1º Semestre - 2011 Tecnologias Web jgw@unijui.edu.br Conceitos Básicos Sistema

Leia mais

Tecnologia de redes celular GSM X CDMA

Tecnologia de redes celular GSM X CDMA Tecnologia de redes celular GSM X CDMA GSM (Global Standard Mobile) GSM (Global Standard Mobile) Também baseado na divisão de tempo do TDMA, o GSM foi adotado como único sistema europeu em 1992, e se espalhou

Leia mais

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 9.1

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 9.1 Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 9.1 9 OBJETIVOS OBJETIVOS A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO O que é a nova infra-estrutura de tecnologia de informação

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 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

1. AULA 1 - INTRODUÇÃO À REDES DE COMPUTADORES

1. AULA 1 - INTRODUÇÃO À REDES DE COMPUTADORES 1. AULA 1 - INTRODUÇÃO À REDES DE COMPUTADORES Objetivos da Aula Aprender os conceitos básicos para compreensão das próximas aulas. Na maioria dos casos, os conceitos apresentados serão revistos com maior

Leia mais

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Desenvolvimento em Ambiente Web Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com No início A Web é criada em 1989, para ser um padrão de publicação e distribuição de textos científicos e acadêmicos.

Leia mais

SISTEMAS DE INFORMAÇÕES GERENCIAIS. Aula 09

SISTEMAS DE INFORMAÇÕES GERENCIAIS. Aula 09 FACULDADE CAMÕES PORTARIA 4.059 PROGRAMA DE ADAPTAÇÃO DE DISCIPLINAS AO AMBIENTE ON-LINE SISTEMAS DE INFORMAÇÃO GERENCIAL DOCENTE: ANTONIO SIEMSEN MUNHOZ, MSC. ÚLTIMA ATUALIZAÇÃO: FEVEREIRO DE 2007. Internet,

Leia mais

DIRETRIZES DE DESENVOLVIMENTO DE APLICAÇÕES PARA DISPOSITIVOS MÓVEIS A PARTIR DE PORTAIS UNIVERSITÁRIOS

DIRETRIZES DE DESENVOLVIMENTO DE APLICAÇÕES PARA DISPOSITIVOS MÓVEIS A PARTIR DE PORTAIS UNIVERSITÁRIOS DIRETRIZES DE DESENVOLVIMENTO DE APLICAÇÕES PARA DISPOSITIVOS MÓVEIS A PARTIR DE PORTAIS UNIVERSITÁRIOS Trabalho de Conclusão de Curso Engenharia da Computação Carlos Adriano de Figueredo Lima Orientador:

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

Tecnologias da Internet (T) Avaliação de Frequência (v1) 60 minutos * 09.05.2012

Tecnologias da Internet (T) Avaliação de Frequência (v1) 60 minutos * 09.05.2012 1 Este é o seu teste de avaliação de frequência. Leia as perguntas com atenção antes de responder e tenha atenção que algumas perguntas podem ter alíneas de resposta em páginas diferentes. Escreva as suas

Leia mais

Capítulo 2 Sistemas Rádio Móveis

Capítulo 2 Sistemas Rádio Móveis Capítulo 2 Sistemas Rádio Móveis 2.1. Histórico e Evolução dos Sistemas Sem Fio A comunicação rádio móvel teve início no final do século XIX [2], quando o cientista alemão H. G. Hertz demonstrou que as

Leia mais

REDES INTRODUÇÃO À REDES

REDES INTRODUÇÃO À REDES REDES INTRODUÇÃO À REDES Simplificando ao extremo, uma rede nada mais é do que máquinas que se comunicam. Estas máquinas podem ser computadores, impressoras, telefones, aparelhos de fax, etc. Ex: Se interligarmos

Leia mais

Teste de Qualidade Web based para Banda Larga FAQs

Teste de Qualidade Web based para Banda Larga FAQs Teste de Qualidade Web based para Banda Larga FAQs Pergunta O que é o teste de velocidade? Quem é o público alvo? O que oferece? Como funciona? Por onde é o acesso? Resposta Um teste de qualidade de banda

Leia mais

Conexão Sem Fio Guia do Usuário

Conexão Sem Fio Guia do Usuário Conexão Sem Fio Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. Bluetooth é marca comercial dos respectivos

Leia mais

Prof. Luís Rodolfo. Unidade II REDES DE COMPUTADORES E TELECOMUNICAÇÃO

Prof. Luís Rodolfo. Unidade II REDES DE COMPUTADORES E TELECOMUNICAÇÃO Prof. Luís Rodolfo Unidade II REDES DE COMPUTADORES E TELECOMUNICAÇÃO Redes de computadores e telecomunicação Objetivos da Unidade II Estudar, em detalhes, as camadas: Aplicação Apresentação Sessão Redes

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

BGAN. Transmissão global de voz e dados em banda larga. Banda larga para um planeta móvel

BGAN. Transmissão global de voz e dados em banda larga. Banda larga para um planeta móvel BGAN Transmissão global de voz e dados em banda larga Banda larga para um planeta móvel Broadband Global Area Network (BGAN) O firm das distâncias O serviço da Rede Global de Banda Larga da Inmarsat (BGAN)

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

Segurança do Wireless Aplication Protocol (WAP)

Segurança do Wireless Aplication Protocol (WAP) Universidade de Brasília UnB Escola de Extensão Curso Criptografia e Segurança na Informática Segurança do Wireless Aplication Protocol (WAP) Aluno: Orlando Batista da Silva Neto Prof: Pedro Antônio Dourado

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT. Fatores Tecnológicos, Estratégicos e Organizacionais

MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT. Fatores Tecnológicos, Estratégicos e Organizacionais MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT 15.565 Integração de Sistemas de Informação: Fatores Tecnológicos, Estratégicos e Organizacionais 15.578 Sistemas de Informação Global:

Leia mais

TECNOLOGIA WEB INTERNET PROTOCOLOS

TECNOLOGIA WEB INTERNET PROTOCOLOS INTERNET PROTOCOLOS 1 INTERNET Rede mundial de computadores. Também conhecida por Nuvem ou Teia. Uma rede que permite a comunicação de redes distintas entre os computadores conectados. Rede WAN Sistema

Leia mais

Cogent DataHub v7.0. A próxima geração em soluções para troca de dados em tempo real

Cogent DataHub v7.0. A próxima geração em soluções para troca de dados em tempo real Cogent DataHub v7.0 A próxima geração em soluções para troca de dados em tempo real Cogent é reconhecida como uma líder no segmento de soluções de middleware no domínio do tempo real. E, com a introdução

Leia mais

Unidade I SISTEMAS PARA INTERNET E. Prof. Emanuel Matos

Unidade I SISTEMAS PARA INTERNET E. Prof. Emanuel Matos Unidade I SISTEMAS PARA INTERNET E SOFTWARE LIVRE Prof. Emanuel Matos Sumário Unidade I Principais tecnologias da rede digital Computação cliente/servidor Comutação de pacotes TCP/IP Sistemas de informação

Leia mais

Programação para a Web - I. José Humberto da Silva Soares

Programação para a Web - I. José Humberto da Silva Soares Programação para a Web - I José Humberto da Silva Soares Fundamentos de Internet Rede Mundial de Computadores; Fornece serviços, arquivos e informações; Os computadores que têm os recursos são chamados

Leia mais

XHTML 1.0 DTDs e Validação

XHTML 1.0 DTDs e Validação XHTML 1.0 DTDs e Validação PRnet/2012 Ferramentas para Web Design 1 HTML 4.0 X XHTML 1.0 Quais são os três principais componentes ou instrumentos mais utilizados na internet? PRnet/2012 Ferramentas para

Leia mais

Manual de Utilização

Manual de Utilização Se ainda tiver dúvidas entre em contato com a equipe de atendimento: Por telefone: 0800 642 3090 Por e-mail atendimento@oisolucoespraempresas.com.br Introdução... 3 1. O que é o programa Oi Backup Empresarial?...

Leia mais

Redes de Computadores e Teleinformática. Zacariotto 4-1

Redes de Computadores e Teleinformática. Zacariotto 4-1 Redes de Computadores e Teleinformática Zacariotto 4-1 Agenda da aula Introdução Redes de computadores Redes locais de computadores Redes de alto desempenho Redes públicas de comunicação de dados Computação

Leia mais

TELEFONIA CELULAR. Roteiro: História Como funciona WAP

TELEFONIA CELULAR. Roteiro: História Como funciona WAP TELEFONIA CELULAR Roteiro: História Como funciona WAP Milhões de pessoas em todo o planeta utilizam a telefonia celular, tecnologia que, atualmente, se tornou popular e barata. Muitas são as coisas que

Leia mais

3 INTEFACES E PROTOCOLOS PARA REDES DE SENSORES INTELIGENTES SEM FIOS

3 INTEFACES E PROTOCOLOS PARA REDES DE SENSORES INTELIGENTES SEM FIOS Capítulo 3 Interfaces e Protocolos para Redes de Sensores Inteligentes sem Fios 36 3 INTEFACES E PROTOCOLOS PARA REDES DE SENSORES INTELIGENTES SEM FIOS A tecnologia sem fios vem sendo comumente utilizada

Leia mais

Manual do aplicativo Conexão ao telefone

Manual do aplicativo Conexão ao telefone Manual do aplicativo Conexão ao telefone Copyright 2003 Palm, Inc. Todos os direitos reservados. O logotipo da Palm e HotSync são marcas registradas da Palm, Inc. O logotipo da HotSync e Palm são marcas

Leia mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação. GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na

Leia mais

Prof. Manuel A Rendón M

Prof. Manuel A Rendón M Prof. Manuel A Rendón M Tanenbaum Redes de Computadores Cap. 1 e 2 5ª. Edição Pearson Padronização de sistemas abertos à comunicação Modelo de Referência para Interconexão de Sistemas Abertos RM OSI Uma

Leia mais

Aplicativos para Internet Aula 01

Aplicativos para Internet Aula 01 Aplicativos para Internet Aula 01 Arquitetura cliente/servidor Introdução ao HTML, CSS e JavaScript Prof. Erika Miranda Universidade de Mogi das Cruzes Uso da Internet http://www.ibope.com.br/pt-br/noticias/paginas/world-wide-web-ou-www-completa-22-anos-nesta-terca-feira.aspx

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

Informática. Informática. Valdir

Informática. Informática. Valdir Informática Informática Valdir Questão 21 A opção de alterar as configurações e aparência do Windows, inclusive a cor da área de trabalho e das janelas, instalação e configuração de hardware, software

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 02 História do desenvolvimento de software para dispositivos móveis Dalton Martins dmartins@gmail.com São

Leia mais