UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO TRABALHO DE GRADUAÇÃO INTERDISCIPLINAR

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

Download "UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO TRABALHO DE GRADUAÇÃO INTERDISCIPLINAR"

Transcrição

1 UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO TRABALHO DE GRADUAÇÃO INTERDISCIPLINAR SISTEMA DE COMUNICAÇÃO ENTRE ÔNIBUS, PONTOS DE PARADA E TERMINAIS DE ÔNIBUS, UTILIZANDO TECNOLOGIAS JAVA Amir Neves Ferreira Velho Cristiane Fernandes Hugo Henrique Cassettari Vivian Rodrigues Fiales SÃO PAULO 2001

2 2 UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO TRABALHO DE GRADUAÇÃO INTERDISCIPLINAR SISTEMA DE COMUNICAÇÃO ENTRE ÔNIBUS, PONTOS DE PARADA E TERMINAIS DE ÔNIBUS, UTILIZANDO TECNOLOGIAS JAVA ESTUDO DE APLICAÇÃO MULTIDISCIPLINAR AO T.G.I. (TRABALHO DE GRADUAÇÃO INTERDISCIPLINAR), COMO PARTE DA APROVAÇÃO NO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. Amir Neves Ferreira Velho Cristiane Fernandes Hugo Henrique Cassettari Vivian Rodrigues Fiales Orientador: Prof. Msc. Luciano Silva SÃO PAULO 2001

3 3 Bluetooth é marca registrada da Telefonaktiebolaget L M Ericsson na Suécia e outros países. CORBA é marca registrada da OMG (Object Management Group). Java e todas as marcas baseadas no Java e no logotipo Java são marcas registradas da Sun Microsystems nos Estados Unidos e outros países. JScript, Microsoft Access, Microsoft Internet Information Server e Microsoft Visual Basic são marcas registradas da Microsoft. UML (Unified Modeling Language) é marca registrada da OMG (Object Management Group) nos Estados Unidos. As designações utilizadas pelas empresas para distinguir seus produtos são, geralmente marcas registradas (trademark - ). Neste trabalho, todos os nomes de produtos aparecem em LETRAS MAIÚSCULAS. Porém, deve-se entrar em contato com as companhias apropriadas para informações mais completas com relação ao registro e a marca. Convencionou-se o uso da letra Courier New para denotar termos referentes às aplicações desenvolvidas para este trabalho.

4 4 Sumário Lista de Figuras Introdução Funcionamento da Aplicação Objetivos da Pesquisa Metodologia Estrutura do Trabalho Tecnologias Utilizadas JAVA JAVA Servlet RMI JDBC JCE Segurança JCE 29 Algoritmos de Criptografia J2ME Padrões de Projeto Singleton XML e XPath Desenvolvimento Arquitetura Aplicação Central Operacional Banco de Dados Diagrama Entidade-Relacionamento 42

5 Aplicação Central Operacional Ônibus, Ponto e Terminal Aplicação Interação entre as Aplicações Comunicação Comunicação entre um Ônibus e um Ponto de Parada Comunicação entre um Ônibus e um Terminal Aspectos de Segurança Conclusão Protótipo Tecnologias Utilizadas Trabalhos Futuros Conclusões Gerais Bibliografia 70 Anexos 73 Anexo A 74

6 6 Lista de Figuras Figura 1: Comunicação entre ônibus e ponto de parada 10 Figura 2: Comunicação entre ponto de parada e ônibus 11 Figura 3: Comunicação entre ônibus e terminal de ônibus 12 Figura 4: Diagrama inicial de componentes 13 Figura 5: Log de monitoração do sistema 29 Figura 6: Padrão singleton 35 Figura 7: Diagrama de componentes 39 Figura 8: Diagrama entidade-relacionamento estendido 42 Figura 9: Arquitetura em 3 camadas da central operacional 47 Figura 10: Diagrama de classes da central operacional 49 Figura 11: Interface ibus.util.bus4allinterface 50 Figura 12: Arquivo XML das tabelas do banco de dados 51 Figura 13: Classe ibus.util.databasemanager 51 Figura 14: Arquitetura em 3 camadas do ônibus, ponto e terminal 52 Figura 15: Diagrama de classes do ônibus, ponto e terminal 53 Figura 16: Diagrama de seqüência ônibus e ponto de parada 55 Figura 17: Diagrama de seqüência ônibus e terminal 56 Figura 18: Log de erros dos ônibus e pontos 57 Figura 19: Classe ibus.loginhandler 63

7 7 1. Introdução U m problema atual e bastante importante no Brasil é a integração de deficientes físicos, especialmente deficientes visuais, com a sociedade. Se pensarmos nos meios de transporte, como por exemplo, ônibus, metrôs e trens, o problema se torna maior, uma vez que os mesmos fornecem pouca ou nenhuma infra-estrutura para o acesso dos deficientes. Além disso, nosso país possui um número significativo de analfabetos que também encontram grandes dificuldades em integrar-se à sociedade atual. Uma vez que uma das grandes dificuldades encontradas pelos portadores de deficiência visual e analfabetos é descobrir qual ônibus está chegando a um determinado ponto de parada, este projeto de pesquisa propõe a construção de um sistema de comunicação entre ônibus 1 e pontos de parada 2. Pretende-se com a criação de tal sistema, o auxílio no acesso aos ônibus, 1 Ônibus, aplicação que funciona no âmbito de um dispositivo móvel como, por exemplo, num palm top ( computador de bolso ), dentro de um ônibus. 2 Ponto de parada ou ponto, aplicação que funciona no âmbito de um dispositivo móvel, dentro de um ponto de parada ou perto de um ponto de parada.

8 8 especialmente para portadores de deficiência visual, auxiliando também analfabetos e, conseqüentemente, a população em geral. A partir da arquitetura construída para esse sistema, propõe-se o estabelecimento da comunicação entre ônibus e terminais de ônibus 3. Esta comunicação permitirá a coleta de informações, tais como linha, saída e chegada, e passagem dos ônibus por determinados pontos. Uma vez analisadas tais informações poderão fornecer parâmetros para uma melhor administração dos sistemas de transporte urbanos. A motivação deste projeto de pesquisa proveio do grande impacto social que a solução pode trazer, facilitando o acesso aos meios de transportes, particularmente ônibus, aos deficientes visuais e analfabetos, e auxiliando também a população em geral. A comunidade será a verdadeira usuária do sistema e pretende-se contribuir com a divulgação de novas tecnologias objetivando o aumento do nível tecnológico nos meios de transporte, contribuindo desta forma no papel que a universidade exerce dentro da comunidade. 3 Terminal de ônibus ou terminal, aplicação que funciona no âmbito de um computador pessoal, dentro de um terminal de ônibus.

9 Funcionamento da Aplicação Na comunicação entre ônibus e pontos de parada, os primeiros fornecerão informações, como por exemplo, linha do ônibus e suas características internas, aos pontos. Os pontos de parada fornecerão informações como, por exemplo, endereço e ponto de referência, aos ônibus. Tanto os ônibus como os pontos de parada anunciarão as informações recebidas através de algum dispositivo, como por exemplo, um alto-falante. Na comunicação entre ônibus e terminais de ônibus, os primeiros fornecerão seu log 4 de erros. Os terminais de ônibus, por sua vez, fornecerão dados atualizados aos ônibus, quando necessário. Os esquemas básicos do sistema de comunicação construído estão detalhados a seguir: (a) A Figura1 ilustra a comunicação entre ônibus e pontos de parada. Este canal de comunicação permite que o ônibus forneça informações como sua linha e suas características para o ponto de parada ao qual o mesmo está se aproximando. Ao receber a 4 Log, arquivo com informações importantes como, por exemplo, erros ocorridos durante a comunicação.

10 10 informação do ônibus, o ponto de parada anuncia através de algum dispositivo, por exemplo, um alto-falante, as informações recebidas. O ônibus funciona como um repositório temporário de informações, guardando os logs recebidos dos pontos de parada pelos quais o mesmo estabeleceu comunicação. Quando o ônibus chega ao terminal de ônibus, esses logs são enviados à aplicação responsável pelo armazenamento de tais informações que serão posteriormente analisadas Jabaquara Ônibus 1255 com destino ao Jabaquara chegando. O ônibus possui ar-condicionado Figura 1: Comunicação entre ônibus e ponto de parada No exemplo da Figura 1, tem-se o ônibus 1255 Jabaquara chegando a um determinado ponto de parada. O ônibus envia ao ponto de parada as seguintes informações: Linha 1255, destino Jabaquara. Ônibus com ar-condicionado. Ao receber essas informações, o ponto de parada as anuncia através do

11 11 dispositivo. O ponto de parada funciona como um terminal burro 5, somente recebendo informações e anunciando-as. (b) A Figura 2 ilustra a comunicação entre pontos de parada e ônibus. Este canal de comunicação permite que o ponto de parada forneça informações, tal como o seu endereço e a sua referência de localização, para o ônibus que está se aproximando. Ao receber a informação descritiva, o ônibus anuncia, através do dispositivo eletrônico, a chegada ao mesmo. Próximo Ponto: Av. Paulista, altura do no 5677, próximo ao Trianon Lapa Figura 2: Comunicação entre ponto de parada e ônibus No exemplo da Figura 2, tem-se o ônibus 3333 Lapa chegando ao 5º ponto de parada da Av. Paulista, altura do no. 5677, próximo ao Trianon. O ponto de parada envia ao ônibus as seguintes 5 Terminal Burro, terminal com funcionalidades mínimas.

12 12 informações: Av. Paulista, altura do no. 5435, próximo ao Trianon. Ao receber essas informações, o ônibus as anuncia através do dispositivo. (c) A Figura 3 ilustra a comunicação entre ônibus e terminais de ônibus. Este canal de comunicação permite que o ônibus forneça ao terminal informações, como por exemplo, horário de saída e chegada do ônibus, assim como o log de erros coletados em seu trajeto. Ao receber as informações, o terminal armazena as mesmas em um banco de dados para análise posterior. Esta análise fornecerá parâmetros para uma melhor administração dos sistemas de transporte, permitindo uma otimização, por exemplo, na construção do cronograma de horário/freqüência dos ônibus. O terminal funciona como um repositório permanente de informações, recebendo as mesmas quando o ônibus chega ao terminal. Terminal Parque Dom Jabaquara Lapa Figura 3: Comunicação entre ônibus e terminal de ônibus

13 13 Além das linhas de comunicação citadas nos exemplos acima, o terminal comunica-se com a central operacional 6, quando necessário, com o objetivo de obter as informações referentes aos ônibus e pontos. A Figura 4 apresenta um diagrama de componentes inicial do projeto deste trabalho. CadastroApp CentralOperacionalAp p OnibusApp TerminalApp PontoApp Figura 4: Diagrama inicial de componentes É importante observar que o escopo deste projeto de pesquisa está restrito à especificação e construção de um sistema de comunicação entre ônibus, pontos de parada e terminais de ônibus. O sistema construído é um protótipo funcional, uma vez que sua complexidade estrutural e seu alto 6 Central operacional ou central, aplicação que funciona no âmbito da central operacional do sistema de transportes. Esta aplicação funciona num servidor de aplicações web (máquina preparada para aplicações que funcionam no âmbito da rede mundial de computadores).

14 14 custo inviabilizam a construção do sistema como um todo, no âmbito acadêmico. O sistema restringe-se a coletar e distribuir as informações julgadas fundamentais para a aplicação e que são pertinentes ao contexto dos ônibus e pontos de parada, não fornecendo mecanismos de análise das mesmas Objetivos da Pesquisa O principal objetivo desta pesquisa é a especificação e construção de um sistema de comunicação entre ônibus, pontos de parada e terminais de ônibus utilizando tecnologias JAVA 7. Este objetivo abrange a especificação de uma arquitetura para o sistema de comunicação e a construção de um protótipo do sistema. Além disso, pretende-se, com esta pesquisa, impulsionar as atividades de ensino, pesquisa e desenvolvimento da Faculdade de Computação e Informática da Universidade Presbiteriana Mackenzie. No final deste trabalho, determinam-se e apresentam-se novas frentes de pesquisa baseadas na iniciativa deste trabalho. Procurou-se durante a fase de desenvolvimento da 7 JAVA, para maiores detalhes, ver capítulo 2.1.

15 15 aplicação, divulgar-se os conhecimentos adquiridos neste trabalho, através da participação em encontros, simpósio e congressos ligados ao assunto tratado no projeto, tais como em Cassettari [CAS01a], [CAS01b], [CAS01c]. Esses trabalhos foram apresentados na forma de poster 8, cujas miniaturas podem ser vistas no anexo A Metodologia Este trabalho foi realizado nas seguintes fases: Pesquisa: Nesta fase buscou-se, nas mais diversas fontes, informações a respeito da construção de aplicativos na área de transportes, especialmente para melhoria da qualidade de vida dos deficientes. Chegou-se a conclusão de que poucas iniciativas estão saindo do papel para se transformar em verdadeiros projetos que possam efetivamente ajudar os portadores de certas deficiências; Análise do Sistema: Durante a análise do sistema, utilizou-se a metodologia de orientação a objetos com um ciclo de vida espiral baseado em prototipação. Durante tal fase, construiu-se diversos diagramas UML (Unified Modeling Language) 9, conforme descritos em Booch [BOO98], para o entendimento do sistema como um todo; 8 Poster, cartaz. 9 Unified Modeling Language, linguagem de modelagem unificada.

16 16 Definição da Arquitetura: Nesta fase, procurou-se montar uma arquitetura para o sistema como um todo, buscando-se a construção de um sistema completo, desde a definição de sistemas auxiliares até o sistema central deste trabalho: sistema de comunicação entre ônibus, pontos de parada e terminais de ônibus; Implementação: Durante a implementação, construiu-se um protótipo do sistema principal, um simulador. Construiu-se também um protótipo dos sistemas auxiliares; Análise dos Resultados Obtidos: Durante esta fase, buscou-se analisar os resultados obtidos com a construção dos protótipos Estrutura do Trabalho O restante deste trabalho é composto pelos seguintes capítulos: Tecnologias Utilizadas: Este capítulo apresenta, de maneira rápida e objetiva, as diversas tecnologias utilizadas e as razões para escolha de tais tecnologias. Desenvolvimento: Apresenta o desenvolvimento do trabalho, ou seja, a arquitetura construída para o sistema e os diversos diagramas construídos. Apresenta também as soluções encontradas para cada aplicação em si.

17 17 Conclusão: Apresenta as conclusões gerais do trabalho, os trabalhos que poderão ser realizados no futuro dentro do contexto desta área de pesquisa, comentários finais e a contribuição acadêmica atingida.

18 18 2. Tecnologias Utilizadas A tecnologia base escolhida para o projeto foi JAVA [SUN01a], devido a sua portabilidade, poder, escalabilidade, extensibilidade e devido ao grande envolvimento da sociedade na padronização das diversas APIs (Application Programming Interface) 10 que funcionam como extensões à linguagem JAVA. O sistema descrito neste trabalho envolveu a construção de diversos tipos de soluções. Dentre eles podemos citar a central operacional, cujo objetivo é permitir o cadastro e o controle dos diversos dados que envolvem o sistema, como por exemplo, linhas, endereços, mensagens, entre outros dados. Dessa forma, durante a fase de implementação do protótipo, foi necessária a escolha de diversas APIs, explicitadas nos próximos tópicos. 10 Application Programming Interface, interface de programação da aplicação.

19 19 Como o sistema proposto neste trabalho prevê a utilização de tecnologias wireless 11 [ZIM99], visou-se implementar o protótipo da aplicação proposta nesta pesquisa utilizando o padrão BLUETOOTH [BLUE01]. Este padrão é uma especificação global para links 12 de rádio de baixo custo (cerca de 5 dólares), tamanho reduzido (microchip 13 de 9x9 milímetros) e curto alcance (máximo de 100 metros). O BLUETOOTH permite que dois dispositivos sem fio estabeleçam uma rede, espontaneamente, devido à proximidade dos mesmos JAVA A tecnologia JAVA foi escolhida por ser não somente uma linguagem orientada a objetos com características altamente desejáveis, mas também por ser uma tecnologia que evolui de forma bastante rápida e possui uma capacidade de integração com outras tecnologias de forma bastante atraente. O processo pelo qual as APIs são definidas, JCP (JAVA Community Process) 14, é um processo aberto, do qual participam as empresas que desejam que a API seja construída. Além disso, qualquer pessoa pode fazer parte do processo de 11 Wireless, tecnologia sem fio. 12 Links, ligações. 13 Microchip, dispositivo eletrônico bastante reduzido. 14 JAVA Community Process, processo de especificação de APIs da comunidade JAVA.

20 20 discussão das APIs, o que torna a tecnologia bastante interessante do ponto de vista da evolução da mesma. Além do ponto de vista da evolução da tecnologia, a linguagem JAVA foi desenhada para permitir que as aplicações construídas com a mesma funcionassem em qualquer computador. A linguagem é independente de plataforma e sistema operacional, sendo que programas construídos com a mesma podem participar de redes de computadores facilmente. Para funcionar em qualquer computador, os programas JAVA precisam de, no mínimo, uma plataforma configurada com um pequeno ambiente de software, chamado JVM (JAVA Virtual Machine) 15, conforme especificado em Lindholm [LIN99], capaz de interpretar códigos do programa JAVA. Dessa forma, programas JAVA, escritos em códigos genéricos, podem funcionar em qualquer tipo de computador. Ao invés de serem compilados em código de máquina, os programas são compilados em um código intermediário chamado bytecode 16, mais compacto que o código JAVA. A JVM interpreta o bytecode e o transforma em código de máquina. 15 JAVA Virtual Machine, máquina virtual JAVA. 16 Bytecode, código gerado a partir da compilação de um programa JAVA.

21 JAVA Servlet O JAVA Servlet, conforme estabelecido em Hunter [HUN98], é um componente JAVA que pode ser conectado a servidores web 17 com suporte a JAVA para fornecer serviços customizados. As servlets 18 são desenhadas para trabalhar com um modelo de processamento pedido/resposta. Em tal modelo, um cliente envia uma mensagem de requisição (pedido) e o servidor responde enviando uma mensagem de volta (resposta). Os pedidos podem estar em formato HTTP (Hypertext Transfer Protocol) 19, URL (Uniform Resource Locator) 20, FTP (File Transfer Protocol) 21 ou em qualquer outro formato. Os pedidos e as correspondentes respostas refletem o estado do cliente e do servidor no momento da requisição. Para construção de uma servlet, é necessária a utilização da API JAVA Servlet, que inclui várias interfaces JAVA e define completamente a ligação entre um servidor e uma servlet. 17 Web, rede mundial de computadores. 18 Servlet, aplicação voltada para web. 19 Hypertext Transfer Protocol, protocolo de transferência de hipertexto. 20 Uniform Resource Locator, endereço global de recursos. 21 File Transfer Protocol, protocolo de transferência de arquivos.

22 22 Esta API é definida como uma extensão do pacote padrão JDK (Java Development Kit) 22, contendo os seguintes pacotes: (a) javax.servlet (b) javax.servlet.http Neste projeto de pesquisa, construiu-se a central operacional como sendo uma servlet, através da extensão da classe javax.servlet.http.httpservlet. Como citado anteriormente, essa aplicação é responsável por permitir o cadastro e controle dos diversos dados que envolvem o sistema. No capítulo 3, a aplicação é explicada com maiores detalhes. Outra forma de construir a central operacional seria com a utilização de programas CGI (Common Gateway Interface) 23 ou ASP (Active Server Pages) 24. Atualmente, as servlets estão sendo utilizadas no lugar dos scripts CGI e das páginas ASP, devido as seguintes vantagens: As servlets, por funcionarem dentro de uma máquina virtual, são tratadas como threads 25 dentro do processo do servidor web, os scripts 22 JAVA Development Kit, conjunto de ferramentas para desenvolvimento de aplicações JAVA. 23 CGI, protocolo para criação de conteúdo dinâmico para web, podendo ser escrito, em, teoricamente, qualquer linguagem de programação 24 Active Server Page, técnica para criação de conteúdo dinâmico para web, podendo ser escrito, em forma de script (conjunto de instruções que executam uma função), nas linguagens de programação VISUAL BASIC ou JSCRIPT. 25 Thread, parte de um programa que pode executar independentemente de outras partes.

23 23 CGI são tratados como novos processos. Essa característica permite que as servlets sejam mais eficientes e escaláveis que os scripts CGI; Programas CGI não podem interagir com o servidor web antes de iniciar sua execução, em forma de processo. As servlets podem interagir com o servidor web mesmo antes de um cliente acessá-la. As servlets são portáveis pois funcionam em qualquer servidor web com suporte a JAVA. As páginas ASP devem ser utilizadas somente pelo servidor web MICROSOFT INTERNET INFORMATION SERVER, na versão 3.0 ou superior RMI A RMI (Remote Method Invocation) 26, conforme descrita pela Sun Microsystems [SUN01h], é uma arquitetura para objetos distribuídos específica para tecnologia JAVA. A arquitetura RMI é baseada num princípio importante: a definição e a implementação do comportamento são conceitos separados. A RMI permite que os códigos que definem o comportamento e a implementação do mesmo sejam armazenados e executados em máquinas virtuais separadas. 26 Remote Method Invocation, tecnologia para invocação de métodos em objetos remotos.

24 24 Codifica-se a definição de um serviço remoto, em RMI, utilizando uma interface JAVA. A implementação do serviço remoto é codificada numa classe que utiliza essa interface. Dessa forma, interfaces definem comportamentos e classes definem implementações. A implementação de um serviço RMI baseia-se em três camadas de abstração: (a) Camada do Stub 27 e do Skeleton 28 : Esta camada intercepta as chamadas de métodos feitas pelo cliente para a referência da interface e redireciona tais chamadas ao serviço remoto RMI; (b) Camada de Referência Remota: Tal camada entende como interpretar e administrar referências feitas pelos clientes a objetos remotos; (c) Camada de Transporte: Através de conexões TCP/IP (Transmission Control Protocol/Internet Protocol) 29 entre máquinas em uma rede, fornece a conectividade básica. Essa camada faz a conexão entre máquinas virtuais JAVA, sendo essas conexões baseadas em stream Stub, classe que auxilia a aplicação cliente a invocar métodos em objetos remotos. 28 Skeleton, classe que auxilia a aplicação servidora a tratar os métodos invocados pela aplicação cliente. 29 Transmission Control Protocol/Internet Protocol, protocolos responsáveis pela web. 30 Stream, fluxo de dados.

25 25 No topo do TCP/IP, a RMI utiliza o protocolo JRMP (JAVA Remote Method Protocol) 31, que é um protocolo proprietário baseado em stream. No projeto de uma aplicação RMI é necessária a construção de uma interface que definirá o serviço que a aplicação fornecerá, sendo preciso que essa interface herde a interface java.rmi.remote. Além disso, o servidor do serviço deve herdar ou utilizar a classe java.rmi.server.unicastremoteobject. A central operacional, além de funcionar como uma servlet, permitindo seu acesso através de browsers web, funciona também como uma aplicação RMI. Tal escolha provém do fato de aplicações escritas em JAVA necessitarem estabelecer comunicação com a central operacional. Poder-se-ia construir tal aplicação utilizando CORBA (Common Object Request Broker Architecture) 32, porém este trabalho foca a utilização da tecnologia JAVA. 31 JAVA Remote Method Protocol, protocolo JAVA para métodos remotos. 32 Common Object Request Broker Architecture, middleware orientado a objetos parecido com RMI, porém podendo integrar objetos escritos em qualquer linguagem de programação.

26 JDBC O JDBC (JAVA Database Connectivity) 33, conforme estabelecido pela Sun Microsystems [SUN01j], é uma API que fornece formas padronizadas de acesso aos dados localizados em bases de dados relacionais. Através da utilização de comandos padronizados em SQL (Structured Query Language) 34, é possível a migração de base de dados através da troca do driver 35 JDBC conveniente, sem comprometimento da aplicação como um todo. Como este projeto utiliza o banco de dados MICROSOFT ACCESS, foi necessária a utilização da ponte JDBC-ODBC para conexão com o mesmo. A única aplicação a utilizar uma conexão com banco de dados é a central operacional. Essa aplicação fornece um ponto único para acesso aos dados cadastrados na base de dados. 33 JAVA Database Connectivity, ponte de conexão entre a linguagem JAVA e o banco de dados relacional. 34 Structured Query Language, linguagem de pesquisa estruturada. 35 Driver, software que faz a interface entre o banco de dados e a linguagem de programação.

27 JCE Segurança A segurança envolve um conjunto de técnicas utilizadas para assegurar que informações sensíveis estarão disponíveis apenas para usuários autorizados. Três pontos são considerados importantes ao se tratar de segurança: autenticação, possibilidade de verificação da identidade das partes envolvidas; confidencialidade, assegurar que somente as partes envolvidas poderão entender a comunicação (geralmente feita por alguma forma de criptografia) e; integridade, possibilidade de verificar se o conteúdo da comunicação não foi modificado durante a transmissão. A criptografia, uma forma de confidencialidade, é capaz de tornar indecifráveis os dados que trafegam por um meio. A decriptografia torna os mesmos dados legíveis ao destinatário. A criptografia é implementada por um conjunto de métodos de tratamento e transformação dos dados que serão transmitidos por algum meio. Um conjunto de regras é aplicado sobre os dados, empregando uma seqüência de bits, formadores de uma chave, como

28 28 padrão a ser utilizado na criptografia. Partindo dos dados que serão transmitidos, o objetivo é criar uma seqüência de dados que não possa ser entendida por terceiros, sendo que apenas o verdadeiro destinatário dos dados deve ser capaz de recuperar os dados originais fazendo uso de uma chave. A central operacional utiliza um esquema de autenticação baseado em formulário da web. Esse esquema é explicado no tópico 3.4. As aplicações ônibus, ponto de parada, terminal e central operacional utilizam a criptografia como forma de garantir a confidencialidade dos dados que são transmitidos de uma aplicação para outra. Outra forma de garantir segurança em aplicações é a utilização de esquemas de monitoração e criação de logs. Essa técnica consiste na manutenção de um registro dos acessos aos recursos que foram concedidos ou negados, tornando possível uma auditoria na aplicação. A central operacional mantém um log dos acessos concedidos e negados, mantendo os seguintes dados: nome do usuário e data e hora da tentativa de acesso. Um exemplo do log é apresentado na Figura 5, mostrada na próxima página.

29 29 vivian; Mon Nov 12 17:19:11 GMT-02: ; S amir; Mon Nov 12 17:30:01 GMT-02: ; S cristiane; Mon Nov 12 17:30:05 GMT-02: ; N marcos; Mon Nov 12 17:31:00 GMT-02: ; N hugo; Mon Nov 12 17:32:00 GMT-02: ; S amir; Tue Nov 13 11:00:00 GMT-02: ; S vivian; Tue Nov 13 12:00:00 GMT-02: ; S luciano; Tue Nov 13 12:20:00 GMT-02: ; S Figura 5: Log de monitoração do sistema JCE A JCE (JAVA Cryptography Extension) 36, conforme estabelecido pela Sun Microsystems [SUN01g], é composta de um conjunto de pacotes que fornece implementações para criptografia, geração de chaves, acordo de chaves e algoritmos de códigos de autenticação de mensagens, entre outras características. Esta tecnologia foi escolhida para prover um meio de assegurar que as mensagens recebidas e enviadas são válidas. O pacote javax.cripto, em conjunto outros pacotes, fornecem algumas das características de criptografia do JAVA. 36 JAVA Cryptography Extension, API para extensão da linguagem JAVA, adicionando características de segurança.

30 30 Algoritmos de Criptografia Existem vários algoritmos para criptografar informações. A segurança de um sistema de criptografia deve estar inteiramente no segredo da chave e não na discrição do algoritmo. Chaves secretas com algoritmos bem testados e analisados produzem sistemas bastante seguros. Alguns exemplos de algoritmos de criptografia: DES (Data Encryption Standard), Triple-DES, RSA (Rivest Shamir Adleman) e Diffie-Hellman. As aplicações ônibus, ponto de parada, terminal e central operacional utilizam o algoritmo de criptografia RSA J2ME A J2ME (JAVA 2 Micro Edition) 37, conforme descrito pela Sun Microsystems [SUN01b], foi apresentada no congresso JavaOne de Tem como objetivo permitir que aplicações JAVA sejam executadas em dispositivos móveis (pagers 38, celulares, sistemas de navegação em carros, entre outros). Esta tecnologia não define um novo tipo de JAVA, ou seja, sua 37 JAVA 2 Micro Edition, versão da API JAVA para dispositivos móveis. 38 Pager, dispositivo móvel para comunicação.

31 31 especificação apenas removeu as classes e métodos que não eram necessárias para manipulação em dispositivos pequenos ou que estavam duplicadas na J2SE (JAVA 2 Standard Edition) 39 e acrescentou novas classes específicas para estes dispositivos. A Sun Microsystems, juntamente com a comunidade JAVA, categorizou os dispositivos de pequeno porte em: dispositivos móveis (com menos recursos) e dispositivos tipicamente fixos (com mais recursos). Para cada um destes tipos de dispositivos foram especificados configurações e perfis. As configurações são conjuntos de pacotes, classes e máquinas virtuais otimizadas para características encontradas nos dois grupos de dispositivos anteriormente citados. As implementações de configuração disponíveis são: (a) CLDC (Connected Limited Device Configuration) 40, conforme descrito pela Sun Microsystems [SUN01c] - é uma especificação que fornece um conjunto básico de classes e características da máquina virtual JAVA que devem estar presentes em todas as implementações para ambientes J2ME em dispositivos limitados. O núcleo da tecnologia J2ME em dispositivos móveis é a máquina virtual KVM (K 39 JAVA 2 Standard Edition, versão da API JAVA para aplicações convencionais (padrões). 40 Connected Limited Device Configuration, configuração para dispositivos móveis com recursos limitados.

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

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

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso Universidade Federal de Santa Catarina Departamento de Informática e Estatística Curso de Bacharelado em Ciências da Computação Marcus Vinicius Cruz Xavier Rascunho do trabalho de conclusão de curso Título

Leia mais

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

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

Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus Java ME e suas principais tecnologias de conectividade Gracieli Begia Mateus Telefones Celulares no Mundo Fonte: UIT e Wireless Intelligence (Ovum/GSM Association) Posição do Brasil no Mundo Principais

Leia mais

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS

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

Leia mais

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE SIGLAS E ABREVIATURAS Pág. CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 2.1 A tecnologia de orientação a objetos 25 2.1.1 Projeto de software

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

Leia mais

Arquiteturas de Aplicações Distribuídas

Arquiteturas de Aplicações Distribuídas Arquiteturas de Aplicações Distribuídas Fernando Albuquerque 061-2733589 fernando@cic.unb.br www.cic.unb.br/docentes/fernando Tópicos Introdução. HTTP / CGI. API sockets. JDBC. Remote Method Invocation.

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

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

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

Leia mais

INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO

INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO Ramon R. Rabello, Pedro J. Treccani, Thienne M Johnson Universidade da Amazônia, Av Alcindo Cacela, 287, Belém, PA CEP 66092-010 ramon.rabello@gmail.com,

Leia 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

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

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo Programação para Dispositivos Móveis Prof. Wallace Borges Cristo Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce) Aplicações

Leia mais

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

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos CORBA Common Object Request Broker Architecture Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos Introdução OMG (Object Management Group): uma organização formada por empresas

Leia mais

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

Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Uma Introdução ao J2ME Computação Móvel (MAC5743/MAC330) DCC-IME-USP Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Visão Geral do Java 2 (1) A plataforma Java 2 engloba três elementos:

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

UMA ABORDAGEM SOBRE J2ME

UMA ABORDAGEM SOBRE J2ME UMA ABORDAGEM SOBRE J2ME Júlio César Jardim Júnior 1, Elio Lovisi Filho (Orientador) 1 1 Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC) Rua Palma Bageto Viol, s/n Barbacena - MG.

Leia mais

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

SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados

SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados Acadêmico: Bernardo Marquardt Müller Orientador: Prof. Dr. Mauro Marcelo Mattos Roteiro

Leia 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

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

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

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Arquitetura de Aplicações Distribuídas na Web Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

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

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

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

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

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

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

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

Leia 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

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Objetos Distribuídos Graça Bressan Graça Bressan/LARC 2000 1 Objetos São entidades de software que encapsulam dados, ou atributos, e código e que são acessados através de funções ou métodos.

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

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

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

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

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

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

Como dito anteriormente, a JCP especificou dois grupos para a J2ME conforme as necessidades dos dispositvos, chamadas Configurações: 1 TECNOLOGIA J2ME A J2ME, Java Micro Edition, é uma tecnologia que permite o desenvolvimento de aplicações Java para dispositivos com poder de processamento, vídeo e memória limitados. Possui uma coleção

Leia mais

A utilização do JSWDP para construção de Web Services

A utilização do JSWDP para construção de Web Services A utilização do JSWDP para construção de Web Services Fabiana Ferreira Cardoso 1, Francisco A. S. Júnior 1, Madianita Bogo 1 1 Centro de Tecnologia da Informação Centro Universitário Luterano de Palmas

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

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

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Web Container: e JSP Sumário Protocolo HTTP Exemplos de JSP (Java Server Pages) Exemplos JSP 2 Protocolo HTTP URL: Um URL (Uniform

Leia 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

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli Objetivo; Roteiro da Apresentação Visão Geral sobre Internet,

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

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

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

Leia mais

Exemplos práticos do uso de RMI em sistemas distribuídos

Exemplos práticos do uso de RMI em sistemas distribuídos Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues, Guilherme Montez Guindani, Leonardo Albernaz Amaral 1 Fábio Delamare 2 Pontifícia Universidade Católica do Rio Grande

Leia mais

BrokerCell: programando celular com J2ME para cotar papéis na Bovespa

BrokerCell: programando celular com J2ME para cotar papéis na Bovespa BrokerCell: programando celular com J2ME para cotar papéis na Bovespa Nairon Neri Silva 1, Luís Augusto Mattos Mendes(Orientador) 1 1 Ciência da Computação - Universidade Presidente Antônio Carlos (UNIPAC)

Leia mais

Manual de Operação Aplicativo ClickIt

Manual de Operação Aplicativo ClickIt Manual de Operação Aplicativo ClickIt Rev. 1.1 Agosto/2010 GSControl Automação Ltda. Rua Washington Luiz, 675 ITC Conjunto 1101 Centro Porto Alegre RS CEP 90010-460 Telefone: (51)3026-0945 / (51)3287-2167

Leia 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

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações

Leia mais

J2ME, Uma Platarfoma de programação para Dispositivos Móveis

J2ME, Uma Platarfoma de programação para Dispositivos Móveis J2ME, Uma Platarfoma de programação para Dispositivos Móveis Jesseildo F. Gonçalves 07/10/2010 Jesseildo F. Gonçalves () 07/10/2010 1 / 50 1 Introdução ao J2ME História Arquitetura do J2ME MIDLets 2 RMS:

Leia 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

DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME

DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME Ana Paula A. ZANELATO 1 Eliezer Gomes Paraganba FILHO 2 Emerson Silas DÓRIA 3 RESUMO: Este artigo pretende apresentar a tecnologia J2ME (linguagem

Leia 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

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

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

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. 2005 by Pearson Education do Brasil

Introdução aos computadores, à Internet e à World Wide Web. 2005 by Pearson Education do Brasil 1 Introdução aos computadores, à Internet e à World Wide Web OBJETIVOS Neste capítulo, você aprenderá: Conceitos básicos de hardware e software. Conceitos básicos de tecnologia de objeto, como classes,

Leia mais

Framework utilizando reflexão e aspectos para persistência de objetos em java

Framework utilizando reflexão e aspectos para persistência de objetos em java Framework utilizando reflexão e aspectos para persistência de objetos em java Antonio Carlos Rolloff (UNIPAR) acrolloff@gmail.com Arthur Cattaneo Zavadski (UNIPAR) arthur@datacoper.com.br Maria Aparecida

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 5 Servidores de Aplicação

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

UNIVERSIDADE ESTADUAL DE PONTA GROSSA

UNIVERSIDADE ESTADUAL DE PONTA GROSSA UNIVERSIDADE ESTADUAL DE PONTA GROSSA SECRETARIA MUNICIPAL DE GESTÃO DE RECURSOS HUMANOS CONCURSO PÚBLICO PARA ANALISTA DE SUPORTE 08 DE NOVEMBRO DE 2009... (NOME COMPLETO EM LETRA DE FORMA) INSTRUÇÕES

Leia mais

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br JXTA Alessandro Vasconcelos Ferreira de Lima Roteiro Motivação Introdução Arquitetura de JXTA Elementos de JXTA Os Protocolos Comparações e Desvantagens Conclusão Motivação Limitações do Modelo Cliente

Leia mais

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA. Pizzaria Manão

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA. Pizzaria Manão UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA Pizzaria Manão Emilio Gonçalves 41281 Fabrício Luís Santos da Silva 50293 Filipe Ribeiro Nalon 50295

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

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

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Desenvolvimento de Aplicações Móveis com J2ME. Andrea foi a primeira colocada no I Concurso Teleco de Trabalhos de Conclusão de Curso (TCC) 2005.

Desenvolvimento de Aplicações Móveis com J2ME. Andrea foi a primeira colocada no I Concurso Teleco de Trabalhos de Conclusão de Curso (TCC) 2005. Desenvolvimento de Aplicações Móveis com J2ME Andrea Rodrigues de Amorim 1º Colocado I Concurso Teleco de TCC's 2005 Andrea foi a primeira colocada no I Concurso Teleco de Trabalhos de Conclusão de Curso

Leia mais

Proposta de PFC. Desenvolvimento de uma biblioteca para envio de Nota Fiscal Eletrônica através de dispositivos móveis usando a tecnologia Java ME.

Proposta de PFC. Desenvolvimento de uma biblioteca para envio de Nota Fiscal Eletrônica através de dispositivos móveis usando a tecnologia Java ME. Proposta de PFC Desenvolvimento de uma biblioteca para envio de Nota Fiscal Eletrônica através de dispositivos móveis usando a tecnologia Java ME. Aluno: Vitor Gobato Orientador: Fábio Nogueira 1 1. Introdução

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Definições Características Desafios Vantagens Desvantagens 2 Definições DEFINIÇÕES Um sistema distribuído é uma coleção

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM CAPÍTULO 7 JAVA Java é uma linguagem orientada a objeto cujo projeto foi desenvolvido pela Sun Microsystems no início de 1991. Ela foi originalmente concebida para ser utilizada na programação de dispositivos

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE INFORMÁTICA COMPUTAÇÃO MÓVEL CONTROLE DE GASTOS PARA ORÇAMENTO DOMÉSTICO

UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE INFORMÁTICA COMPUTAÇÃO MÓVEL CONTROLE DE GASTOS PARA ORÇAMENTO DOMÉSTICO UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE INFORMÁTICA COMPUTAÇÃO MÓVEL CONTROLE DE GASTOS PARA ORÇAMENTO DOMÉSTICO Fred Paulino Ferreira, Leonardo Couto, Renato Maia, Luiz G. Montanha Departamento

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução.

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. CAPÍTULO 3 MIDDLEWARE Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. 3.1 ARQUITETURA CLIENTE/SERVIDOR Primeiramente, surgiu a arquitetura centralizada

Leia mais

Gestão de projectos na Web

Gestão de projectos na Web Gestão de projectos na Web Relatório de desenho de alto nível Versão 1.0, 5 de Maio de 2003 Telmo Pedro Gomes Amaral (mee02013@fe.up.pt) (Grupo 15) Aplicações na Web Mestrado em Engenharia Electrotécnica

Leia mais

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos

Leia mais

Acadêmico: Marciane Schotten Prof. Orientador: Ricardo Alencar de Azambuja

Acadêmico: Marciane Schotten Prof. Orientador: Ricardo Alencar de Azambuja PROTÓTIPO DE UMA APLICAÇÃO MÓVEL PARA LOCAÇÃO DE VEÍCULOS UTILIZANDO J2ME Acadêmico: Marciane Schotten Prof. Orientador: Ricardo Alencar de Azambuja Roteiro da apresentação Introdução Objetivos Fundamentação

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

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

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

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

Introdução à Engenharia da Computação. Tecnologia Web Professor Machado

Introdução à Engenharia da Computação. Tecnologia Web Professor Machado Introdução à Engenharia da Computação Tecnologia Web Professor Machado 1 WWW - World Wide Web Surgiu da necessidade de troca de documentos entre institutos de pesquisas. Utiliza o protocolo HTTP (HyperText

Leia mais

Desenvolvimento de um Framework de Jogos 3D para Celulares

Desenvolvimento de um Framework de Jogos 3D para Celulares Desenvolvimento de um Framework de Jogos 3D para Celulares Fabrício Brasiliense Departamento de Informática e Estatística(INE) Universidade Federal de Santa Catarina (UFSC) Campus Universitário Trindade-

Leia mais

Programação e Designer para WEB

Programação e Designer para WEB Programação e Designer para WEB Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Introdução a hipertexto. A linguagem HTML.

Leia mais

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

Leia mais

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões FACSENAC ECOFROTA Documento de Projeto Lógico de Rede Versão:1.5 Data: 21/11/2013 Identificador do documento: Projeto Lógico de Redes Versão do Template Utilizada na Confecção: 1.0 Localização: FacSenac

Leia mais

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

Leia mais

Extensões MIDP para Web Services

Extensões MIDP para Web Services Extensões MIDP para Web Services INF-655 Computação Móvel Universidade Federal de Viçosa Departamento de Informática MIDP Architecture MIDP = Mobile Information Device Profile Connection Framework HttpConnection

Leia mais

PROTÓTIPO DE UM DIÁRIO DE CLASSE EM DISPOSITIVOS MÓVEIS UTILIZANDO J2ME

PROTÓTIPO DE UM DIÁRIO DE CLASSE EM DISPOSITIVOS MÓVEIS UTILIZANDO J2ME UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO PROTÓTIPO DE UM DIÁRIO DE CLASSE EM DISPOSITIVOS MÓVEIS UTILIZANDO J2ME FABIANO ROSA BLUMENAU

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais