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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo TECNOLOGIA WEB Principais Protocolos na Internet Aula 2 Profa. Rosemary Melo Tópicos abordados Compreender os conceitos básicos de protocolo. Definir as funcionalidades dos principais protocolos de Internet.

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

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

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

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

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

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

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia 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

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

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

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

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

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

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia 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

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

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

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Programação para Web Artefato 01. AT5 Conceitos da Internet

Programação para Web Artefato 01. AT5 Conceitos da Internet Programação para Web Artefato 01 AT5 Conceitos da Internet Histórico de revisões Data Versão Descrição Autor 24/10/2014 1.0 Criação da primeira versão HEngholmJr Instrutor Hélio Engholm Jr Livros publicados

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

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

Leia mais

Agregador de feeds RSS para dispositivos móveis

Agregador de feeds RSS para dispositivos móveis Agregador de feeds RSS para dispositivos móveis Disciplina: Computação Móvel Professor: Mauro Nacif Rocha Data: 27/02/2007 Hadriel Toledo Lima 50290 Juliana Pinheiro Campos 47683 Luis Felipe Hussin Bento

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

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

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 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

QUESTÕES PROVA 2 (28 a 44)

QUESTÕES PROVA 2 (28 a 44) QUESTÕES PROVA 2 (28 a 44) 28) A orientação a objetos é uma forma abstrata de pensar um problema utilizando-se conceitos do mundo real e não, apenas, conceitos computacionais. Nessa perspectiva, a adoção

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

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

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

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

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

O que são DNS, SMTP e SNM

O que são DNS, SMTP e SNM O que são DNS, SMTP e SNM O DNS (Domain Name System) e um esquema de gerenciamento de nomes, hierárquico e distribuído. O DNS define a sintaxe dos nomes usados na Internet, regras para delegação de autoridade

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

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

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

Comunicando através da rede

Comunicando através da rede Comunicando através da rede Fundamentos de Rede Capítulo 2 1 Estrutura de Rede Elementos de comunicação Três elementos comuns de comunicação origem da mensagem o canal destino da mensagem Podemos definir

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Critério de Correção do Trabalho 1 Organização: 2,0 O trabalho está bem organizado e tem uma coerência lógica. Termos

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

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

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

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

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

Projuris Enterprise Visão Geral da Arquitetura do Sistema

Projuris Enterprise Visão Geral da Arquitetura do Sistema Projuris Enterprise Visão Geral da Arquitetura do Sistema Março/2015 Página 1 de 17 Projuris Enterprise Projuris Enterprise é um sistema 100% Web, com foco na gestão de contencioso por empresas ou firmas

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

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Introdução a Servlets

Introdução a Servlets Linguagem de Programação para Web Introdução a Servlets Prof. Mauro Lopes 1-31 21 Objetivos Iniciaremos aqui o estudo sobre o desenvolvimento de sistemas web usando o Java. Apresentaremos nesta aula os

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

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

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP Anexo VI Edital nº 03361/2008 Projeto de Integração das informações de Identificação Civil 1. Definições de interoperabilidade adotadas pela SENASP A Senasp procura adotar os padrões de interoperabilidade

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

SISTEMA DE CONTROLE DE DADOS CLIMÁTICOS NA WEB NO AUXILIO À AGRICULTURA RESUMO SYSTEM CONTROL OF CLIMATIC DATA IN THE WEB TO ASSIST THE AGRICULTURE

SISTEMA DE CONTROLE DE DADOS CLIMÁTICOS NA WEB NO AUXILIO À AGRICULTURA RESUMO SYSTEM CONTROL OF CLIMATIC DATA IN THE WEB TO ASSIST THE AGRICULTURE SISTEMA DE CONTROLE DE DADOS CLIMÁTICOS NA WEB NO AUXILIO À AGRICULTURA CAROLINE VISOTO 1 EDUARDO RUBIN 2 THIAGO X. V. OLIVEIRA 3 WILINGTHON PAVAN 4 JOSÉ MAURÍCIO CUNHA FERNANDES 5 CRISTIANO ROBERTO CERVI

Leia mais

Conteúdo Programático de PHP

Conteúdo Programático de PHP Conteúdo Programático de PHP 1 Por que PHP? No mercado atual existem diversas tecnologias especializadas na integração de banco de dados com a WEB, sendo o PHP a linguagem que mais se desenvolve, tendo

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

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 01 e 02 Prof. Fernando Freitas Costa http://blog.fimes.edu.br/fernando nando@fimes.edu.br Conteúdo Programático Instalação e configuração básica do Eclipse Indigo e do

Leia mais

Desenvolvimento Cliente-Servidor 1

Desenvolvimento Cliente-Servidor 1 Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados

Leia mais

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais