a framework for collaborative applications en

24
A Framework for Collaborative Applications Dissertação de Mestrado Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia Pedro Correia

Upload: petercc85

Post on 08-Jul-2015

50 views

Category:

Education


2 download

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

TRANSCRIPT

Page 1: A framework for collaborative applications en

A Framework for Collaborative

Applications

Dissertação de Mestrado

Universidade Nova de Lisboa

Faculdade de Ciências e Tecnologia

Pedro Correia

Page 2: A framework for collaborative applications en

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

Page 3: A framework for collaborative applications en

Cenário Inicial

Aplicações

Colaborativas

Formare

e-Learning

Tagarela

e-Conference

Medigraf

e-Health

InoAPI Multimedia Server Other Servers

Page 4: A framework for collaborative applications en

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

Page 5: A framework for collaborative applications en

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

Page 6: A framework for collaborative applications en

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

Page 7: A framework for collaborative applications en

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

Page 8: A framework for collaborative applications en

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

Page 9: A framework for collaborative applications en

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

Page 10: A framework for collaborative applications en

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

Page 11: A framework for collaborative applications en

Concretização e ImplementaçãoContexto operacional

9/1/2013 A Framework for Collaborative Applications 11

Page 12: A framework for collaborative applications en

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

Page 13: A framework for collaborative applications en

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

Page 14: A framework for collaborative applications en

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

Page 15: A framework for collaborative applications en

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

Page 16: A framework for collaborative applications en

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

Page 17: A framework for collaborative applications en

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

Page 18: A framework for collaborative applications en

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

Page 19: A framework for collaborative applications en

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

Page 20: A framework for collaborative applications en

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

Page 21: A framework for collaborative applications en

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

Page 22: A framework for collaborative applications en

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

Page 23: A framework for collaborative applications en

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

Page 24: A framework for collaborative applications en

Questões ?