Universidade Federal do Ouro Preto
Proposta de Projeto de Pesquisa em Ciência da Computação
Uma Ferramenta para Prototipag...
Proposta de Projeto de Pesquisa Page 2
Índice
1 Objetivos ...................................................................
Proposta de Projeto de Pesquisa Page 3
1 Objetivos
O objetivo principal deste projeto de pesquisa é apresentar soluções e ...
Proposta de Projeto de Pesquisa Page 4
A computação ubíqua utiliza informações do ambiente para a definição do contexto e
...
Proposta de Projeto de Pesquisa Page 5
ambulâncias, viaturas policiais e do corpo de bombeiros) e de marcos fixos tais com...
Proposta de Projeto de Pesquisa Page 6
que efetuará a busca ou retorno, situação do aeroporto e do vôo, período de espera ...
Proposta de Projeto de Pesquisa Page 7
computacionais; (b) interorganizacional e (c) facilmente construídos a partir de pa...
Proposta de Projeto de Pesquisa Page 8
Figura 2: Um serviço composto para uso em aplicações móveis.
Podemos destacar algun...
Proposta de Projeto de Pesquisa Page 9
b) Fundamentação Teórica: Realizaremos a caracterização do problema da composição
d...
Proposta de Projeto de Pesquisa Page 10
• Protocolos padrões de comunicação tais como o HTTP, XMPP, SOAP;
• Outros padrões...
Proposta de Projeto de Pesquisa Page 11
Florida, USA : ACM, 2009. pp. 627-634. http://doi.acm.org/10.1145/1639950.1639958....
Proposta de Projeto de Pesquisa Page 12
Próximos SlideShares
Carregando em…5
×

Proposta de projeto de pesquisa UFOP

692 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
692
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Proposta de projeto de pesquisa UFOP

  1. 1. Universidade Federal do Ouro Preto Proposta de Projeto de Pesquisa em Ciência da Computação Uma Ferramenta para Prototipagem de Composição de Serviços Web para Aplicações e Serviços Móveis e Ubı́quos Waldir Ribeiro Pires Junior Departamento de Ciência da Computação Universidade Federal de Minas Gerais wpjr@dcc.ufmg.br Resumo Este documento apresenta uma proposta de projeto de pesquisa que envolve o desenvolvimento de técnicas e ferramentas de composição de serviços Web sensíveis ao contexto para aplicações e serviços móveis e ubíquos. O objetivo da composição de serviços Web é permitir a criação de serviços mais sofisticados para usuários móveis a partir de serviços elementares. A sofisticação destes serviços possibilita uma melhor interação com usuários móveis no que diz respeito as características inerentes aos cenários existentes na computação móvel e ubíqua. Palavras Chave Computação Móvel, Computação Ubíqua, Computação Ciente de Contexto, Sistemas Distribuídos, Arquitetura Orientada a Serviços e Eventos, Serviços Web, Composição de Serviços Web
  2. 2. Proposta de Projeto de Pesquisa Page 2 Índice 1 Objetivos ............................................................................................................................... 3 2 Introdução............................................................................................................................. 3 2.1 Computação Móvel e Ubíqua........................................................................................ 3 2.1.1 Pesquisa Realizada ................................................................................................ 4 2.2 Arquitetura Orientada a Serviços.................................................................................. 6 2.2.1 Serviços Web......................................................................................................... 6 2.2.2 A Composição de Serviços Web............................................................................ 7 3 Metodologia.......................................................................................................................... 8 4 Desenvolvimento do Projeto................................................................................................. 9 5 Conclusão ............................................................................................................................ 10 6 Referências Bibliográficas ................................................................................................... 10
  3. 3. Proposta de Projeto de Pesquisa Page 3 1 Objetivos O objetivo principal deste projeto de pesquisa é apresentar soluções e estudos de caso envolvendo a composição de serviços Web para uso em aplicações e serviços móveis e ubíquos. Apresentaremos uma introdução sobre as principais áreas de pesquisa relacionadas ao projeto, a metodologia de pesquisa e o desenvolvimento do trabalho a ser realizado. 2 Introdução Neste Seção apresentaremos os principais conceitos relacionados ao projeto de pesquisa proposto por este documento. As principais áreas de pesquisa apresentadas incluem a computação móvel e ubíqua e a arquitetura orientada a serviços que inclui o uso de serviços Web e a composição destes serviços. 2.1 Computação Móvel e Ubíqua De uma forma geral, a computação móvel apresenta a habilidade de uso de tecnologias por usuários enquanto estes se movem, permitindo o acesso a informações de qualquer lugar e momento. Ela também define a capacidade de execução de aplicações em dispositivos de pequeno porte, tais como celulares, Smartphones, Palms, Internet Tablets e PDAs. A comunicação nestes tipos de dispositivos é normalmente provida na forma sem fio, onde usuários utilizam serviços móveis de dados e voz. Características tais como a largura de banda limitada na transmissão de dados, consumo de energia, interferências no canal de rádio e limitações na interface de usuário fazem parte das restrições da computação móvel. A computação ubíqua, por sua vez, se beneficia de dispositivos móveis para uma melhor realização de atividades pelo usuário, fazendo com que ele (o usuário) não necessite sempre estar explicitamente inserido no mundo computacional para utilizar seus recursos. Sendo assim, a computação ubíqua se integra ao mundo do próprio usuário, definindo assim um novo modelo computacional de interação homem-computador no qual o processamento de informações está integrado a objetos e atividades do dia a dia. Ao contrário do paradigma da computação desktop onde um usuário conscientemente aciona um único dispositivo para uma ou mais atividades específicas, a computação ubíqua permite que o usuário acione diversos dispositivos computacionais e sistemas de forma simultânea e inconsciente durante a execução de suas atividades comuns, em alguns casos sem estar ciente da presença destes e de suas atividades no ambiente.
  4. 4. Proposta de Projeto de Pesquisa Page 4 A computação ubíqua utiliza informações do ambiente para a definição do contexto e adaptação em sistemas em tempo real. Dey et. al. (1) apresenta a computação ciente de contexto como sendo um paradigma no qual aplicações possuem a capacidade de descobrir e utilizar informações de contexto, tais como a localização, horário do dia, pessoas e dispositivos próximos, e atividades do usuário. Rossi et al. (2) apresenta a adaptação como sendo a capacidade de um sistema computacional ou um middleware em modificar seu comportamento em resposta às mudanças no contexto ambiental. Sendo assim, aplicações móveis e serviços remotos podem utilizar informações presentes no contexto para o provimento de serviços e conteúdo tanto para o usuário quanto para aplicações móveis presentes no dispositivo. A ciência de contexto lida diretamente com o ambiente, permitindo que sistemas computacionais reajam ou adaptem às mudanças detectadas por elementos sensores. Estes sistemas estão principalmente preocupados com a aquisição de contexto através, por exemplo, da utilização de sensores para a percepção de uma situação, a abstração e compreensão do contexto (i.e., associando um estímulo sensorial percebido a um contexto), e comportamento da aplicação baseado no contexto reconhecido, como por exemplo, habilitar atividades do usuário baseadas em contexto. 2.1.1 Pesquisa Realizada No trabalho de pesquisa realizado durante o mestrado, desenvolvemos dois protótipos que fizeram uso de um servidor de eventos (3) capaz de captar mudanças nas informações de perfil e contexto do usuário móvel e de serviços Web remotos, conforme apresentado na Figura 1. No primeiro protótipo (Fig 1b), o Guia Turístico DroidGuide (4) permitiu a coleta de informações de perfil e contexto turísticas a partir do dispositivo móvel e o compartilhamento destas informações com serviços Web sensíveis ao contexto relacionados às atividades turísticas na região. Através da gestão de informações de perfil e contexto no dispositivo e no servidor remoto de dados, o serviço turístico foi capaz de sugerir atrações turísticas que melhor se enquadravam nos interesses de usuários móveis, além de receberem informações a partir de serviços remotos em função de seus interesses e informações de contexto, tais como dados meteorológicos, de tráfego e informações turísticas. No segundo protótipo (Fig. 1a), apresentamos a viabilidade na utilização de arcabouços Web na construção de protótipos de aplicações e serviços móveis e ubíquos sensíveis ao contexto e coletivos. O Serviço de Contexto de Emergências ou DECS possibilita o gerenciamento de eventos de emergência, de unidades móveis de emergência (i.e.,
  5. 5. Proposta de Projeto de Pesquisa Page 5 ambulâncias, viaturas policiais e do corpo de bombeiros) e de marcos fixos tais como hospitais e delegacias. O uso de tecnologias Web tais como o navegador Web, HTTP e AJAX1 possibilitaram a análise de protótipos de serviços Ubíquos de uma forma coletiva, onde cada janela ou aba do navegador Web desempenhou o papel de cliente móvel ou fixo. (a) Protótipo DroidGuide. (b) Protótipo DECS. Figura 1: Os protótipos desenvolvidos durante o trabalho de mestrado (3). No desenvolvimento de ambos protótipos, entretanto, a utilização de serviços Web foi realizada de forma abstrata, já que este não era o foco principal do trabalho. Neste caso, desenvolvemos os serviços Web para o envio de notificações contendo informações de contexto global ou remoto para o usuário móvel. Estes serviços não possuíam a capacidade de processamento de informações de perfil e contexto compostas (múltiplas variáveis, combinação entre variáveis) e complexas (mais de um serviço elementar). Por exemplo, as informações de localização e de perfil foram utilizadas por serviços de uma forma bem simples, não possibilitando inferências sobre as informações compartilhadas pelos serviços Web. Imaginemos um cenário onde usuários móveis desejam ou necessitam utilizar serviços mais complexos, a fim destes oferecerem de uma forma mais inteligente e abrangente informações de interesse para o mesmo. Podemos citar o exemplo de um serviço de busca de passageiros (passenger pickup service) em um aeroporto, onde o usuário móvel é responsável por buscar ou levar um passageiro ao aeroporto, conforme apresentado na Figura 2. Estas atividades necessitam de diversas informações tais como a distância e a situação do tráfego da origem ao destino (gestão de rotas), autonomia do automóvel (i.e., combustível disponível) 1 Em inglês, Assynchronous JavaScript and XML.
  6. 6. Proposta de Projeto de Pesquisa Page 6 que efetuará a busca ou retorno, situação do aeroporto e do vôo, período de espera no desembarque/embarque, informações climáticas da região, características e estado do passageiro (i.e., tipo e quantidade de bagagem, situação, interesses e desejos, etc.). Esta abordagem apresenta diversos desafios, tais como algumas características e limitações presentes em dispositivos móveis (i.e., heterogeneidade, mobilidade, confiabilidade, segurança, etc.), o processo de composição de serviços móveis/remotos e o compartilhamento de informações entre serviços (s2s) e entre serviços e o usuário móvel (s2c). 2.2 Arquitetura Orientada a Serviços A computação orientada a serviços ou SOC2 e a arquitetura orientada a serviços ou SOA3 definem conceitos importantes na área de sistemas distribuídos. Estes conceitos têm sido amplamente utilizados em projetos e pesquisas relacionadas a criação e utilização de serviços Web. Em SOC/SOA, a funcionalidade da aplicação é composta de tal forma que permite seu uso no desenvolvimento de aplicações que integram funcionalidades a partir de serviços elementares e de outras aplicações, o que é conhecido como composição de serviços ou serviços compostos. Cada serviço fornece sua funcionalidade para a aplicação tornando-a disponível através de uma interface padrão de acesso. A composição de serviços tem sido uma das áreas de grande interesse de pesquisa recentemente. A motivação geral para isto está relacionada a possibilidade de criação de serviços compostos, mais complexos e elaborados a partir de um conjunto de serviços já existentes. De uma forma prática, a composição de serviços elementares permite que diferentes provedores de serviços sejam unificados a fim de criar serviços mais sofisticados no nível lógico e semântico. A comunidade de pesquisa da Internet têm reconhecido a importância da composição de serviços graças a sua flexibilidade e reuso na construção de aplicações. Entretanto, este reconhecimento tem se focado mais diretamente em serviços Web utilizados por aplicações Web do que em outras abordagens, como por exemplo, em aplicações móveis e ubíquas. 2.2.1 Serviços Web Podemos definir um serviço Web ou Web Service como uma aplicação acessível onde outras aplicações e/ou seres humanos podem descobrí-la e invocá-la como, por exemplo, a partir da Internet e/ou dispositivos móveis. Um serviço Web (5) pode apresentar as seguintes propriedades: (a) independência (a maior possível) de plataformas específicas e paradigmas 2 Em inglês, Service Oriented Computing. 3 Em inglês, Service Oriented Architecture.
  7. 7. Proposta de Projeto de Pesquisa Page 7 computacionais; (b) interorganizacional e (c) facilmente construídos a partir de padrões como o XML e o SOAP4 . Alguns trabalhos existentes já oferecem a possibilidade de integração destes serviços e recursos com aplicações residentes em dispositivos móveis, como em Christensen et al. (6), em Chakraborty et al. (7), em Heejung et al. (8). Debaty et al. (9) propôe uma aplicação que permite acesso a dados móveis e sensíveis ao contexto em uma variedade de ambientes computacionais ubíquos. As tecnologias de Serviços Web ou Web Services têm sido consideradas como soluções promissoras em ambientes computacionais ubíquos heterogêneos. A principal razão disto está no fato destes serviços utilizarem padrões como o XML, o SOAP, provendo a interoperabilidade entre serviços e entre clientes, e sua alta capacidade de integração em processos de negócio (e.g., B2B e B2C). Diversos serviços Web já estão disponíveis para uso por aplicações, e serviços adicionais direcionados em informações de perfil e contexto podem ser criados com o objetivo de prover suporte a aplicações em execução nos diversos tipos de dispositivos móveis existentes. Podemos destacar algumas propostas de Workflows de serviços Web para ambientes ubíquos que consideram mudanças de dados de perfil e contexto, tais como em Joohyun et al. (10) e em Cho et al. (11). 2.2.2 A Composição de Serviços Web Os serviços disponíveis em ambientes ubíquos precisam também prover de uma forma automática a adaptação para usuários móveis de acordo com as informações dinâmicas de perfil e contexto que podem ser obtidas tanto do usuário quanto do ambiente em que ele está. Em alguns casos, a composição de serviços ser torna possível e útil, onde uma combinação de serviços Web semelhantes e/ou complementares seria disponibilizada ao usuário. O principal objetivo da composição está na satisfação das necessidades do usuário através da combinação de serviços elementares criados ou já existentes, em situações onde não há um serviço disponível no ambiente capaz de realizar uma determinada funcionalidade. Urbieta et al. (12) destaca a composição de serviços em ambientes inteligentes e dinâmicos focando nas seguintes características: especificação (i.e., qualidade, uso de recursos, etc.), execução (i.e., contingência e escalabilidade) e disponibilidade (i.e., topologia, infra-estrutura, etc.), usabilidade, adaptabilidade e eficiência no seu uso. Bronsted et al. (13) apresenta a composição de serviços como sendo uma composição de quatro principais áreas: ciência de contexto, gerenciamento de contingências, gerenciamento da heterogeneidade de dispositivos e prover recursos aos usuários móveis. 4 Em inglês, Simple Object Access Protocol.
  8. 8. Proposta de Projeto de Pesquisa Page 8 Figura 2: Um serviço composto para uso em aplicações móveis. Podemos destacar alguns trabalhos já desenvolvidos que apresentam algumas características da composição de serviços em aplicações e serviços móveis. Chakraborty et al. (7) apresenta algumas limitações existentes na computação ubíqua no que diz respeito a composição de serviços nestes tipos de ambientes, já que a composição é aplicada em boa parte nos ambientes Web distribuídos. É destacado algumas características específicas tais como a mobilidade, heterogeneidade em dispositivos, confiabilidade e a variabilidade de recursos no ambiente computacional. Nesta proposta, Chakraborty et al. (7) apresenta uma abordagem distribuída nos processos de descoberta e intermediação para possibilitar a composição de serviços em ambientes móveis levando em consideração as limitações apresentadas acima. Quatro tópicos essenciais são apresentados no que diz respeito a composição de serviços móveis: (a) um modelo distribuído de coordenação, (b) heterogeneidade de recursos e ciência do contexto, (c) gerenciamento da mobilidade e adaptabilidade e (d) tolerança a falhas e confiabilidade. No nosso trabalho, desejamos extender a coleta e compartilhamento de informações de perfil e contexto através do uso de serviços Web compostos a fim de possibilitar ao usuário serviços mais sofisticados. Esta extenção inclui a construção de uma ferramenta de projeto capaz de criar composições entre serviços Web elementares para aplicações e serviços móveis. 3 Metodologia Para o desenvolvimento deste projeto, propôe-se a execução das seguintes atividades: a) Pesquisa Bibliográfica: Elaboração e estudo em forma de pesquisa bibliográfica a fim de levantar as informações sobre padrões, tecnologias, protocolos, arquiteturas e propostas existentes de composição de serviços em aplicações e serviços móveis;
  9. 9. Proposta de Projeto de Pesquisa Page 9 b) Fundamentação Teórica: Realizaremos a caracterização do problema da composição de serviços móveis e do uso destes por aplicações e serviços móveis e ubíquos. A pesquisa e definição de algoritmos relacionados serão também realizadas nesta etapa do projeto. c) Identificação de Requisitos: Definição dos requisitos para o desenvolvimento de um protótipo de uma aplicação servidora responsável por armazenar, compor e prover serviços compostos para usuários móveis correlacionado com os itens (a) e (b). d) Cenários de Uso: Definição de cenários de uso onde aplicações e serviços móveis podem usufruir de serviços compostos e) Protótipos: Desenvolvimento do protótipo da aplicação servidora e uma aplicação cliente que utilize o(s) serviço(s) composto(s) desenvolvido(s) a partir da ferramenta. f) Análise de Resultados: Avaliação dos protótipos desenvolvidos em termos de carga de trabalho dos serviços e do servidor remoto de dados, a fim de avaliarmos a escalabilidade e a capacidade de composição proposta pela ferramenta desenvolvida. 4 Desenvolvimento do Projeto O desenvolvimento prevê a realização das seguintes etapas: a) Levantamento do estado da arte relacionado ao problema proposto; b) Definição de fundamentos teóricos; c) Identificação e detalhamento de requisitos do compositor de serviços, definição da arquitetura de sistema; d) Desenvolvimento da aplicação servidora de composição de serviços Web para aplicações e serviços móveis; e) Avaliação da aplicação servidora proposta em termos de escalabilidade, confiabilidade, segurança e extensibilidade; f) Apresentação dos resultados e trabalhos futuros em forma de publicações em conferências nacionais e internacionais. O projeto de pesquisa será desenvolvido utilizando tecnologias e padrões de código aberto (open-source), que incluem: • Plataformas de desenvolvimento de sistemas distribuídos e móveis, tais como o Python, JavaEE, Android, Web AppEngine, dentre outros; • Serviços Web já existentes e disponíveis tais como o GMaps, WeatherChannel, dentre outros;
  10. 10. Proposta de Projeto de Pesquisa Page 10 • Protocolos padrões de comunicação tais como o HTTP, XMPP, SOAP; • Outros padrões relacionados, tais como o XML, AJAX, WSDL (Web Service Description Language), padrões de orquestração e coreografia de serviços Web, etc. 5 Conclusão Apresentamos neste documento uma proposta de projeto de pesquisa em Ciência da Computação. Realizamos uma apresentação geral das principais áreas de pesquida relacionadas e definimos a metodologia e o processo de desenvolvimento do trabalho de pesquisa a ser aplicado no projeto em si. 6 Referências Bibliográficas 1. Dey, Anind K. Understanding and Using Context. Personal and Ubiquitous Computing. London, UK : Springer-Verlag, 2001. Vol. 5, 1. 1617-4909. 2. Rossi, Pablo and Tari, Zahir. Software adaptation for service-oriented systems. MW4SOC '06: Proceedings of the 1st workshop on Middleware for Service Oriented Computing. Melbourne, Australia : ACM, 2006. 1-59593-425-1. 3. Pires Jr, Waldir R. Um Servidor de Gerenciamento de Eventos para o Compartilhamento de Dados de Perfil e Contexto em Aplicações Móveis. Dissertação de Mestrado em Ciência da Computação. Belo Horizonte : Departamento de Ciência da Computação, Universidade Federal de Minas Gerais, 2010. 4. Pires Jr, W. R., Loureiro, A. A. F., Oliveira, R. A. R. Using a Cloud-based Event Service for Managing Context Information in Mobile and Ubiquitous Systems. Workshop de Gerenciamento de Redes e Serviços. Gramado, RS, Brasil : Sociedade Brasileira de Redes de Computadores, 2010. 5. Maamar, Zakaria and Benslimane, Djamal and Narendra, Nanjangud C. What can context do for web services? Communications of the ACM. New York : ACM, 2006. Vol. 49, 12, pp. 98- 103. http://doi.acm.org/10.1145/1183236.1183238. 0001-0782. 6. Christensen, Jason H. Using RESTful web-services and cloud computing to create next generation mobile applications. OOPSLA '09: Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications. Orlando,
  11. 11. Proposta de Projeto de Pesquisa Page 11 Florida, USA : ACM, 2009. pp. 627-634. http://doi.acm.org/10.1145/1639950.1639958. 978-1- 60558-768-4. 7. Chakraborty, Dipanjan and Joshi, Anupam and Finin, Tim and Yesha, Yelena. Service composition for mobile environments. Mobile Networking Applications. Hingham, MA, USA : Kluwer Academic Publishers, 2005. Vol. 10, 4, pp. 435-451. 1383-469X. 8. Ingstrup, Jeppe Bronsted and Klaus Marius Hansen and Mads. Service Composition Issues in Pervasive Computing. IEEE Pervasive Computing. Los Alamitos, CA, USA : IEEE Computer Society, 2010. Vol. 9, pp. 62-70. http://doi.ieeecomputersociety.org/10.1109/MPRV.2010.11. 1536-1268. 9. Debaty, Philippe and Goddi, Patrick and Vorbau, Alex. Integrating the physical world with the web to enable context-enhanced mobile services. Mobile Networking Applications. Hingham, MA, USA : Kluwer Academic Publishers, 2005. Vol. 10, 4. 1383-469X. 10. Joohyun Han1 Contact Information, Yongyun Cho1 Contact Information and Jaeyoung Choi. Context-Aware Workflow Language Based on Web Services for Ubiquitous Computing. Computational Science and Its Applications – ICCSA 2005. Hingham, MA, USA : Springer Berlin / Heidelberg, 2005. Vol. 3481, 4. 1611-3349. 11. Cho, Yongyun and Choi, Jongsun and Choi, Jaeyoung. A Context-Aware Workflow System for a Smart Home. ICCIT '07: Proceedings of the 2007 International Conference on Convergence Information Technology. Washington, DC, USA : IEEE Computer Society, 2007. 0-7695-3038-9. 12. Urbieta, Aitor and Barrutieta, Guillermo and Parra, Jorge and Uribarren, Aitor. A survey of dynamic service composition approaches for ambient systems. SOMITAS '08: Proceedings of the 2008 Ambi-Sys workshop on Software Organisation and MonIToring of Ambient Systems. Quebec City, Canada : ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), 2008. 13. Ingstrup, Jeppe Bronsted and Klaus Marius Hansen and Mads. Service Composition Issues in Pervasive Computing. IEEE Pervasive Computing. Los Alamitos, CA, USA : IEEE Computer Society, 2010. Vol. 9. 1536-1268. 14. W.T. Tsai, Yinong Chen, Gary Bitter, and Dorina Miron. Introduction to Service-Oriented Computing. In IFIP International Federation for Information Processing. 2004. http://www.public.asu.edu/~ychen10/activities/SOAWorkshop/Background.pdf.
  12. 12. Proposta de Projeto de Pesquisa Page 12

×