12
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 [email protected] 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

Proposta de projeto de pesquisa UFOP

Embed Size (px)

Citation preview

Page 1: Proposta de projeto de pesquisa UFOP

Universidade Federal do Ouro Preto

Proposta de Projeto de Pesquisa em Ciência da Computação

Uma Ferramenta para Prototipagem

de Composiçao de Serviços Web para

Aplicaçoes e Serviços Moveis e

Ubıquos

Waldir Ribeiro Pires Junior

Departamento de Ciência da Computação

Universidade Federal de Minas Gerais

[email protected]

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

Page 2: Proposta de projeto de pesquisa UFOP

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

Page 3: Proposta de projeto de pesquisa UFOP

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.

Page 4: Proposta de projeto de pesquisa UFOP

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

Page 5: Proposta de projeto de pesquisa UFOP

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.

Page 6: Proposta de projeto de pesquisa UFOP

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.

Page 7: Proposta de projeto de pesquisa UFOP

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.

Page 8: Proposta de projeto de pesquisa UFOP

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;

Page 9: Proposta de projeto de pesquisa UFOP

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;

Page 10: Proposta de projeto de pesquisa UFOP

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,

Page 11: Proposta de projeto de pesquisa UFOP

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.

Page 12: Proposta de projeto de pesquisa UFOP

Proposta de Projeto de Pesquisa Page 12