Upload
petercc85
View
50
Download
2
Tags:
Embed Size (px)
DESCRIPTION
The purpose of this work is to model and develop a framework for collaborative applications, that publishes its components as a set of APIs. Services built upon this framework will use those components as mashups to dene their own logic layers. One of the most important characteristics of the solution is the ubiquitousness of users' access. Specically, these services will enable multimedia interactions between an IP transport layer and PSTN layer. For example, users in a web-browser should be able to communicate with a user in a land-line, cellular network, or any IPTV-enabled device. Services should be agnostic of the resources through which they are shared, to increase modularity and thus re-usability. As proof of concept a web-conferencing service will be built upon this framework, using Actionscript for the client and red5 server as a media server. In addition, the API's will be used by PT Inovação to prototype other collaborative applications including e-learning and e-Health applications
Citation preview
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 ControlWeb Conference
FeaturesApplication Sharing Concurrency Features
FloorControl
Classificationand
Recommendation
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 ControlWeb
ConferenceFeatures
ApplicationSharing
ConcurrencyFeatures
FloorControl
Classification andRecommendation
• 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çãoContexto operacional
9/1/2013 A Framework for Collaborative Applications 11
Concretização e ImplementaçãoFluxo 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çãoTecnologia
9/1/2013 A Framework for Collaborative Applications 13
Aplicações Colaborativas
Plataforma
Group Control
Call ControlWeb
ConferenceFeatures
ApplicationSharing
ConcurrencyFeatures
FloorControl
Classificationand
Recommendation
Concretização e ImplementaçãoTecnologia
9/1/2013 A Framework for Collaborative Applications 14
Call ControlWeb Conference
FeaturesApplication Sharing
ConcurrencyFeatures
Classificationand
Recommendation
Prototype
Google Web toolkit
Platform
Java
Group Control
PT InovaçãoFloor 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
5Basic concepts
General concepts
Abstraction level
DocumentationAPI
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
5Basic concepts
General concepts
Abstraction level
DocumentationAPI
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 ?