SlideShare uma empresa Scribd logo
1 de 65
Baixar para ler offline
ARQUITETURA ORIENTADA A SERVIÇO P2P DIRIGIDA A
EVENTOS PARA REALIZAÇÃO DE TRANSIÇÕES AD HOC
EM INTERFACES DE USUÁRIO DISTRIBUÍDAS
João Paulo Delgado Preti
Orientadora: Dra. Lucia Vilela Leite Filgueiras
Programa de Pós-graduação em Engenharia Elétrica
Departamento de Engenharia de Computação
Escola Politécnica da Universidade de São Paulo
São Paulo, 14 de abril de 2014
1
OBJETIVO
• definição de uma arquitetura orientada a
serviço P2P
• que permita realizar transições da interação
do usuário
• em um ambiente composto por múltiplos
dispositivos de forma integrada (DUI).
2
Motivação
3
Weissberger, 2010
Motivação
4
Motivação
5
RESTful
WebSockets
Squeak Smalltalk
Morphic GUI Framework
SOAP
ROLE SDK
XMPP Messages
HTML
CSS
Javascript
Apple Bonjour
OSC Messages
ContentServer
YAML
Aexo Framework
Java
Adobe Flex AIR
XML
OSGi
XML-RPC
VRPN
.Net
Python-Twisted
Cocoa
PyGTK
GigaSpaces
Cedar Language
SunOS
OpenInterface Kernel
C++ VoiceXML
RMI
J2ME
Tcl/Tk Mozart
Oz Programming
OSGi
ROSE
iPOJO
CILIA
Substance
Google App Engine
GWT
IBM TspacesiROS
HANA
UPnP
Jini
REFERENCIAL CONCEITUAL
6
Mídia Cruzada
• … is the collaborative support of multiple media to delivering
a single story or theme, in which the storyline directs the
receiver from one medium to the next, according to each
medium’s strength to the dialog. (Filgueiras et al, 2008, p. 140)
• O que se distribui?
• O que se pesquisa?
• Gerações (Hayes apud (Miyamaru, 2010))
• Modelo de comunicação
7
(Jenkins, 2006)
(De oliveira neto, Roussel e Filgueiras, 2009)(Gabriel, 2012)(Estes, 2013)
(Miyamaru et al., 2008)
(Olsen et al., 2000)
Computação Ubíqua
• Paradigma computacional onde ocorre mínima intervenção
do usuário. Enfatiza detecção do contexto do usuário e seu
comportamento com o objetivo de melhorar a qualidade de
experiência do usuário (Kiani et al, 2005).
• O que se distribui?
• O que se pesquisa?
• Modelo de comunicação
8
(Ranganathan e Campbell, 2003) (Chen e Kotz, 2005)
(Roman e Campbell, 2002)
Interfaces de Usuário Distribuídas
• … is a user interface whose components are distributed across
one or more of the dimensions input, output, platform, space,
and time (Elmqvist, 2011, p. 7).
• O que se distribui?
• O que se pesquisa?
• Modelo de comunicação
9
(Luyten e Coninx, 2005) (Demeure et al., 2008) (Melchior et al., 2009)
(Blumendorf, Roscher e Albayrak, 2011)(Villanueva et al., 2009) (Melchior, Vanderdonckt e Van Roy, 2011)
(DUI, 2011) (DUI, 2012) (DUI, 2013)
Interfaces de Usuário Distribuídas
• Multi- & Cross-
10
(Blumendorf, Roscher e Albayrak, 2011)
Direcionamento da Pesquisa
11
http://nirrachmel.com/portfolio/divvy/ http://www.mayden.co.uk/fun-stuff
Referencial
12
Referencial
13
1. Não há solução completa
2. Não há arquitetura de referência
3. Predominantemente C/S
4. Grande heterogeneidade (tecnologias)
14
REQUISITOS
TRANSIÇÕES
ARQUITETURA
Transição
• Transição entre mídias
15
• Transição entre usuários
• Transição de distribuição da interação
TRANSIÇÕES DE DISTRIBUIÇÃO
DA INTERAÇÃO
16
AlicePC 1:0 Bob*
17
stream
AlicePC 1:1 BobSP
18
AlicePC 1:Ml BobSP
19
AlicePC 1:Ma BobSP
20
AlicePC N:0 **
21
AlicePC N:1f *SP
22
t1
t2
t3
X
X
AlicePC N:1l **
23
AlicePC N:Mfd *SP
24
AlicePC N:Mld *SP
25
AlicePC N:Ma *SP
26
PROJETO
27
Modelo de Comunicação
• Estilo plug and play
• Sem hierarquia
• sem ponto de falha comprometedor
28
Arquitetura Orientada a Serviço
• Estilo arquitetural fracamente acoplado
• Tendência de uso nos dispositivos
• Padrões do ambiente doméstico incorporando
Web Services
– UPnP 2.0 e plataforma de computação invisível da
Microsoft
• Perspectiva de integração
• Convergência dos sistemas móveis e
estacionários
29
(Erl, 2009) (Karnouskos et al, 2009) (Bronsted et al, 2010) (Marc Mcloughlin, 2009)
Alguma Especificação?
30
……..
Total: 108 https://www.oasis-open.org/standards
Suporte Tecnológico
31
(Karnouskos et al., 2009)
(Req. 13)
(Req. 15)
(Req. 19)
(Req. 20, 21)
(Req. 21)
DPWS Stack
32
IPV4 / IPV6 / IP Multicast
UDP
TCP
HTTP
SOAP-over-UDP, SOAP, WSDL, XML Schema
WS-Addressing
WS-Discovery
WS-MetadataExchange
Protocolos Específicos da Aplicação
WS-ReliableMessaging,
WS-Policy,WS-Security
WS-Eventing
Serviços dos Dispositivo
33
DPWS
Serviços dos Recursos
do Dispositivo
Serviços dos Recursos
de Interação
Serviços dos Recursos do Dispositivo
34
Serviços dos Recursos de Interação
35
Comum a Todos os Serviços
36
Transition Support Service (TSS)
37
DPWS
Serviços dos Recursos
do Dispositivo
Serviços dos Recursos
de Interação
Transition Support Service
Transition Support Service (TSS)
38
Componentes DUI
39
DPWS
Serviços dos Recursos
do Dispositivo
Serviços dos Recursos
de Interação
Transition Support Service
Componentes DUI
Estados Componente DUI
40
Componente DUI (MVC)
41
Descoberta de Dispositivos
42
PROVA DE CONCEITO
43
Componentes DUI
44
DPWS
Serviços dos Recursos
do Dispositivo
Serviços dos Recursos
de Interação
Transition Support Service
Componentes DUI
JMEDS
XDevice Android
XDevice Desktop
XDevice API (Desktop)
XDevice Android App
45
XDevice Desktop App
46
GUI 1:1
47
XTextField
48
1:1, 1:Nf, 1:Nl, N:1f, N:1l, N:Mfd, N:Mld, N:Ma
• Colar Distribuído
XRadioButton
49
1:1, 1:Nf, 1:Nl, N:1f, N:1l, N:Mfd, N:Mld, N:Ma
XHyperlink
50
1:0, N:0
XMouse
51
1:0
XAudio
52
1:1
XTooltip
53
1:0, N:0
Transições
• 1:0 XTooltip, XHyperlink e XMouse
• 1:1 XAudio, XTextfield e XRadioButton
• 1:Nf XTextfield e XRadioButton
• 1:Nl XTextfield e XRadioButton
• N:0 XTooltip e XHyperlink
• N:1f XTextfield e XRadioButton
• N:1l XTextfield e XRadioButton
• N:Mfd XTextfield e XRadioButton
• N:Mld XTextfield e XRadioButton
• N:Ma XTextfield e XRadioButton
54
Uso da API
55
ARQUITETURA DISS
DISTRIBUTED INTERACTION
SUPPORT SERVICE
56
Distributed Interaction Support
Service (DISS)
57
IMMS
58
TV
UMS / DMS
59
• Quais são os usuários do dispositivo?
• Qual o usuário logado?
• Quais são os dispositivos conhecidos do usuário?
• Com quais ele já interagiu?
• Qual o dispositivo do tipo TV mais próximo?
CSS
60
• Estabelece um
contexto comum em
múltiplos dispositivos
• Viabiliza uma sessão
multidevice
Obstáculos e Oportunidades
61
Conclusões
• DUI originada em diversas disciplinas
• Ausência de diretrizes
• Identificação de transições
• Sistematização de transições de distribuição
da interação
• Definição de serviços
• PoC
• Agenda de pesquisa
62
Trabalhos Futuros
• + Componentes GUI para DUI
• Estudos de usabilidade (design de interação)
• Documentação (manual)
• Realização de oficinas (cenários DUI);
• + Serviços da arquitetura DISS
• + PoC (IMMS, ...)
• + 14 oportunidades de pesquisa
63
MUITO OBRIGADO!
64
ARQUITETURA ORIENTADA A SERVIÇO P2P DIRIGIDA A
EVENTOS PARA REALIZAÇÃO DE TRANSIÇÕES AD HOC
EM INTERFACES DE USUÁRIO DISTRIBUÍDAS
João Paulo Delgado Preti
Orientadora: Dra. Lucia Vilela Leite Filgueiras
Programa de Pós-graduação em Engenharia Elétrica
Departamento de Engenharia de Computação
Escola Politécnica da Universidade de São Paulo
São Paulo, 14 de abril de 2014
65

Mais conteúdo relacionado

Semelhante a Arquitetura Orientada a Serviço P2P Dirigida a Eventos para Realização de Transações ad hoc em Interfaces de Usário Distribuídas

A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiFelipe Caputo
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiMayara Fernandes
 
PRODUCT LINE UML SYSTEM Uma aplicabilidade de desenvolvimento de uma linha de...
PRODUCT LINE UML SYSTEM Uma aplicabilidade de desenvolvimento de uma linha de...PRODUCT LINE UML SYSTEM Uma aplicabilidade de desenvolvimento de uma linha de...
PRODUCT LINE UML SYSTEM Uma aplicabilidade de desenvolvimento de uma linha de...Ricardo Leite
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaRodrigo Marques Teixeira
 
Adriel i reltório ic - picvol 2010-2011
Adriel i reltório ic - picvol 2010-2011Adriel i reltório ic - picvol 2010-2011
Adriel i reltório ic - picvol 2010-2011adrielmoura
 
Microsoft research e inovação
Microsoft research e inovaçãoMicrosoft research e inovação
Microsoft research e inovaçãoVitor Ciaramella
 
Service virtualization floripa
Service virtualization floripaService virtualization floripa
Service virtualization floripaErnesto Barbosa
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agiledayCarlos Felippe Cardoso
 
Tela social tecnologia_aberta
Tela social tecnologia_abertaTela social tecnologia_aberta
Tela social tecnologia_abertaMarcio
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeAlessandro Binhara
 
Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016
Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016
Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016Leonardo Turbiani
 
ICPD_2011_2012
ICPD_2011_2012ICPD_2011_2012
ICPD_2011_2012Rui Raposo
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CERonildo Oliveira
 
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsE se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsEdson Celio
 
Openredu - ConsoliNE 2016
Openredu - ConsoliNE 2016Openredu - ConsoliNE 2016
Openredu - ConsoliNE 2016Yves Bouckaert
 

Semelhante a Arquitetura Orientada a Serviço P2P Dirigida a Eventos para Realização de Transações ad hoc em Interfaces de Usário Distribuídas (20)

A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em Delphi
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
PRODUCT LINE UML SYSTEM Uma aplicabilidade de desenvolvimento de uma linha de...
PRODUCT LINE UML SYSTEM Uma aplicabilidade de desenvolvimento de uma linha de...PRODUCT LINE UML SYSTEM Uma aplicabilidade de desenvolvimento de uma linha de...
PRODUCT LINE UML SYSTEM Uma aplicabilidade de desenvolvimento de uma linha de...
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 
Adriel i reltório ic - picvol 2010-2011
Adriel i reltório ic - picvol 2010-2011Adriel i reltório ic - picvol 2010-2011
Adriel i reltório ic - picvol 2010-2011
 
Microsoft research e inovação
Microsoft research e inovaçãoMicrosoft research e inovação
Microsoft research e inovação
 
Service virtualization floripa
Service virtualization floripaService virtualization floripa
Service virtualization floripa
 
Introdução a DevOps e Continuous delivery agileday
Introdução a DevOps e Continuous delivery   agiledayIntrodução a DevOps e Continuous delivery   agileday
Introdução a DevOps e Continuous delivery agileday
 
AuraSlides
AuraSlidesAuraSlides
AuraSlides
 
Research Agenda
Research AgendaResearch Agenda
Research Agenda
 
Tela social tecnologia_aberta
Tela social tecnologia_abertaTela social tecnologia_aberta
Tela social tecnologia_aberta
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente Mainframe
 
Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016
Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016
Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016
 
ICPD_2011_2012
ICPD_2011_2012ICPD_2011_2012
ICPD_2011_2012
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CE
 
Quem e dev ops
Quem e dev opsQuem e dev ops
Quem e dev ops
 
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsE se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
 
Middleware 4 life
Middleware 4 lifeMiddleware 4 life
Middleware 4 life
 
Openredu - ConsoliNE 2016
Openredu - ConsoliNE 2016Openredu - ConsoliNE 2016
Openredu - ConsoliNE 2016
 

Mais de João Paulo Preti

Transitions: A Crossmedia Interaction Relevant Aspect
Transitions: A Crossmedia Interaction Relevant AspectTransitions: A Crossmedia Interaction Relevant Aspect
Transitions: A Crossmedia Interaction Relevant AspectJoão Paulo Preti
 
Egineering Transitions to Bind Distributed Interaction presented at Distribut...
Egineering Transitions to Bind Distributed Interaction presented at Distribut...Egineering Transitions to Bind Distributed Interaction presented at Distribut...
Egineering Transitions to Bind Distributed Interaction presented at Distribut...João Paulo Preti
 
Arquitetura Crossmedia para Integração de Serviços de Governo Eletrônico
Arquitetura Crossmedia para Integração de Serviços de Governo EletrônicoArquitetura Crossmedia para Integração de Serviços de Governo Eletrônico
Arquitetura Crossmedia para Integração de Serviços de Governo EletrônicoJoão Paulo Preti
 
Programação na Engenharia da Computação do IFMT
Programação na Engenharia da Computação do IFMTProgramação na Engenharia da Computação do IFMT
Programação na Engenharia da Computação do IFMTJoão Paulo Preti
 

Mais de João Paulo Preti (8)

Scrum introduction
Scrum introductionScrum introduction
Scrum introduction
 
Interaction on Clouds
Interaction on CloudsInteraction on Clouds
Interaction on Clouds
 
Transitions: A Crossmedia Interaction Relevant Aspect
Transitions: A Crossmedia Interaction Relevant AspectTransitions: A Crossmedia Interaction Relevant Aspect
Transitions: A Crossmedia Interaction Relevant Aspect
 
Egineering Transitions to Bind Distributed Interaction presented at Distribut...
Egineering Transitions to Bind Distributed Interaction presented at Distribut...Egineering Transitions to Bind Distributed Interaction presented at Distribut...
Egineering Transitions to Bind Distributed Interaction presented at Distribut...
 
Arquitetura Crossmedia para Integração de Serviços de Governo Eletrônico
Arquitetura Crossmedia para Integração de Serviços de Governo EletrônicoArquitetura Crossmedia para Integração de Serviços de Governo Eletrônico
Arquitetura Crossmedia para Integração de Serviços de Governo Eletrônico
 
Programação na Engenharia da Computação do IFMT
Programação na Engenharia da Computação do IFMTProgramação na Engenharia da Computação do IFMT
Programação na Engenharia da Computação do IFMT
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Computação em Nuvem
Computação em NuvemComputação em Nuvem
Computação em Nuvem
 

Arquitetura Orientada a Serviço P2P Dirigida a Eventos para Realização de Transações ad hoc em Interfaces de Usário Distribuídas