A Framework for Collaborative
Applications
Dissertação de Mestrado
Universidade Nova de Lisboa
Faculdade de Ciências e Tecnologia
Pedro Correia
Agenda
• Introdução
• Âmbito
• Concretização e Implementação
• Validação
• Conclusões e Direcções
9/1/2013 A Framework for Collaborative Applications 2
Cenário Inicial
Aplicações
Colaborativas
Formare
e-Learning
Tagarela
e-Conference
Medigraf
e-Health
InoAPI Multimedia Server Other Servers
Cenário Pretendido
Aplicações
Colaborativas
Medigraf
e-Health
Formare
e-Learning
Tagarela
e-Conference
Plataforma
Group Control
Call Control
Web Conference
Features
Application Sharing Concurrency Features
Floor
Control
Classification
and
Recommendatio
n
3rd-Party
e-Health
3rd-Party
e-Learning
Objectivos
Colaboração
Suporte Múltiplos
dispositivos
Funcionalidades
Genéricas de
Colaboração
API
•Maior abrangência de
utilizadores
• Utilizadores acedem ás
aplicações de forma
ubiquia, ou consoante as
suas necessidades
•Maior abrangência de
aplicações colaborativas
•Aplicações + ricas.
• Adopção de
funcionalidades existentes
• Conhecimento focado
num aplicação vs. Várias
• Agregação de motores
recursos
• Abstracção dos inner-
workings dos motores de
recurso
• Mashup de
funcionalidades
colaborativas
Desafios
Colaboração
Suporte Múltiplos
dispositivos
Funcionalidades
Genéricas de
Colaboração
API
•Funcionalidades limitadas
•Tecnologias limitadas /
ricas
•Protocolos de transporte
diferentes
• Adaptação de conteúdos
para os diferentes
dispositivos
• Soluções específicas
• End to End solutions |
Sem API’s
• Time-to-market para
construir aplicações que
agregam funcionalidades
colaborativas.
• Protocolos de transporte
diferentes
•API de motores de
recursos diferentes
•Layering (Conceptual)
•Performance
•Usabilidade
Requisitos
Colaboração
Suporte Múltiplos
dispositivos
Funcionalidades
Genéricas de
Colaboração
API
•Tecnologia de Rede
Heterogénea
•Funcionalidades
Heterogénea
•Capacidades Dispares
•Ubiquidade
•Floor Control
•Gestão de Grupos
•Call Control
•Web Conferences
•Application Sharing
•Collaborative Editing
•Transparência
•Flexibilidade
•Agregação
•Performance
•Escalabilidade
•Usabilidade
Enquadramento
Plataforma
Group Control
Call Control
Web
Conference
Features
Application
Sharing
Concurrency
Features
Floor
Control
Classifica
tion and
Recomm
endation
• Soluções
• Específicas
• Pouco
Flexíveis
• Plataforma
• Agregação
• Transparência
• Flexibilidade
• Conhecimento
9/1/2013 A Framework for Collaborative Applications 8
e-Health e-Education
Concretização e Implementação
9/1/2013 A Framework for Collaborative Applications 9
Modelo genérico de aplicações colaborativas
Conversation
Session
Resource
Groups
Middleware
Systems Class
Middleware
Systems
RMI Security Web Services
RMI.ppt Security.avi Security.pdf wsWork1.doc
Concretização e Implementação
Componente Descrição
Manager • Gestão de Controllers em memória
• Ciclo de vida dos components
Controller • Lógica da camada
• API para camada superior
Data Facade • Abstracção das interacções de base de dados:
• Save
• Update
• Delete
Data Entity • Informação transaccionada /processada na
respectiva camada
9/1/2013 A Framework for Collaborative Applications 10
Componentes Arquitecturais
Concretização e Implementação
Contexto operacional
9/1/2013 A Framework for Collaborative Applications 11
Concretização e Implementação
Fluxo de dados
9/1/2013 A Framework for Collaborative Applications 12
Legenda:
Transacções de dados
Evento de plataforma
Evento de recurso
Concretização e Implementação
Tecnologia
9/1/2013 A Framework for Collaborative Applications 13
Aplicações Colaborativas
Plataforma
Group Control
Call Control
Web
Conference
Features
Application
Sharing
Concurrency
Features
Floor
Control
Classification
and
Recommendati
on
Concretização e Implementação
Tecnologia
9/1/2013 A Framework for Collaborative Applications 14
Call Control
Web Conference
Features
Application Sharing
Concurrency
Features
Classification
and
Recommendati
on
Prototype
Google Web toolkit
Platform
Java
Group Control
PT Inovação
Floor Control
JAAS
Call
Control
INO API
Web
Conference
Openmeetings
Legenda:
Componente |
Tecnologia
Fora de âmbito
Validação
Performance:
• Sub-conjunto de casos de uso
•Ambiente de testes Quality
• Avaliação por camada e tipo de
componente
•Transacções de base de dados
com oportunidades de melhoria
9/1/2013 A Framework for Collaborative Applications 15
20%
40%
0%
40%
Session Conversation Group Resource
20%
0%
40%
40%
Manager Controller Data Facade Enabler
1% 1%
98%
0%
Manager Controller Data Facade Enabler
Validação
Prototipo:
• Prova de conceito
• Validação da plataforma de
colaboração
• Funcionalidades
implementadas:
• Criação de Conversas
• Criação de Sessões
• Recursos:
• PC
• Rede Fixa / Móvel
• Gestão de Grupos
• Floor Control
9/1/2013 A Framework for Collaborative Applications 16
Validação
Questionário de Análise de
impacto:
• Segmentação
•Por posição
•Por experiência
•Integração na Plataforma
• Conceitos e tempo para aprender
elevados
•Abstracção elevada para
programadores de API
•Melhorias
•Desenvolvimento mais fácil
•Multiplos recursos: Mais fácil para
Gestores de equipa
•Aprovação:
•Taxa de aprovação dos gestores
de projecto / equipa perto do 80%
9/1/2013 A Framework for Collaborative Applications 17
Validação
Questionário de Análise de
impacto:
• Segmentação
•Por posição
•Por experiência
•Integração na Plataforma
• Conceitos e tempo para aprender
elevados
•Abstracção elevada para
programadores de API
•Melhorias
•Desenvolvimento mais fácil
•Multiplos recursos: Mais fácil para
Gestores de equipa
•Aprovação:
•Taxa de aprovação dos gestores
de projecto / equipa perto do 80%
9/1/2013 A Framework for Collaborative Applications 18
0%
20%
40%
60%
80%
100%
Analyst Developer Project Manager
Validação
Questionário de Análise de
impacto:
• Segmentação
•Por posição
•Por experiência
•Integração na Plataforma
• Conceitos e tempo para aprender
elevados
•Abstracção elevada para
programadores de API
•Melhorias
•Desenvolvimento mais fácil
•Multiplos recursos: Mais fácil para
Gestores de equipa
•Aprovação:
•Taxa de aprovação dos gestores
de projecto / equipa perto do 80%
9/1/2013 A Framework for Collaborative Applications 19
0
1
2
3
4
5
Basic concepts
General concepts
Abstraction level
Documentation
API
No Platform
Validação
Questionário de Análise de
impacto:
• Segmentação
•Por posição
•Por experiência
•Integração na Plataforma
• Conceitos e tempo para aprender
elevados
•Abstracção elevada para
programadores de API
•Melhorias
•Desenvolvimento mais fácil
•Multiplos recursos: Mais fácil para
Gestores de equipa
•Aprovação:
•Taxa de aprovação dos gestores
de projecto / equipa perto do 80%
9/1/2013 A Framework for Collaborative Applications 20
0%
25%
50%
75%
100%
1 to 2 years 2 to 3 years 3 to 5 years Over 5 years
Project Manager
Analyst
Developer
Validação
Questionário de Análise de
impacto:
• Segmentação
•Por posição
•Por experiência
•Integração na Plataforma
• Conceitos e tempo para aprender
elevados
•Abstracção elevada para
programadores de API
•Melhorias
•Desenvolvimento mais fácil
•Multiplos recursos: Mais fácil para
Gestores de equipa
•Aprovação:
•Taxa de aprovação dos gestores
de projecto / equipa perto do 80%
9/1/2013 A Framework for Collaborative Applications 21
0
1
2
3
4
5
Basic concepts
General concepts
Abstraction level
Documentation
API
No Platform
Conclusões e Direcções
Implemented Features
• Floor Control
• Call Control
• Group Management
• Web Conferences
Open Features
• Collaborative Editing
• Application Sharing
• Classification and
recommendation
9/1/2013 A Framework for Collaborative Applications 22
Funcionalidades
Conclusões e Direcções
• Âmbito da API
• Client-side Widgets
• Mais servidores de Recurso
• Application Sharing
• Collaborative Editing
• Mais tipos de Dispositivos
• Televisão/Set-top Box
• Classificação e Recomendação
• Gestão eficiente da disseminação e recomendação dos
conteúdos gerados
9/1/2013 A Framework for Collaborative Applications 23
Questões ?

A framework for collaborative applications en

  • 1.
    A Framework forCollaborative Applications Dissertação de Mestrado Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia Pedro Correia
  • 2.
    Agenda • Introdução • Âmbito •Concretização e Implementação • Validação • Conclusões e Direcções 9/1/2013 A Framework for Collaborative Applications 2
  • 3.
  • 4.
    Cenário Pretendido Aplicações Colaborativas Medigraf e-Health Formare e-Learning Tagarela e-Conference Plataforma Group Control CallControl Web Conference Features Application Sharing Concurrency Features Floor Control Classification and Recommendatio n 3rd-Party e-Health 3rd-Party e-Learning
  • 5.
    Objectivos Colaboração Suporte Múltiplos dispositivos Funcionalidades Genéricas de Colaboração API •Maiorabrangência de utilizadores • Utilizadores acedem ás aplicações de forma ubiquia, ou consoante as suas necessidades •Maior abrangência de aplicações colaborativas •Aplicações + ricas. • Adopção de funcionalidades existentes • Conhecimento focado num aplicação vs. Várias • Agregação de motores recursos • Abstracção dos inner- workings dos motores de recurso • Mashup de funcionalidades colaborativas
  • 6.
    Desafios Colaboração Suporte Múltiplos dispositivos Funcionalidades Genéricas de Colaboração API •Funcionalidadeslimitadas •Tecnologias limitadas / ricas •Protocolos de transporte diferentes • Adaptação de conteúdos para os diferentes dispositivos • Soluções específicas • End to End solutions | Sem API’s • Time-to-market para construir aplicações que agregam funcionalidades colaborativas. • Protocolos de transporte diferentes •API de motores de recursos diferentes •Layering (Conceptual) •Performance •Usabilidade
  • 7.
    Requisitos Colaboração Suporte Múltiplos dispositivos Funcionalidades Genéricas de Colaboração API •Tecnologiade Rede Heterogénea •Funcionalidades Heterogénea •Capacidades Dispares •Ubiquidade •Floor Control •Gestão de Grupos •Call Control •Web Conferences •Application Sharing •Collaborative Editing •Transparência •Flexibilidade •Agregação •Performance •Escalabilidade •Usabilidade
  • 8.
    Enquadramento Plataforma Group Control Call Control Web Conference Features Application Sharing Concurrency Features Floor Control Classifica tionand Recomm endation • Soluções • Específicas • Pouco Flexíveis • Plataforma • Agregação • Transparência • Flexibilidade • Conhecimento 9/1/2013 A Framework for Collaborative Applications 8 e-Health e-Education
  • 9.
    Concretização e Implementação 9/1/2013A Framework for Collaborative Applications 9 Modelo genérico de aplicações colaborativas Conversation Session Resource Groups Middleware Systems Class Middleware Systems RMI Security Web Services RMI.ppt Security.avi Security.pdf wsWork1.doc
  • 10.
    Concretização e Implementação ComponenteDescrição Manager • Gestão de Controllers em memória • Ciclo de vida dos components Controller • Lógica da camada • API para camada superior Data Facade • Abstracção das interacções de base de dados: • Save • Update • Delete Data Entity • Informação transaccionada /processada na respectiva camada 9/1/2013 A Framework for Collaborative Applications 10 Componentes Arquitecturais
  • 11.
    Concretização e Implementação Contextooperacional 9/1/2013 A Framework for Collaborative Applications 11
  • 12.
    Concretização e Implementação Fluxode dados 9/1/2013 A Framework for Collaborative Applications 12 Legenda: Transacções de dados Evento de plataforma Evento de recurso
  • 13.
    Concretização e Implementação Tecnologia 9/1/2013A Framework for Collaborative Applications 13 Aplicações Colaborativas Plataforma Group Control Call Control Web Conference Features Application Sharing Concurrency Features Floor Control Classification and Recommendati on
  • 14.
    Concretização e Implementação Tecnologia 9/1/2013A Framework for Collaborative Applications 14 Call Control Web Conference Features Application Sharing Concurrency Features Classification and Recommendati on Prototype Google Web toolkit Platform Java Group Control PT Inovação Floor Control JAAS Call Control INO API Web Conference Openmeetings Legenda: Componente | Tecnologia Fora de âmbito
  • 15.
    Validação Performance: • Sub-conjunto decasos de uso •Ambiente de testes Quality • Avaliação por camada e tipo de componente •Transacções de base de dados com oportunidades de melhoria 9/1/2013 A Framework for Collaborative Applications 15 20% 40% 0% 40% Session Conversation Group Resource 20% 0% 40% 40% Manager Controller Data Facade Enabler 1% 1% 98% 0% Manager Controller Data Facade Enabler
  • 16.
    Validação Prototipo: • Prova deconceito • Validação da plataforma de colaboração • Funcionalidades implementadas: • Criação de Conversas • Criação de Sessões • Recursos: • PC • Rede Fixa / Móvel • Gestão de Grupos • Floor Control 9/1/2013 A Framework for Collaborative Applications 16
  • 17.
    Validação Questionário de Análisede impacto: • Segmentação •Por posição •Por experiência •Integração na Plataforma • Conceitos e tempo para aprender elevados •Abstracção elevada para programadores de API •Melhorias •Desenvolvimento mais fácil •Multiplos recursos: Mais fácil para Gestores de equipa •Aprovação: •Taxa de aprovação dos gestores de projecto / equipa perto do 80% 9/1/2013 A Framework for Collaborative Applications 17
  • 18.
    Validação Questionário de Análisede impacto: • Segmentação •Por posição •Por experiência •Integração na Plataforma • Conceitos e tempo para aprender elevados •Abstracção elevada para programadores de API •Melhorias •Desenvolvimento mais fácil •Multiplos recursos: Mais fácil para Gestores de equipa •Aprovação: •Taxa de aprovação dos gestores de projecto / equipa perto do 80% 9/1/2013 A Framework for Collaborative Applications 18 0% 20% 40% 60% 80% 100% Analyst Developer Project Manager
  • 19.
    Validação Questionário de Análisede impacto: • Segmentação •Por posição •Por experiência •Integração na Plataforma • Conceitos e tempo para aprender elevados •Abstracção elevada para programadores de API •Melhorias •Desenvolvimento mais fácil •Multiplos recursos: Mais fácil para Gestores de equipa •Aprovação: •Taxa de aprovação dos gestores de projecto / equipa perto do 80% 9/1/2013 A Framework for Collaborative Applications 19 0 1 2 3 4 5 Basic concepts General concepts Abstraction level Documentation API No Platform
  • 20.
    Validação Questionário de Análisede impacto: • Segmentação •Por posição •Por experiência •Integração na Plataforma • Conceitos e tempo para aprender elevados •Abstracção elevada para programadores de API •Melhorias •Desenvolvimento mais fácil •Multiplos recursos: Mais fácil para Gestores de equipa •Aprovação: •Taxa de aprovação dos gestores de projecto / equipa perto do 80% 9/1/2013 A Framework for Collaborative Applications 20 0% 25% 50% 75% 100% 1 to 2 years 2 to 3 years 3 to 5 years Over 5 years Project Manager Analyst Developer
  • 21.
    Validação Questionário de Análisede impacto: • Segmentação •Por posição •Por experiência •Integração na Plataforma • Conceitos e tempo para aprender elevados •Abstracção elevada para programadores de API •Melhorias •Desenvolvimento mais fácil •Multiplos recursos: Mais fácil para Gestores de equipa •Aprovação: •Taxa de aprovação dos gestores de projecto / equipa perto do 80% 9/1/2013 A Framework for Collaborative Applications 21 0 1 2 3 4 5 Basic concepts General concepts Abstraction level Documentation API No Platform
  • 22.
    Conclusões e Direcções ImplementedFeatures • Floor Control • Call Control • Group Management • Web Conferences Open Features • Collaborative Editing • Application Sharing • Classification and recommendation 9/1/2013 A Framework for Collaborative Applications 22 Funcionalidades
  • 23.
    Conclusões e Direcções •Âmbito da API • Client-side Widgets • Mais servidores de Recurso • Application Sharing • Collaborative Editing • Mais tipos de Dispositivos • Televisão/Set-top Box • Classificação e Recomendação • Gestão eficiente da disseminação e recomendação dos conteúdos gerados 9/1/2013 A Framework for Collaborative Applications 23
  • 24.