universidade federal de pernambuco centro de … › bitstream › 123456789 › 1518 › 2 ›...

165
UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Armando Soares Sousa Um Servidor de dados multimídia para sistemas virtuais de ensino ESTE TRABALHO FOI APRESENTADO À PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA DA COMPUTAÇÃO. ORIENTADOR: Prof.Dr FERNANDO DA FONSECA DE SOUZA RECIFE, JUNHO/2008

Upload: others

Post on 28-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

UNIVERSIDADE FEDERAL DE PERNAMBUCO

CENTRO DE INFORMÁTICA

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

Armando Soares Sousa

Um Servidor de dados multimídia para sistemas virtuais de ensino

ESTE TRABALHO FOI APRESENTADO À PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA DA COMPUTAÇÃO.

ORIENTADOR: Prof.Dr FERNANDO DA FONSECA DE SOUZA

RECIFE, JUNHO/2008

Page 2: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

Pós-Graduação em Ciência da Computação

Um Servidor de Dados Multimídia para Sistemas

Virtuais de Ensino

Por

Armando Soares Sousa

Dissertação de Mestrado

Universidade Federal de Pernambuco [email protected]

www.cin.ufpe.br/~posgraduacao

RECIFE, JUNHO/2008

Page 3: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

Sousa, Armando Soares Um servidor de dados multimídia para sistemas virtuais de ensino / Armando Soares Sousa. - Recife: O Autor, 2008. 161 p. : il., fig., quadros. Dissertação (mestrado) – Universidade Federal de Pernambuco. CIn. Ciência da Computação, 2008. Inclui bibliografia e apêndices. Sistema multimídia – Banco de dados. 2. Realidade virtual. 3. Educação a distância . I. Título. 006.6 CDD (22.ed.) MEI2008-069

Page 4: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

1

Agradecimentos

Agradeço primeiramente a Deus, por ter nos dado saúde e força de vontade para

vencer os desafios que a vida nos impõe, e por ter nos dado a inteligência e a capacidade

de evoluir e trabalhar em prol de uma sociedade melhor.

Agradeço, sobre tudo, a meus pais Beninu do Carmo Sousa e Maria dos Santos

Soares Sousa, por terem me mostrado os caminhos do bem e fornecido condições de

crescimento pessoal e profissional.

Agradeço a minha irmã, Fernanda Soares Sousa, por ter sido uma grande

conselheira, amiga e motivadora pela busca constante do conhecimento e atualização

profissional.

Agradeço a minha namorada Mariana Diel Amorim, por ser uma grande

companheira, exemplo de pessoa e motivadora constante durante esta importante etapa

de minha vida, pois nunca me deixou desanimar em nenhum momento e sempre

acreditou que eu iria até o final.

Agradeço a meus Mestres do Centro de Informática por primarem pela

excelência no aprendizado, mostrando a importância do constante aprendizado, pela

busca da qualidade e profissionalismo, contribuindo para a formação do conhecimento,

principalmente ao professor Dr. Fernando Fonseca pela oportunidade, atenção e

orientação durante minhas atividades acadêmicas, projetos, conselhos, críticas e

revisões.

Agradeço à figura ilustre do professor Dr. Alex Sandro Gomes por ter fornecido

um ambiente propício, colaborativo, entusiástico e aplicado que é o projeto

AMADEUS-MM. Além da motivação constante para a pesquisa e empreendimento.

Agradeço a Antonio Josivaldo Nascimento Filho por ter me ajudado nos

experimentos do trabalho, nas pesquisas, implementações e sugestões de melhorias.

Agradeço a todos os meus amigos do mestrado, em especial Vinícius Pádua e

Guilherme Avelino, pela motivação, exemplo de estudo, revisões, discussões acaloradas

sobre pesquisa e aplicação. Além da convivência fraterna que contribuiu para meu

crescimento pessoal e de pesquisa durante o mestrado.

Agradeço a todos os amigos do C.E.S.A.R que compreenderam esse momento

dual pesquisador-colaborador e ao próprio C.E.S.A.R por ter me proporcionado a bolsa

de incentivo de mestrado e por primar pela qualidade de seus profissionais sempre

Page 5: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

2

incentivando a educação contínua fornecendo pessoas e um ambiente que permita

construir essa via.

Page 6: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

3

Resumo

O grande diferencial dos LMS (Learning Management System) mais sofisticados

está no fato deles disponibilizarem uma maior aproximação e facilidade de

entendimento do conteúdo gerenciado e disponibilizado ao aluno ou aprendiz. Para isso,

o uso de recursos multimídia como áudio, imagens, vídeos e objetos de realidade

virtual, inseridos no conteúdo oferecido, permite um aprendizado mais agradável e mais

atrativo para o aluno que usa o LMS com estes recursos.

Devido à grande dificuldade de se manipular, inserir e recuperar tais objetos

multimídia e de realidade virtual nos conteúdos gerenciados por LMS, sentiu-se a

necessidade de especificar e implementar um servidor de dados que facilitasse tal

manipulação integrada a um LMS

O objetivo principal deste trabalho é desenvolver um Servidor de Dados para

manipulação e gerenciamento de objetos multimídia e objetos de realidade virtual em

um LMS, tendo sido escolhido como estudo de caso o LMS AMADEUS-MM. O

referido servidor tem como finalidade principal o gerenciamento de conteúdo

multimídia em ambientes virtuais de ensino, com particular eficiência no

armazenamento e transferência de dados multimídia (imagens, áudios, vídeos) e mundos

de realidade virtual.

O Servidor de Dados Multimídia provê uma estrutura de dados para o

gerenciamento do conteúdo multimídia em um ambiente virtual de ensino, além de

fornecer componentes (armazenamento, negócio e interface) para dar suporte à gestão

de componentes multimídia (imagens, áudio e vídeo) e mundos de realidade virtual

(VRML e X3D). Sua arquitetura permite a integração com plataformas de ensino a

distância via troca de mensagens XML de forma que a plataforma de ensino possa

usufruir de maneira transparente os serviços que o Servidor de Dados Multimídia provê.

Para isso, foi feito um estudo sobre cada tipo de objeto multimídia e de realidade

virtual e de como são armazenados tais objetos em banco de dados; foi elaborado e

implementado um conjunto de protótipos, um para cada forma de armazenamento

estudada, e foi feito um conjunto de avaliações baseadas em engenharia de desempenho

de forma a definir a melhor abordagem para armazenar e recuperar estes objetos

multimídia para ambientes de ensino a distância. Além disso, foi proposto um modelo

de integração entre o servidor e plataformas de ensino a distância de forma que tais

Page 7: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

4

plataformas possam usufruir dos serviços oferecidos de forma transparente. O servidor

proposto nessa pesquisa faz parte de um projeto de pesquisa intitulado Projeto

Amadeus_MM1, cujo objetivo é desenvolver um ambiente virtual para ensino baseado

em uma proposta pedagógica centrada em processos de medição e avaliação,

coordenado pelos professores Fernando Fonseca e Alex Sandro Gomes (Cin/UFPE).

Palavras Chaves: LMS, Objetos Multimídia, Objetos de Realidade Virtual, Gestão de

Conteúdo, Educação a Distância, AMADEUS-MM.

1 Processo CNPq n. 507497/2004-4

Page 8: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

5

Abstract

The biggest differential of the most sophisticated LMS (Learning Management

System) is that they provide a greater and better proximity and facility of understanding

the managed and available content to the student or apprentice. For this, the use of

multimedia resources such as audio, images, videos and virtual reality objects, inserted

in the content that is offered by the LMS, allows a more pleasant learning, as well as

turning the system more appealing to the students that use the LMS, which supports

such resources.

Due to a great difficulty to manipulate, insert and recover such multimedia and

virtual reality objects in the content managed through LMS there is a need of specifying

and implementing a Data Server that could facilitate such manipulation integrated to a

LMS.

The main objective of this work is to develop a Data Server to manipulate

multimedia and virtual reality objects inside a LMS; in this case the LMS chosen was

AMADEUS-MM. This Server has the main purpose of managing the multimedia

content in a virtual learning environment, with peculiar efficiency in the storage and in

the transfer of the multimedia data (image, audio, and video) and virtual reality worlds.

The Multimedia Data Server provides a data structure to the administration of

the multimedia content in a virtual learning environment, as well as supplies

components (storage, business and interface) to give support to the management of

multimedia content (images, audios and videos) and virtual reality worlds (vrml e x3d).

Its architecture allows the integration with distance learning platforms through the

exchange of XML messages so that such platforms can use, in a transparent way, the

services that the Multimedia Data Server provides.

For this, a study of each type of multimedia and virtual reality objects and how

these objects are storaged in a database was carried out. A group of prototypes were

elaborated and implemented, one for each form of studied storage and a group of

evaluation based in performance engineering was done, so that a better approach to the

storage and recovery of these multimedia objects for teaching through distance

environment could be defined. It was also proposed an integration model between the

Server and distance learning platforms, so that those platforms can take advantage of the

services, which are offered in a transparent way. This server in this research is part of a

Page 9: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

6

larger project called Amadeus-MM Project, whose objective is to develop a learning

virtual environment based on a pedagogic purposal centred in mediation and evaluation

processes, coordinated by the Professors Fernando Fonseca and Alex Sandro Gomes

(Cin/UFPE).

Key words: LMS, Multimidia Objects, Virtual Reality Objects, Content Management,

Distance Education, AMADEUS-MM.

Page 10: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

7

Sumário

1 Introdução .................................................................. 12

1.1 Motivação ....................................................................................................... 12

1.2 Objetivos ......................................................................................................... 13

1.3 Organização da Dissertação............................................................................ 13

2 Fundamentos de Objetos Multimídia ........................ 16

2.1 Multimídia ...................................................................................................... 16

2.2 Imagem Digital ............................................................................................... 18

2.2.1 Características Fundamentais de Imagens .................................................. 19

2.2.2 Padrões de Compressão de Imagem Digital ............................................... 21

2.2.3 Image Magick ............................................................................................. 22

2.3 Vídeos Digitais ............................................................................................... 22

2.3.1 Características de Vídeo Digital ................................................................. 23

2.3.2 Padrões de Compressão de Vídeo Digital .................................................. 26

2.3.3 FFMPEG – Ferramenta de Manipulação de Vídeo .................................... 32

2.4 Áudio Digital .................................................................................................. 32

2.4.1 Características fundamentais de áudio ....................................................... 33

2.4.2 Compressão de Áudio ................................................................................. 34

2.5 Objetos de Mundos Virtuais ........................................................................... 38

2.5.1 Grafos de Cena ........................................................................................... 39

2.5.2 X3D ............................................................................................................ 41

2.6 Considerações Finais ...................................................................................... 42

3 Manipulação de Objetos Multimídia ......................... 43

3.1 Recuperação de Objetos Multimídia baseada em conteúdo ........................... 43

3.1.1 Recuperação de Imagens ............................................................................ 43

3.1.2 CBIR - Content Based Image Retrievel ...................................................... 44

3.1.3 Content Based Multimedia Retrieval ......................................................... 46

3.2 Recuperação de Objetos Multimídia baseada em Metadados ........................ 47

3.2.1 Busca baseada em Metadados .................................................................... 47

3.2.2 Classificação de Metadados........................................................................ 50

3.3 Armazenamento e Recuperação de Objetos Multimídia ................................ 52

3.4 Considerações Finais ...................................................................................... 55

4 Plataformas de Ensino a Distância ............................ 57

4.1 Ambientes Virtuais de Ensino ........................................................................ 57

4.2 Sistemas de Gestão de Conteúdo .................................................................... 58

4.2.1 Moodle (Modular Object-Oriented Dynamic Leanring Enviroment) ........ 59

4.2.2 ClaroLine .................................................................................................... 61

4.2.3 Amadeus ..................................................................................................... 63

4.3 Considerações finais ....................................................................................... 66

5 O Protótipo do Servidor de Dados Multimídia ......... 67

5.1 Análise de Competidores ................................................................................ 67

5.2 Definição dos requisitos básicos..................................................................... 69

5.2.1 Requisitos Funcionais ................................................................................. 69

Page 11: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

8

5.2.2 Requisitos Não-Funcionais ......................................................................... 69

5.2.3 Diagrama de Casos de Uso ......................................................................... 73

5.2.4 Diagrama de Pacotes .................................................................................. 74

5.3 Prototipação e Avaliação de Desempenho dos Protótipos ............................. 75

5.3.1 Análise de Desempenho de servidores ....................................................... 75

5.3.2 Etapas dos Testes ........................................................................................ 83

5.3.3 Protótipo 4 .................................................................................................. 83

5.4 Arquitetura Proposta ..................................................................................... 106

5.4.1 Modelo de Componentes .......................................................................... 106

5.5 Interface do protótipo com o usuário ............................................................ 113

5.6 Considerações Finais .................................................................................... 118

6 Estudo de Caso: Integração com a plataforma Amadeus ........................................................................ 119

6.1 Arquitetura de Integração com a Plataforma Amadeus-MM ....................... 119

6.1.1 Padrões Arquiteturais da plataforma Amadeus-MM ................................ 119

Servidor AmadeusMM ......................................................................................... 120

Middleware AmadeusMM .................................................................................... 120

WebSite, MicroMundos e Mídias. ........................................................................ 121

6.2 Visualização da Interface de Integração entre SDMM e Amadeus-web. ..... 126

6.3 Considerações Finais .................................................................................... 133

7 Conclusões ............................................................... 134

7.1 Resumo das Contribuições ........................................................................... 134

7.2 Limitações e Trabalhos Futuros ................................................................... 135

Referências .................................................................... 137

Apêndice A - Manipulação de Objetos Multimídia em SGBD Convencionais ................................................... 147

Apêndice B – Testes de desempenho com o Jmeter ..... 159

Page 12: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

9

Lista de Figuras Figura 1: Etapas de Digitalização de uma imagem. Adaptado de [GATTASS 2005] ................ 19

Figura 2 : Exemplo de resolução em pixels. Adaptado de [GATTAS 2005] .............................. 20

Figura 3: Exemplo de resolução em dpi (respectivamente 600, 300, 150, 60, 30) . Adaptado de [GATTAS 2005] ................................................................................................................. 20

Figura 4: Proporção entre diversas resoluções. Adaptado de [SONY 2007] .............................. 24

Figura 5: Proporção entre diversos aspect ratios ......................................................................... 24

Figura 6: Relação Mídia x Espaço Ocupado. Adaptado de [FERNANDES 2006] ..................... 25

Figura 7: Componentes do MPEG-4. Adaptado de [TODESCO 2000]. ..................................... 29

Figura 8: Usos do H.264. Adaptado de [APPLE 2006]. ............................................................. 30

Figura 9 Comparação entre H.264 e MPEG4 part 2. Adaptado de [APPLE 2006]. ................... 31

Figura 10 Áudio Analógico (Vermelho) em Digital (Cinza). [MPEG 2007] .............................. 33

Figura 11: Codificador MP3. Adaptado de [CHIARIGLIONE 1996]. ....................................... 36

Figura 12: Exemplo de grafo de cena. Adaptado de [Walsh 2002]. ............................................ 40

Figura 13: Editando um conteúdo no Moodle ............................................................................. 60

Figura 14: Inserindo uma imagem no Moodle. ........................................................................... 60

Figura 15: Imagem inserida em um conteúdo. ............................................................................ 61

Figura 16: Editando um conteúdo no ClaroLine. ........................................................................ 62

Figura 17: Inserindo uma imagem no conteúdo. ......................................................................... 62

Figura 18; Imagem inserida no conteúdo. ................................................................................... 63

Figura 19: Tela de acesso ao Amadeus. ...................................................................................... 64

Figura 20: Inserindo material no conteúdo ................................................................................. 65

Figura 21: Visualizando referência de material no conteúdo ...................................................... 65

Figura 22: Visualizar material multimídia no Amadeus. ............................................................ 66

Figura 23: Modelo de Casos de Uso ........................................................................................... 73

Figura 24: Diagrama de Pacotes do Sistema ............................................................................... 74

Figura 25: Diagrama de Classes do Protótipo do Servidor de Dados Multimídia. .......... 81

Figura 26:Modelo de transferência dos objetos multimídia e de realidade virtual ..................... 82

Figura 27: Tabelas do Protótipo 4 ............................................................................................... 83

Figura 28: Plano de Testes de Desempenho – Interface do JMeter ............................................ 86

Figura 29: Plano de testes – Detalhamento de Inserção de Imagem – Interface do JMeter ........ 87

Figura 30: Plano de testes – Detalhamento de Consulta de Imagem – Interface do Jmeter. ....... 87

Figura 31: Inserção de Imagem em ambiente local (10 usuários) ............................................... 88

Figura 32: Inserção de Imagem em ambiente local (100 usuários) ............................................. 89

Figura 33: Consulta de Imagem em ambiente local (10 usuários) .............................................. 89

Figura 34: Consulta de Imagem em ambiente local (100 usuários) ............................................ 89

Figura 35: Inserção de Áudio em ambiente local (10 usuários) .................................................. 90

Figura 36: Inserção de Áudio em ambiente local (100 usuários) ................................................ 91

Figura 37: Consulta de Áudio em ambiente local (10 usuários) ................................................. 91

Figura 38: Consulta de Áudio em ambiente local (100 usuários) ............................................... 91

Figura 39: Inserçao de Vídeo em ambiente local (10 usuários) .................................................. 93

Figura 40: Inserçao de Vídeo em ambiente local (100 usuários) ................................................ 93

Figura 41: Consulta de Vídeo em ambiente local (10 usuários) ................................................. 93

Figura 42: Consulta de Vídeo em ambiente local (100 usuários) ............................................... 93

Figura 43: Consulta de Objeto de Realidade Virtual em ambiente local (10 usuários) .............. 95

Figura 44: Consulta de Objeto de Realidade Virtual em ambiente local (100 usuários) ............ 95

Figura 45: Inserção de Objeto de Realidade Virtual em ambiente local (10 usuários) ............... 95

Figura 46: Inserção de Objeto de Realidade Virtual em ambiente local (100 usuários) ............. 95

Figura 47: Inserção de Imagem em ambiente local (10 usuários) ............................................... 98

Figura 48: Inserção de Imagem em ambiente local (100 usuários) ............................................. 98

Figura 49: Consulta de Imagem em ambiente local (10 usuários) .............................................. 98

Figura 50: Consulta de Imagem em ambiente local (100 usuários) ............................................ 98

Figura 51: Inserção de Áudio em ambiente real (10 usuários) .................................................. 100

Page 13: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

10

Figura 52: Inserção de Áudio em ambiente real (100 usuários) ................................................ 100

Figura 53: Consulta de Áudio em ambiente real (10 usuários) ................................................. 100

Figura 54: Consulta de Áudio em ambiente real (100 usuários) ............................................... 100

Figura 55: Inserção de Vídeo em ambiente real (10 usuários) .................................................. 102

Figura 56: Inserção de Vídeo em ambiente real (100 usuários) ................................................ 102

Figura 57: Consulta de Vídeo em ambiente real (10 usuários) ................................................. 102

Figura 58: Consulta de Vídeo em ambiente real (100 usuários) ............................................... 103

Figura 59: Inserção de Objeto de realidade virtual em ambiente real (10 usuários) ................. 104

Figura 60: Inserção de Objeto de realidade virtual em ambiente real (100 usuários) ............... 104

Figura 61: Consulta de Objeto de realidade virtual em ambiente real (10 usuários) ................ 104

Figura 62: Consulta de Objeto de realidade virtual em ambiente real (100 usuários) .............. 105

Figura 63: A arquitetura do Servidor de Dados Multimídia...................................................... 106

Figura 64: Componentes do Servidor de Aplicação do SDMM................................................ 108

Figura 65: Detalhamento da Camada de Apresentação dos Objetos ......................................... 108

Figura 66: Diagrama de Classes representando o Componente Apresenta Imagem ................. 109

Figura 67: Datalhamento da Camada do ConversorHTMLXML dos Objetos ......................... 110

Figura 68: Diagrama de Classes representando o Componente ConversorHTX Imagem ........ 110

Figura 69: Detalhamento da Camada de Manipulação dos Objetos .......................................... 111

Figura 70: Detalhamento da camada de Persistencia dos Objetos ............................................ 112

Figura 71: Modelo Lógico do Banco de Dados ........................................................................ 112

Figura 72: Interação entre o usuário e o Servidor de Dados Multimídia .................................. 113

Figura 73: Tela Principal do Protótipo 4 ................................................................................... 113

Figura 74: Inserção de Vídeo no Protótipo 4 ............................................................................ 114

Figura 75: Consulta de Vídeos no Protótipo 4 .......................................................................... 115

Figura 76: Visualização de Vídeo no Protótipo 4 ..................................................................... 115

Figura 77: Consulta de imagens no Protótipo 4 ........................................................................ 116

Figura 78: Consulta de áudios no Protótipo 4 ........................................................................... 117

Figura 79: Visualizando um Objeto de Realidade Virtual ........................................................ 117

Figura 80: Arquitetura do Amadeus-MM [ref] ......................................................................... 119

Figura 81: Integração entre o SDMM e Amadeus-MM ............................................................ 121

Figura 82: Componente ConversorHTMLtoXML .................................................................... 123

Figura 83: Subcomponentes do ConversorHTMLtoXML ........................................................ 123

Figura 84: Componente ConversorXMLtoHTML e templates para a Plataforma de Ensino ... 125

Figura 85: Professor Cria um curso na Plataforma Amadeus ................................................... 128

Figura 86: Professor cria um módulo dentro do curso recém criado ........................................ 128

Figura 87: Consultando um vídeo dentro da Plataforma Amadeus ........................................... 129

Figura 88: Visualizando lista de vídeos disponíveis após consulta ........................................... 129

Figura 89: Visualizando um vídeo selecionado na lista de vídeos ............................................ 130

Figura 90: Tela de acesso ao Amadeus ..................................................................................... 130

Figura 91: Aluno seleciona curso .............................................................................................. 131

Figura 92: Aluno seleciona módulo e atividade vídeo .............................................................. 131

Figura 93: Conjunto de salas disponíveis para a discussão do vídeo da atividade .................... 132

Figura 94: Ambiente de vídeo-chat para a discussão do vídeo ................................................. 132

Figura 95: Exemplo de Test Plan no JMeter ............................................................................. 159

Figura 96: Plano de Testes de Desempenho – Interface do JMeter .......................................... 160

Figura 97: Plano de Testes ........................................................................................................ 161

Page 14: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

11

Lista de Quadros

Quadro 1: Exemplos de bit rate em áudio digital. ....................................................................... 34

Quadro 2: Comparativo entre as formas de armazenamento [Silva 2006]. ................................. 54

Quadro 3: Critérios estabelecidos na análise de competidores ................................................... 68

Quadro 4: Listagem dos requisitos funcionais básicos ............................................................... 69

Quadro 5: Requisitos de Processo elicitados para o protótipo. ................................................... 70

Quadro 6: Requisitos de Segurança elicitados para o protótipo .................................................. 71

Quadro 7: Requisitos de Desempenho elicitados para o protótipo .............................................. 71

Quadro 8: Requisitos de Capacidade elicitados para o protótipo ................................................ 71

Quadro 9: Requisitos de Portabilidade elicitados para o protótipo ............................................. 72

Quadro 10: Requisitos de Usabilidade elicitados para o protótipo ............................................. 72

Quadro 11: Requisitos de Manutenibilidade elicitados para o protótipo .................................... 72

Quadro 12: Requisitos Legais elicitados para o protótipo .......................................................... 72

Quadro 13: Requisitos Interoperabilidade elicitados para o protótipo ........................................ 72

Quadro 14: Comparação dos Protótipos avaliados em [NASCIMENTO 2007] ......................... 79

Quadro 15: Cenários de Testes de Desempenho ......................................................................... 85

Quadro 16: Comparação do Desempenho dos Protótipos para Imagem em ambiente local ....... 90

Quadro 17: Comparação do Desempenho dos Protótipos para Áudio em ambiente local .......... 92

Quadro 18: Comparação do Desempenho dos Protótipos para Vídeo em ambiente local .......... 94

Quadro 19: Comparação do Desempenho dos Protótipos para ORV em ambiente local ........... 96

Quadro 20: Comparação do Desempenho dos Protótipos para Imagem em ambiente real ........ 99

Quadro 21: Comparação do Desempenho dos Protótipos para Áudio em ambiente real.......... 101

Quadro 22: Comparação do Desempenho dos Protótipos para Vídeo em ambiente real .......... 103

Quadro 23: Comparação do Desempenho dos Protótipos para ORV em ambiente real ........... 105

Page 15: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

12

1 Introdução

Com o advento da Internet e o surgimento posterior de ambientes

virtuais, o ensino a distância tornou-se um caminho para unir conhecimentos

remotamente dispersos, com uma estratégia, ou semântica, tal que permita

maximizar o processo de aprendizagem [EBERSPACHER 2006].

Para viabilizar o ensino a distância, diversos aplicativos de gestão de

conteúdo surgiram. Esses sistemas de Gestão de Conteúdo ou Learning

Managment System (LMS) são programas geralmente baseados em tecnologia

WEB, criados para planejar, implementar e avaliar um processo de

aprendizagem específico a distância [WHATIS 2006]. Basicamente, um LMS

provê meios para criar e disponibilizar conteúdo, monitorar a participação do

estudante e avaliar seu desenvolvimento. Este pode também prover, ao

estudante, condições para usar recursos interativos tais como sala de discussão

e vídeo conferência. LMS é considerado hoje como “agente revolucionário da

formação” [ANDERSON 2006].

O crescimento acelerado e exponencial de mídias áudios-visuais tem

gerado a necessidade de se criar sistemas que armazenem, consultem,

recuperem e compartilhem estas mídias entre usuários e outros sistemas. Isto

faz com que cada vez mais os ambientes virtuais de ensino busquem por

maneiras de dar suporte a esta demanda por uso de objetos multimídia,

gerando assim um conhecimento de maior valor agregado.

1.1 Motivação

O grande diferencial dos LMS mais sofisticados está no fato deles

disponibilizarem uma maior aproximação e facilidade de entendimento do

conteúdo gerenciado e disponibilizado ao aluno ou aprendiz. Para isso, o uso

de recursos multimídia como áudio, imagens, vídeos e objetos de realidade

virtual, inseridos no conteúdo oferecido pelo LMS, permite um aprendizado

Page 16: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

13

mais agradável e mais atrativo para o aluno que usa o LMS que dá suporte a

estes recursos.

Devido à grande dificuldade de se manipular, inserir e recuperar tais

objetos multimídia e de realidade virtual nos conteúdos gerenciados por LMS,

sentiu-se a necessidade de especificar e implementar um servidor de dados que

facilitasse tal manipulação integrada a um LMS.

1.2 Objetivos

O objetivo principal deste trabalho é desenvolver um Servidor de Dados

para manipulação de objetos multimídia e objetos de realidade virtual que dê

suporte a LMS, no caso foi escolhido o AMADEUS-MM. O referido servidor

tem como finalidade principal o gerenciamento de conteúdo multimídia em

ambientes virtuais de ensino, com particular eficiência no armazenamento e

transferência de dados multimídia (imagens, áudios, vídeos) e mundos de

realidade virtual.

Para a criação do protótipo foram realizados os seguintes itens:

i) Foi feita a definição da estrutura de dados para o gerenciamento do

conteúdo multimídia em um ambiente virtual de ensino;

ii) Foram criados componentes (armazenamento, negócio e interface) para

dar suporte à gestão de componentes multimídia (imagens, áudio e

vídeo) e mundos de realidade virtual (VRML e X3D); e

iii) O servidor foi integrado ao sistema AMADEUS-MM, de forma que esta

plataforma possa usufruir, de maneira transparente, os serviços providos

pelo servidor.

1.3 Organização da Dissertação

Além deste capítulo introdutório, esta dissertação é composta por mais seis

capítulos, como segue:

O Capítulo 2, Fundamentos de Objetos Multimídia, discute conceitos

fundamentais de objetos multimídia, tipos de objetos multimídias que serão

Page 17: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

14

manipulados, tais como características fundamentais de imagem, vídeo, aúdio e objetos

de realidade virtual.

No Capítulo 3, Manipulação de Objetos Multimídia, é feita uma abordagem

dos aspectos relacionados a técnicas de recuperação de objetos multimídia baseadas em

conteúdo do objeto e técnicas baseadas em indexação textual com associação manual ou

automática de metadados a cada tipo de objeto. Também são abordados, neste capítulo,

fatores conceituais sobre as possíveis formas de armazenamento e recuperação de

objetos multimídia em bancos de dados.

No Capítulo 4, Plataformas de Ensino a Distância, é estudada a caracterização

dos Ambientes Virtuais de Ensino, mostrando sua importância, principais

funcionalidades, mostra os aspectos essenciais para um sistema de gestão de conteúdo e

avaliar as plataformas de ensino a distância open source mais difundidas e

disseminadas, além de verificar a capacidade ou não de gerenciamento de objetos

multimídia e mundos de realidade virtual.

No Capítulo 5, O Protótipo do Servidor de Dados Multimídia, é apresentado

o que as plataformas de ensino a distância têm em comum, além das lacunas existentes

com relação ao gerenciamento de conteúdo multimídia. Logo após, foi feita uma análise

de competidores entre as plataformas de ensino a distância escolhidas para que, desta

forma, fosse criado um conjunto mínimo de requisitos para a criação do protótipo. Uma

vez definido o conjunto de requisitos básicos do sistema, foi feita uma prototipação das

possíveis implementações das formas de armazenamento e recuperação de objetos

multimídia em banco de dados, e logo em seguida, foi definido e realizado um protocolo

de avaliação de desempenho dos protótipos implementados visando definir um protótipo

alvo que seria usado como cerne do Servidor de Dados Multimídia e finalmente

estabelecida a sua arquitetura e interface com o usuário final.

No Capítulo 6, Estudo de caso: Integração com a plataforma Amadeus, uma

vez que o Servidor de Dados Multimídia foi implementado de forma operacional e

executával no ambiente real, partiu-se para a implementação das lacunas observadas na

plataforma de ensino a distância escolhida. Foram observados detalhes da arquitetura e

implementação do Amadeus e foi estabelecida uma ponte de ligação com a arquitetura

do Servidor de Dados Multimídia, de forma que a integração fosse o mais transparente

Page 18: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

15

possível. Foi então escolhido o cenário de gerenciamento de vídeos como

implementação completa da funcionalidade de integração.

O Capítulo 7, Conclusões e Trabalhos futuros, apresenta as conclusões da

dissertação com um breve resumo dos resultados obtidos, dificuldades enfrentadas,

apontando algumas limitações, além das perspectivas de trabalhos futuros.

Por fim, o Capítulo 8 apresenta as referências bibliográficas utilizadas na

elaboração deste trabalho.

Page 19: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

16

2 Fundamentos de Objetos Multimídia

Neste capítulo será abordada a base conceitual necessária ao entendimento da

importância dos objetos multimídia e suas classificações bem como da manipulação de

objetos multimídia em servidores de dados multimídia. Serão estudas as características

fundamentais de imagens, áudios, vídeos digitais e objetos de realidade virtual, bem

como serão abordados diversos padrões de compressão existentes, devido a extrema

importância por implicarem diretamente com o tamanho do objeto e a sua qualidade.

2.1 Multimídia

O termo multimídia foi criado para designar sistemas de software ou hardware,

que processam várias formas de mídia eletrônica, como vídeo, áudio, imagem, gráfico,

animação e textos hiperligados. A multimídia descreve os tipos de dados que

apresentam tanto conteúdo estático como dinâmico [SITARAM 1999]. O presente

trabalho utiliza o termo multimídia tanto para dados dependentes do tempo (áudio e

vídeo) quanto para dados independentes do tempo (imagem e objetos de realidade

virtual).

O termo mídia pode ser associado a diferentes significados, como mostra a

classificação [STEINMETZ 1995] apresentada logo abaixo:

• Mídia de percepção – Este tipo se caracteriza pela maneira com que os

usuários tomam conhecimento da informação contida no ambiente de

computação. Essas informações podem ser percebidas através das mídias

visuais, por exemplo: vídeo e imagem, e auditivas como audio;

• Mídia de Representação – Este tipo caracteriza-se pelo formato das mídias

quando representadas no ambiente computacional. Por exemplo, as

informações do tipo texto podem ser representadas no formato ASCII2,

EBCDIC3, entre outros;

2 ASCII (acrônimo para American Standard Code for Information Interchange) é um conjunto de códigos para o computador representar números, letras, pontuação e outros caracteres. Surgido em 1961, um dos seus inventores foi Robert W. Bemer. 3 O código EBCDIC (Extended Binary Coded Decimal Interchange Code) descende diretamente do código BCD com 6 bit e foi criado pela IBM como um padrão no início dos anos 1960 e usado no IBM 360. Fonte: http://www.ascii.cl/htmlcodes.htm acesso em 10/12/2007

Page 20: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

17

• Mídia de Apresentação – Este tipo se refere as ferramentas e dispositivos

para efetuar a entrada e saída de dados. Por exemplo, os formulários,

monitores de vídeo ou caixas de som são mídias usadas para permitir a

saída de informação para o usuário. Já o teclado, mouse, scaners, câmara

de vídeo e microfones são mídias de coleta de informação dos usuários;

• Mídia de Armazenamento – Este tipo caracteriza-se pela forma como as

informações multimídia são armazenadas. Por exemplo, algumas

informações são armazenadas através de microfilmagem, em disco rígido,

CD-ROM, DVD, ou dispositivos de memória flash;

• Mídia de Transmissão – Este tipo caracteriza-se pelos meios físicos de

transmissão de dados contínuos de um local para o outro. Por exemplo,

dados podem ser transmitidos através de uma rede; e

• Mídia de Intercâmbio de Informação – Este tipo caracteriza-se pelos

dispositivos que são utilizados na troca de informação entre diferentes

locais. Por exemplo, a informação pode passar por mídias de

armazenamento, através da transmissão direta, via rede de computadores

ou através do uso combinado de mídia de transmissão e armazenamento.

Com o avanço da tecnologia, o barateamento e a massificação de equipamentos

eletrônicos como desktops, notebooks, câmeras digitais, celulares, dispositivos providos

de memória flash, como MP3 players e vídeo players portáteis e a integração de todos

estes dispositivos com a Internet, culminaram na explosão de consumo, geração e

distribuição de materias multimídias. Pode-se tomar como referência os sites mais

visitados na Internet segundo ferramentas de audiência como o serviço Alexa [ALEXA

2007], um serviço da internet que entre outras funcionalidades, faz o monitoramento do

tráfego mundial da Internet. A partir daí, pode-se observar entre os 10 sites mais

visitados do mundo, 3 sites são serviços que disponibilizam exibição, consulta ou

compartilhamento de mídias áudio-visuais, tais como publicação e compartilhamento de

vídeo (youtube) [YOUTUBE 2007], publicação de imagens (fotolog) [FOTOLOG

2007] e serviço de relacionamento e compartilhamento de conteúdo multimídia, entre

eles músicas (myspace) [MYSPACE 2007].

Na próxima seção serão tratados, de forma mais detalhada, aspectos

fundamentais de mídia de percepção, mais precisamente imagens, vídeos, áudio e

Page 21: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

18

objetos de realidade virtual, visto que estes foram os elementos escolhidos pela

pesquisa para serem manipulados e gerenciados por um servidor, de forma que tal

servidor dê suporte a requisões multimídias de um ambiente virtual de educação a

distância.

2.2 Imagem Digital

O termo imagem digital se refere aos diversos padrões de armazenamento de

imagens em um meio digital. A imagem digital possibilita o compartilhamento de fotos,

figuras, desenhos, entre outros, na Internet.

Como acontece com áudio, vídeo digital e objetos de realidade virtual, que serão

abordados mais adiante, apenas realizar a transformação da imagem contínua para uma

digital não é suficiente. Para permitir o compartilhamento de imagens na WEB, é

necessário realizar uma etapa de compressão da imagem, para diminuir o espaço de

armazenamento e conseqüentemente a quantidade de informação que é necessária para

manipular imagens na Internet.

De acordo com GONZALEZ & WOODS (1992): “Uma imagem digital é uma

matriz onde os índices das linhas e colunas identificam um ponto na imagem e o valor

do elemento da matriz identifica a informação de cor ou brilho naquele ponto”. Os

elementos de tal arranjo digital são chamados de elementos da imagem, picture

elements, pixels ou pels, com os dois últimos sendo comumente usados como

abreviação de “picture elements”. Segundo GATTASS (2005): “O processo de

digitalização de imagens compreende três importantes etapas (Figura 1):

• Amostragem, nesta etapa ocorre a conversão da imagem contínua em um

conjunto de coordenadas discretizadas;

• Quantização, nesta etapa é feita a codificação de valores contínuos de cores em

um intervalo discreto; e

• Codificação, que é a representação, em seqüência de números, da imagem

digital.

Page 22: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

19

Figura 1: Etapas de Digitalização de uma imagem. Adaptado de [GATTASS 2005]

A seguir, serão analisados três dos principais padrões de armazenamento e

compressão usados em imagens digitais na Internet. Os seguintes padrões foram

escolhidos, por serem os mais utilizados:

• JPEG, Padrão criado pelo Joint Photographic Experts Group (JPEG)

[JPEG 20007] que utiliza lossy compression (compressão com perda de

informação);

• GIF, Padrão criado pela Compuserve [COMPUSERVE 2007] que utiliza

lossless compression (compressão sem perda de informação); e

• PNG, Padrão livre regulamentado pela W3C [W3C 2007], que utiliza

lossless compression e é o principal concorrente do GIF.

2.2.1 Características Fundamentais de Imagens

Nesta seção serão descritas algumas características importantes de imagens

digitais.

Page 23: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

20

2.2.1.1 Color Depth (Profundidade da Cor)

Profundidade da cor, ou color depth, é um termo da computação gráfica que

descreve a quantidade de bits usados para representar a cor em um único pixel numa

imagem bitmap [BIT DEPTH 2007].

2.2.1.2 Resolução

A Resolução de imagem descreve o nível de detalhe que uma imagem comporta.

Quanto maior a resolução, melhor a percepção de detalhes de uma imagem.

A resolução pode ser medida com uma matriz de pixels (horizontal x vertical) ou

em dots per inch (dpi – pontos por polegada).

As Figura 2 e Figura 3 mostram exemplos de imagens nos dois sistemas citados.

Figura 2 : Exemplo de resolução em pixels. Adaptado de [GATTAS 2005]

Figura 3: Exemplo de resolução em dpi (respectivamente 600, 300, 150, 60, 30) . Adaptado de

[GATTAS 2005]

2.2.1.3 Compressão de imagem

A compressão de imagem é uma atividade de suma importância para a viabilidade

do compartilhamento de imagens digitais de alta resolução na Internet, dada a largura de

banda que seria necessária caso não houvesse uma compressão.

O principal foco da compressão de imagem é através da percepção visual humana

eliminar valores discretizados da imagem, reduzindo assim a quantidade de informação

que a representa.

Existem dois tipos de compressão de imagem: Lossless (é usada quando se tem

imagens de baixa resolução ou imagens que precisam de alta fidelidade com a imagem

Page 24: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

21

original, já que quando é realizada a descompressão, a imagem original é restaurada.

Exemplos de padrões que a utilizam: GIF [COMPUSERVE 2007] e PNG [W3C 2007])

e Lossy (é usada em imagens com alta resolução e que não precisam de alta fidelidade

com a imagem original, visto que ao realizar a descompressão a imagem original não é

restabelecida. Exemplo de padrão que a utiliza: JPEG [JPEG 2007]).

2.2.2 Padrões de Compressão de Imagem Digital

Nesta seção serão analisados os três principais padrões de compressão de imagens

que são utilizados na Internet: JPEG, GIF e PNG.

2.2.2.1 JPEG

Padrão criado pelo grupo JPEG em 1992 [JPEG 2007], tem 24 bits por pixel

(sendo oito bits para vermelho, oito para o verde e oito para o azul). Cmo já foi dito,

utiliza lossy compression e é o padrão mais utilizado na Internet para representar

fotografias.

2.2.2.2 GIF (Graphics Interchange Format)

Padrão criado pelo grupo CompuServe em 1987 [COMPUSERVE 2007], tem

uma paleta de cor com 256 cores por pixel. Como já foi dito, utiliza lossless

compression e ainda é um dos principais padrões para representar ícones, imagens de

baixa resolução e pequenas animações.

2.2.2.3 PNG (Portable Network Graphics)

O padrão foi criado em 1995 pela W3C [W3C 2007], contudo só começou a

ganhar popularidade a partir do ano de 1999, para ser um concorrente livre do GIF.

O PNG permite diversas paletas de cores, como: 24 bits por pixel (sendo oito bits

para vermelho, oito para o verde e oito para o azul), tons de cinza e outras.

Semelhantemente ao GIF, o PNG utiliza lossless compression, no entanto o algoritmo

(deflate) de compressão utilizado no PNG é de uso livre.

Page 25: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

22

2.2.3 Image Magick

Após o estudo detalhado das características de imagens, surgiu a necessidade de

se pesquisar uma ferramenta que manipulasse imagens, permitindo converter, editar e

compor imagens, de forma que fosse open source e pudesse ser usada para criar outros

sistemas de manipulação a partir dela. A ferramenta escolhida foi o Image Magick

[IMAGEMAGICK 2007], devido a sua robustez, facilidade de uso e interação com

outros sistemas além de atender ao fato de ser open source.

O Image Magick é uma suíte de software para criar, editar e compor imagens

bitmap. Ele pode ler, converter, e criar imagens em uma grande variedade de formatos,

incluindo DPX [DPX 2007], EXR[EXR 2007], GIF [GIF 2007], JPEG [JPEG 2007],

PDF [PDF 2007], PhotoCD [PHOTOCD 2007], PNG [PNG 2007], Postscript

[POSTSCRIPT 2007], SVG [SVG 2007], TIFF [TIFF 2007] entre outros. O Image

Magick é usado para transladar, espelhar, rotacionar, escalonar, recortar e transformar

imagens, ajustar cores, aplicar vários efeitos especiais, desenhar texto, linhas, polígonos,

elipses e curvas de Bézier4, além de extrair informações físicas da imagem.

2.3 Vídeos Digitais

O termo vídeo digital se refere a diversos formatos de armazenamento de

animações. O vídeo digital foi criado quando a Sony [SONY 2007] em 1983 lançou o

formato Sony D-1 que transformava o vídeo analógico em digital sem fazer nenhuma

etapa de compressão, o que tornou esse processo bastante oneroso tendo em vista o

armazenamento.

Atualmente, esse formato ainda pode ser encontrado em grandes redes de

televisão, embora o mesmo esteja em um processo de substituição por formatos que

utilizam compressão e que são notavelmente mais baratos.

A seguir serão estudadas as características fundamentais de vídeos digitais bem

como serão analisados alguns dos atuais padrões de compressão de vídeo mais usados

na Internet. Dentre os padrões escolhidos, tem-se:

• MPEG, serão analisados os seguintes padrões da família MPEG: MPEG-

1, MPEG-2 e MPEG-4 [MPEG 2007];

4 É uma curva polinomial expressa como combinação baricêntrica de alguns pontos representativos, chamados de pontos de controle.

Page 26: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

23

• WMV, Coleção de vários codecs proprietários da Microsoft [WMV

2007];

• RealVideo, padrão de vídeo proprietário desenvolvido pela RealNetworks

que é dividido em RealAudio e RealMedia [REALNETWORKS 2007];

• FLV, padrão de vídeo proprietário criado pela Adobe (Macromedia)

[ADOBE 2007];

• Ogg Theora, padrão de vídeo livre desenvolvido pela Xiph.Org

Foundation [XIPH 2007];

• H.263, padrão de vídeo livre criado pela ITU-T Video Coding Experts

Group (VCEG) [ITU-T 2007]; e

• H.264, padrão de vídeo livre criado pelo Joint Video Team (JVT) grupo

formado com pesquisadores do ITU-T VCEG e do MPEG [ITU-T 2007].

2.3.1 Características de Vídeo Digital

Nesta seção serão estudadas algumas características importantes de vídeos

digitais.

2.3.1.1 Frame Rate (taxa de quadros)

Para se determinar o frame rate é utilizada a unidade FPS (Frames per Second –

Quadros por segundo), a qual mede quanta informação é usada para armazenar e

mostrar a animação de um vídeo [SONY 2007]. Quanto maior o FPS, melhor é a

qualidade do vídeo e maior é o tamanho de armazenamento.

2.3.1.2 Resolução

Em vídeo analógico a resolução é dada por linhas. Contudo, em vídeo digital a

resolução é obtida através de pixels (um pixel é o menor ponto que forma uma imagem

digital, como já descrito).

A resolução é dada pela quantidade de pixels dispostos na horizontal e na vertical.

Dentre as resoluções comumente usadas em monitores tem-se 640 x 480 (307.200

Page 27: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

24

pixels), 800 x 600 (480.000 pixels) e 1024 x 768 (786.432 pixels). Na Figura 4, pode-se

notar a proporção entre algumas resoluções.

Figura 4: Proporção entre diversas resoluções. Adaptado de [SONY 2007]

2.3.1.3 Aspect Ratio

Em um espaço bi-dimensional, o aspect ratio mede o quão distante a maior

dimensão é da menor. Em vídeo digital, o aspect ratio é aplicado para demonstrar a

proporção da tela, ao se dividir a quantidade de pixels dispostos horizontalmente pela

quantidade de pixels dispostos na vertical [AMPAS 2007].

Os mais usados padrões de Aspect Ratio são:

• Padrão 4:3 ou 1.33:1 - Padrão usado pelos aparelhos de TV comuns e

pela grande maioria dos monitores. Este padrão foi definido pela

Academia de Artes de Animação de Figuras e Ciências (Academy of

Motion Picture Arts and Sciences [AMPAS 2007]); e

• Padrão 16:9 ou 1.78:1 - Padrão internacional usado para HDTV (High-

Definition Television).

Na Figura 5 pode-se analisar a proporção entre alguns aspect ratios.

Figura 5: Proporção entre diversos aspect ratios

Page 28: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

25

2.3.1.4 Qualidade de Vídeo

A medição da qualidade de um vídeo não é uma tarefa muito precisa. Segundo

VIANELLO (2006), pode-se dividir a avaliação da qualidade em dois tipos de

abordagens:

• Objetiva, que faz uso de técnicas como Signal-to-noise ratio (SNR) e

Peak Signal-to-noise ratio (PSNR), as quais através de cálculos

matemáticos tentam definir o percentual de “ruído” na construção da

imagem; e

• Subjetiva, a qual através da definição de métricas e pontuações, alguns

especialistas observam os vídeos e atribuem notas. Ao final, é realizada

uma média e se obtém o resultado da avaliação da qualidade.

2.3.1.5 Bit Rate

Tem o conceito similar a bit rate de áudio, medindo o número médio de bits que

um segundo de vídeo (ou áudio) pode consumir. O bit rate pode ser medido através da

unidade bits / segundos.

Quanto maior for o bit rate, o vídeo apresentará melhor qualidade de imagem e

conseqüentemente terá maior tamanho. Em média, um VideoCD apresenta 1 Mbit/s, um

DVD 5 Mbit/s e uma HDTV apresenta de 15 a 100 Mbit/s.

2.3.1.6 Compressão de Vídeo

A compressão de vídeo é uma atividade de suma importância para a viabilidade

do vídeo digital. A Figura 6 mostra o tamanho necessário para o armazenamento de um

vídeo digital sem compressão.

Figura 6: Relação Mídia x Espaço Ocupado. Adaptado de [FERNANDES 2006]

Page 29: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

26

Pode-se perceber que, caso não existisse a compressão de vídeo digital, a

manipulação de vídeos na Internet seria uma tarefa inviável dada à largura de banda

necessária.

A compressão é realizada na etapa de codificação do vídeo analógico para digital.

Existem diversos formatos para a compressão de vídeos. Contudo, neste trabalho,

apenas foram abordados os formatos mais utilizados para a compressão de vídeo digital

na WEB.

Assim como em imagens e áudios, tem-se para vídeos dois tipos de compressão,

lossless e lossy. Seguindo os mesmo conceitos, a primeira apresenta uma compressão

sem degradar a qualidade do vídeo e a segunda ocorre com perda de informação do

vídeo original.

A seguir, foram listados e analisados brevemente os mais importantes padrões de

compressão de vídeo.

2.3.2 Padrões de Compressão de Vídeo Digital

Nesta seção alguns dos mais importantes padrões de compressão de vídeos

digitais foram estudados.

2.3.2.1 WMV (Windows Media Video)

O Windows Media Video é um padrão proprietário desenvolvido pela Microsoft

[WMV, 2007]. Em 2003 a Microsoft enviou a especificação do codec para a Society of

Motion Picture and Television Engineers (SMPTE) [SMPTE 2007]. O formato se

tornou aberto, contudo continuou sendo proprietário.

A grande vantagem de se utilizar esse formato é a integração dos vídeos com

programas notadamente conhecidos da Microsoft, como Windows Media Player e

Internet Explorer [MICROSOFT 2007].

2.3.2.2 RealVideo

O RealVideo é um padrão proprietário desenvolvido pela RealNetworks

[REALNETWORKS 2007]. O RealVideo normalmente é usado em conjunto com o

padrão de áudio RealAudio, produzido pela mesma RealNetworks. A sua primeira

Page 30: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

27

versão foi lançada em 1997 usando como base H.263 [H.263 1998]. Atualmente, o

RealVideo não se utiliza mais do padrão H.263. Ele tem como base agora o codec

proprietário RV40, que foi desenvolvido também pela RealNetworks

[REALNETWORKS 2007].

2.3.2.3 FLV (Flash Live Video)

O Flash Live Video é um padrão proprietário desenvolvido pela Adobe [ADOBE

2007]. O Flash Live Video em versões anteriores à versão oito usava como codec uma

variante do H.263 [H.263 1998]. No entanto, as mais novas versões do Flash Vídeo,

além da variante do H.263, usam o codec On2 True Motion VP6 [ON2 2007], o qual

apresenta uma maior compressão que o H.263.

O Flash Video é o formato mais utilizado pelos serviços de manipulação de

vídeos na Internet por apresentar bons índices de compressão e qualidade da imagem,

além de se privilegiar do fato da Adobe [ADOBE 2007] ter um plugin (Adobe Flash

Player) que permite que vídeos neste formato possam ser vistos diretamente nos

navegadores (browsers) dos usuários.

2.3.2.4 H.263

O H.263 é um padrão de compressão desenvolvido pela ITU-T Video Coding

Experts Group (VCEG) [ITU-T 2007] em 1995, com o foco na utilização em

videoconferências.

Atualmente, esse formato ainda é usado em videoconferências baseadas nos

protocolos RTP (Real-time Transport Protocol), RTSP (Real Time Streaming Protocol)

e SIP (Session Initiation Protocol). Também é utilizado nos conteúdos de vídeos no

formato Flash (FLV), tendo um papel importante nos sistemas de compartilhamento de

vídeos como YouTube [YOUTUBE 2007], GoFish [GOFISH 2007], Metacafe

[METACAFE 2007], Google Video [GOOGLE VIDEO 2007], entre outros.

2.3.2.5 OGG Theora

O OGG Theora é um formato livre desenvolvido pela fundação Xiph.org [XIPH,

2007], sendo parte do projeto Ogg. É baseado no codec VP3 (que era proprietário e

equivalente em qualidade ao MPEG-1) e que foi doado pela On2 Technologies [ON2

Page 31: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

28

2007] ao lançar em domínio público todas a licenças que possuía do VP3. Assim, a

Xiph.org [XIPH 2007] pôde desenvolver o OGG Theora usando como base o VP3.

2.3.2.6 MPEG-1

O padrão MPEG-1 especifica a codificação de áudio e vídeo para entrega à taxa

de 1,5 MBps, para aplicações em CD-ROM e desktop [GOULART 2003].

O MPEG-1 é divido em duas partes: MPEG-1 Video e MPEG-1 Audio (que será

analisado na seção de áudio digital)

O MPEG-1 Video foi projetado para o armazenamento de vídeos de até 1.5

MBps e com resolução 352x240 pixels e frame rate de 30fps ou resolução 352x288

pixels e frame rate de 25fps [CHIARIGLIONE 1996].

Este padrão foi desenvolvido com o intuito de armazenar vídeos em CD (VCD)

propiciando uma qualidade de imagem similar a fitas VHS (Video Home System).

2.3.2.7 MPEG-2

O padrão MPEG-2 especifica a codificação genérica de sinais de vídeo, incluindo

TV digital. MPEG-1 e MPEG-2 estão intimamente ligados ao sucesso de produtos e

serviços comerciais largamente adotados, como gravadores e reprodutores para Video

CD, DVD, difusão de áudio digital (Digital Audio Broadcasting – DAB [DAB 2007]) e

MP3 (MPEG-1 Audio Layer III [MPEG 2007]) [GOULART 2003].

O padrão MPEG-3 seria utilizado para a padronização de HDTV, mas foi

cancelado e suas funcionalidades foram incorporadas ao padrão MPEG-2.

O comitê desenvolvedor do MPEG-2 compreendeu que, para atender aos

diferentes requisitos de todas as aplicações-alvo, era necessário criar uma série de níveis

e perfis. Esses níveis e perfis facilitam a interoperabilidade entre aplicações que lidam

com o padrão MPEG-2, pois especificam detalhes com os quais essas aplicações

necessitam estar em conformidade. Os perfis definem diferentes esquemas de

codificação; os níveis se referem principalmente à resolução do vídeo produzido

[FERNANDES 2006].

A mistura de perfis e níveis permite que o MPEG-2 se torne escalável, podendo

ser usado em padrões de TV digital (alta resolução) ou em vídeos de baixa resolução.

Page 32: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

29

2.3.2.8 MPEG-4

O padrão MPEG-4, tem como objetivo principal definir um padrão internacional

para a codificação audiovisual que permita serviços de interação [MPEG 2007].

O MPEG-4 tem uma codificação eficiente de vídeo e áudio. Além disso, este

padrão permite a representação e manipulação individual de cada objeto (vídeo, áudio,

textos, gráficos, entre outros) que compõe uma cena [MPEG 2007].

Esta divisão dos objetos que compõem uma cena permite prover uma melhor

interação entre o usuário e um determinado vídeo, ao contrário dos padrões MPEG-1 e

MPEG-2, que apenas permitem a seqüência de quadros de imagem.

O padrão MPEG-4 também especifica meios de permitir a reutilização de objetos

de mídia e a associação de direitos autorais [BATTISTA et al.1999].

Figura 7: Componentes do MPEG-4. Adaptado de [TODESCO 2000].

.

O padrão MPEG-4 com a sua divisão dos objetos de mídia, como pode ser

observado na Figura 7, possibilita uma codificação ótima para cada objeto. Dessa

forma, o padrão obtém um alto índice de compressão possibilitando uma alta qualidade

de vídeo. Com isto, o MPEG-4 obteve uma grande aceitação no mercado de vídeo

Page 33: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

30

digital. Atualmente, este padrão evoluiu com os esforços do Joint Video Team (JVT)

[JVT 2007] e se chama H.264 (MPEG-4 part 10).

2.3.2.9 H.264

O padrão H.264 é também conhecido como H.264/MPEG-4 AVC e MPEG-4

(part 10). O H.264 surgiu como a união de especialistas de dois dos mais importantes

grupos de padronização de vídeo digital: ITU-T VCEG [ITU-T 2007] e MPEG [MPEG,

2007], que formaram um grupo chamado Joint Video Team (JVT) [JVT 2007].

O padrão H.264 é considerado a nova geração de compressão de vídeo usando

MPEG-4 [APPLE 2007]. O H.264 apresenta altos índices de qualidade de vídeo em

uma grande variação de largura de banda (de 40Kbps até acima de 10Mbps).

Figura 8: Usos do H.264. Adaptado de [APPLE 2006].

O H.264 está se consolidando cada vez mais no mercado como o principal padrão

de compressão de vídeo por apresentar excelentes índices de compressão, aliado ao fato

de poder atuar em toda a largura de banda, fato notado com a Figura 8, podendo ser

usado em dispositivos móveis (3G) até dispositivos que apresentam alta-definição de

imagem (HD).

Page 34: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

31

Figura 9 Comparação entre H.264 e MPEG4 part 2. Adaptado de [APPLE 2006].

.

Pode-se observar, na Figura 9, que o H.264 apresenta o tamanho do quadro

(Frame) quatro vezes maior que o MPEG-4 (part 2) utilizando o mesmo tamanho para o

armazenamento.

Os impressionantes resultados obtidos pelo H.264 fizeram com que ele fosse

adotado em diversas organizações. Dentre elas pode-se citar: MPEG [MPEG, 2007],

ITU-T VCEG [ITU-T 2007], DVD Forum [DVD 2007], Blu-ray Disc Association

[BDA 2007], Digital Video Broadcasting [DVB 2007], 3rd Generation Partnership

Project [3GPP 2007] e Internet Streaming Media Alliance [ISMA 2007].

O padrão H.264 está se consolidando cada vez mais como principal padrão de

compressão de vídeo. O fato do mesmo poder atuar em uma grande variação de largura

de banda é de extrema importância para que algum dia haja uma unificação dos padrões

de compressão de vídeo digital.

Page 35: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

32

2.3.3 FFMPEG – Ferramenta de Manipulação de Vídeo

Da mesma forma que foi feito um estudo detalhado das características de

imagens, também foi feito um estudo detalhado das principais características de vídeo e

com isso, surgiu a necessidade de se pesquisar uma ferramenta que manipulasse vídeo,

de forma que fosse open source e pudesse ser usada para criar outros sistemas de

manipulação a partir dela. A ferramenta escolhida foi o ffmpeg [FFMPEG 2007], uma

ferramenta de linha de comando do projeto FFMEPG. Tal ferramenta foi escolhida

devido sua robustez, facilidade de uso e interação com outros sistemas e atender ao fato

de ser open source, podendo ser alterada e distribuída livremente seguindo a licença

GPL(GNU Public Licence).

O projeto FFMEPG é uma suíte de software completa para gravar, converter e

manipular stream de áudio e vídeo. Ele é desenvolvido sobre a plataforma linux, mas

também pode ser compilado sob a maioria dos sistemas operacionais inclusive

Windows [FFMPEG 2007].

O ffmpeg é um rápido conversor de áudio e vídeo. É uma ferramenta baseada

em linha de comando e permite uma grande variedade de funções sobre áudio e vídeo

devido à possibilidade de derivar seus parâmetros de entradas de acordo com as

necessidades das operações solicitadas.

2.4 Áudio Digital

O termo áudio digital se refere a diversos formatos digitais de armazenamento de

sons. O áudio digital é a principal base para o compartilhamento de músicas na Internet.

Levando em conta esse cenário, apenas realizar a transformação de áudio analógico para

digital não é interessante, visto que tornaria muito custoso o armazenamento e

transferência do arquivo de som. Para solucionar este problema é necessário realizar,

assim como foi visto em imagem digital, uma etapa de compressão de áudio.

A seguir serão estudadas as características fundamentais de áudios digitais bem

como serão analisados alguns dos atuais padrões de compressão de áudio mais usados

na Internet. Dentre os padrões escolhidos, tem-se:

Page 36: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

33

• MPEG (Moving Pictures Expert Group), serão os seguintes formatos da

família MPEG: MPEG-1 Audio Layer III, MPEG-2 AAC e MPEG-4 AAC

[MPEG 2007];

• WMA (Windows Media Audio), Coleção de vários codecs proprietários

da Microsoft [WMA 2007];

• RealAudio, Formato de áudio proprietário desenvolvido pela

RealNetworks [REALNETWORKS 2007] que é dividido em RealAudio e

RealMedia; e

• Ogg Vorbis, Formato de vídeo livre desenvolvido pela Xiph.Org

Foundation [XIPH 2007].

A Figura 10 mostra um exemplo de uma transformação de um áudio analógico em

digital.

Figura 10 Áudio Analógico (Vermelho) em Digital (Cinza). [MPEG 2007]

2.4.1 Características fundamentais de áudio

Nesta seção serão abordadas algumas características importantes de áudios

digitais.

2.4.1.1 Bit Rate

O conceito de bit rate em áudio, como em vídeo, representa a quantidade de bits

que são usados para codificar a informação que será transmitida em um segundo.

Quanto maior bit rate, o áudio apresentará uma melhor qualidade e maior tamanho do

arquivo. No Quadro 1 pode-se perceber a relação do bit rate com a qualidade do áudio

digital.

Page 37: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

34

Quadro 1: Exemplos de bit rate em áudio digital.

Tipo de Som Bit Rate Som de um telefone 8 Kbit/s Compact Disk (CD) 1441 Kbit/s

Rádio AM (Amplitude Modulation) 32 Kbit/s Rádio FM (Frequency Modulation) 96 Kbit/s MP3 com qualidade similar ao CD 192 Kbit/s MP3 com qualidade similar ao som

analógico 224 - 320 Kbit/s

2.4.1.2 Sample Rate

O áudio analógico é um sinal contínuo, contudo, ao ser transformando em um

sinal digital que é discreto, pedaços do sinal contínuo são perdidos e a sample rate, a

freqüência que amostras do sinal contínuo em um dado instante (sample) são

convertidas para um sinal digital. Quanto maior a sample rate, melhor será a qualidade

do som digital, visto que terá perdido menos samples do som analógico. A sample rate é

medida em Kilohertz (KHz). Por exemplo, um som digital com 44,100 kHz de sample

rate apresenta a qualidade de um Compact Disk (CD) [GIBSON 2006].

2.4.2 Compressão de Áudio

Semelhantemente à compressão de imagem, a compressão de áudio é uma

atividade de suma importância para a viabilidade do compartilhamento de áudio digital

na Internet, dada a largura de banda que seria necessária caso não houvesse uma

compressão.

A compressão é realizada na etapa de codificação do áudio analógico para digital

e se dá através de conceitos da psico-acústica que estuda como as pessoas percebem o

som. O principal foco da compressão de áudio é remover sons que não são percebidos

pelo ouvido humano. Dentre eles pode-se citar sons que estão fora do limiar da audição

humana ou mesmo sons que são mascarados por outros sons.

Existem dois tipos de compressão auditiva: lossless (quando realizada a

descompressão, o sinal original é restaurado) e o segundo tipo, lossy (são removidos

dados do sinal original e depois de realizada a descompressão, o sinal obtido é diferente

do original).

Como o enfoque do trabalho é em formatos de compressão utilizados na WEB,

serão estudados apenas formatos que utilizam compressão lossy, visto que os mesmos

são usados amplamente no compartilhamento de áudio na Internet.

Page 38: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

35

2.4.2.1 Padrões de Compressão de Áudio Digital

Nesta seção serão analisados alguns do mais importantes padrões de compressão

de áudio digital.

2.4.2.2 WMA (Windows Media Audio)

O Windows Media Audio [WMA 2007] é um padrão proprietário desenvolvido

pela Microsoft [MICROSOFT 2007]. Atualmente, o WMA contém quatro padrões

dentre os quais pode-se citar dois como mais importantes: WMA Standard (segundo

codificador de áudio mais utilizado em sons na WEB e principal concorrente do MP3

[MPEG, 2007]) e WMA Professional (concorrente do AAC como codec que apresenta

sons de alta qualidade).

O padrão WMA na maioria dos casos apresenta qualidade semelhante ao MP3

utilizando metade do bit rate e conseqüentemente utilizando metade do tamanho de um

arquivo MP3 [WMA 2007]. Contudo, apesar dessa informação, não se pode considerar

esse formato como melhor ou pior que o MP3, visto que este formato insere mais

distorções em músicas que o MP3 [WMA 2007].

2.4.2.3 RealAudio

O RealAudio é um padrão proprietário desenvolvido pela RealNetworks

[REALNETWORKS 2007]. A sua primeira versão foi lançada em 1995.

O principal uso desse formato se dá com a utilização de serviços de streaming de

áudio na Internet. O RealAudio em suas primeiras versões utilizava o protocolo aberto

Real Time Streaming Protocol (RTSP) criado pela Internet Engineering Task Force

(IETF) [IETF, 2007] para o gerenciamento da conexão com o servidor de stream de

áudio. No entanto, a transferência do áudio se processava através de um protocolo

proprietário denominado Real Data Transport (RDT). Atualmente, o RealAudio dá

suporte a streaming através do protocolo HTTP [REALNETWORKS 2007].

Page 39: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

36

2.4.2.4 OGG Vorbis

O OGG Vorbis é um padrão aberto e livre desenvolvido pela fundação Xiph.org,

sendo parte do projeto Ogg. Começou a ser desenvolvido em 1998 e foi lançada a

versão 1.0 em 2002 [XIPH 2007].

O OGG Vorbis apresenta melhor desempenho em algumas faixas de bit rates que

os padrões mais consolidados no mercado como MP3 e WMA [XIPH 2007], bem como

também se mostra um concorrente à altura dos padrões mais atuais que apresentam

excelente qualidade de som como AAC (MPEG-4 AAC) [MPEG 2007] e WMA

Professional [WMA 2007].

O OGG Vorbis tem se mostrado um forte concorrente dos principais formatos e

apresenta uma diferença dos demais que é ser um padrão aberto (permitindo a

customização de acordo com as necessidades de desenvolvedores de formatos de

compressão).

2.4.2.5 MP3 (MPEG-1 Audio Layer III)

O MP3 é um dos primeiros padrões de compressão de áudio e atualmente ainda é

o padrão mais utilizado no mundo. A sua origem se deu através do trabalho de diversos

pesquisadores (principalmente de universidades da Alemanha) e do grupo MPEG que

formalizou o padrão.

O instituto Fraunhofer [FRAUNHOFER 2007] e a Thomson SA [THOMSON

2007] detêm uma patente (reconhecida nos Estados Unidos e Japão) que obriga quem

implementar ou distribuir codificadores ou decodificadores usando o MP3 pagar

Royalties. Este foi o principal incentivo para a criação de um padrão aberto: o OGG

Vorbis, como dito anteriormente.

A Figura 11 representa a arquitetura geral de um codificador para o padrão MP3:

Figura 11: Codificador MP3. Adaptado de [CHIARIGLIONE 1996].

Page 40: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

37

O MP3, como já foi dito, ainda é o principal padrão de compressão de áudio

utilizado para o compartilhamento de áudio na Internet. No entanto, vem perdendo o seu

espaço para outros formatos mais novos e eficientes como OGG Vorbis [XIPH 2007],

MPEG-4 AAC [MPEG, 2007], WMA Professional [WMA 2007], entre outros.

2.4.2.6 MPEG-2 AAC (Advanced Audio Coding)

Este padrão também é conhecido como MPEG-2 part 3 [MPEG 2007]. O MPEG-

2 AAC (Advanced Audio Coding) foi definido como uma evolução dos padrões MPEG-

1 Audio, obtendo taxas de compressão bem superiores ao seu antecessor. Esse padrão

permite o uso de até 48 canais principais de áudio e 16 canais de baixa freqüência

[FERNANDES 2006]. Pode manipular maiores freqüências de sampling que o MP3

(acima de 96 KHz contra 48 KHz do MP3). Além de apresentar compatibilidade com o

MP3 [MPEG 2007].

2.4.2.7 MPEG-4 AAC (Advanced Audio Coding)

Este padrão também é conhecido por MPEG-4 part 7 [MPEG, 2007]. O MPEG-4

AAC é uma atualização do MPEG-2 AAC com três extensões: PNS (Perceptual Noise

Substitution), LTP (Long Term Predictor), Twin VQ (Transform-Domain Weighted

Interleave Vector Quantization) que permitem que o MPEG-4 AAC tenha um melhor

desempenho que o MPEG-2 AAC e exija um menor custo computacional para codificar

o áudio [MPEG 2007].

Atualmente, existe uma otimização do MPEG-4 AAC que apresenta os melhores

índices de eficiência e se chama HE-AAC (High Definition Advanced Audio Coding)

[MPEG 2007].

Page 41: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

38

2.5 Objetos de Mundos Virtuais

A Realidade Virtual (RV) é, antes de tudo, uma “interface avançada do usuário”

para acessar aplicações executadas no computador, tendo como características a

visualização, movimentação em ambientes tridimensionais em tempo real e a interação

com elementos desse ambiente. Além da visualização em si, a experiência do usuário de

RV pode ser enriquecida pela estimulação dos demais sentidos como tato e audição

[TORI 2006].

A modelagem dos ambientes virtuais, usando linguagens como VRML (Virtual

Reality Modeling Language) e sua sucessora, X3D [WEB3D 2006], e outras linguagens

e ferramentas de autoria específicas, permite que o usuário visualize ambientes,

manipule objetos e outros elementos do cenário virtual, além de se movimentar dentro

do espaço tridimensional. Alguns objetos virtuais podem ser animados e possuírem

comportamentos autônomos ou disparados por eventos. A geração de imagens, pelo

computador, a partir de determinados pontos de vista fixos ou variáveis, permite a

visualização do mundo virtual pelo usuário. Neste contexto abrangente de realidade

virtual, os mundos virtuais no presente trabalho serão tratados apenas como uma

representação de mundos em três dimensões, com o uso de VRML e X3D.

Com relação às tecnologias que serão abordadas, VRML - Virtual Reality

Modeling Language é um padrão de arquivo formatado para representação

tridimensional interativo por vetores gráficos, particularmente projetado para a World

Wide Web. X3D – é um padrão ISO para computação gráfica 3D em tempo real. As

características de X3D estendem as características de VRML, por exemplo, animação

de humanóides, gráficos Nurbs, GeoVRM, entre outras. Ela é muito mais rica e

abrangente que VRML. A habilidade de codificar cenas usando sintaxe XML e a

extensão de programação por API (Aplication Program Interface) a tornam

extremamente poderosa para representar mundos virtuais na WEB, visto a facilidade de

manipulação de arquivos XML pelos browsers. VRML e X3D basicamente trabalham

com grafos de cena, ou seja, é feita uma definição hierárquica de componentes, após

definidas as partes de cada componente individualmente, e é definido um conjunto de

transformadas para se prover a união das partes criadas [WEB3D 2006].

Será feito um estudo das principais características de mundos virtuais, referente a

definição, descrição, formas de construção de mundos virtuais, como armazenar

Page 42: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

39

mundos virtuais em mídias computacionais, como recuperar mundos virtuais e como

armazená-los e consultá-los de forma estruturada em um sistema de banco de dados.

Dentro do estudo sobre mundos virtuais, será feita uma pesquisa referente a

serviços de armazenamento de mundos virtuais, classificação de mundos virtuais e

recuperação de mundos virtuais na web, de forma que tais características possam ser

agregadas ao servidor de dados desenvolvido neste trbalho, permitindo assim maior

facilidade para a manipulação de tais arquivos de dados.

2.5.1 Grafos de Cena

Os grafos de cena são de suma importância para o desenvolvimento de aplicações

de RV, tanto para VRML quanto para X3D. Eles podem ser definidos como ferramentas

conceituais para representação de ambientes virtuais tridimensionais nas aplicações de

computação gráfica [Walsh 2002]. Um grafo de cena é formado por nós conectados por

arestas compondo um grafo acíclico direcionado.

Cada nó possui um conjunto de atributos que podem, ou não, influenciar seus nós

conectados. Os nós são organizados de uma maneira hierárquica correspondendo

semântica e espacialmente com o mundo modelado. Os nós podem ser divididos em três

categorias: nó raiz, nós intermediários que são chamados de nós internos ou nós de

agrupamento e os nós folha que estão localizados no final de um ramo. O nó raiz é o

primeiro nó do grafo e todos os outros nós estão ligados a ele direta ou indiretamente.

Os nós internos possuem várias propriedades, sendo o uso mais comum o de representar

transformações 3D (rotação, translação e escala). Os nós folha contêm, geralmente, a

representação geométrica de um objeto (ou dados de áudio, quando o grafo de cena

possuir esse recurso) [Silva et al. 2004].

Os grafos de cena implementam um princípio chamado de herança de estado. Os

nós internos armazenam o estado do sistema, onde estado significa a posição e a

orientação dos objetos no ambiente virtual e seus atributos de aparência. A herança de

estado é uma propriedade dos grafos de cena que determina que cada nó deve herdar as

propriedades de estado de todos os seus ancestrais no grafo até a raiz.

Considerando o modelo de uma casa e admitindo que seus objetos estejam

modelados em relação à origem do sistema de coordenada, pode-se acrescentar para

cada quarto da casa uma translação que irá posicioná-lo corretamente em relação à casa.

A casa pode ser ainda rotacionada, por exemplo, a fim de ficar voltada para uma

Page 43: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

40

determinada direção. O grafo para essa cena é ilustrado na Figura 12. Devido à herança

de estado, todas as geometrias identificadas pelos nós raízes herdarão as propriedades

dos seus ancestrais e serão posicionadas corretamente. A herança de estado é, portanto,

uma ferramenta importante para organização da cena 3D.

Figura 12: Exemplo de grafo de cena. Adaptado de [Walsh 2002].

Além da organização hierárquica da cena, a grande vantagem do grafo de cena é a

implementação de uma série de otimizações, que são essenciais para a visualização em

tempo-real. Essas otimizações servem principalmente para reduzir a quantidade de

vértices que são enviados para a renderização na placa gráfica. O grafo de cena pode

embutir recursos de descarte por volume de visão (objetos fora do frustum do

observador), por oclusão (objetos ocultos por outros) e por tamanho (objetos muito

pequenos em cenas complexas). Também é comum que os grafos de cena tenham

recursos de níveis de detalhe (LOD – Level of Detail), cuja idéia é a de que objetos

muito distantes do observador podem ser renderizados com menor qualidade visual

(menor número de polígonos) do que objetos mais próximos [Luebke et al. 2002].

Uma vantagem direta que o grafo de cena traz com todas as otimizações que ele

implementa é a melhoria do desempenho da aplicação. Além disso, o grafo de cena traz

outras vantagens para uma aplicação de RV:

• Produtividade - o grafo de cena gerencia toda a parte gráfica, reduzindo

as várias linhas de código que seriam necessárias para implementar a

mesma funcionalidade utilizando uma interface de programação baixo

nível, como a OpenGL;

• Portabilidade - os grafos de cena encapsulam todas as tarefas de baixo

nível necessárias para renderizar a cena e ler e escrever arquivos,

reduzindo, ou até mesmo extinguindo, a quantidade de código que é

Page 44: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

41

específica de alguma plataforma. Assim, se o grafo de cena for portável,

imediatamente toda a aplicação será portável, sendo necessário apenas

uma nova compilação ao se mudar de plataforma; e

• Escalabilidade - os grafos de cena são feitos para funcionar em

configurações simples baseadas em computadores de mesa e placas

gráficas aceleradoras convencionais ou em hardware complexo, como

cluster de máquinas gráficas, ou sistema multiprocessado (multipipe).

2.5.2 X3D

O X3D é um padrão de software aberto e escalável para definição e comunicação

em tempo real, conteúdo interativo 3D para efeitos visuais e modelagem de

comportamento. Ele pode ser usado através de dispositivos de hardware e uma grande

variedade de aplicações incluindo aplicações CAD, simulação visual, visualização

médica, GIS, entretenimento, educação e apresentações multimídias.

O X3D provê tanto codificação XML e SAI (Scene Authoring Interface)

habilitando aplicações WEB ou não-WEB para incorporar dados 3D em tempo-real,

apresentações e controle dentro de conteúdo não-3D.

Devido suas evoluções, ele é considerado o sucessor natural do VRML. Ele dá

suporte a tudo que o VRML disponibiliza mais um conjunto de novas características,

possui uma API mais avançada, formatos de codificação adicionais, uma arquitetura

componentizada que permite uso de uma abordagem modular que dá suporte a padrões

e permite compatibilidade com dados legados do VRML.

Como características adicionais:

• É open source, consequetemente não tem problemas referentes à

licensa de uso;

• Foi oficialmente incorporado ao padrão multimídia MPEG-4;

• Dá suporte, de maneira acessível, à exposição de dados 3D em

Web Services e aplicações distribuídas;

• É compatível com as próximas aplicações de aplicativos gráficos,

como por exemplo, gráficos com vetores escaláveis; e

• Permite a manipulação de objetos 3D através de linguagens como

C, C++ e Java.

Page 45: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

42

Devido a todas essas características, o X3D se mostra um dos principais padrões

para dar suporte ao uso de realidade virtual em ambientes de ensino a distância baseados

na web.

2.6 Considerações Finais

Durante este capítulo pode-se entedender as principais características de imagens

quanto aos padrões de compressão, foi apresentada uma ferramenta open-source

ImageMagick de manipulação de imagens capaz de extrair informações, fazer

conversões entre padrões, além de operações de edição e transformação de imagens,

também foram estudas várias características de áudios, padrões e características físicas.

Foi feito um estudo sobre as características de vídeos, padrões e também foi apresentada

a ferramenta FFMpeg, que também é capaz de extrair informações tanto de aúdio

quanto vídeo digital, fazer conversões entre padrões e realizar transformações entre os

objetos escolhido e finalmente foram apresentados os objetos de realidade virtual que

serão tratados neste trabalho, mais precisamente objetos VRML e X3D para transmitir

objetos 3D na web. Este capítulo foi importante para o melhor conhecimento dos

objetos multimídia e de realidade virtual, além de servir como base para os tipos de

objetos escolhidos e propriedades tratadas pelo Servidor de Dados Multimídia.

Page 46: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

43

3 Manipulação de Objetos Multimídia

Este capítulo apresenta uma pesquisa com as técnicas mais utilizadas para se

recuperar objetos multimídia, tanto recuperação de objetos baseada em conteúdo,

quanto para recuperação baseada em descrição textual dos objetos, utilizando

metadados. Além disso, também foram estudas formas de armazenamento e recuperação

de objetos multimídia em banco de dados convencionais, de forma que pudesse ser

gerada uma base de conhecimento para posterior uso nas implementações do trabalho.

3.1 Recuperação de Objetos Multimídia baseada em conteúdo

Nesta seção são analisados tanto aspectos de recuperação de objetos baseada em

conteúdo. Também são apresentadas técnicas de recuperação de imagens, baseada em

CBIR (Content Based Image Retrieval) além de técnicas de CBMR (Content Based

Multimedia Retrieval) para a recuperação baseada em conteúdo para os demais tipos de

objetos multimídia.

3.1.1 Recuperação de Imagens

Dado o estudo sobre as características fundamentais e padrões de compressão de

imagem, foi formado um conjunto básico de informações sobre imagem para posterior

Page 47: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

44

uso no servidor de dados desenvolvido neste trabalho. Como o objetivo do trabalho é

armazenar e recuperar dados multimídia, foi feito um estudo complementar sobre

técnicas de armazenamento e recuperação de imagens. Porém, vale ressaltar que o

servidor não implementa técnicas de recuperação de objetos baseada em contéudo do

objeto, ele usa técnicas de associação de metadados para recuperar os objetos.

3.1.2 CBIR - Content Based Image Retrievel Também conhecida como Query by Image Content (QBIC) ou Content Based

Information Retrievel (CBVIR), CBIR é uma aplicação de visão computacional para o

problema de recuperação de imagem, ou seja, o problema de pesquisar por imagens

digitais em grandes bancos de dados [DATTA 2007].

O termo CBIR se originou em 1992 [ref], quando foi usado por T. Kato para

descrever experimentos de recuperação automática de imagens de grandes bancos de

dados de forma eficiente baseadas em cores e formas apresentadas. Desde então, o

termo foi usado para descrever o processo de recuperação de imagens desejadas de uma

grande coleção em uma base de características sintáticas de imagens. As técnicas,

ferramentas e algorítimos que são usados originaram-se de campos como: estatística,

reconhecimento de padrões, processamento de sinais e visão computacional [DATTA

2007].

Atualmente, o interesse em CBIR vem crescendo continuamente devido às

limitações em sistemas baseados em metadados [ref], bem como ao grande crescimento

de uso de recuperação de imagens. Informações textuais sobre imagens podem

facilmente ser pesquisadas usando a tecnologia existente, porem requer descrições

pessoais para todas as imagens no banco de dados.

3.1.2.1 Técnicas de CBIR baseadas em Consulta

Diferentes implementações de CBIR podem usar direfentes técnicas baseadas em

consultas, como segue [EIDENBERGER 2004]:

• Consulta baseada em exemplos – É dado um exemplo de imagem e logo após

será pesquisado no sistema imagens semelhantes;

• Recuperação semântica – O sistema ideal de CBIR seria baseado em uma busca

semântica, por exemplo, buscar todas as imagens de um determinado animal, ou

então buscar todas as imagens de uma determinada pessoa, entretanto,

Page 48: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

45

computacionalmente falando é muito difícil para computadores diferenciarem

um cavalo de uma zebra, ou reconhecer a imagem de uma pessoa em momentos

diferentes, ou mesmo trajando roupas diferentes. Para os atuais sistemas de

CBIR, são usadas características de baixo nível, como por exemplo, cor, textura

e formato; e

• Outros métodos – outros métodos incluem especificamente a proporção de cores

desejadas, por exemplo, buscar uma imagem que tenha 80% de vermelho e 20%

de azul, ou buscar por imagens que contenham determinado objeto. Existem

também sistemas baseados em relevância nos quais o usuário pode fazer buscas

progressivas e os resultados das buscas podem ser refinados como relevantes,

irrelevantes ou neutro.

3.1.2.2 Técnicas de CBIR baseadas em comparação de conteúdo

A seguir, seguem as principais técnicas de CBIR baseadas em comparação de

conteúdo [NIBLACK et al. 1993]:

• Cor – examina imagens baseadas na cor mais usada; essa técnica é uma das mais

usadas, pois não depende do tamanho da imagem ou da orientação. A busca

baseada na cor, geralmente envolve a comparação de histogramas de cores,

entretanto essa não é a única técnica praticada;

• Textura – a medida de textura procura por padrões visuais na imagem e como

eles estão espacialmente definidos. Texturas são representadas por texls que são

colocados em um número de conjuntos dependendo em como muitas texturas

são detectadas na imagem. Esse conjunto não apenas define a textura, mas

também onde a imagem da textura está localizada; e

• Formas – não se refere às formas da imagem, mas sim em formas de uma

determinada região da imagem. As formas vão oferecer determinada

segmentação ou limites de detecção em uma imagem. Em alguns casos, a

detecção de uma forma mais precisa irá requerer a intervenção humana porque

os métodos de segmentação são muito difíceis de se complementar

automaticamente. Uma técnica comum é o uso de filtros e posterior comparação

com o resultado desses filtros.

Page 49: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

46

Pode-se citar vários trabalhos de CBIR descritos na literatura. Entre eles, o QBIC da

IBM [NIBLACK et al. 1993], no qual as imagens são importadas para o sistema e, as

características baseadas em cor, textura, e forma são obtidas a partir de buscas baseadas

em similaridade. O VisualSeek [SMITH 1996] é outro exemplo, o qual é um sistema

híbrido que integra a recuperação de imagem baseada em conteúdos visuais e

propriedades espaciais (como tamanho, localização e relações com outras regiões) e

finalmente o Blobworld [CARSON 1999] que é uma ferramenta baseada em

segmentação de regiões, onde propriedades destas regiões, como cor, textura e forma

são utilizadas nas consultas.

Com isso, pode-se observar a complexidade e o vasto espectro de possibilidades de

se implementar a recuperação de imagens baseada no conteúdo da imagem.

3.1.3 Content Based Multimedia Retrieval

Foi visto que existem diversas técnicas para se recuperar imagens tendo como base

seu conteúdo. Da mesma forma, existem várias técnicas para se fazer busca em vídeo

baseado em seu conteúdo, como por exemplo: fazer composições baseadas em cenas;

composições baseadas em componentes, como ângulo, tomada de cena por câmera e

movimento; definir frames chaves e associar técnicas de recuperação de imagem, entre

outros. Da mesma forma, também é possível fazer busca de áudio baseada em seu

conteúdo, como por exemplo, é possível fazer a classificação e a segmentação do áudio,

assim como é possível fazer o reconhecimento da fala baseada em timbre do falante ou

padrão de fala. Além do mais, é também possível fazer uma combinação de técnicas de

consulta de imagem e aúdio em objetos de vídeo com áudio associado.

Os dois aspectos fundamentais para recuperação de informação multimídia são: (1)

procurar por um item particular de mídia; e (2) pesquisar e sumarizar uma coleção de

mídias. Neste item em particular, os sistemas correntes possuem uma significativa

limitação em reconhecer uma vasta quantidade de palavras do vocabulário dos usuários,

entendidas pelos referidos usuários [LEW et al. 2006].

Novas funcionalidades são pertinentes na medida em que podem potencialmente

melhorar a detecção e processo de reconhecimento ou ser correlacionada com a

percepção humana. Também, novos tipos de ações como abordar a natureza mutante da

mídia nas coleções ou bancos de dados são interessantes. Algumas das novas mídias

Page 50: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

47

recentes incluem modelos 3D (ou seja, para a realidade virtual ou jogos) e dados de

biologia (isto é, para a compreensão dos mecanismos da vida). É preciso avaliar

objetivamente e aferir o desempenho dos sistemas e ter em conta fatores tais como a

satisfação do usuário com os resultados. Atualmente, não há grandes conjuntos de testes

internacionais para o grande problema de como pesquisar coleções pessoais das mais

diversas mídias. De modo significativo, esforço tem sido dispendido em direção a

desenvolver paradigmas que são eficazes para tal avaliação. Além disso, como as

coleções multimídia crescem a partir de gigabyte para terabyte e para petabytes,

algoritmos de alto desempenho serão necessários para responder a uma consulta em um

período de tempo aceitável. Atualmente, os testes mais comumente usados incluem

conjuntos envolvendo coleções pessoais de fotos na web, imagens e vídeos, patrimonio

cultural, imagens, notícias em vídeo, bem como o Corel coleção de fotografia, que é

também o mais frequentemente mencionado na literatura [LEW et al. 2006].

O uso de técnicas matriciais, vetoriais, estatísticas e de sistemas lineares para

analisar o conteúdo de objetos multimídia possui um espectro muito vasto e geralmente

soluciona nichos específicos de aplicações. O escopo desse trabalho é voltado para a

manipulação de objetos não interpretados e não possui um nicho específico de

aplicação, visto que a educação a distância é um campo que engloba qualquer campo do

conhecimento. Devido à complexidade de se abranger todas as áreas possíveis de

conhecimento que a eduação a distância manipula, optou-se por se trabalhar em técnicas

de recuperação de conteúdo baseada em palavras chaves, pois dessa forma, nenhum

conteúdo ficaria preso a uma determinada área de conhecimento [SETHI 2002].

3.2 Recuperação de Objetos Multimídia baseada em Metadados

Nesta seção são analisados aspectos referentes a busca baseada em Metadados e

classificação dos metadados com relação a objetos multimídia.

3.2.1 Busca baseada em Metadados

Um banco de dados multimídia contém imagens gráficas, vídeos, arquivos de

áudio, objetos de realidade virtual entre outros. Assim, o objeto armazenado no banco

de dados multimídia deve ser descrito de tal modo que o mesmo possa ser facilmente

localizado e recuperado [VAS 2000].

Page 51: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

48

A Indexação é usada para determinar quais dados devem ser armazenados para

descrever os objetos multimídia e permitir a pesquisa e recuperação dos mesmos.

As pesquisas realizadas pelos usuários de banco de dados convencionais tendem

a ser bem estruturadas, enquanto que usuários de sistemas de banco de dados multimídia

podem desejar realizar consultas baseadas na descrição do conteúdo de um objeto

multimídia.

Um metadado é um descritor estruturado de recursos de informação, como por

exemplo, websites, textos eletrônicos, artefatos digitais, entre outros. Através do qual a

compilação de descritores é estruturada de acordo com um frame específico (chamado

de esquema). Tais descritores são colocados juntos para servir como uma função de

indexação na recuperação de informação [METADATA 2005]

Segundo Durval et al. (2005), é preciso levar em consideração alguns conceitos

e um conjunto de práticas, de forma que haja regras de manuseio, e conhecer as

limitações relativas a problemas de infra-estrutura de forma que se possa construir e

manter sistemas sustentáveis. Abaixo é mostrado o conjunto de práticas sugeridas por

Durval et al. (2005):

Perfis de aplicação – o objetivo é prover um meio para permitir modularidade,

extensibilidade, adaptação e combinar esquemas existentes dentro de um pacote que é

“costurado” a um requisito funcional de uma aplicação particular, enquanto retem

interoperabilidade com a base original do esquema;

Sintaxe e semântica – sintaxe é a forma, semântica é o significado. Um acordo

sobre esses dois termos é necessário para que duas comunidades possam compartilhar

metadados. É preciso existir uma conversão entre as comunidades de forma que tais

comunidades possam se comunicar de forma inteligível;

Modelos de associação – são modelos que definem como os metadados estão

integrados aos dados descritos. Pode-se definir quatro modelos de associação:

• Metadados “embutidos” - os metadados são inseridos no cabeçalho do

arquivo ou do objeto descrito. O metadado é criado no momento que o

recurso é criado;

• Metadados “associados” - o metadado usado como uma referência para o

recurso; e

• Metadados “separados” - o metadado é mantido em um repositório

separado do objeto descrito, de forma que o metadado é organizado e

relacionado com o objeto descrito através que um relacionamento.

Page 52: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

49

Identificação de elementos nomeados – pode-se definir um conjunto de tokens

(fichas)ou labels (rótulos)

• Token – é uma referência simbólica para um recurso, por exemplo

uma URI (Universal Resource Information) para identificar a

localização de um determinado objeto descrito;

• Labels – são strings associadas a um recurso, são mais facilmente

inteligíveis por pessoas do que tokens ou símbolos.

Registro de metadados – assume características de um dicionário eletrônico. É

um importante tópico para pesquisas em bibliotecas digitais;

Completude de descrição – quanto mais informações são dadas de um objeto,

mais precisa será a pesquisa, porém acarreta em um alto custo de criação e manutenção;

Elementos essenciais e elementos opcionais – é a definição de quais

propriedades são essenciais para descrever o objeto e quais propriedades são opcionais

para descrição do objeto em questão;

Subjetividade e objetividade – as descrições manuais não baseadas em regras

são subjetivas, pois a descrição de cada objeto varia de pessoa para pessoa e de

momento para momento. Uma forma de se definir objetividade é motar uma estrutura

com um conjunto bem definido de valores, como por exemplo: autor (regra para o nome

do autor), data de criação (dever ser necessário estabelecer um formato fixo de data) e

atributos físicos (é preciso definir o conjuto dos atributos, a formatação de cada atributo

e o domínio do valor de cada um);

Geração automática de metadados – é uma forma de se minimizar o esforço para

descrição de metadados. Pode-se definir um conjunto de informações que podem ser

extraídas automaticamente por um sistema, tais como: data de criação do objeto,

elementos estruturais, formato do arquivo e propriedades intrínsecas do objeto, como

por exemplo, no caso de imagem, é possível extrair propriedades físicas como

resolução, mapa de cores, tamanho em bytes, entre outros. Outra forma de se extrair

informações do objeto é usar inferências baseadas em algoritmos de análises do objeto.

A combinação dessas abordagens pode incrementar a qualidade e reduzir o custo da

descrição de metadados.

Page 53: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

50

3.2.2 Classificação de Metadados No contexto multimídia, metadados podem corresponder a referências a dados,

as quais são utilizadas para facilitar a recuperação baseada em descrição do conteúdo. A

seguir é descrita uma classificação para metadados [Bohms 1994]

• Metadado para representação de tipos de mídias – São informações adicionais

que são importantes para fins de representação de dados multimídia. Essas

informações podem ser utilizadas para apresentação desses dados. Exemplos

deste tipo de metadado incluem formato de condificação e técnicas aplicadas

para compressão de dados, ou seja, para cada tipo de mídia o metadados pode

assumir um valor ou um conjuto de valores definidos em um domínio. Por

exemplo, uma mídia do tipo vídeo pode assumir valores de formatos como

MPEG4, MPEG2 ou AVI; uma mídia do tipo imagem pode assumir valores de

formatos como JPEG, GIF ou PNG; uma mídia como áudio como assumir

valores de formatos como MP3, WMA ou PCM;

• Metadado para Descrição de Conteúdo – Esse tipo de metadado descreve o

conteúdo do objeto ou dos componentes do mesmo. A descrição pode ser feita

manualmente, de forma automática ou semi-automática, dependendo do tipo de

mídia tratada. Um exemplo típico é uma lista de pessoas ou instituições

relacionadas ao conteúdo de um objeto multimídia. Essa lista de pessoas é

fornecida pelo usuário de forma manual;

• Metadado para classificação de conteúdo – A classificação de conteúdo consiste

em informações adicionais que podem ser derivadas do conteúdo do documento.

Esse tipo de metadado pode ser gerado de forma automática ou semi-automática.

Por exemplo, a classificação pode ser feita pelo nível de conhecimento do leitor

sobre determinado tema;

• Metadado para composição de documentos – Componentes lógicos de

documentos multimídia têm certa semântica como parte do documento.

Metadado para composição de documentos permite conhecimentos de

características dos relacionamentos entre componentes de documentos. Este tipo

de metadado só faz sentido para documentos multimídia e não para tipos de

dados simples. Por exemplo, os modelos de hipermídia podem ter metadados

para descrever os componentes e os relacionamentos entre eles;

Page 54: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

51

• Metadados para história de documentos – em ambientes de publicações

multimídia é comum registrar o status de dados multimídia. Esse tipo de

metadado serve tanto para um documento como para componentes individuais,

tais como data da útima atualização de um determinado documento. Metadado

desse tipo pode ser registrado automaticamente ou não. O nome do autor de

documentos, data de autoria e os relacionamentos derivados em modelos de

versões são exemplos desse tipo de metadado;

• Metadado para localização de documentos – os objetos multimídia não são

duplicados ou distribuídos, desta forma são acessados de acordo com a

necessidade de cada usuário. Metadados são utilizados para localizar

documentos. A informação sobre a localização de certos documentos e como

esses podem ser acessados são exemplos desse tipo de metadado; e

• Metadados estatístico – esse tipo de metadado quantifica a freqüência dos

documentos ou componentes de documentos com certas características. Os

aspectos de desempenho, acessos e freqüência de apresentação de documentos

em determinados período de tempo também são exemplos de metadado

estatístico.

Projeto SACCA

Um exemplo de projeto que usa busca de conteúdo baseada em metadados é o

projeto SACCA [SACCA 2004]. Ele apresenta um sistema automático de catalogação

audiovisual de vídeo para ambientes virtuais de ensino, desenvolvido pelo grupo de

pesquisa em Novas Tecnologias na Educação da Universidade Federal do Rio Grande

do Sul.

No âmbito da Internet2 foi iniciado um experimento com catalogação automática

de todo o conteúdo (full content), em que o áudio do vídeo é analisado e palavras-

chaves são identificadas e localizadas no tempo (em que momento são faladas). No

projeto SACCA, é usado o software comercial VIRAGE [VIRAGE 2007] para fazer

esta análise, mas este software somente funciona para a língua inglesa. Todavia, o

resultado é muito relevante, pois possibilita ao aluno digitar uma ou mais palavras-

chaves e receber uma coleção de URL que apontam para vídeos armazenados no

repositório (incluindo pontos específicos do vídeo onde a palavra é dita). O SACCA,

apresenta um resultado similar, pois ele só trabalha com a língua portuguesa, entretanto

vale lembrar que ele opera inicialmente de forma não automática, porque não há no

Page 55: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

52

momento recursos (software de reconhecimento de áudio apropriado para o Português

falado no Brasil). Assim, busca-se projetar e desenvolver um sistema que apoie o

processo de catalogação full content, mas com a intermediação de um usuário que

assiste ao vídeo e seleciona as palavras-chaves a serem incluídas na catalogação.

Foi usado um software de domínio público que abre os tipos padrão de vídeo

(MPEG), identifica e separa cenas. O IBM Annotation Tool [VIDEOANNEX 2007]

pode ser utilizado para descrever arquivo de vídeo gravado no padrão MPEG (1 e 2),

gerando uma descrição XML segundo o padrão MPEG 7[MPEG 2007]. O SACCA faz

o interfaceamento com este software e permite ao usuário catalogador a digitação das

palavras-chaves, agregando de forma semi-automática as informações de tempo de

início em que as mesmas foram faladas. As informações resultantes são armazenadas

em um banco de dados invertido, com todas as palavras-chaves catalogadas e ponteiros

para os arquivos XML (MPEG 7) e para os registros do projeto SACCA, onde os

objetos de aprendizagem tipo vídeo também estarão catalogados e onde estarão as

informações referentes aos demais metadados de catalogação.

3.3 Armazenamento e Recuperação de Objetos Multimídia

Manter a consistência e integridade de dados em um Sistema de Gerenciamento

de Banco de Dados (SGBD) é um dos princípios fundamentais para um resultado

satisfatório durante a pesquisa e/ou recuperação. A maneira e a estrutura como os dados

são armazenados no banco de dados influenciam na consistência e integridade dos

dados [SILBERSCHATZ 1999].

Em relação aos objetos multimídia isso se torna ainda mais relevante, tendo em

vista que esses dados possuem grandes quantidades de bytes, podendo chegar a ter

vários gygabytes de tamanho.

A funcionalidade e integridade de banco de dados tornam-se importantes quando

o número de objetos multimídia armazenados cresce de forma significativa.

Devido a essas características, os SGBD possuem diferentes formas de

armazenar dados multimídia, assim como todos os tipos de dados não convencionais. A

seguir são abordados esses mecanismos de armazenamento [VAS 2000; FRANÇA

2005]:

• Referências externas: os bancos de dados possuem referências para os

objetos multimídia originais. Tais referências podem ser nomes de

Page 56: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

53

arquivos ou outros identificadores que permitem localizar o dado no

ambiente. Adicionalmente, as referências contêm dados descritivos

modelados como atributos ou relacionamentos. Como o banco de dados

registra apenas o caminho do arquivo multimídia no sistema operacional,

ele não garante o controle sobre o objeto armazenado;

• Armazenamento de Dados Multimídia Não Interpretados: também

conhecidos como campos longos ou BLOB(Bynary Large Object), onde

estes podem armazenar vários Gbytes de dados e podem ser usados como

domínio para atributos. Essencialmente, podem ser acessados

parcialmente. Um sistema de gerenciamento de banco de dados dá

suporte para dados armazenados em campos longos. Entretanto, o

conteúdo ainda não é interpretado e as operações oferecidas para operar

nos dados são somente genéricas;

• Funções Externas: Alguns sistemas de bancos de dados permitem chamar

funções externas para processamento de dados armazenados. As

limitações em linguagem de manipulação de dados, tal como SQL, são

razões para introduzir chamada a funções externas. O próprio

gerenciador de banco de dados implementa uma função interna

proprietária de forma que possa manipular o objeto com operações de

importação e exportação do objeto; e

• Sistemas Orientados a objetos ou relacionais estendidos: sistemas

relacionais estenditos permitem que o programador defina tipos de dados

abstratos e os referencie em aplicações. Especialmente, a abordagem

orientada a objetos dá suporte à modelagem avançada, pela construção

de hierarquia de tipos de dados e definição de relacionamentos entre

classes. Os sistemas orientados a objetos oferecem suporte mais

adequado para informação multimídia, mas faltam alguns aspectos tais

como suporte a dados depentente do tempo, interação do usuário,

consultas baseadas em conteúdo e técnicas específicas de recuperação.

Segundo Silva(2006), cada uma das formas de armazenamento expostas

anteriormente possui características próprias, sendo possível destacar seus pontos

positivos e negativos.

A seguir é apresentado o Quadro 2 que mostra um comparativo entre as formas

de armazenamento.

Page 57: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

54

Quadro 2: Comparativo entre as formas de armazenamento [Silva 2006].

Referência externa Campos BLOB Funções

externas

Orientação a Objetos

Consistência e

Integridade

Não Sim Sim Sim

Armazenamento

Interno

Não Sim Sim Sim

Acesso em tempo

real

Sim Não Não Não

Pesquisa via

semântica de dados

Sim Não Não Não

O Quadro 2 mostra de forma comparativa as principais características de cada

uma das formas de armazenamento expostas. A referência externa é a única forma que

possibilita acesso em tempo real ao objeto multimídia, neste caso o termo tempo real se

refere a capacidade do usuário consumir o objeto multimídia sob demanda não sendo

necessária a recuperação do objeto completo, isso se deve ao fato do objeto ficar fora

do SGBD. Essa característica faz com que esse tipo de armazenamento seja apropriado

para aplicações que necessitam disponibilizar os dados dos objetos em partes, de acordo

com a necessidade do usuário. Exemplos desse tipo de aplicação são as aplicações

baseadas em stream, as quais vão produzindo os objetos para os usuários à medida que

esse objeto vão sendo lidos. A desvantagem de se utilizar esse método é que ao

armazenar o objeto multimídia dentro de pastas no sistema operacional e fora do SGBD,

acarreta em alguns problemas como:

• Ao realizar backup da base de dados é necessário procurar as pastas onde

estão armazenados os objetos multimídia, e copiá-las de forma manual,

ou implementar uma rotina para realizar essa cópia;

• Ao excluir o registro da base de dados que contenha a referência para o

objeto multimídia, não exclui automaticamente o objeto; e

• Quando vários usuários acessam o servidor onde se encontra o SGBD,

aumenta o grau de vulnerabilidade dos objetos armazenados nas pastas

do sistema operacional.

Page 58: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

55

Com base nesses problemas, a referência externa é considerada uma forma de

armazenamento relativamente inconsistente, onde registros podem referenciar objetos

inexistentes e objetos podem estar sem registros que os referenciem.

Os armazenamentos por Blob e funções externas possuem as mesmas

características como mostra o Quadro 2. Esses dois métodos armazenam os objetos

internamente ao SGBD, neste caso o controle é feito completamente pelo SGBD, o que

garante a integridade dos dados e neutraliza os problemas apresentados no método da

referência externa. Entretanto, devido ao tipo do campo utilizado para realizar o

armazenamento, só é possível ler o objeto e suas características semânticas quando ele

estiver totalmente recuperado do SGBD, o que impossibilita o acesso em tempo real ao

objeto, ou seja, caso o usuário quisesse consumir um objeto multimídia de um tamanho

considerável, ele deveria aguardar até que o SGBD recuperasse o objeto multimídia por

completo para só então disponibilizá-lo para o usuário.

Esses dois tipos de armazenamento podem ser utilizados em aplicações que não

exigem acesso aos objetos em tempo real, e nas aplicações que utilizam metadados para

indexar os objetos, pois com metadados, não é preciso ler o objeto para descobrir suas

características.

O armazenamento de objetos multimídia através da orientação a objetos, em

geral, possui as mesmas caracteríticas dos dois últimos métodos abordados. No entanto,

essas características dependem da maneira como o SGBD trata a orientação a objetos,

onde pode variar principalmente sua característica de disponibilizar a semântica dos

objetos dentro do próprio SGBD.

3.4 Considerações Finais

Durante este capítulo pode-se enteder a importância de se fazer um estudo mais

detalhado sobre a recuperação de objetos multimídia baseada em conteúdo. Pode-se

perceber a vasta gama de técnicas e a complexidade de se definir soluções comuns para

se recuperar tipos diferentes de objetos multimídia o que couminou na escolha de

técnicas de busca de conteúdo baseada em metadados, devido a sua melhor

generazilização de objetos independentes do tipo, características e peculiaridades

observadas em cada objeto multimídia e de realidade virtual estudados. Pode-se também

levar em consideração ferramentas e sistemas que já implementam essas técnicas de

forma que tais trabalhos relacionados serviram como embasamento para definir as

Page 59: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

56

operações e comportamento do servidor de dados multimídia. Alem disso, o Apêndie A

mostra um estudo teórico de como é feito o armazenamento e a recuperação de objetos

multimídia e um estudo aplicado a forma de como cada um dos atuais Sistema de

Gerenciamento de Banco de Dados implementa o tratamento do armazenamento e

recuperação de tais objetos.

Page 60: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

57

4 Plataformas de Ensino a Distância

Este capítulo tem como objetivo abordar alguns Ambientes de Ensino a

Distância, também conhecidos como Ambientes Virtuais de Ensino, para

principalmente avaliar as plataformas de ensino a distância open source mais difundidas

e disseminadas. Portanto, foram abordados o Moodle [MOODLE 2006], ClaroLine

[CLAROLINE 2006], e o Amadeus-MM [AMADEUS 2006]. Tais ambientes foram

escolhidos por serem os principais objetos de estudo do grupo de pesquisa em educação

a distância do centro de informática da UFPE.

Foram considerados aspectos fundamentais e características de cada um, além da

verificação da funcionalidade para suporte ou manipulação de objetos multimídia.

As próximas seções apresentam algumas características importantes sobre ambientes virtuais de ensino. 4.1 Ambientes Virtuais de Ensino

Nas primeiras formas de uso da Internet em contextos educacionais, os alunos

eram encorajados a acessá-la em busca de informações (conhecimento estático) com o

objetivo apenas de ampliar os limites da educação, que se resumiam ao conhecimento

dos professores e às atividades em sala de aula [EBERSPACHER 2006]

Surgiu a seguinte necessidade: alunos desejavam interagir com outros alunos e

professores de forma fácil, contribuindo também com o aprendizado de outros, além de

construir virtualmente o seu próprio conhecimento. A partir dessas necessidades

surgiram os ambientes virtuais de ensino a distância que, rapidamente, tornaram-se

muito populares.

Essa categoria de ambiente dispõe de um conjunto de funcionalidades projetadas

para armazenar, distribuir e gerenciar conteúdos de aprendizado, de forma progressiva e

interativa, podendo também registrar e relatar atividades do aprendiz, bem como seu

desempenho.

Os referidos ambientes são conhecidos também como Computer Supported

Collaborative Learning (CSCL - Aprendizagem Colaborativa Assistida por

Computador). Sua estratégia educativa visa dar condições para que dois ou mais

sujeitos, interagindo, construam o seu conhecimento através da discussão, da reflexão e

tomada de decisões, e onde os recursos informáticos atuam como mediadores do

Page 61: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

58

processo de ensino-aprendizagem. Tais recursos abrangem: mecanismos para envio de

mensagens, bate-papo, recepção e envio de materiais e gerenciadores de tarefas. Eles

possibilitam a execução de diversas atividades de aprendizagem à distância, por parte

do aluno, de acordo com tarefas predefinidas. A grande vantagem é o compartilhamento

do conhecimento entre os participantes do ambiente, possibilitando a criação de novos

conhecimentos.

CSCL é um dos ramos da pesquisa de Computer Suported Collaborative Work

(CSCW – Trabalho Colaborativo Assistido por Computador). Tanto CSCW, quanto

CSCL, baseiam-se em sistemas computacionais que dão suporte e facilitam os processos

e as dinâmicas de grupo remotamente localizados. Esses sistemas possibilitam acesso e

transferência de informação e documentos, atividades de resolução de problemas e

formas diferenciadas de avaliação. A investigação atual, nesse domínio, abrange não

somente as técnicas de construção dessa categoria de aplicação (groupware), mas

também os aspectos sociais, psicológicos, organizacionais e de aprendizagem humana

que ocorrem mediados por esses ambientes [EBERSPACHER 2006].

A finalidade principal desse tipo de aplicação é a aprendizagem, especificamente

colaborativa, e como pode ser auxiliada pelo computador. Esse ajuda os alunos a

comunicar e a participar de atividades comuns, fornecendo também um poderoso

auxílio nos processos de coordenação e organização de atividades. Esse leque de

funções mediadoras amplia as possibilidades de uso do computador como meio através

do qual os indivíduos e os grupos podem contribuir uns com os outros, à distância, para

atingirem objetivos comuns [APRENDERNET 2006].

É primordial que tais ambientes ofereçam, aos seus usuários, meios rápidos e

eficazes para encontrar informações e desenvolver o aprendizado. Na próxima seção

descreve-se como gerenciar o conteúdo dos citados ambientes de forma eficaz.

4.2 Sistemas de Gestão de Conteúdo

Os Sistemas de Gestão de Conteúdo ou Learning Management System (LMS)

disponibilizam uma série de recursos, síncronos e assíncronos, que viabilizam o

processo de aprendizagem, permitindo planejamento, implementação e avaliação.

Basicamente, o LMS provê meios para criar e disponibilizar conteúdo, monitorar a

participação e avaliar o desempenho do aluno [APRENDERNET 2006]. A

Page 62: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

59

aprendizagem via LMS tem trazido vantagens, como pode ser visto em

[APRENDERNET 2006] :

• Redução de custos;

• Disponibilidade a qualquer hora e local;

• Rápida distribuição e alterações dos conteúdos;

• Possibilidade de o aprendiz fazer seu próprio percurso; e

• Disponibilização de recursos interativos como e-mail, forum e sala de

discussão.

A principal característica estudada dos LMS foi a gestão de conteúdo, recurso

que permite que os instrutores criem cursos e materiais, organizando a informação de

forma que o aluno a encontre facilmente. Logo mais, serão detalhados os LMS que

serviram de base para a definição de como o servidor de dados multimídia deveria

interagir com o Amadeus-MM.

4.2.1 Moodle (Modular Object-Oriented Dynamic Leanring Enviroment)

O Moodle é um sistema Gerenciador de Cursos (Course Management System -

CMS) [Moodle 2007]. Esse ambiente permite que professores e tutores criem cursos on-

line, baseados em aplicações WEB. Ele é baseado na pedagogia social-construtivista. A

licença do moodle é open source, sendo o sistema desenvolvido na tecnologia php [PHP

2007]. O Moodle é disponibilizado em várias línguas, inclusive Português e é umas das

plataformas de ensino mais difundidas no mundo, tendo sua presença em diversas

universidades, escolas e empresas.

Na Figura 13 será mostrada uma das operações que foi usada como base de

estudo para avaliar como o Moodle manipula objetos multimídia externos a ele. Nela é

mostrado um usuário editando um conteúdo para na Figura 14 inserir uma imagem no

conteúdo editado.

Page 63: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

60

Figura 13: Editando um conteúdo no Moodle

Na figura 13 é possível observar que o usuário criou um conteúdo chamado

prototipação e o mesmo foi editado de forma a associar um exercício sobre o conteúdo

do curso de prototipação. Logo abaixo, na figura 14, é possível observar o usuário

inserindo uma imagem no exercício associado ao conteúdo editado.

.

Figura 14: Inserindo uma imagem no Moodle.

E, finalmente, a Figura 15 mostra a imagem associada ao conteúdo editado.

Page 64: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

61

Figura 15: Imagem inserida em um conteúdo.

A figura 15 mostra detalhes do conteúdo editado logo após a inserção da imagem no mesmo.

O Moodle também permite que o usuário insira outros objetos multimídia, como

áudio e vídeo, seguindo o mesmo princípio.

4.2.2 ClaroLine

O ClaroLine também é um LMS open-source e uma plataforma de ensino a

distância que permite professores construirem efetivamente cursos on-line e

gerenciarem aprendizado e atividades colaborativas na WEB [CLAROLINE 2007].

Da mesma forma que o Moodle, o ClaroLine é um ambiente bastante difundido

mundialmente, possuindo uma grande quantidade de usuários e uma sólida comunidade

de desenvolvedores, estando presente em escolas, universidades e centros de

treinamentos.

Seguem algumas características do ClaroLine, das quais para cada espaço de um

determinado curso, ele provê uma lista de ferramentas que permite ao professor:

• Escrever a descrição de um curso; • Publicar documentos em vários formatos, dentre eles, texto, HTML, PDF e

Vídeo; • Administração pública e privada de fóruns; • Desenvolver caminhos de aprendizagem; • Criar grupos de estudantes; • Preparar exercícios on-line; • Gerenciar agenda de atividades e deadlines; • Publicar anúncios via e-mail; • Visualizar estatísticas de atividades de usuários; e

Page 65: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

62

• Usar uma ferramenta Wiki para produzir documentos colaborativos.

Na Figura 16 será mostrada a forma que um usuário edita um conteúdo no

ClaroLine, para logo em seguida adicionar um objeto multimídia associado ao

respectivo conteúdo. É possível observar que o usuário pode apenas fazer modificações

textuais no conteúdo editado, e a inserção de um conteúdo multimídia é feita via

associação do conteúdo multimídia com o conteúdo textual.

Figura 16: Editando um conteúdo no ClaroLine.

A Figura 17 mostra o usuário inserindo uma imagem no conteúdo. É possível

observar que, neste caso, a associação de uma imagem ao conteúdo textual é feita de

forma estática, ou seja, uma vez a imagem associada, o conteúdo final mostrará apenas

esta imagem associada.

Figura 17: Inserindo uma imagem no conteúdo.

Page 66: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

63

A Figura 18 uma imagem inserido em um conteúdo no ClaroLine. É possível

observar a imagem inserida na forma como o conteúdo será mostrado para o usuário.

Figura 18; Imagem inserida no conteúdo.

O ClaroLine possui características e funcionalidades bastante semelhantes ao

Moodle, e também permite que o usuário insira outros tipos de objetos multimídia como

vídeo e áudio.

4.2.3 Amadeus

O Amadeus, cuja extensão multimídia é referenciada como Amadeus-MM, é um

ambiente virtual de aprendizagem, em particular uma plataforma de gestão da

aprendizagem. O Projeto Amadeus visa difundir o uso de uma plataforma de ensino que

foi criada para facilitar sua utilização por parte de professores e alunos brasileiros. Ela

foi construída ao longo de cinco anos de pesquisa sobre plataformas da mesma categoria

e análises de seu uso no contexto de ensino a distância. Além das funções básicas que

permitem ao professor disseminar seu conteúdo e ao aluno construir esse conhecimento,

a plataforma ainda oferece ferramentas para facilitar suas práticas, tornando mais

Page 67: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

64

interessante esse processo, estimulando a interação e o aprendizado pela ação. Este

ambiente de ensino está sendo construído para facilitar as práticas de Educação a

Distância em nosso país [AMADEUS 2007].

Seguem algumas características da plataforma Amadeus, particularmente destacando-se seus principais diferenciais:

(i) o uso de código aberto, que, além de reduzir drasticamente os custos de

aquisição e implantação, também contribui, a médio e longo prazos, para a constante

atualização da ferramenta, assim como para a sua fácil personalização e a incorporação

contínua de novos recursos;

(ii) um projeto de interface usuário-máquina simplificado e intuitivo, que ainda

faz uso de tecnologias mais recentes, como por exemplo Java [JAVA 2006] e Ajax

[AJAX 2006];

(iii) a disponibilização de formas de interação alternativas, como por exemplo

através de jogos (por meio de um servidor específico para essa finalidade), do uso de

telefones celulares e significado de PDA (PDA) ou ainda de experimentos de

laboratório que podem ser realizados e analisados de forma remota.

A Figura 19 mostra a tela de acesso do Amadeus, evidenciando que o ambiente

está operacional e em pleno funcionamento

Figura 19: Tela de acesso ao Amadeus.

Na Figura 20 será mostrada a forma que um usuário edita um conteúdo no

Amadeus, para logo em seguida adicionar um objeto multimídia associado ao respectivo

conteúdo. É possível observar que, no primeiro momento, o ambiente Amadeus usa dos

Page 68: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

65

mesmos artifícios para inserção de objetos multimídia usados tanto pelo Moodle quanto

pelo ClaroLine.

Figura 20: Inserindo material no conteúdo

A Figura 21 mostra o material adicionado ao conteúdo criado pelo professor. Neste

caso, após a imagem ter sido referenciada pelo conteúdo editado. Cada vez que o

usuário visualizar este conteúdo, o mesmo mostrará a existência de uma imagem

associada ao conteúdo. Desta forma, para o usuário visualizar a imagem associada, é

preciso abrir a imagem no link referenciado pelo conteúdo.

Figura 21: Visualizando referência de material no conteúdo

Page 69: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

66

Figura 22: Visualizar material multimídia no Amadeus.

Pode-se observar na Figura 22, que o Amadeus MM, possui uma deficiência na

apresentação de objetos multimídia, pois uma vez o objeto multimídia inserido em um

determinado conteúdo, o mesmo, para ser visualizado precisa ser baixado para ser

visualizado.

4.3 Considerações finais

Este capítulo descreveu as principais características de Plataformas de Ensino a

Distância, mostrou a contextualização educacional de Ambientes Virtuais de Ensino

com que a Internet possibilita ampliar os limites geográficos da educação. Pode-se

observar as principais vantagens de Sistemas de Gestão de Conteúdo para a WEB.

Foram abordadas plataformas de ensino a distância open-source largamente utilizadas

pela comunidade de educação a distância e foi feito um estudo individual de cada uma

dessas plataformas de ensino a distância quanto ao gerenciamento e uso de objetos

multimídia e de realidade virtual. Desta forma, foram observadas algumas lacunas e

oportunidades de se criar um sistema que melhorasse e solucionasse o problema de

gerenciamento de objetos multimídia e de realidade virtual nas Plataformas de Ensino a

Distância. Como por exemplo:

• Os atuais Sistemas de Gestão de Conteúdo para a WEB permitem apenas

a inserção de objetos multimídia sem o compartilhamento dos mesmos

por outros usários;

Page 70: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

67

5 O Protótipo do Servidor de Dados Multimídia

O Servidor de Dados Multimídia tem como principal objetivo o gerenciamento de

conteúdo multimídia em ambientes virtuais de ensino, com particular eficiência no

armazenamento e transferência de dados multimídia (imagens, sons, vídeos e mundos

de realidade virtual), permitindo consultas cooperativas aos dados.

No primeiro momento, foi feita a modelagem das funcionalidades básicas do

sistema e da arquitetura básica do funcionamento do mesmo e logo em seguida foi

construído um protótipo executável e operacional com as funcionalidades básicas

propostas. Seu principal objetivo é permitir que o usuário possa manipular objetos

multimídia e de realidade virtual integrados ao conteúdo de um LMS open source, como

aulas, cursos, exercícios, provas, atividades e outros conteúdos que necessitem agregar

objetos multimídia e de realidade virtual.

As funcionalidades básicas levantadas no primeiro momento foram: permitir que

o usuário possa fazer a manipulação de inserção, consulta com listagem e deleção de

objetos multimídia e de realidade virtual dentro de um ambiente web integrado.

5.1 Análise de Competidores

Para fazer o levantamento inicial das funcionalidades básicas que o protótipo deve

prover, foi feita uma análise de competidores dos LMS Open-Source disponíveis no

mercado mais utilizados pela comunidade de ensino a distância. Tal análise de

competidores permitiu a definição inicial das funcionalidades essenciais do protótipo

descrita na próxima seção.

Entre os LMS Open-Source mais difundidos dos ambientes de ensino a distância,

foram analisados o Moodle e o ClaroLine, detalhados no capítulo anterior. Para esses

LMS foram listadas as funcionalidades referentes ao gerenciamento de dados

multimídia e de realidade virtual. Além desses LMS Open-Source analisados, também

foi feito um estudo sobre que funcionalidades de gerenciamento multimídia o LMS

AMADEUS-MM dá suporte, pois, como o servidor desenvolvido neste trabalho, será

integrado a esta plataforma, foi preciso fazer uma varredura das funcionalidades do

AMADEUS-MM, de forma que não houvesse uma sobreposição de funcionalidades já

existentes. O Quadro 4 apresenta os Critérios estabelecidos na análise de competidores.

Page 71: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

68

Quadro 3: Critérios estabelecidos na análise de competidores

Serviço Avaliado no LMS Open-Source

Existente no Moodle

Existente no ClaroLine

Existente no Amadeus

Protótipo SDMM

Associar imagem em conteudo SIM SIM SIM Não Associar video em conteúdo SIM SIM SIM Não Associar som em conteúdo SIM SIM SIM Não Associar x3d/vrml em conteúdo SIM SIM SIM Não Serviço de inserção de imagem NÃO NÃO NÃO SIM Serviço de listagem de imagem NÃO NÃO NÃO SIM Serviço de consulta de imagem NÃO NÃO NÃO SIM Serviço de exclusão de imagem NÃO NÃO NÃO SIM Serviço de inserção de vídeo SIM NÃO NÃO SIM Serviço de listagem de vídeo NÁO NÃO NÃO SIM Serviço de consulta de vídeo SIM NÃO NÃO SIM Serviço de exclusão de vídeo SIM NÃO NÃO SIM Serviço de inserção de som SIM NÃO NÃO SIM Serviço de listagem de som SIM NÃO NÃO SIM Serviço de consulta de som NÃO NÃO NÃO SIM Serviço de exclusão de som NÃO NÃO NÃO SIM Serviço de inserção de x3d/vrml NÃO NÃO NÃO SIM Serviço de listagem de x3d/vrml NÃO NÃO NÃO SIM Serviço de consulta de x3d/vrml NÃO NÃO NÃO SIM Serviço de exclusão de x3d/vrml NÃO NÃO NÃO SIM Serviço de Upload de arquivo SIM SIM SIM SIM Serviço de Download de arquivo SIM SIM SIM SIM

Pode-se observar que uma vez um objeto seja inserido tanto no Moodle, quanto

no ClaroLine, este objeto pertence somente ao conteúdo associado, ou seja, apenas

aquele conteúdo irá mostrar o objeto inserido. Desta forma, outros professores ou

tutores não terão acesso a consultas compartilhadas de objetos manipulados

anteriormente. Foi detectada a ausência de um serviço que pudesse disponibilizar os

objetos inseridos por um usuário para outros usuários, de forma que tais objetos

pudessem ser compartilhados e reutilizados por outros professores ou tutores.

Após a análise de competidores, foi definido um cojunto de requisitos básicos

para fazer a implementação dos protótipos, levando-se em conta o fato dos protótipos

contemplarem o gerenciamento dos objetos multimídia inseridos no ambiente virtual de

ensino. Esses requisitos são tratados na próxima seção, o qual descreve o protótipo

implementado.

Page 72: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

69

5.2 Definição dos requisitos básicos

Nesta seção foram agrupados e discutidos durante o período de imersão no projeto

Amadeus-MM, os requisitos fundamentais que o Servidor de Dados Multimídia deveria

prover para o gerenciamento e compartilhamento de objetos multimídia e de realidade

virtual para a Plataforma de Ensino a Distância. Esta seção detalha estes requisitos

funcionais e não-funcionais.

5.2.1 Requisitos Funcionais

Seguindo a abordagem da engenharia de requisitos [SUMMERVILLE 2003], e a

partir da análise de competidores, análise do problema inicial e dos steakholders

(professores e alunos utilizadores da plataforma AMADEUS_MM) envolvidos, foi

criado um conjunto de requisitos funcionais para o protótipo. Após um período de

participação em loco do projeto Amadeus_MM, discutindo o problema com os

professores participantes, alunos de graduação que testam o sistema, bem como a

comunidade de desenvolvedores que implementam a plataforma, foi apresentado um

conjunto mínimo de funcionalidades que o protótipo do servidor de dados multimídia

deve implementar. O Quadro 4 apresenta um resumo dos requisitos funcionais

levantados.

Quadro 4: Listagem dos requisitos funcionais básicos

ID Descrição Prioridade RF-001-001 Importar Imagens Alta RF-001-002 Consultar Imagens Alta RF-001-003 Remover Imagens Média RF-002-001 Importar sons Alta RF-002-002 Consultar Sons Alta RF-002-003 Remover Sons Média RF-003-001 Importar vídeos Alta RF-003-002 Consultar vídeos Alta RF-003-003 Remover vídeos Média RF-004-001 Importar objetos virtuais Alta RF-004-002 Consultar objetos virtuais Alta RF-004-003 Remover objetos virtuais Média RF-005-001 Cadastrar usuário Baixa RF-005-002 Remover usuário Baixa RF-005-003 Alterar senha do usuário Baixa

5.2.2 Requisitos Não-Funcionais

Durante todo o processo de análise do problema, interação com os stakeholders e

levantamento dos requisitos funcionais, foi surgindo a necessidade de se mapear

Page 73: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

70

requisitos não-funcionais como: a arquitetura do sistema, a necessidade de um

mapeamento das características intrínsecas dos objetos multimídia e objetos de

realidade virtual, bem como a necessidade de se estabelecer critérios para o

desenvolvimento do protótipo, necessidade de se escolher por qual linguagem de

programação o sistema deveria ser implementado, bem como qual o servidor de banco

de dados que deveria ser usado para armazenar os objetos e os dados, além de escolher

qual o servidor de aplicação deveria ser utilizado para dar suporte à solução

desenvolvida. Com isso, foi necessário prover a documentação e listagem dos requisitos

não-funcionais do sistema. A abordagem de documentação de tais requisitos foi baseada

na categorização de requisitos não-funcionais proposta por Summervile (2003).

Seguindo esta abordagem, os requisitos não-funcionais podem ser divididos em 3

grandes grupos: Requisitos Organizacionais, Requisitos de Produtos e Requisitos

Externos.

5.2.2.1 Requisitos Organizacionais

Requisitos organizacionais são procedentes de políticas e procedimentos nas

organizações do cliente e do desenvolvedor. Entre os exemplos, estão os padrões de

processo que devem ser utilizados, os requisitos de implementação, como a linguagem

de programação ou método de projeto utilizado, e os requisitos de fornecimento, que

especificam quando o produto e seus documentos devem ser entregues

[SUMMERVILLE 2003]. O Quadro 5 apresenta os Requisitos de Processo elicitados.

Quadro 5: Requisitos de Processo elicitados para o protótipo.

Id Requisito Descrição [RNF-PROC-01] O sistema deverá ser implementado de modo a ser compatível com o sistema

operacional Linux [RNF-PROC-02] A base de dados do sistema deverá ser implementada baseada no padrão

PostgreSQL [RNF-PROC-03] O sistema deverá ser implementado de modo a utilizar o TomCat [TOMCAT

2007] como servidor web e de aplicação, utilizando Servlets [SERVLETS 2007] e JSP [JSP 2007]

[RNF-PROC-04] O browser do usuário deverá possuir um plug-in que dê suporte a objetos de realidade virtual X3D/VRML

[RNF-PROC-05] O processo de implementação do sistema será acompanhado pela criação e manutenção de uma documentação contendo informações sobre a estrutura do código fonte do projeto, o esquema do banco de dados e o diagrama de classes

[RNF-PROC-06] Para o sistema ser implementado, deverá ser usada a modelagem utilizando a linguagem UML

[RNF-PROC-07] O desenvolvimento do sistema será baseado na técnica de prototipação evolucionária. Deverão ser geradas n iterações do protótipo até que ele seja aceito.

Page 74: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

71

5.2.2.2 Requisitos de Produto

São os requisitos que especificam o comportamento do produto. Foram baseados

na abordagem segundo Summervile (2003), a qual os classifica em: Requisitos de

Segurança, Requisitos de Desempenho, Requisitos de Capacidade, Requisitos de

Portabilidade, Requisitos de Usabilidade e Requisitos de Manutenibilidade. A seguir, o

Quadro 6 mostra os Requisitos de Segurança, o Quadro 7 lista os Requisitos de

Desempenho, o Quadro 8 apresenta os Requisitos de Capacidade, o Quadro 9 cita os

Requisitos de Portabilidade, o Quadro 10 descreve os Requisitos de Usabilidade,

baseados nas solicitações dos professores e alunos que usam o sistema e o Quadro 11

informa os Requisitos de Manutenibilidade. É importante lembrar que todos esses

requisitos de produtos serão de responsabilidade do Servidor de Dados Multimídia e não

da plataforma Amadeus.

Quadro 6: Requisitos de Segurança elicitados para o protótipo

ID Requisito Descrição [RNF-SEG-01] O usuário deve se logar para usufruir das funcionalidades do sistema [RNF-SEG-02] Deverá ser utilizada criptografia para armazenar os logins e as senhas no sistema

Quadro 7: Requisitos de Desempenho elicitados para o protótipo

ID Requisito Descrição [RNF-PER-01] O sistema deverá dar suporte a até 100 acessos simultâneos [RNF-PER-02] O sistema deverá dar suporte a objetos de no máximo 100MB

Quadro 8: Requisitos de Capacidade elicitados para o protótipo

ID Requisito Descrição [RNF-CAP-01] O sistema deverá dar suporte aos seguintes tipos de imagens: JPEG, GIF, BMP e

PNG [RNF-CAP-02] O sistema deverá dar suporte aos seguintes tipos de áudio: WAV, MP3, MIDI, e

AC3 [RNF-CAP-03] O sistema deverá dar suporte aos seguintes tipos de vídeo: MOV, MPEG4, MPEG7

e AVI [RNF-CAP-04] O sistema deverá dar suporte aos seguintes tipos de objetos de realidade virtual:

X3D e VRML

Page 75: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

72

Quadro 9: Requisitos de Portabilidade elicitados para o protótipo

ID Requisito Descrição [RNF-PORT-01] O sistema deverá ser capaz de apresentar uma interface consistente quando acessado

através dos browsers Microsoft Internet Explorer e Mozila Firefox [RNF-PORT-02] A taxa de operações de consultas/serviços mal-sucedidas não deverá ser superior a

5%

Quadro 10: Requisitos de Usabilidade elicitados para o protótipo

ID Requisito Descrição [RNF-USA-01] A interface do sistema deverá ser agradável e objetiva, isto é, suas funcionalidades

e informações deverão estar bem visíveis e disponíveis [RNF-USA-02] As mensagens de erro do sistema deverão ser precisas e informativas, apontando

sua origem e como proceder após sua ocorrência

Quadro 11: Requisitos de Manutenibilidade elicitados para o protótipo

ID Requisito Descrição [RNF-MAN-01] Eventuais problemas no funcionamento do sistema serão informados aos

operadores através de relatórios de erros gerados pelo mesmo

5.2.2.3 Requisitos Externos

Esse amplo tópico abrange todos os requisitos procedentes de fatores externos ao

sistema e a seu processo de desenvolvimento. Divide-se em Requisitos Legais e

Requisitos de Interoperabilidade [SUMMERVILE 2003]. O Quadro 12 apresenta os

Requisitos Legais, enquanto o Quadro 13 mostra os Requisitos de Interoperabilidade.

Quadro 12: Requisitos Legais elicitados para o protótipo

ID Requisito Descrição [RNF-LEG-01] Caso seja identificado algum objeto que viole as leis de direitos autorais, este

objeto deverá ser imediatamente excluído, caso a exibição do mesmo não seja permitida pelo autor de direito do objeto

Quadro 13: Requisitos Interoperabilidade elicitados para o protótipo

ID Requisito Descrição [RNF-INT-01] O sistema deverá ser capaz de interagir com a plataforma AMADEUS-MM,

de forma que a plataforma AMADEUS-MM possa usufruir de forma integrada dos benefícios que o sistema disponibiliza

Page 76: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

73

5.2.3 Diagrama de Casos de Uso

Baseado nos requisitos levantados foi feita a modelagem do Caso de Uso

principal, o qual é mostrado na Figura 23. Aqui é possível observar a interação entre a

Plataforma de Ensino a Distância Amadeus-MM e o Servidor de Dados Multimídia,

bem como a Interação aluno e Amadeus-MM, a interação professor e Amadeus-MM,

bem como a interação professor e Servidor de Dados Multimídia via interface de acesso

disponibilizada pelo Servidor de Dados Multimídia. Maiores detalhes serão mostrados

no próximo capítulo referente a arquitetura do servidor de dados multimídia.

Figura 23: Modelo de Casos de Uso

Page 77: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

74

5.2.4 Diagrama de Pacotes

Para o Diagrama de Pacotes, foi feita a modelagem dos pacotes principais utilizados

pelo protótipo, bem como pacotes de interface e interação do usuário. A Figura 24 exibe

o Diagrama de Pacotes do Sistema. Maiores detalhes serão mostrados no próximo

capítulo referente à arquitetura do servidor de dados multimídia.

Figura 24: Diagrama de Pacotes do Sistema

Page 78: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

75

5.3 Prototipação e Avaliação de Desempenho dos Protótipos

Esta seção apresenta o embasamento conceitual e teórico da Análise de

Desempenho de Servidores, bem como o protocolo de testes que é detalhado na sub-

seção da Etapa de testes, além de descrever e validar os protótipos que foram avaliados

tanto no ambiente local quanto no ambiente real. Também mostra em detalhes a

arquitetura proposta após escolha do protótipo alvo e finalmente mostra a interface de

interação entre o Servidor de Dados Multimídia e o Usuário, este caso é detalhado na

Seção 5.5 que mostra o acesso direto do usuário a interface do Servidor de Dados

Multimídia, sem intermédio de uma Plataforma de Ensino a Distância.

5.3.1 Análise de Desempenho de servidores

Para se construir um servidor de dados que disponibilizará seus objetos em um

ambiente de rede de alta requisição é necessário fazer a análise de desempenho para

garantir que o mesmo funcionará a contento, de acordo com suas especificações, e

garantirá o fornecimento do serviço para os seus usuários. O servidor de dados foi

construído utilizando um container de aplicações, o Tom Cat, que é considerado um

servidor de aplicações. O interesse do trabalho é disponibilizar um servidor com tempo

de resposta para suas operações satisfatório para os seus usuários. Para tanto, deve-se

discutir as técnicas envolvidas nos projetos de avaliação de desempenho de servidores

de aplicação. Com isso, surge o seguinte questionamento sobre o processo de avaliação

de desempenho: Como avaliar, de forma precisa, o desempenho de servidores de

aplicação?

Mesmo sendo um questionamento trivial, os seguintes aspectos devem ser

considerados:

• Que serviços possuem maior impacto no desempenho global de um servidor de

aplicação?

• Quais os critérios de desempenho que devem ser considerados na realização de

uma avaliação?

• Quais parâmetros relacionados ao ambiente possuem impacto no desempenho e

podem ser ajustados com vistas a sua otimização? e

Page 79: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

76

• Qual a técnica mais adequada para avaliar o desempenho de um servidor de

aplicação?

Abordagens sistemáticas para avaliação de desempenho devem levar em consideração

cada um dos aspectos mencionados acima e estabelecer seqüências de atividades a

serem realizadas para a obtenção dos resultados de desempenho. Uma vez estabelecida

a abordagem, esta pode ser utilizada em projetos de avaliação de desempenho realizados

com as mais distintas finalidades, tais como identificação de gargalos, realização de

tunning, planejamento de capacidade e predição de desempenho.

Três diferentes técnicas podem ser usadas em avaliações de desempenho:

medição, modelagem analítica e simulação [JAIN 1991].

A técnica de medição consiste no estabelecimento de critérios de desempenho e

sua aferição diretamente no sistema em execução. Esta técnica tem sido largamente

utilizada na avaliação de desempenho de servidores de aplicação [Ceccehet et al. 2002].

Ela apresenta uma análise de impacto das arquiteturas das aplicações e dos containers

no desempenho global de um sistema Enterprise JavaBeans (EJB) [Sun 2006]. A

despeito de sua larga utilização, a técnica de medição tem importantes limitações. É

preciso ter cuidado com sua alta sensibilidade a variações em parâmetros relacionados

ao ambiente, as quais podem comprometer a precisão dos resultados. Além disso,

experimentos de medição requerem a construção e configuração de ambientes

separados.

A modelagem analítica pode derivar métricas de desempenho rapidamente,

fornecendo informações valiosas relativas ao desempenho de um sistema sem os custos

extras decorrentes da replicação do ambiente real. Lladó e Harrison (2000) apresentam

um modelo analítico, baseado na teoria das filas, para um servidor de aplicação

idealizado. Utilizando este modelo, diferentes tendências podem ser inferidas. Contudo,

os resultados de desempenho obtidos não foram validados em um ambiente real. Liu et

al. (2004) propõem uma abordagem para predição de desempenho de aplicações ainda

na fase de projeto. Esta predição é realizada com base em um modelo de filas que é

configurado com parâmetros relacionados à carga e ao próprio servidor de aplicação

utilizado. Esse trabalho fornece uma previsão do desempenho da aplicação antes desta

ser completamente desenvolvida, porém, é preciso considerar que algumas métricas

relacionadas à utilizaçao de recursos não podem ser derivadas. Em geral, modelos

analíticos requerem muitas simplificações e suposições, o que dificulta a obtenção de

Page 80: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

77

resultados precisos [Jain 1991]. Outro fator importante é que as ferramentas utilizadas

na modelagem analítica são conhecidas como explosão de estados. Este problema

ocorre devido ao crescimento exponencial no número de estados que estão relacionados

ao tamanho do modelo. O crescimento exponencial no número de estados implica em

um aumento exponencial do número de equações matemáticas que representa o sistema

e, consequentemente, impossibilita o cálculo das métricas de desempenho, uma vez que

recursos computacionais são rapidamente esgotados.

Uma vez que os modelos de simulação são construídos para serem executados, e

não para serem analisados, eles podem incorporar mais detalhes, e com isso, menos

suposições do que os modelos analíticos. Desta forma, estes modelos podem ser mais

flexíveis e se aproximar mais do comportamento real dos sistemas. McGuinnes e

Murphy (2005) apresentam um modelo de simulação de um cluster de servidores de

aplicação que pode ser parametrizado com dados descrevendo as interações com

usuários e com carcteriscas dos servidores que compõem o cluster. Simulações deste

modelo produzem informações acerca de diversas métricas de desempenho. Embora o

modelo seja flexível, o trabalho não apresenta uma comparação dos resultados obtidos

através dos experimentos de simulação com resultados obtidos a partir de medições em

algum servidor de aplicação.

Baseando-se nas técnicas de avaliação de desempenho estudadas, a técnica mais

adequada para o presente trabalho é a técnica baseada em medição, devido ao fato do

trabalho em questão implementar protótipos para cada tipo de forma de armazenagem e

recuperação de objetos multimídia. Desta forma, foi medido o desempenho de cada

protótipo para que, ao final das avaliações, fosse feita uma análise dos resultados e fosse

projetado um protótipo com os resultados que satisfizessem aos anseios da pesquisa.

Assim, foi desenvolvido um Trabalho de Graduação no Centro de Informática da UFPE

[NASCIMENTO 2007] cujo objetivo foi analisar os serviços de manipulação de

objetos multimídia em sistemas virtuais de ensino, não ficando restrito apenas ao

armazenamento e consulta dos objetos. Tal análise foi o insumo inicial do presente

trabalho. Foi realizado um trabalho de prototipagem de manipulação de dados

multimídia em sua totalidade, partindo da base de dados até a visualização do conteúdo

do objeto multimídia no navegador do usuário final. Por fim, de acordo com os

resultados obtidos, foram feitas análises quantitativas referentes às três abordagens de

armazenamento e recuperação de objetos multimídia e foi indicada uma abordagem que

apresentou os melhores resultados no contexto do ambiente de ensino a distância

Page 81: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

78

Amadeus-MM. O presente trabalho é uma extensão desta análise inicial feita por

Nascimento, visando completar os protótipos com todos os requisitos levantados para o

Servidor de Dados multimídia, fazer análise detalhadas local e em ambiente real e

também prover a infra-estrutura completa para a Integração completa com a plataforma

Amadeus-MM.

Avaliação de protótipos

Em [NASCIMENTO 2007] foi realizada uma avaliação de desempenho

quantitativa baseada na técnica de performance engineering definida pela IBM

Rational Unified Process [IBMRUP 2007] na implementação de 3 protótipos,

onde cada protótipo representou uma forma de armazenamento de objetos

multimídia mas usados nos SGBD open-souce, mais especificamente, na forma

como o PostgreSQL armazena objetos multimídias, atualmente [NASCIMENTO

2007] Esse trabalho, co-orientado pelo autor desta dissertação, serviu de passo

inicial para a criação e melhoramento do Servidor de Dados Multimídia.

Logo abaixo são apresentados os protótipos que foram desenvolvidos

durante as pesquisas em conjunto com o autor do presente trabalho:

Protótipo1 – baseado em armazenamento do objeto multimídia em uma

tabela de sistema do banco de dados;

Protótipo2 – baseado no armazenamento por referência;

Protótipo3 – baseado no armazenamento de arquivos binários

diretamente no banco de dados; e

Protótipo4 - protótipo escolhido após as comparações de tempo de

acesso ao conteúdo multimídia manipulado (abordagem híbrida entre o

Protótipo1 e o Protótipo 2).

É possível visualizar no Quadro 14 as considerações finais dos

comportamentos dos protótipos inicialmente avaliados em [NASCIMENTO

2007]. Vale ressaltar que todos os protótipos foram baseados em um conjunto

mínimo dos requisitos essenciais do servidor de dados multimídia, neste

momento os protótipos iniciais trabalhavam apenas localmente, sem controle de

Page 82: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

79

dowloads dos arquivos e sem integração com a plataforma Amadeus. O quadro

15 serviu como insumo inicial para aprofundar as pesquisas relacionadas aos

protótipos bem como serviu de parâmetros iniciais para criar um protótipo

mais robusto com gerenciamento de download, um ambiente multimiusuário

onde o servidor de dados multimídia tivesse total integração com a plataforma

de ensino Amadeus. Tais características foram desenvolvidas, refinadas e

integradas pelo presente trabalho. No presente trabalho, os protótipos básicos

foram transformados em protótipos completos que tivessem a implementação

aproximada do servidor de dados multimídia. Para isso foram implementados

três protótipos de um controle de serviço multimídia de forma que cada um

implementasse uma abordagem de controle de objetos multimídia dentro de

um ambiente web.

Quadro 14: Comparação dos Protótipos avaliados em [NASCIMENTO 2007]

Protótipo Vantagens Desvantagens Cenário de Uso

Protótipo 1 Integridade, Restrição de

Acesso e Isolamento dos

dados

Desempenho e obrigação

da exportação do objeto

recuperado para um

servidor WEB

Ambientes com poucos

usuários simultâneos e que

o desempenho não é o

primordial

Protótipo 2 Alto Desempenho Falta de controle do SGBD

sobre os objetos multimídia

e possíveis inconsistências

causadas por alterações

indevidas na pasta que

armazena os objetos

Ambientes com vários

usuários simultâneos e que

o desempenho é o único

fator relevante

Protótipo 3 Integridade, Restrição de

Acesso, Isolamento dos

dados e Envio direto do

objeto multimídia para a

aplicação cliente sem

necessidade de exportação

para um servidor WEB

Baixo Desempenho Ambientes com vários

usuários simultâneos e que

o desempenho não é o

primordial e sistemas que

necessitam enviar objetos

multimídia diretamente

para a aplicação dos

usuários

Protótipo 4 Integridade, Controle do

SGBD sobre os objetos

multimídia e Alto

Desempenho nas Consultas

Baixo Desempenho nas

Inserções

Ambientes com poucos

usuários simultâneos para

realizar inserções e

ambientes com vários

usuários simultâneos para

realizar consultas e com

foco em desempenho

Page 83: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

80

Com base no Quadro 14, com relação às formas de abordagem de

manipulação de objetos multimídia em um ambiente web, foi possível inferir

que os Protótipos 1 e 3 apresentaram resultados inviáveis para o contexto de

Sistemas Virtuais de Ensino, visto que à medida que foi aumentando o tamanho

do objeto e a quantidade de usuários simultâneos estas duas abordagens

tiveram graves degradações de desempenho em relação ao protótipo de melhor

tempo de resposta.

O Protótipo 2, tendo com abordagem o armazenamento por referência,

abordagem explicada na subseção 3.3, como já se era esperado, apresentou o

melhor desempenho dentre todos os protótipos, porém com esta abordagem o

banco de dados não tem nenhum controle sobre os objetos multimídia e

alterações indevidas nas pastas que armazenam estes objetos podem causar

sérios problemas de consistência no banco de dados.

O Protótipo 4, protótipo criado apartir das melhores características de

manipulação de objetos multimídia (melhor tempo de inclusão para o protótipo

1 e melhor tempo de recuperação para o protótipo2), também apresentou os

resultados conforme foi esperado. Ele obteve tempos nas operações de inserção

similares ao comportamento do Protótipo 1 e tempos nas consultas próximos ao

Protótipo 2. O referido Protótipo 4 utiliza um abordagem híbrida descrita a

seguir.

A Figura 25, mostra o Diagrama de Classes utilizado para implementar

o modelo dos protótipos. É importante ressaltar que o presente trabalho

implementou um modelo completo dos protótipos com relação ao

gerenciamento do download dos objetos multimídia, e foi feita uma integração

completa com a plataforma de ensino Amadeus que poderá ser observada com

mais detalhes no capítulo 6 do presente trabalho.

Page 84: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

81

Figura 25: Diagrama de Classes do Protótipo do Servidor de Dados Multimídia.

A abordagem do Protótipo 4 implementa o diagrama de classes,

apresentado na Figura 25. Contudo, esta última abordagem surgiu como uma

proposta de se obter a vantagem de desempenho do armazenamento por

referência com as vantagens de se guardar o objeto multimídia no SGBD

(armazenamento através de objetos).

Dentre os protótipos implementados e avaliados, o protótipo escolhido

para representar o Servidor de Dados Multimídia, foi o Protótipo 4. Sua

abordagem híbrida funciona da seguinte forma: o objeto multimídia é inserido

no SGBD usando a abordagem Large Objec (objeto implementado no

PostgreSQL para armazenamento através de objetos binários). Como é visado o

menor tempo de recuperação dos objetos, apenas é invocada a função

“lo_export” caso o objeto já não esteja disponível no servidor WEB.

A primeira vez que um objeto é consultado, ele é exportado para o

servidor WEB e ao contrário da abordagem do Protótipo 1, a pasta para onde o

objeto é exportado não tem o seu conteúdo apagado esporadicamente, já que

essa pasta não será uma pasta temporária.

Nas próximas vezes que o objeto for consultado, o Protótipo 4 faz

algumas verificações dos objetos, que acarreta um certo impacto para o

desempenho das consultas, no momento de exportar o arquivo para o servidor

WEB. Dentre elas, o protótipo verifica a existência do objeto na pasta pré-

determinada para decidir se há necessidade da recuperação dos objetos. Caso o

Page 85: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

82

objeto não esteja lá, ele exporta. No caso contrário, ele verifica se o tamanho do

objeto e a data de modificação do mesmo conferem com o tamanho e data de

modificação que são guardados nas suas respectivas tabelas na hora da inserção

do objeto multimídia no SGBD. Em caso de alguma diferença (alteração

indevida) , o SGBD exporta o objeto. Se nenhuma das duas situações ocorre, não

é feita a recuperação do objeto.

Dessa forma, evita-se que caso o objeto já tenha sido exportado para o

servidor WEB, o SGBD o exporte novamente. Esta solução utiliza, assim, o

desempenho da abordagem por referência externa, garantindo a integridade do

banco, visto que caso ocorra alguma exclusão do objeto multimídia do servidor

WEB ou alguma modificação indevida no arquivo, o SGBD irá exportar

novamente o objeto para o servidor WEB. Na Figura 26, é possível visualizar o

modelo de transferência de objetos multimídia e de realidade virtual utilizado

pelo Protótipo 4.

Figura 26:Modelo de transferência dos objetos multimídia e de realidade virtual

A Figura 27 mostra a implementação das tabelas no SGBD PostgreSQL para o Protótipo 4. O esquema de banco de dados é apresentado na subseção 5.4, na qual mostra detalhes da arquitetura do servidor de dados multimídia impletado de forma completa e plenamente integrado a plataforma de ensino Amadeus.

Page 86: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

83

Figura 27: Tabelas do Protótipo 4

5.3.2 Etapas dos Testes

Os testes em ambiente local e em ambiente real dão prosseguimento e

apresentam melhoramentos em relação ao trabalho de [NASCIMENTO 2007], devido

ao fato desse trabalho ter apenas implemetado o conjunto mínimo de

funcionalidades para verificar o armazenamento de objetos multimídia. Os

testes realizados por [NASCIMENTO 2007] foram re-executados e serviram de

insumo para o presente trabalho. Foi adicionado aos protótipos, o componente de

upload dos objetos multimídia, componente responsável por fazer a transferência do

objeto selecionado pelo usuário para o servidor de dados multimídia, e também foi

adicionado aos protótipos a manipulação de objetos de realidade virtual, ou seja, foram

adicionados aos protótipos todo um conjunto de apresentação, manipulação, persistência

e integração de objetos de realidade virtual.

5.3.3 Protótipo 4

Com base na avaliação dos resultados dos três protótipos inicialmente

implementados, executados nos cenários definidos, como foi dito anteriormente, o

presente trabalho é uma extensão desta análise inicial feita por Nascimento, visando

completar os protótipos com todos os requisitos levantados para o Servidor de Dados

multimídia, fazer análise detalhadas local e em ambiente real e também prover a infra-

estrutura completa para a Integração completa com a plataforma Amadeus-MM.foi

Page 87: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

84

proposto um quarto protótipo que herdou as melhores características de cada protótipo,

no presente trabalho tal protótipo possui todas as funcionalidades implementadas por

completo, além de permitir a integração completa com a plataforma Amadeus-MM,

integração esta detalhada no capítulo 6, de forma a satisfazer as necessidades de um

ambiente de ensino a distância, no qual se prima por realizar inserções onde o tempo de

resposta da operação não é crítico, e realizar consulta de objetos de forma rápida e

eficiente.

A realização dos testes de todos os protótipos veio da necessidade de se

comprovar que mesmo após as alterações e inclusões de novas funcionalidades, citadas

na seção anterior, o comportamento dos protótipos no ambiente local e no ambiente real

continuaria com o mesmo padrão, salvo as modificações no tempo de resposta devido a

fatores de poder de processamento das máquinas e eventuais mudanças na taxa de

thougthput da rede. Mesmo com esssas variações, foi possível observar nos

experimentso realizados, pelo presente trabalho, o mesmo padrão de comportamento

dos protótipos, e com isso, atestar a escolha do Protótipo 4 como o protótipo mais viável

para a implementação completa do Servidor de Dados Multimídia.

Nas subseções seguintes serão detalhados o protocolo e os critérios utilizados

para as avaliações dos protótipos em um ambiente local controlado e em um ambiente

real controlado.

5.3.3.1 Testes de Desempenho no Ambiente Local

Quando se fala, neste trabalho, em testes de desempenho no ambiente local

significa dizer que foi usado em todos os testes e em todos os cenários, a mesma

máquina, na qual estão instalados o Servidor de Danco de Dados e o Servidor de

Aplicação, e as requisições das funcionalidades do sistema foram realizadas no próprio

browser contido nesta mesma máquina. Desta forma, pôde-se isolar a variação da

transferência dos objetos do trafego da rede e pôde-se verificar o comportamento

referente ao tempo de resposta do conjunto do sistema dentro dos cenários avaliados.

A máquina local escolhida para executar os testes possui a seguinte

configuração:

• Modelo da máquina - TravelMate 2434WLMi;

• Processador - Intel Celeron M Processor 380, 1.6 GHz, 400 MHz FSB,

1MB L2 Cache;

Page 88: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

85

• Quantidade de memória RAM - 1GBytes;

• Capacidade do Disco Rígido - 60GBytes;

• Interface de Rede - Fast Ethernet 10/100 M e 802.11b/g wireless LAN;

• Sistema Operacional - Windows XP; e

• Processos ativos no momento do teste - Servidor de Banco de Dados,

Servidor WEB, JMeter e processos internos do Sistema Operacional.

Foi executada a mesma bateria de testes do Protótipo 4 no ambiente local para

assegurar sua eficiência nos cenários definidos como críticos. Para isso, foi escolhida

uma ferramenta de medição de desempenho de sistemas web, o Jmeter [JMETER,

2006].

O plano de testes de desempenho dos protótipos é baseado nos cenários

mostrados no Quadro 15.

Quadro 15: Cenários de Testes de Desempenho

Tipo do Objeto Operação Quantidade de

usuários concorrentes

Tamanho do objeto

Padrão de Compressão

Imagem Inserção 10 100 Kb JPEG

Imagem Consulta 10 100 Kb JPEG

Imagem Inserção 100 100 Kb JPEG

Imagem Consulta 100 100 Kb JPEG

Áudio Inserção 10 1 Mb MP3

Áudio Consulta 10 1 Mb MP3

Áudio Inserção 100 1 Mb MP3

Áudio Consulta 100 1 Mb MP3

Vídeo Inserção 10 1 Mb MPEG-4

Vídeo Consulta 10 1 Mb MPEG-4

Vídeo Inserção 100 1 Mb MPEG-4

Vídeo Consulta 100 1 Mb MPEG-4

ORV Inserção 10 1 Mb VRML

ORV Consulta 10 1 Mb VRML

ORV Inserção 100 1 Mb VRML

ORV Consulta 100 1 Mb VRML

Conforme descrito no trabalho de [NASCIMENTO 2007], cada cenário contido

no Quadro 15 tem um tempo de um minuto para que todos os usuários completem a

operação escolhida. É preciso salientar que no presente trabalho o quadro foi estendido

Page 89: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

86

para implementar os Objetos de Realidade Virtual, além do fato de terem sido feitas

avaliações es

tendidas em ambiente local e em ambiente real. Além disso, para se obter uma

amostra maior de dados, cada cenário é executado por 10 iterações. Assim, em um

cenário onde se tem 10 usuários concorrentes, obtem-se 100 amostras de tempo (10

usuários X 10 iterações) e em outro cenário que se tem 100 usuários, obtem-se 1000

amostras de tempo (100 usuários X 10 iterações). Vale ressaltar que foram adicionados

mais 4 novos cenários referentes a ORV (Objeto de Realidade Virtual).

A Figura 28 mostra a implementação do plano de testes (baseado nos cenários

definidos) de desempenho dos protótipos do presente trabalho na ferramenta Jmeter.

Figura 28: Plano de Testes de Desempenho – Interface do JMeter

A seguir serão mostrados os resultados obtidos com a aplicação dos cenários,

descritos no Quadro 15, nos quatro protópos avaliados. Os resultados foram agrupados

por objetos multimídia (imagem, áudio e vídeo) e objetos de realidade virtual (neste

caso em VRML).

Page 90: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

87

5.3.3.1.1 Testes nos Cenários Utilizando Arquivos de Imagem

Nesta Seção serão mostrados os planos de testes implementados no JMeter, os

gráficos obtidos pelas séries temporais [EHLERS 2007] a partir dos valores de tempo de

resposta de cada operação e logo após serão discutidos os resultados obtidos.

As Figura 29 e Figura 30 mostram a interface do JMeter.

Figura 29: Plano de testes – Detalhamento de Inserção de Imagem – Interface do JMeter

Figura 30: Plano de testes – Detalhamento de Consulta de Imagem – Interface do Jmeter.

Page 91: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

88

Aqui vale ressaltar que uma vez os objetos sendo inseridos no banco de dados,

cada objeto gera automaticamente um identificador único. Com isso, uma vez inserido

um dado número de objetos no banco, optou-se por logo em seguida fazer uma consulta

desses objetos baseada no identificador de cada objetos inserido no banco. Tal consulta

foi criada no Jmeter de modo a gerar identificadores aleatórios em cada requisição.

Desta forma, como os objetos são consultados aleatoriamente dentro de uma faixa

existente de identificadores, foi reduzida a possibilidade do SGBD formar um cache de

consultas preexistentes. Isso pode ser observado na Figura 30, no campo path, que

contem o seguinte valor: /prototipo-sdmm-p4/ImageViewer.jsp?id=${__Random(1,100,

randomId)}. A faixa de valor randomico é modificada para cada cenário executado.

É importante resssaltar que todos os gráficos e tempos apresentados nas seções

subsequentes foram feitas pelo atual trabalho, foram feitas comparações com o outro

trabalho só para garantir que as pesquisas inicias continuaram válidas para os presente

trabalho, lembrando que este trabalho tem os protótipos completos e integrados ao

Amadeus.

As figuras 31 a 34 mostram os gráficos de séries temporais referentes à inserção

e à consulta de imagem , tanto para o cenário de 10 usuários, quanto para o cenário de

100

usuários.

Figura 31: Inserção de Imagem em ambiente local (10 usuários)

Page 92: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

89

Figura 32: Inserção de Imagem em ambiente local (100 usuários)

Figura 33: Consulta de Imagem em ambiente local (10 usuários)

Figura 34: Consulta de Imagem em ambiente local (100 usuários)

Tendo como base os resultados dos gráficos (Figura 31, Figura 32, Figura 33 e

Figura 34), resultados estes gerados pelo presente trabalho, foi montado o Quadro 16, o

qual apresenta uma comparação da média de tempo que cada protótipo levou para

completar cada cenário de teste de imagem.

Page 93: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

90

Quadro 16: Comparação do Desempenho dos Protótipos para Imagem em ambiente local

Operação com Imagem Protótipo 1 Protótipo 2 Protótipo 3 Protótipo 4

Inserção com 10 usuários 214 ms 255 ms 231 ms 259 ms

Inserção com 100 usuários 14567 ms 18575 ms 15570 ms 19901 ms

Consulta com 10 usuários 140 ms 48 ms 59 ms 63 ms

Consulta com 100 usuários 7084 ms 51 ms 53 ms 52 ms

Foi realizada uma comparação com os resultados obtidos no trabalho de

[NASCIMENTO 2007], e pôde-se observar que o comportamento dos resultados foi

bastante semelhante, salvo um pequeno aumento no tempo de resposta. Entretanto,

valores já esperados por que, no presente trabalho, foi adicionada aos protótipos a

funcionalidade de upload de arquivo. Da mesma forma, os melhores resultados para

inserção ficaram com o Protótipo 1, e os melhores resultados para consulta ficaram com

o Protótipo 2 e o Protótipo 4 obteve tempos próximos aos Protótipo 1 e Protótipo 2,

como era de se esperar, pois o Protótipo 4 foi concebido a partir da composição dos

Protótipo 1 e Protótipo 2.

Com isso, em relação aos cenários de imagem em ambiente local, mesmo os

protótipos tendo recebido novas funcionalidades, mantiveram o mesmo comportamento

com relação ao tempo de resposta dos testes.As curvas dos gráficos das séries temporais

se mostraram bem próximas, salvo o deslocamento para cima no eixo x, devido às novas

funcionalidades adicionadas.

5.3.3.1.2 Testes nos Cenários Utilizando Arquivos de Áudio

As figuras 35 a 38 mostram os gráficos de séries temporais referentes à inserção e a consulta de áudio , tanto para o cenário de 10 usuários, quanto para o cenário de 100 usuários.

Figura 35: Inserção de Áudio em ambiente local (10 usuários)

Page 94: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

91

Figura 36: Inserção de Áudio em ambiente local (100 usuários)

Figura 37: Consulta de Áudio em ambiente local (10 usuários)

Figura 38: Consulta de Áudio em ambiente local (100 usuários)

Tendo como base os resultados dos gráficos (Figura 35, Figura 36, Figura 37 e

Figura 38), foi montado o Quadro 17, o qual apresenta uma comparação da média de

tempo que cada protótipo levou para completar cada cenário de teste de áudio.

Page 95: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

92

Quadro 17: Comparação do Desempenho dos Protótipos para Áudio em ambiente local

Operação com Áudio P1 P2 P3 P4

Inserção de áudio com 10 Usuários 243 ms 112 ms 315 ms 288 ms

Inserção de áudio com 100 usuários 31588 ms 3068 ms 33019 ms 45117 ms

Consulta de áudio com 10 usuários 161 ms 48 ms 6729 ms 57 ms

Consulta de áudio com 100 usuários 6380 ms 44 ms 103861 ms 50 ms

Da mesma forma que para imagem, foi realizada uma comparação com os

resultados obtidos no trabalho de [NASCIMENTO 2007], e pôde-se observar que o

comportamento dos resultados, obtidos pelo presente trabalho, onde o presente trabalho

implementou o conjunto completo das funcionalidades listadas para o servidor de dados

multimídia visando a integração total com a plataforma de ensino Amadeus, foi bastante

semelhante, salvo um aumento no tempo de resposta, valores estes já esperados por que

foi adicionada aos protótipos a funcionalidade de upload de arquivo. Neste caso, devido

à mudança de objeto para áudio, os melhores resultados para inserção e consulta ficaram

com o Protótipo 2. Da mesma forma, o Protótipo 4 obteve tempos relativamente

próximos aos do Protótipo 1, com relação à inserção e ao Protótipo 2, tempo próximo ao

da consulta, como era de se esperar, pois o Protótipo 4 foi concebido a partir da

composição dos Protótipo 1 e Protótipo 2.

Assim, com relação aos cenários de áudio em ambiente local, mesmo os

protótipos tendo recebido novas funcionalidades, mantiveram o mesmo comportamento

com relação ao tempo de resposta dos testes. As curvas dos gráficos das séries

temporais se mostraram bem próximas, salvo o deslocamento para cima no eixo x,

devido às novas funcionalidades adicionadas.

5.3.3.1.3 Testes nos Cenários Utilizando Arquivos de Vídeo

As figuras 39 a 42 mostram os gráficos de séries temporais referentes à inserção

e à consulta de vídeo, tanto para o cenário de 10 usuários, quanto para o cenário de 100

usuários.

Page 96: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

93

Figura 39: Inserçao de Vídeo em ambiente local (10 usuários)

Figura 40: Inserçao de Vídeo em ambiente local (100 usuários)

Figura 41: Consulta de Vídeo em ambiente local (10 usuários)

Figura 42: Consulta de Vídeo em ambiente local (100 usuários)

Page 97: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

94

Tendo como base os resultados dos gráficos (Figura 39, Figura 40, Figura 41 e

Figura 42), foi montado o Quadro 18, o qual apresenta uma comparação da média de

tempo que cada protótipo levou para completar cada cenário de teste de vídeo.

Quadro 18: Comparação do Desempenho dos Protótipos para Vídeo em ambiente local

Operações com Vídeo P1 P2 P3 P4 Inserção com 10 Usuários 398 315 471 447 Inserção com 100 usuários 29940 3211 31058 38478 Consulta com 10 usuários 231 141 466 146 Consulta com 100 usuários 6514 42 33405 50

Da mesma forma que em imagem e áudio, foi realizada uma comparação com os

resultados obtidos no trabalho de [NASCIMENTO 2007], mais uma vez vale ressaltar

que ,todos os resultados apresentados e obtidos pelo presente trablaho, onde o presente

trabalho implementou o conjunto completo das funcionalidades listadas para o servidor

de dados multimídia visando a integração total com a plataforma de ensino Amadeus,

em [NASCIMENTO 2007] foi implementado apenas um conjunto mínimo de requisitos

de forma que pudesse ser inferida uma comparação inicial entre as abordagens de

armazenamento de objetos multimídia, e pôde-se observar que o comportamento dos

resultados foi bastante semelhante, salvo um aumento no tempo de resposta, porém,

valores já esperados por que foi adicionado aos protótipos a funcionalidade de upload

de arquivo. Neste caso, devido à mudança de objeto para vídeo, os melhores resultados

para inserção e consulta também ficaram com o Protótipo 2. Da mesma forma, o

Protótipo 4 obteve tempos relativamente próximos aos do Protótipo 1, com relação à

inserção e aos do Protótipo 2, com relação à consulta, como era de se esperar, pois o

Protótipo 4 foi concebido a partir da composição dos Protótipo 1 e Protótipo 2.

Com isso, com relação aos cenários de vídeo em ambiente local, mesmo os

protótipos tendo recebido novas funcionalidades, mantiveram o mesmo comportamento

com relação ao tempo de resposta dos testes. As curvas dos gráficos das séries

temporais se mostraram bem próximas, salvo o deslocamento para cima no eixo x,

devido às novas funcionalidades adicionadas.

Page 98: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

95

5.3.3.1.4 Testes nos Cenários Utilizando Arquivos de Objetos de Realidade Virtual

As figuras 43 a 46 mostram os gráficos de séries temporais referentes à inserção

e à consulta de objeto de realidade virtual (ORV), tanto para o cenário de 10 usuários,

quanto para o cenário de 100 usuários.

Figura 43: Consulta de Objeto de Realidade Virtual em ambiente local (10 usuários)

Figura 44: Consulta de Objeto de Realidade Virtual em ambiente local (100 usuários)

Figura 45: Inserção de Objeto de Realidade Virtual em ambiente local (10 usuários)

Figura 46: Inserção de Objeto de Realidade Virtual em ambiente local (100 usuários)

Page 99: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

96

Tendo como base os resultados dos gráficos (Figura 43 Figura 44, Figura 45 e

Figura 46), foi montado o Quadro 19, que apresenta uma comparação da média de

tempo que cada protótipo levou para completar cada cenário de teste de ORV.

Quadro 19: Comparação do Desempenho dos Protótipos para ORV em ambiente local

Operações com ORV P1 P2 P3 P4 Consulta com 10 Usuários 1391 145 295 343 Consulta com 100 usuários 46093 327 345 336 Inserção com 10 usuários 2354 2940 2590 2966 Inserção com 100 usuários 35906 45804 38317 49193

Diferentemente das avaliações feitas em imagem, áudio e vídeo, foram

adicionados novos experimentos com relação a objetos de realidade virtual, visto que o

presente trabalho adicionou a manipulação desses objetos, os quais não foram

contemplados no trabalho de [NASCIMENTO 2007]. Neste caso, os melhores

resultados para inserção ficaram com o Protótipo 1, e os melhores resultados para

consulta ficaram com o Protótipo 2. Também desta vez , o Protótipo 4 obteve tempos

relativamente próximos ao Protótipo 1 e ao Protótipo 2, respectivamente com relação à

inserção e com relação à consulta, como era de se esperar, pois o Protótipo 4 foi

concebido a partir da composição dos Protótipo 1 e Protótipo 2.

Com isso, com relação aos cenários de objetos de realidade virtual em ambiente

local, mesmo os protótipos tendo recebido novas funcionalidades, mantiveram o mesmo

comportamento com relação ao tempo de resposta dos testes. As curvas dos gráficos das

séries temporais se mostraram com valores e comportamentos entre imagens e vídeos,

devido ao comportamento específico de objetos de realidade virtual, mais

especificamente arquivos VRML, que hora se comportam como imagem, após serem

carregados totalmente, e hora se comportam como vídeo, uma vez que podem ser

manipulados como animação.

5.3.3.2 Testes de Desempenho no Ambiente Real

Quando se fala, neste trabalho, em testes de desempenho no ambiente real,

significa dizer que foi usado em todos os testes e em todos os cenários, para este

ambiente, um servidor dedicado da rede interna do Centro de Informática (CIn) da

UFPE. Este servidor é identificado como a máquina JUPI, acesso via http://jupi,

contendo as aplicações de desenvolvimento de EAD, do próprio CIn, mais

especificamente as aplicações de desenvolvimento do projeto AMADEUS-MM. A

Page 100: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

97

máquina JUPI possui instalado o servidor de banco de dados de desenvolvimento do

projeto e o servidor de aplicação de desenvolvimento. As requisições aos protótipos da

pesquisa em questão foram feitas de uma máquina desktop dentro da própria rede do

CIn, e as requisições das funcionalidades do sistema foram realizadas no próprio

browser contido nesta mesma máquina desktop. Desta forma, pôde-se fazer uma

apreciação do funcionamento dos protótipos em um ambiente concorrente de rede e,

neste caso, o ambiente real está intrisicamente ligado à variação da transferência dos

objetos do tráfego da rede, uma rede fast ethernet de 100MBps. Desta forma, pôde-se

verificar o comportamento referente ao tempo de resposta do conjunto do sistema dentro

dos cenários avaliados, levando-se em consideração o processamento e gerenciamento

do sistema no servidor real, e a latência do tráfego de rede.

A máquina servidora usada para executar os estes testes possui a seguinte

configuração:

• Modelo da máquina - DELL PowerEdge SC440;

• Processador - Dual Core Intel® Xeon® 3040, 2MB Cache, 1.86GHz,

1066MHz FSB;

• Quantidade de memória RAM - 2GBytes DDR2, 667MHz;

• Capacidade do Disco Rígido – 4 discos de 80GB 7.2K RPM Serial ATA

3Gbps;

• Interface de Rede - On-Board Single Gigabit Network Adapter;

• Sistema Operacional - FreeBSD;

• Processos ativos no momento do teste - Servidor de Banco de Dados,

Servidor WEB, JMeter e processos internos do Sistema Operacional.

Foi executada a mesma bateria de testes do Protótipo 4 e o mesmo plano de

teste, proposto no ambiente local, para assegurar a eficiência nos cenários definidos

como críticos, também no ambiente real. É preciso levar em consideração as

modificações no plano de teste referentes à configuração para apontar as requisições

para o servidor real.

5.3.3.2.1 Testes nos Cenários Utilizando Arquivos de Imagem

As figuras 47 a 50 mostram os gráficos de séries temporais referentes à inserção

e à consulta de imagem, tanto para o cenário de 10 usuários, quanto para o cenário de

100 usuários no ambiente real.

Page 101: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

98

Figura 47: Inserção de Imagem em ambiente local (10 usuários)

Figura 48: Inserção de Imagem em ambiente local (100 usuários)

Figura 49: Consulta de Imagem em ambiente local (10 usuários)

Figura 50: Consulta de Imagem em ambiente local (100 usuários)

Page 102: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

99

Tendo como base os resultados dos gráficos (Figura 47, Figura 48, Figura 49 e

Figura 50), foi montado o Quadro 20, o qual apresenta uma comparação da média de

tempo que cada protótipo levou para completar cada cenário de teste de imagem no

ambiente real.

Quadro 20: Comparação do Desempenho dos Protótipos para Imagem em ambiente real

ambiente real P1 P2 P3 P4 Inserção com 10 usuários 246 287 266 293 Inserção com 100 usuários 3878 4525 4187 6452 Consulta com 10 usuários 139 40 54 61 Consulta com 100 usuários 6992 43 48 50

Foi realizada uma comparação com os resultados obtidos na seção 5.3.3.1.1, e

pôde-se observar que o comportamento dos resultados foi semelhante, havendo uma

diminuição nos tempo de resposta, pois como a máquina que abriga os protótipos agora

é uma máquina com maior poder computacional, houve um melhor gerenciamento do

sistema principalmente no ambiente mais estressante de 100 acessos simultâneos.

Entretanto, os comportamentos dos protótipos foram semelhantes, os melhores

resultados, mais uma vez, para inserção ficaram com o Protótipo 1, e os melhores

resultados para consulta ficaram com o Protótipo 2. O Protótipo 4 obteve tempos

próximos aos dos Protótipo 1 e Protótipo 2, como era de se esperar, pois foi concebido a

partir da composição dos Protótipo 1 e Protótipo 2.

Com isso, com relação aos cenários de imagem em ambiente real, os protótipos

mantiveram o mesmo comportamento com relação ao tempo de resposta dos testes. As

curvas dos gráficos das séries temporais se mostraram bem próximas, salvo o

deslocamento para baixo no eixo x, devido ao maior poder de processamento e

gerenciamento do servidor no ambiente real.

5.3.3.2.2 Testes nos Cenários Utilizando Arquivos de Áudio

As figuras 51 a 54 mostram os gráficos de séries temporais referentes à inserção

e à consulta de áudio , tanto para o cenário de 10 usuários, quanto para o cenário de 100

usuários no ambiente real.

Page 103: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

100

Figura 51: Inserção de Áudio em ambiente real (10 usuários)

Figura 52: Inserção de Áudio em ambiente real (100 usuários)

Figura 53: Consulta de Áudio em ambiente real (10 usuários)

Figura 54: Consulta de Áudio em ambiente real (100 usuários)

Page 104: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

101

Tendo como base os resultados dos gráficos (Figura 51, Figura 52, Figura 53 e

Figura 54), foi montado o Quadro 21, o qual apresenta uma comparação da média de

tempo que cada protótipo levou para completar cada cenário de teste de áudio no

ambiente real.

Quadro 21: Comparação do Desempenho dos Protótipos para Áudio em ambiente real

ambiente real P1 P2 P3 P4 Insercão 10 usuários 279 148 351 317 Inserção 100 usuários 21355 3086 24215 22571 Consulta 10 usuários 154 47 6350 55 Consulta 100 usuários 5719 41 94019 47

Foi feita uma comparação com os resultados obtidos na seção 5.3.3.1.2, e pôde-

se observar que o comportamento dos resultados foi bastante semelhante, havendo uma

diminuição nos tempo de resposta, pois como a máquina que abriga os protótipos agora

é uma máquina com maior poder computacional, houve um melhor gerenciamento do

sistema principalmente no ambiente mais estressante de 100 acessos simultâneos.

Entretanto, os comportamentos dos protótipos foram semelhantes, com os melhores

resultados, neste caso devido à mudança de objeto para áudio, para inserção e consulta

ficando com o Protótipo 2. O Protótipo 4 obteve tempos próximos aos dos Protótipo 1 e

Protótipo 2, como era de se esperar, pois o Protótipo 4 foi concebido a partir da

composição dos Protótipo 1 e Protótipo 2.

Assim, com relação aos cenários de áudio em ambiente real, os protótipos

mantiveram os mesmos comportamentos com relação ao tempo de resposta dos testes de

requisição. As curvas dos gráficos das séries temporais se mostraram bem próximas,

salvo o deslocamento para baixo no eixo x, devido ao maior poder de processamento e

gerenciamento do servidor no ambiente real.

5.3.3.2.3 Testes nos Cenários Utilizando Arquivos de Vídeo

As figuras 55 a 58 mostram os gráficos de séries temporais referentes à inserção

e à consulta de vídeo, tanto para o cenário de 10 usuários, quanto para o cenário de 100

usuários no ambiente real.

Page 105: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

102

Figura 55: Inserção de Vídeo em ambiente real (10 usuários)

Figura 56: Inserção de Vídeo em ambiente real (100 usuários)

Figura 57: Consulta de Vídeo em ambiente real (10 usuários)

Page 106: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

103

Figura 58: Consulta de Vídeo em ambiente real (100 usuários)

Tendo como base os resultados dos gráficos (Figura 55, Figura 56, Figura 57 e

Figura 58), foi montado o Quadro 22, que apresenta uma comparação da média de

tempo que cada protótipo levou para completar cada cenário de teste de vídeo no

ambiente real.

Quadro 22: Comparação do Desempenho dos Protótipos para Vídeo em ambiente real

ambiente real P1 P2 P3 P4 Insere 10 usuários 430 351 510 458 Inserção 100 usuários 20572 3046 23994 22622 Consulta 10 usuários 202 126 410 127 Consulta 100 usuários 5866 39 29909 47

Foi realizada uma comparação com os resultados obtidos na seção 5.3.3.1.3, e

pôde-se observar que o comportamento dos resultados foi bastante semelhante, havendo

uma diminuição nos tempo de resposta, pois como a máquina que abriga os protótipos

agora é uma máquina com maior poder computacional, houve um melhor

gerenciamento do sistema principalmente no ambiente mais estressante de 100 acessos

simultâneos. Entretanto, os comportamentos dos protótipos foram semelhantes, os

melhores resultados, neste caso devido à mudança de objeto para vídeo, para inserção e

para consulta ficaram com o Protótipo 2. O Protótipo 4 obteve tempos próximos aos

Protótipo 1 e Protótipo 2, como era de se esperar, pois foi concebido a partir da

composição dos Protótipo 1 e Protótipo 2.

Com isso, com relação aos cenários de vídeo em ambiente real, os protótipos

mantiveram os mesmos comportamentos com relação ao tempo de resposta dos testes de

requisição. As curvas dos gráficos das séries temporais se mostraram bem próximas,

Page 107: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

104

salvo o deslocamento para baixo no eixo x, devido ao maior poder de processamento e

gerenciamento do servidor no ambiente real.

5.3.3.2.4 Testes nos Cenários Utilizando Arquivos de Objetos de Realidade Virtual

As figuras 59 a 62 mostram os gráficos de séries temporais referentes à inserção

e à consulta de Objetos de Realidade Virtual , tanto para o cenário de 10 usuários,

quanto para o cenário de 100 usuários no ambiente real.

Figura 59: Inserção de Objeto de realidade virtual em ambiente real (10 usuários)

Figura 60: Inserção de Objeto de realidade virtual em ambiente real (100 usuários)

Figura 61: Consulta de Objeto de realidade virtual em ambiente real (10 usuários)

Page 108: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

105

Figura 62: Consulta de Objeto de realidade virtual em ambiente real (100 usuários)

Tendo como base os resultados dos gráficos (Figura 59, Figura 60, Figura 61 e

Figura 62), foi montado o Quadro 23, que apresenta uma comparação da média de

tempo que cada protótipo levou para completar cada cenário de teste de objeto de

realidade virtual no ambiente real.

Quadro 23: Comparação do Desempenho dos Protótipos para ORV em ambiente real

P1 P2 P3 P4 Inserção 10 usuários 951 1542 1180 1581 Inserção 100 usuários 26820 36587 29265 34564 Consulta 10 usuários 1334 150 289 336 Consulta 100 usuários 41596 295 310 302

Foi realizada uma comparação com os resultados obtidos na seção 5.3.3.1.4, e

pôde-se observar que o comportamento dos resultados foi bastante semelhante, havendo

uma diminuição nos tempo de resposta, pois como a máquina que abriga os protótipos

agora é uma máquina com maior poder computacional, houve um melhor

gerenciamento do sistema principalmente no ambiente mais estressante de 100 acessos

simultâneos. Neste caso, os melhores resultados para inserção ficaram com o Protótipo

1, e os melhores resultados para consulta ficaram o com o Protótipo 2. Ainda desta vez

, o Protótipo 4 obteve tempos próximos aos do Protótipo 1 e do Protótipo 2,

respectivamente com relação à inserção e com relação à consulta, como era de se

esperar, pois o Protótipo 4 foi concebido a partir da composição dos Protótipo 1 e

Protótipo 2.

Assim, com relação aos cenários de objetos de realidade virtual em ambiente

real, os protótipos mantiveram os mesmos comportamentos com relação ao tempo de

resposta dos testes de requisição. As curvas dos gráficos das séries temporais se

mostraram bem próximas, salvo o deslocamento para baixo no eixo x, devido ao maior

poder de processamento e gerenciamento do servidor no ambiente real.

Page 109: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

106

Nesta seção pôde-se comprovar que os protótipos foram mais rápidos no

ambiente real, e a avaliação dos protótipos se manteve válida, desta forma comprovando

a escolha correta do Protótipo 4 como cerne do Servidor de Dados Multimídia em um

ambiente real.

5.4 Arquitetura Proposta

Após a avaliação dos resultados e estabelecido um protótipo alvo para ser

implementado como um sistema, foi definida a arquitetura do Servidor de Dados

Multimídia. Esta é composta por vários componentes que interagem entre si para o

correto funcionamento do sistema, representado na Figura 63, distribuídos em uma

topologia cliente-servidor.

Figura 63: A arquitetura do Servidor de Dados Multimídia

5.4.1 Modelo de Componentes

Nesta seção será apresentado o modelo de componentes do Servidor de Dados

Multimídia, como o Servidor de Aplicação, o módulo de apresentação de objetos, o

Page 110: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

107

módulo de integração com as Plataformas de Ensino a Distância e a camada de

persistência dos objetos no Servidor de Dados Multimídia.

5.4.1.1 Servidor de Aplicação SDMM

O Servidor de Aplicação para o Servidor de Dados Multimídia desenvolvido

neste trabalho é o cerne do SDMM. Ele é o componente responsável pela persistência,

manipulação, apresentação e integração com outras plataformas dos objetos multimídia

armazenados no ambiente, ele se divide em quatro módulos principais com diferentes

responsabilidades dentro do sistema. O módulo de manipulação de objetos disponibiliza

as funcionalidades de inserção, remoção, listagem, extração de informações e consultas

dos objetos multimídia e objetos de realidade virtual armazenados no sistema. Já o

módulo de apresentação de objetos é responsável pela adequação, montagem e exibição

no browser do usuário, quando este acessa diretamente o Servidor de Dados Multimídia,

e é composto por um conjunto de classes implementadas em servlets [SERVLETS

2007] e JSP [JSP 2007] que funcionam como a interface de exibição para o usuário. O

módulo de conversão dos objetos funciona de forma semelhante ao módulo de

apresentação, porém possui uma característica adicional que é fazer o controle das

requisições e envio dos objetos para outras plataformas de ensino a distância. Ele é o

principal elemento responsável pela integração do Servidor de Dados Multimídia com

outras Plataformas de Ensino a Distância. Além destes módulos o Servidor de Dados

Multimídia também possui um módulo para a persistencia dos objetos no banco de

dados do Servidor de Dados Multimídia. O servidor de aplicação escolhido para a

implementação dos módulos citados foi o Jakarta TomCat 5.5.9 [TOMCAT 2007] que é

um container de referência para especificação de Servlets, dentro deste contexto o

Tomcat também funciona como um Servidor WEB, fazendo o controle e gerenciamento

das requisições e respostas WEB. Os componentes do Servidor de Aplicação do SDMM

são mostrados na Figura 64

Page 111: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

108

Figura 64: Componentes do Servidor de Aplicação do SDMM

5.4.1.1.1 Módulo de Apresentação de Objetos (Apresenta Objetos)

Como já foi dito anteriormente, o módulo de apresentação de objetos é

responsável pela adequação, montagem e exibição no browser do usuário, quando este

acessa diretamente o Servidor de Dados Multimídia, e é composto por um conjunto de

classes implementadas em servlets e jsps que funcionam como a interface de exibição e

acesso para o usuário. Este módulo é composto por 4 componentes que fazem o controle

de requisição e exibição das operações solicitadas pelos usuários, quando faz o acesso

direto ao Servidor de Dados Multimídia através de sua interface de operação. Os quatro

componentes que fazem este controle são: Apresenta Imagem, Apresenta Vídeo,

Apresenta Áudio e Apresenta ORV. A Figura 65 mostra em detalhes estes componentes.

É possível observar que cada componente possui um conjunto de subcomponentes

responsáveis por cada operação.

Figura 65: Detalhamento da Camada de Apresentação dos Objetos

Page 112: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

109

Pode-se fazer uma representação de cada componente em um Diagrama de

Classes na Figura 66, da qual é possível observar a representação e relacionamento das

classes do componente Apresenta Imagem. De forma análoga pode-se representar os

demais componentes.

Figura 66: Diagrama de Classes representando o Componente Apresenta Imagem

5.4.1.1.2 Módulo de Integração com Plataformas de Ensino a Distância (ConversorHTMLXML Objetos)

O módulo de conversão dos objetos funciona de forma semelhante ao módulo de

apresentação, porém possui uma característica adicional que é fazer o controle das

requisições e envio dos objetos para outras plataformas de ensino a distância. Ele é o

principal elemento responsável pela integração do Servidor de Dados Multimídia com

outras Plataformas de Ensino a Distância, porém vale ressaltar que tal modelo foi

validado para a Plataforma de Ensino a Distância Amadeus, outras validações ficarão

para trabalhos futuros. A Figura 67 apresenta o detalhamento da camada do

ConversorHTMLXML dos Objetos. Os detalhes do funcionamento de cada componente

e de cada subcomponente serão mostrados no capítulo 6, de estudo caso da integração

com a plataforma de ensino Amadeus.

Page 113: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

110

Figura 67: Datalhamento da Camada do ConversorHTMLXML dos Objetos

Da mesma forma que foi feita na Camada de Apresentação de Objetos, também

é possível fazer uma representação de cada componente em um Diagrama de Classes na

Figura 68, da qual é possível observar a representação e relacionamento das classes do

componente ConversorHTX Imagem. De forma análoga pode-se representar os demais

componentes da Camada do ConversorHTMLXML de Objetos para cada objeto

específico como Vídeo, Aúdio e ORV.

Figura 68: Diagrama de Classes representando o Componente ConversorHTX Imagem

Page 114: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

111

5.4.1.1.3 Módulo de Manipulação de Objetos (Manipula Objetos)

O módulo de manipulação dos objetos é o módulo responsável por fazer o

controle de operações sobre cada tipo de objeto e repassar o objeto tratado para a

camada de persistencia, da mesma forma também repassa o objeto tratatado para a

camada de apresentação ou para a camada de integração.

No caso de se está tratando de objetos imagens, é possível extrair

automaticamente informações físicas da imagem através do componente ImageMagick,

gerar thumbnails e finalmente repassar o objeto para a camada de persistência de forma

que todas as informações agregadas pelo usuário e extraídas automaticamente serão

gravadas. Da mesma forma quando se trata de objetos do tipo vídeo ou áudio é possível

extrair informações físicas do vídeo ou do aúdio através do componente FFMpeg para

gerar thumbnails de frames de vídeo, segmentar frames de vídeo, equalizar áudio entre

outras operações disponibilizadas pelo FFMpeg. Para o caso de Objetos de Realidade

Virtual, a minipulação se restringe a extrair informações diretamente do código VRML

ou código X3D do Objeto de Realidade Virtual que está sendo manipulado. Lembrando

que após a manipulação dos objetos, estes serão armazenados pela camada de

persistência ou exibidos pela camada de apresentação ou pela camada de integração. A

Figura 69 mostra o módulo de manipulação dos objetos em detalhes e a Figura 70

mostra a camada de persitência dos objetos.

Figura 69: Detalhamento da Camada de Manipulação dos Objetos

Page 115: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

112

Persiste Objetos

ImagemDAO VideoDAO AudioDAO ORVDAO

DAO

Figura 70: Detalhamento da camada de Persistencia dos Objetos

5.4.1.2 SGBD do Servidor de Dados Multimídia

Este é o componente responsável por gerenciar, garantir a segurança dos objetos

armazenados contra eventuais problemas no sistema, além de impedir tentativas de

acesso não autorizado. O Sistema de Gerenciamento de Banco de Dados escolhido foi o

PostgreSQL 8.0.3, devido ao bom desempenho, fácil configuração [POSTGRESQL

2006] e também ser o mesmo Sistema de Gerenciamento de Banco de Dados adotado

pela plataforma AMADEUS_MM. Na Figura 71, é mostrado o modelo lógico do Banco

de Dados. O SGBD do Servidor de Dados Multimída se liga ao Servidor de Aplicação

do Servidor de Dados Multimía através de uma conexão JDBC criada e gerenciada no

Servidor de Aplicação.

Figura 71: Modelo Lógico do Banco de Dados

Page 116: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

113

5.5 Interface do protótipo com o usuário

Foi desenvolvida uma interface web entre o protótipo do servidor de

dados multimídia e o usuário, de forma que este pudesse ter acesso direto às

funcionalidades básicas de manipulação de objetos multimídia para aplicações

web, como inserção, consulta baseada em características descritivas do objeto

multimídia, deleção e alteração das características descritivas do objeto

multimídia. A Figura 72 mostra o professor acessando diretamente o Servidor

de Dados Multimídia.

Figura 72: Interação entre o usuário e o Servidor de Dados Multimídia

A Figura 73 mostra a interface de entrada principal para o servidor de

dados multimídia, a qual permite ao usuário escolher qual opção será

executada pelo Servidor de Dados Multimídia.

Figura 73: Tela Principal do Protótipo 4

Page 117: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

114

Segue um exemplo manipulação de vídeos no Servidor de Dados

Multimídia. As demais telas para manipulação de imagens, áudios e objetos de

realidade virtual, baseiam-se na mesma interface de manipulação de vídeos.

A Figura 74 mostra a interface de inserção de vídeo, permitindo ao

usuário descrever informações pertinentes ao vídeo e fazer o upload do arquivo

para o Servidor de Dados Multimídia.

Figura 74: Inserção de Vídeo no Protótipo 4

No momento da inserção do vídeo, o sistema possui um componente que

captura e registra no banco de dados, automaticamente, propriedades inerentes

do arquivo, como tamanho em Kbytes, duração em segundos, resolução, taxa

de frame rate, taxa de bit rate, entre outras características. No caso, tal

componente é implementado baseado em uma interface para a suite de

software open source de manipulação de vídeos ffmpeg [FFMPEG-2007].

A Figura 75 representa a interface de consulta de vídeos, na qual o

usuário pode fazer consultas baseadas nas informações descritas pelo próprio

usuário ou pelas características intrínsecas do arquivo, geradas

automaticamente pelo componente de manipulação de vídeo no momento da

inserção. Caso haja mais de um vídeo que case com os mesmos parâmetros

passados pela consulta, será mostrada uma lista com esses vídeos.

Page 118: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

115

Figura 75: Consulta de Vídeos no Protótipo 4

A Figura 76 representa a visualização de um vídeo selecionado pelo

usuário no momento da consulta. Serão mostradas todas as informações do

vídeo armazenadas no sistema e, também, o próprio objeto será visualizado na

tela do usuário através do player padrão do browser do usuário.

Figura 76: Visualização de Vídeo no Protótipo 4

Page 119: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

116

A Figura 77 representa a interface de consulta de imagens, na qual o

usuário pode fazer consultas baseadas nas informações descritas pelo próprio

usuário ou pelas características intrínsecas do arquivo, geradas

automaticamente pelo componente de manipulação de imagem. No caso, tal

componente é implementado baseado em uma interface para a suite de

software open source de manipulação de imagem ImageMagick [IMAGEMAGICK

2007]. Caso haja mais de uma imagem que case com os mesmos parâmetros

passados pela consulta, será mostrada uma lista dessas imagens.

Figura 77: Consulta de imagens no Protótipo 4

A Figura 78 representa a interface de consulta de áudios, na qual o

usuário pode fazer consultas baseadas nas informações descritas pelo próprio

usuário ou pelas características intrínsecas do arquivo, geradas

automaticamente pelo componente de manipulação de áudio. No caso, tal

componente é implementado baseado em uma interface para a suite de

software open source de manipulação de vídeo/imagem ffmpeg [FFMPEG 2007].

Caso haja mais de um áudio que case com os mesmos parâmetros passados pela

consulta, será mostrada uma lista desses áudios.

Page 120: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

117

Figura 78: Consulta de áudios no Protótipo 4

Além de vídeos, imagens e áudios, o protótipo também manipula objetos

de realidade virtual, usando o mesmo princípio da manipulação dos objetos

apresentados.

Como os objetos de realidade virtual manipulados pelo sistema são

armazenados em VRML e X3D, os dados capturados de tais objetos são

extraídos diretamente do código dos objetos VRML E X3D. Para isso, o

manipulador de objetos virtuais possui métodos específicos de acesso direto aos

códigos VRML e X3D para a extração das informações de tais objetos. A Figura

79 mostra a visualização de um objeto de realidade virtual previamente

inserido no SDMM.

Figura 79: Visualizando um Objeto de Realidade Virtual

Page 121: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

118

5.6 Considerações Finais

Este capítulo descreveu os requisitos elicitados, a prototipação e

avaliação de desempenho dos protótipos estudados, foi feito um estudo de

análise de desempenho de servidores para se escolher a técnica e a abordagem

que seria utilizada para comparar os protótipos estudados, foi definido um

protocolo de testes para validar, tanto em ambiente local quanto em ambiente

real os protótipos nos cenários especificados, de forma a permitir fazer uma

comparação quantitativa baseada em análise de séries temporais [EHLERS

2007]. Dada a análise dos resultados e uma vez confirmado o protótipo alvo,

dentre os protótipos avaliados, de forma que o protótipo alvo seria escolhido

para se tornar o cerne do Servidor de Dados Multimídia e agregar novas

funcionalidades. Além disso, foram apresentados a arquitetura e os

componentes do Servidor de Dados Multimídia, além da Interface de Operação

entre o Servidor de Dados Multimídia e seus usuários correntes.

Page 122: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

119

6 Estudo de Caso: Integração com a plataforma

Amadeus

Este capítulo apresenta de forma detalhada a arquitetura da Plataforma

de Ensino a Distância Amadeus-MM, apontando o elo de integração com o

Servidor de Dados Multimídia bem como apresenta os componentes

necessários que devem ser implementados na Plataforma de Ensino a Distância

para poder se comunicar com o Servidor de Dados Multimídia. Além de

mostrar o funcionamento detalhado de cada um desses componentes, tanto do

lado da Plataforma de Ensino a Distância quanto do lado do Servidor de Dados

Multimídia.

6.1 Arquitetura de Integração com a Plataforma Amadeus-MM

Esta seção aborda como é constituída a arquitetura da plataforma

Amadeus-MM, bem como o detalhamento dos componentes desta plataforma e

a forma como foi feita a integração com o Servidor de Dados Multimídia.

6.1.1 Padrões Arquiteturais da plataforma Amadeus-MM

A plataforma AmadeusMM é composta por vários componentes que

interagem para o correto funcionamento do sistema, representados na Figura 80

distribuídos em uma topologia cliente-servidor.

Figura 80: Arquitetura do Amadeus-MM Adaptado de [AMADEUS 2006]

Page 123: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

120

6.1.1.1 Modelo de Componentes da Plataforma Amadeus-MM

Servidor AmadeusMM

Componente responsável pela manutenção das informações dos alunos e

cursos disponibilizados pelo ambiente. Este componente atua como um

centralizador das informações que são armazenadas em SGBD. Internamente,

este componente divide-se em vários módulos, com diferentes

responsabilidades dentro do sistema. O módulo de cadastro disponibiliza as

funcionalidades de manipulação (inserção, remoção, consulta e atualização) de

dados dos usuários e cursos do ambiente. O módulo de gestão de conteúdo

permite a manipulação dos diversos materiais a serem associados aos cursos

existentes. O módulo de avaliação é específico para a criação de testes e tarefas

a serem realizadas pelos alunos como critério de aprovação nos cursos

realizados. Por fim, o módulo de percepção social contempla as funcionalidades

previstas para permitir a introdução do conceito de transparência ou percepção

social aos usuários do AmadeusMM. Este conceito indica que os usuários

devem ser conscientes de atividades que estejam acontecendo por outros

usuários e que sejam relevantes dentro de contexto (usuários presentes que

façam o mesmo curso, usuários que estejam realizando a mesma atividade).

Devido à necessidade de informações espalhadas nos demais módulos do

servidor, o módulo de percepção é dependente dos demais, representado pelas

setas de comunicação descritas na Figura 81[AMADEUS 2006].

Middleware AmadeusMM

Componente de comunicação entre aplicações clientes e a infra-estrutura

servidora do AmadeusMM. As aplicações clientes que solicitam informações da

plataforma servidora utilizam uma API, que indicam como as requisições

destes clientes devem ser tratadas pela Plataforma AmadeusMM.

Page 124: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

121

WebSite, MicroMundos e Mídias.

O acesso ao ambiente pode ser realizado de diferentes formas.

Primeiramente, o usuário pode utilizar um browser WEB para acessar os cursos

e demais funcionalidades do ambiente. Além desta forma, os conceitos de micro

mundos e mídias permitem que usuários também utilizem aplicações desktop

distribuídas através de programas específicos ou em mídias educativas como

CD-ROMs, para acesso ao ambiente. Estas aplicações poderão se comunicar

(trocar informações, disparar novos processos) de forma síncrona, permitindo

que as ações realizadas em cada aplicação tenham influencia as demais

aplicações utilizadas pelo usuário em um dado instante.

A Figura 81 mostra a integração entre o Servidor de Dados Multimídia e

a Plataforma de Ensino a Distância Amadeus-MM. É possível observar na

Figura 81 que foi preciso implementar no Middlewere do Amadeus-MM o

componente ConversorXMLHTML, componente responsável por fazer as

requisições ao SDMM, receber as respostas do SDMM e repassar as páginas

web transformadas adequadamente para o Módulo de Gestão de Conteúdo do

Amadeus-MM.

Figura 81: Integração entre o SDMM e Amadeus-MM

Page 125: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

122

O objetivo é permitir que além do Amadeus-MM, outras plataformas de ensino

a distância que não possuem gerenciamento de objetos multimídia possam usar

os serviços do Servidor de Dados Multimídia. Vale ressaltar que o presente

trabalho fez experimentos para a plataforma Amadeus-MM, ficando para

trabalhos futuros novos experimentos com outras plataformas de ensino

baseadas no modelo web adotado pela plataforma Amadeus-MM.

A integração entre o Servidor de Dados Multimídia e a plataforma de ensino

a distância estudada basea-se em:

• Uso de XML para a troca de dados;

• Adaptação do módulo ConversorHTMLXML no lado do Servidor de

Dados Multimídia, de forma que este módulo responda às requisições da

plataforma de ensino a distância; e

• Criação de classes ou componentes do lado da plataforma de ensino a

distância de forma que possam fazer as requisições e devidas conversões

de respostas enviadas pelo servidor de dados multimídia.

O modelo proposto permite uma integração dos serviços disponibilizados

no servidor de dados multimídia para plataformas de educação a distância

baseadas na WEB.

Uma forma eficiente de transferir dados de maneira simples é usar troca

de mensagens baseadas em XML, onde é definido um padrão de troca de

mensagem em comum entre o servidor de dados multimídia e a plataforma de

ensino a distância que usa o serviço. Para isso, é preciso que o SDMM receba

uma solicitação e transforme a resposta da solicitação em um conjunto padrão

XML que será enviado para o sistema que solicitou.

O sistema de origem também precisa implementar um recurso que

receba a resposta em um padrão XML pré-definido e converta para o padrão

HTML de sua aplicação.

A idéia de se usar troca de mensagens XML, além de facilitar a

integração entre os sistemas, permite criar componentes que não alteram de

forma intrusiva a arquitetura ou a codificação da plataforma de ensino a

Page 126: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

123

distância que implementar as chamadas e recebimentos dos serviços

disponibilizados pelo Servidor de Dados Multimídia.

Na Figura 82, referente à arquitetura do SDMM, pode-se destacar o

elemento principal da integração com as outras Plataformas de Ensino a

Distância. Este componente é chamado de ConversorHTMLtoXML.

Figura 82: Componente ConversorHTMLtoXML

Como o próprio nome sugere, este componente é responsável por receber uma

solicitação externa de um objeto multimídia. Após a solicitação, ele faz a

consulta e o processamento no SDMM e este retorna um arquivo XML contendo

as informações do objeto multimídia e o link do objeto previamente

armazenado no Servidor WEB controlado pelo SDMM.

A Figura 83 mostra de forma detalhada um dos sub-componentes do

componente ConversorHTMLtoXML.

Figura 83: Subcomponentes do ConversorHTMLtoXML

Page 127: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

124

Existem 5 componentes básicos no ConversorHTMLtoXML. Cada componente

é responsável por receber um tipo de solicitação, processar esta solicitação e

devolver um arquivo XML correspondente à solicitação feita pela Plataforma de

Ensino a Distância. Cada componente Object pode ser um tipo imagem, vídeo,

áudio ou objeto de realidade virtual.

Os componentes básicos são:

HTXPesquisaObject – componente responsável por receber uma solicitação de

consulta de objeto, no qual, após processamento no SDMM, ele retorna um

objeto, ou uma lista de objetos que case com a consulta, gera um arquivo XML

contendo as características do objeto e o link (URL) do objeto previamente

armazenando no servidor web controlado pelo SDMM;

HTXEditaObject - componente responsável por receber uma solicatação de

edição de um objeto já identificado pelo sistema e pelo SDMM, ou seja, na

solicitação já é conhecido o identificador único do objeto a ser editado. Após o

processamento interno no SDMM, ele retorna um arquivo XML com

características que serão editadas pelo sistema que solicitou;

HTXVizualizaObject – componente responsável por receber uma solicitação de

visualização do objeto já identificado. Após o processamento interno no SDMM,

ele retorna uma arquivo XML contendo todas as características do objeto e o link

(URL) do objeto previamente armazenado no servidor web controlado pelo

SDMM;

HTXInsereObject – é o componente responsável por receber um arquivo XML

contendo todas as informações do objeto multimídia e fazer o upload do objeto

para o SDMM. Uma vez concluída a operação, o SDMM retorna um arquivo

XML com uma mensagem de sucesso e as características do objeto e a URL do

objeto armazenado no servidor web controlado pelo SDMM;

HTXExcluiObject – é o componente responsável por excluir um objeto já

identificado. Caso haja permissão de exclusão do objeto, o componente dispara

um processo para excluir o objeto do servidor web e do banco de dados do

SDMM, e logo após, retorna um arquivo XML contendo o sucesso ou não da

operação.

Page 128: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

125

Da mesma forma que existe no SDMM um componente

ConversorHTMLtoXML para responder as solicitações dos sistemas externos

(Plataformas de Educação a Distancia), deve existir no sistema solicitante

(Plataformas de Educação a Distancia) um componente

ConversorXMLToHTML para enviar as solicitações para o SDMM, receber as

mensagens do SDMM e converter o conteúdo dessas mensagens para um

arquivo HTML que possa ser interpretado ou integrado à plataforma de EAD.

O componente pode ser visualizado na Figura 84 e ele é composto por sub-

componentes de conversão de arquivos XML para arquivos HTML que serão

encarregados de extrair as informações das mensagens XML e montar páginas

HTML que serão visualizadas na plataforma de EAD, de acordo com as

peculiaridades do sistema de EAD.

Figura 84: Componente ConversorXMLtoHTML e templates para a Plataforma de Ensino

A seguir, serão descritos os componentes conversores XML to HTML que

devem ser implementados na Plataforma de Ensino a Distância para que possa

ser estabelecida a integração e comunicação com o SDMM:

XTHPesquisaObjeto – uma vez definido o tipo de objeto que será consultado no

SDMM (vídeo, áudio, imagem ou objeto de realidade virtual) e passados os

parâmetros de consulta via uma requisição HTTP, logo após o SDMM identifica

o tipo de solicitação, no caso uma consulta de um objeto tipo x, faz o

processamento e envia para o componente do EAD o arquivo XML

correspondente. Quando o arquivo XML é recebido pelo componente

Page 129: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

126

cxthsearchObject, ele “monta” o HTML baseado no componente

templateSearch.html, de forma que este HTML será processado ou visualizado

de acordo com os padrões de projeto e implementação da interface do sistema

de EAD em questão;

XTHEditaObjeto – uma vez definido o tipo de objeto que será editado no

SDMM e passado os parâmetros de edição, o SDMM salva estes parâmetros e

envia o arquivo XML correspondente à edição. Quando o arquivo XML é

recebido pelo componente cxtheditobject, ele “monta” o HTML baseado no

componente templateEdit.html de forma que este HTML será processado de

acordo com os padrões de projeto e implementação de interface do sistema

EAD em questão;

Os demais componentes funcionam de forma semelhante. A descrição e o

funcionamento destes componentes implementados na Plataforma de Ensino a

Distância mostra a simplicidade de integração dos sistemas, ao mesmo tempo

em que não interfere, ou depende da arquitetura da Plataforma de Ensino a

Distância, permitindo assim uma maior flexibilidade e extensibilidade de

implementação na plataforma de EAD.

Para isso, (comprovar a eficiência, desempenho e facilidade de

integração), foi feito um estudo de caso com um ambiente real e operacional de

ensino a distancia para comprovar o funcionamento do modelo proposto.

6.2 Visualização da Interface de Integração entre SDMM e Amadeus-

web.

Nesta seção será mostrado o produto final da integração entre o Servidor

de Dados Multimídia e a plataforma de ensino a distância alvo.

Uma vez definida e implementada a arquitetura e o módulo de integração

(ConversorHTMLXML Objetos) no lado do Servidor de Dados Multimídia, foi

definido e implementado o componente de integração (ConversorXMLHTML

Objetos) do lado do Amadeus. Foram feitas chamadas a partir do módulo de

gestão de conteúdo de forma que os conteúdos criados na Plataforma de Ensino

a Distância usassem recursos do Servidor de Dados Multimídia. O seguinte

Page 130: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

127

exemplo mostra o contexto de um trabalho desenvolvido, para a Secretaria de

Defesa Social, a qual solicitou a criação de um trabalho para desenvolver uma

atividade de vídeo-chat na plataforma de ensino a distância.

Esse contexto mostra a figura de um professor que criará um curso, o qual

será chamado de “Primeiros socorros”; logo após criar o curso, o professor

criará um módulo dentro deste curso, o qual será chamado de “Resgatando um

Acidentado”; depois de criado o curso, o professor fará uma consulta de um

vídeo armazenado no Servidor de Dados Multimídia. É possível notar que neste

passo, a interface de consulta de vídeo já está integrada ao Amadeus-MM. Após

o professor consultar a lista de vídeos retornada na pesquisa, ele escolhe o

vídeo que será adicionado ao módulo em questão e, finalmente, o professor

salva as alterações do módulo e do curso, e automaticamente este curso é

disponibilizado pela Plataforma de Ensino a Distância.

No segundo momento, o aluno deve escolher o curso que irá participar. O

aluno selecionará o módulo a ser estudado e logo em seguida visualizará o

vídeo da atividade, neste caso, o vídeo foi adicionado em uma atividade do tipo

vídeo-chat, onde dois ou mais alunos ao selecionarem o vídeo da atividade,

poderão assistir ao vídeo e em tempo real e poder conversar com outros alunos

e o professor que criou aquela atividade de vídeo-chat.

As figuras 85 a 94 permitem visualizar o contexto descrito acima no

ambiente operacional da plataforma de ensino a distância.

Page 131: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

128

Interface na Visão do Professor usando os serviços do SDMM Professor Cria o Curso:

Figura 85: Professor Cria um curso na Plataforma Amadeus

Professor Cria o Módulo:

Figura 86: Professor cria um módulo dentro do curso recém criado

No módulo, o professor cria uma atividade e faz uma consulta de Vídeos

disponíveis no SDMM. Aqui é possível observar a interface de acesso ao

SDMM, consultar vídeo:

Page 132: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

129

Figura 87: Consultando um vídeo dentro da Plataforma Amadeus

Professor Visualiza a lista de Vídeos Disponíveis na plataforma de ensino a distância:

Figura 88: Visualizando lista de vídeos disponíveis após consulta

O professor pode, então, visualizar o vídeo escolhido. Neste caso, o player

que o vídeo toca, é o player padrão do browser do usuário:

Page 133: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

130

Figura 89: Visualizando um vídeo selecionado na lista de vídeos

Professor salva o vídeo como atividade.

Após o professor criar o curso, criar o módulo e adicionar a atividade, o

curso é disponibilizado na plataforma de ensino a distância.

Uma vez o curso disponibilizado, qualquer aluno poderá acessar este

curso para usufruir do seu conteúdo.

Interface na Visão do Aluno usando os serviços do EAD

Aqui é mostrado o aluno acessando a plataforma de ensino a distância

Amadeus para consultar os cursos disponíveis.

Aluno acessa Amadeus para realizar atividade:

Figura 90: Tela de acesso ao Amadeus

Page 134: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

131

Aluno seleciona o Curso “Curso de Primeiros Socorros” no Amadeus:

Figura 91: Aluno seleciona curso

Aluno seleciona o Módulo “Resgatando o acidentado”:

Figura 92: Aluno seleciona módulo e atividade vídeo

Aluno escolhe visualizar Atividade Video-Chat.

Quando o aluno seleciona um vídeo na atividade, ele é direcionado para

um lobby de salas de discussão, no qual o aluno escolhe a sala e logo após é

iniciada a visualização do vídeo, junto com outros alunos que escolheram a

mesma sala.

Page 135: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

132

Figura 93: Conjunto de salas disponíveis para a discussão do vídeo da atividade

Finalmente, o aluno poderá assistir ao vídeo e discutir o vídeo junto com

outros alunos e o professor que criou esta atividade.

Figura 94: Ambiente de vídeo-chat para a discussão do vídeo

Page 136: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

133

6.3 Considerações Finais

Neste capítulo foi feito um estudo sobre a arquitetura da Plataforma de Ensino a

Distância Amadeus, e a partir deste estudo foi definida a forma de integração levando

em consideração o middleware disponibilizado pelo AMADEUS-MM, de forma que foi

implementado um conjunto de componentes que viabilizasse a troca de mensagens entre

o Servidor de Dados Multimídia e o Amadeus-MM. Cada um dos componentes

implementados nos dois lados foram descritos e visualizados. Este capítulo culminou

em uma desmonstração aplicada da integração do Servidor de Dados Multimídia com o

Amadeus-MM, mostrando a interação do começo ao fim dos sistemas integrados. Foi

possível acompanhar uma demanda real de Ensino a Distância gerada pela Secretaria de

Defesa Social de Pernambuco e implementada junto com a equipe do projeto Amadeus-

MM, de forma que demonstrou o funcionamento da arquitetura e interfaces

desenvolvidas para a integração entre o Servidor de Dados Multimídia e a Plataforma de

Ensino a Distância.

Page 137: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

134

7 Conclusões

Nesse trabalho, foram investigados aspectos conceituais de objetos multimídia e

de realidade virtual, bem como técnicas de manipulação, armazenamento e recuperação

de objetos em banco de dados. Foram realisados estudos com relação ao uso de objetos

multimídia e de realidade virtal em Plataformas de Ensino a Distância, tendo sido

definidos, especificados e implementados protótipos nas abordagens estudadas sobre

armazenamento e recuperação de objetos multimídia e de realidade virtual em

ambientes de ensino a distância. Foram executados planos de avaliação de desempenho

dos protótipos tanto em ambiente local, quanto em ambiente real para assegurar a

escolha do protótipo mais eficiente para ser usado como cerne do servidor de dados

multimídia. Foi criada uma arquitetura do servidor de dados multimídia de forma que o

mesmo pudesse ser integrado a plataformas de ensino a distância de forma transparente

para a plataforma e, por fim, foram alcançados todos os objetivos planejados na

pesquisa.

A seguir será apresentado um resumo das principais contribuições do presente

trabalho (Seção 7.1), e propostas de alguns trabalhos futuros (Seção 7.2). As

considerações finais serão feitas na seção 7.3.

7.1 Resumo das Contribuições

A seguir é apresentado um resumo das principais contribuições do dsete

trabalho:

• Formação de um material de estudo sobre aspectos conceituais e de

manipulação de objetos multimídia e de realidade virtual;

• Formação de um material de estudo sobre aspectos de recuperação de

objetos baseada em conteúdo e recuperação de objetos baseada em meta-

dados;

• Adaptação de ferramentas open-source para manipulação de objetos

multimídia para plataformas de ensino a distância, mostrando os recursos

Page 138: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

135

do ImageMagick e FFMpeg para manipulação, transformações e

extração de informações de objetos multimídia;

• Uma nova abordagem para gerenciamento colaborativo de objetos

multimídia e de realidade virtual para plataformas de ensino a distância,

permitindo que vários professores, ou tutores, possam compartilhar

material multimídia e de realidade virtual em um ambiente integrado e de

fácil usabilidade, reaproveitando materiais e incrementando a descrição

dos mesmos de forma colaborativa;

• Os experimentos sobre a avaliação dos protótipos estudados geraram um

trabalho final de graduação em ciência da computação, trabalho

intitulado: Análise de Serviços de Manipulação de Objetos Multimídia

em Sistemas Virtuais de Ensino, por Antonio Josivaldo do Nascimento

Filho;

• O presente trabalho serviu de base e recurso para desenvolvimento de um

trabalho da disciplina de Ciência da Computação do Centro de

Informática da UFPE, intitulada Desenvolvimento de Projetos, por meio

do Professor Alex Sandro Gomes e a Equipe Brainz, que desenvolveu o

trabalho de criação de um video-chat integrado com uma plataforma de

ensino a distância, trabalho que por sua vez utilizou, efetivamente,

recursos do Servidor de Dados Multimídia desenvolvido neste trabalho.

7.2 Limitações e Trabalhos Futuros

O modelo do Servidor de Dados Multimídia proposto, atualmente, permite fazer

consultas apenas baseadas em metadados de descrição do objeto, ou seja, as buscas são

realizadas nas informações armazenadas na tabela do banco de dados que descreve o

objeto. Foram estudas no Capítulo 3, várias técnicas de busca baseadas em conteúdo de

imagem, de vídeo, de áudio e de objetos de realidade virtual, com isso pode ser indicado

como trabalho futuro o estudo dessas técnicas aplicadas à busca de conteúdo associada

com plataformas de ensino a distância. Dessa forma, tais buscas baseadas em conteúdo

agregariam mais valor a sistemas virtuais de ensino.

Page 139: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

136

Também foi observado que a transmissão dos objetos multimídia e objetos de

realidade virtual são feitas sob demanda e os objetos são enviados de forma constante,

ou seja, não existe nenhum tipo de adaptação do conteúdo, ou adaptação de banda de

transmissão. Existem várias técnicas de computação pervasiva e de qualidade de serviço

que permitem a adaptação dos objetos de acordo com o contexto solicitado, por

exemplo, caso o usuário estivesse usando um celular, no momento que ele fizesse uma

solicitação de um objeto multimídia ou de realidade virtual do servidor de dados

multimídia, automaticamente o servidor de dados multimídia reconheceria a capacidade

média da banda de transmissão do requisitante, o tipo de equipamento do requisitante, a

resolução com suporte no dispositivo do requisitante, e através dessas informações farai

transformações que adaptariam o conteúdo ao equipamento do solicitante.

Fazer estudos referentes à escalabilidade do servidor, permitindo que o servidor

acomode aumentos possivelmente grandes no número de usuários, aplicações e novas

funcionalidades. O servidor deverá permitir escalonamento tanto na escalabilidade

horizontal (adicionando mais máquinas), quanto na escalabilidade vertical (fazer a troca

de máquinas com maior poder de processamento), de forma que a arquitetura proposta

para Servidor de Dados Multimídia permitisse tal escalabilidade sem sofrer grandes

alterações que impactassem no fornecimento e manutenção do serviço.

Page 140: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

137

Referências [ADOBE 2007] ADOBE. Site oficial da Adobe, 2007. Disponível em:

http://www.adobe.com Acesso em: 02/05/2007.

[AJAX 2006] AJAX: A new Approuche to Web Applications. Disponível em http://www.adaptivepath.com/ideas/essays/archives/000385.php Acesso em: 12/06/2006.

[ALEXA 2007] ALEXA. The Web Information Company, 2007. Disponível em http://www.alexa.com Acesso em 10/12/2007.

[AMADEUS 2006] AMADEUS. Plataforma de Educação à distância. Disponível em http://amadeus.cin.ufpe.br. Acesso em: 01/04/2006.

[AMPAS 2007] AMPAS. Academy of motion pictures arts and sciences, 2007 . Disponível em: http://www.oscars.org Acesso em: 15/05/2007.

[ANDERSON 2006] ANDERSON T., Theory and Practice of Online Learning. Atabasca University Canada, 2006. Disponível em http://cde.athabascau.ca/online_book. Acesso em 16/11/2006

[ANNOTATION 2007] ANNOTATION. IBM Annotation tool, 2007. Disponível em http://www.alphaworks.ibm.com/tech/videoannex Acesso em 03/09/2007

[APACHE 2007] APACHE. Apache Software Foundation, 2007. Disponível em http://www.apache.org Acesso em 20/02/2007

[APPLE 2007] APPLE. QuickTime and MPEG-4: Now Featuring H.264, 2007. Disponível em: http://images.apple.com/quicktime/pdf/H264_Technology_Brief.pdf. Acesso em: 02/06/2007.

[APRENDERNANET 2006]

APRENDERNANET. Construir uma infra-estrutura para o e-Learning, 2006. Disponível em http://portal.aprendernanet.com Acesso em 25/06/2006

[BARBER 2007] BARBER R. Scott. Beyond Performance Testing – A performance Engineering Strategy, 2007. Disonível em http://www.perftestplus.com/resources/BPT2.pdf Acessom em 01/10/2007

Page 141: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

138

[BATTISTA et al.1999] BATTISTA, S., CASALINO F.; LANDE, C., 1999. MPEG-4: A Multimedia Standard for the Third Millennium - Part 1. IEEE MultiMedia. Revisar

[BDA 2007] BDA. Blu-ray Disc Association, 2007. Disponível em: http://www.blu-raydisc.com/. Acesso em: 01/05/2007.

[BITDEPTH 2007] BITDEPTH. Understanding Bit Depth, 2007. Disponível em: http://www.cambridgeincolour.com/tutorials/bit-depth.htm Acesso em 10/05/2007.

[BOHMS 1994] BOHMS K. Metadata for multimedia documents. SIGMOD RECORD, 23(4):21-26, 1994 Revisar

[CARSON 1999] CARSON C., BELONGIE S., GREENSPAN H., MALIK J. Blobworld: Image segmentation using Expectation-Maximization and its application to image querying, Third International Conference on Visual Information Systems 1999.

[CECCEHET et al 2002] CECCHET E., MARGUERITE J., ZWAENEPOEL W., “Performance and Scalability of EJB Applications”, Proc 17th Conference on Object-Oriented Programming, Systems, Languages and Applications, Seatle, WA. 2002

[CHIARIGLIONE 1996] CHIARIGLIONE, L. Short MPEG-1 description, 1996. Disponível em: http://www.chiariglione.org/mpeg/standards/mpeg-1/mpeg-1.htm. Acesso em: 02/05/2006.

[CLAROLINE 2006] CLAROLINE – Open Source Learning Management System, 2007. Disponível em http://www.claroline.net. Acesso em 05/07/2007

[COMPUSERVE 2007] COMPUSERVE. Site oficial da Compuserve, 2007. Disponível em: http://www.compuserve.com. Acesso em: 02/05/2007.

[CORNELL 2000] CORNELL. Moving theory into practice: Digital imaging tutorial. Relatório Técnico, Cornell University Library. 2002

[DA SILVA 2006] DA SILVA, R. C., 2006. Benchmark em banco de dados multimídia: Análise de desempenho em recuperação de objetos multimídia. Dissertação de Mestrado, Universidade Federal do Paraná. Disponível em: http://dspace.c3sl.ufpr.br/dspace/bitstream/1884/4683/1/di

Page 142: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

139

sserta_ricardo.pdf. Acesso em: 10/05/2007.

[DATTA et al 2007 ] DATTA R., JOSHI D.J, LI J.and JAMES Z. WANG . Image Retrieval: Ideas, Influences and Trends of the New Age. The Pennsylvania State University, 2007. Disponível em http://infolab.stanford.edu/~wangz/project/imsearch/review/JOUR/datta.pdf Acesso em 23/10/2007

[DPX 2007] Digital Picture Exchange - The Society of Motion Pictures and Television Engineers, 2007. Disponível em www.smpte.org Acesso em 23/07/2007

[EBERSPACHER 2006] EBERSPACHER F., JAMU H., ELEUTÉRIO M. Using a web-based learning environment for distance education, 2006. Disponível em ftp://ftp.lami.pucpr.br/Pub/Docs/Art9906.pdf Pontifical Catholic University of Paraná – PUCPR. Acesso em 11 nov. 2006.

[EHLERS 2007] EHLERS Ricardo S. Análise de Séries Temporais. Laboratório de Estatística e Geoinformação. Universidade Federal do Paraná, 2007. Disponível em http://leg.ufpr.br/~ehlers/notas/stemp.pdf Acesso em 10/10/2007

[EIDENBERGER et al 2002]

EIDENBERGER H., BREITENEDER C., HITZ M. A Framework for Visual Information Retrieval Visual Information and Information Systems. 2002

[EXR 2007] Open EXR - Site oficial, 2007. Disponível em www.openexr.org Acesso em 23/07/2007

[FFMPEG 2007] FFMEP. Site oficial Ffmpeg, 2007. Disponível em http://ffmpeg.mplayerhq.hu. Acesso em 04/06/2007

[FOTOLOG 2007] FOTOLOG. Site oficial do Fotolog, 2007. Disponível em http://www.fotolog.com. Acesso em 15/05/2007

[FRANÇA 2005] FRANÇA, B. M. Banco de Dados Multimídia. Disponível em: http://www.inf.ufrgs.br/~clesio/cmp151/cmp15120021/artigo_montgomery.pdf Acesso em: 11 set. 2006.

Page 143: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

140

[FRAUNHOFER 2007] FRAUNHOFER. Instituto Fraunhofer, 2007. Disponível em: http://www.iis.fraunhofer.de/. Acesso em: 10/05/2007.

[FREEBSD 2007] FreeBSD. The FreeBSD Project, 2007. Disponível em http://www.freebsd.org. Acesso em 10/07/2007

[GATTASS 2005] GATTASS, M.,. Imagem Digital, 2005. Disponível em: http://www.tecgraf.puc-rio.br/~mgattass/cg/pdf/03_ImagemDigital.pdf. Acesso em: 10/05/2007.

[GIBSON 2006] GIBSON, B., Sampling Rates from The AudioPro Home Recording Course, 2006. Disponível em: http://digitalproducer.digitalmedianet.com/articles/viewarticle.jsp?id=7408. Acesso em: 13/05/2006.

[GOFISH 2007] GoFish, Site oficial, 2007. Disponível em: http://www.gofish.com/. Acesso em: 02/05/2007.

[GONZALEZ & WOODS 1992]

GONZALEZ, R. C. and WOODS, R. E., Digital Image Processing, 1992. Addison-Wesley Publishing Company.

[GOOGLE VIDEO 2007] GOOGLE VIDEO, Site oficial, 2007. Disponível em: http://www.googlevideo.com. Acesso em: 02/05/2007.

[GOULART 2003] GOULART, R., Personalização e adaptação de conteúdo baseadas em contexto para TV Interativa, 2003. Tese apresentada ao Instituto de Ciências Matemáticas e de Computação - ICMC-USP. Disponível em: http://www.mpeg.org.br/arquivos/rudinei.pdf. Acesso em: 02/05/2007.

[IBMRUP 2007] IBMRUP. Beyond Performance testing: A performance engineering strategy, 2007. Disponível em http://www-128.ibm.com/developerworks/rational/library/4215.html. Acesso em 03/06/2007

[IETF 2007] IETF. Internet Engineering Task Force, 2007. Disponível em: http://www.ietf.org. Acesso em: 02/05/2007.

[IMAGEMAGICK 2007] IMAGEMAGICK . Image Magick – A tool to convert, Edit and compose images, 2007. Disponível em http://www.imagemagick.org Acesso em 10/06/2007

[INTERMEDIA 2007] INTERMEDIA . Oracle Intermedia, 2007.Disponível em http://www.oracle.com/technology/documentation/intermedia.html. Acesso em 26/10/2007

Page 144: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

141

[ISMA 2007] ISMA. Internet Streaming Media Alliance, 2007. Disponível em: http://www.isma.tv/. Acesso em: 02/05/2007.

[ITU-T 2007] ITU-T. International Telecommunication Union - ITU-T, 2007. Disponível em: http://www.itu.int/ITU-T. Acesso em: 12/05/2007.

[JAIN 1991]. JAIN, R. “The art of computer systems performance evaluation”, 1991. Wiley Computer Publishing, ISBN: 0-47150336-3

[JAVA 2006] JAVA. Site oficial, 2007 Disponível em http://sun.java.com Acesso em 10/10/2007

[JMETER 2007] JMETER. Site oficial, 2007. Disponível em http://jakarta.apache.org.jmeter. Acesso em 10/04/2007

[JPEG 2007] JPEG. Joint Photografic Experts Group – JPEG, 2007. Disponível em: http://www.jpeg.org. Acesso em: 10/05/2007.

[JSP 2007] JSP. Sun Microsystems, JSP – JavaServer Pages, 2007. Disponível em http://java.sun.com/products/jsp. Acesso em 02/05/2007

[JVT 2007] JVT. Joint Video Team – JVT, 2007. Disponível em: http://www.itu.int/ITU-T/studygroups/com16/jvt/index.html. Acesso em: 10/05/2007.

[LEW et al. 2006] LEW M.S., NICU S. Leiden. Content-based Multimedia Information Retrieval:State of the Art and Challenges, University, University of Amsterdam, The Netherlands and RAMESH JAIN, 2006. University of California at Irvine, USA CHABANE DJERABA, LIFL, France.

[Liu et al 2004] LIU, Y., GORTON, I. “Predicting the Performance of Middelware-based Applications at the Design Level”, Proc. 4th Int, 2004. Workshop on Software and Performance.

[LINUX 2007] Linux. Linux on-line homepage, 2007. Disponível em http://www.linux.org Acesso em 07/02/2007.

[LLADÓ e HARRISON 2000]

LLADÓ, C. e HARRISON, P.. “Performance Evaluation of an Enterprise JavaBeans Server Implementation”, proc. 2nd international Workshop on Software and Performance, 2000, Ottawa, Canada, pp.17-20.

Page 145: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

142

[LUEBKE et al 2002] LUEBKE, D. et al., Level of Detail for 3D Graphics, Morgan Kaufmann; 2002.

[MCGUINNES e MURPHY 2005]

MCGUINNES, D., e MURPHY, L. “A simulation modelo f a multi-server systems, 2005, A-MOST’05, St. Louis, Missouri, USA.”

[MEDIAWIKI 2007] MEDIAWIKI. Site oficial, 2007. Disponível em http://www.mediawiki.org. Acesso em 04/02/2007

[METACAFE 2007] METACAFE. Site oficial, 2007 Disponível em: http://www.metacafe.com. Acesso em: 02/05/2007.

[METADATA 2005] METADATA: A cataloger’s primer - Richard P. Smiraglia Long Island University 2005 by The Howorth Press Inc.

[MICROSOFT 2007] MICROSOFT® Corporation. Site oficial 2007. Disponível em: http://www.microsoft.com. Acesso em: 02/05/2007.

[MOODLE 2006] MOODLE. Site oficial, 2007. Disponível em http://www.moodle.org. Acesso em 30/06/2006

[MPEG 2007] MPEG. Moving Picture Experts Group – MPEG, Site oficial, 2007. Disponível em: http://www.mpeg.org. Acesso em: 05/05/2007.

[MYSPACE 2007] MYSPACE. Site oficial, 2007. Disponível em http://www.myspace.com. Acesso em 15/05/2007

[MYSQLAB 2007] MYSQLAB. Site oficial MySQL, 2007. Disponível em http://www.mysql.com/companny acesso em 05/02/2007

[NASCIMENTO 2007] NASCIMENTO F. J. Antonio. Análise de Serviços de Manipulação de Objetos Multimídia em Sistemas Virtuais de Ensino, 2007. Trabalho de Conclusão de Curso, Universidade Federal de Pernambuco. Disponível em: http://www.cin.ufpe.br/~tg/2007-1/ajnf.pdf

[NIBLACK et al 1993] NIBLACK, R. BARBER, W. Equitz, M.Flickner, E.Glasman, DPetkovic and P.Yanker.IBM QBIC System 1993. The QBIC Project: Quering Images by content using color, textura and shape. SPIE Conference on Storage and Retrieval for Image and Video Databases, pages 173-187, 1993

Page 146: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

143

[ON2 2007] ON2 Technologies. Site oficial, 2007. Disponível em: http://www.on2.com/. Acesso em: 03/05/2007.

[ORACLE 2007] ORACLE. Site oficial, 2007. Disponível em http://www.oracle.com. Acesso em 25/02/2007

[PDF 2007] Adobe Portable Document Format. Site oficial, 2007. Disponível em www.adobe.com/pdf. Acesso em 23/07/2008

[PHP 2007] PHP. Site oficial, 2007. Disponível em http://www.php.net. Acesso em 30/06/2007

[POSTGRESQL 2006] POSTGRESQL. Site oficial, 2006 Disponível em http://www.postgresql.org. Acesso em 17/10/2006.

[POSTSCRIPT 2007] Adobe Postscript. Site oficial, 2007. Disponível em www.adobe.com/postscript. Acesso em 23/07/2007

[PHOTOCD 2007] Kodak pro photocd system - site oficial, 2007. Disponível em www.kodak.com/go/photocd. Acesso em 23/07/2008

[REALNETWORKS 2007] REALNETWORKS. Site oficial, 2007. Disponível em: http://www.realnetworks.com. Acesso em: 04/05/2007.

[SACCA 2004] SACCA – Sistema Automático de Catalogação de Conteúdo, Audiovisual, Renato Luís de Souza Dutra, Liane Margarida Rockenbach Tarouco, Mary Lucia Pedroso Konrath. Universidade Federal do Rio Grande do Sul. 2004

[SETHI 2002] SETHI I. K.Content-based Multimedia Information Retrievel - Intelligent Information Engineering Laboratory - Department of Computer Science & Engineering - Oakland University - Rochester, MI 48309 www.cse.secs.oakland.edu/isethi. Acesso em 03/10/2007

[SERVLETS 2007] SERVLETS. Java Servlets Technology, Site oficial, 2007. Disponível em http://java.sun.com/products/servelt Acesso em 05/05/2007

[SILBERSCHATZ 1999] SILBERSCHATZ, H. F. Korth and S. Sudarsh. Sistema de Banco de dados. Terceira Edição. São Paulo: Makron Books, 1999.

Page 147: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

144

[SITARAM 1999] D. SITARAM and A. Dan. Multimedia Servers: Applicactions, Environments and Design. Morgan Kaufmann Publishers, October 1999.

[SMITH et al 1996] SMITH J.R., MENG H.J., WANG H., ZHONG D., Finding Images/Video in Large Archives , CNRI Digital Library Magazine, Feb. 1996.

[SMPTE 2007] SMPTE. Society of Motion Picture and Television Engineers – SMPTE, Site official, 2007. Disponível em: http://www.smpte.org/. Acesso em: 07/05/2007.

[SONY 2007] Sony. Disponível em http://www.sony.com Acesso em 11/05/207

[SQL92 2007] SQL92. Padrão SLQ 92, 2007. Disponível em http://www.sqlteam.com/article/ansi-sql-92-standard. Acesso em 10/02/2007

[SQL SERVER 2007] SQLSERVER. Microsoft SQL SERVER Express Edition. Site oficial, 2007. Disponível em http://www.microsoft.com/sqlsever. Acesso em 20/02/2007

[SQLMAGAZINE 2007] SQLMAGAZINE. Revista Sql Magazinne - Blobs em Sistemas de Gerenciamento de Banco de Dados. Edição 32. 2007

[STEINMETZ 1995] STEINMETZ R. and LINDSAY B.. Multimedia: Computing, Communications and Applications. Pretince Hall, 1995.

[SUMMERVILLE 2003] SUMMERVILLE, I. Engenharia de Software, 6a. Edição. São Paulo: Addison Wesley, 2003.

[SUN 2007] SUN. Site oficial, 2007. Disponível em http://www.sun.com Acesso em 05/04/2007

[SVG 2007] Scalable Vector Graphics - SVG- world wide web consortium. Site official, 2007. Disponível em www.w3.org/Graphics/SVG. Acesso em 23/07/2007

[THOMSON 2007] THOMSON S.A. Images and Beyond Solutions, 2007. Disponível em: http://www.thomson.net. Acesso em: 11/05/2007.

[TIFF 2007] Abobe Target Image File Format – TIFF. Site oficial. Disponível em www.abobe.com/tiff. Acesso em 23/07/2008

Page 148: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

145

[TODESCO 2000] TODESCO, G.,. Criação de Ambientes Virtuais Multiusuário através do Padrão MPEG-4, 2000. Programa de Pós-Graduação, Universidade Federal de São Carlos - SP. Disponível em: http://www.mpeg.org.br/arquivos/todesco2000a.pdf. Acesso em: 10/05/2007.

[TOMCAT 2007] TOMCAT. Site oficial, 2007. Disponível em http://tomcat.apache.org. Acesso em 03/04/2007

[TORI 2006] TORI R, Kirner C - Fundamentos de Realidade Virtual - VIII Symposium on Virtual Reality - Belem - PA, 02 de Maio de 2006.

[UNISYS 2007] UNISYS. Site oficial, 2007. Disponível em: http://www.unisys.com. Acesso em: 07/05/2007.

[VAZ 2000] VAZ, M. S. M. G. MetaMídia – Um Modelo de Metadados na Indexação, Recuperação de Objeto Multimídias. Recife, 2000. Tese (Doutorado Ciência da Computação) – Universidade Federal de Pernambuco.

[VIDEOANNEX 2007] VIDEOANNEX Annotation Tool, 2007. Disponível em http://www.research.ibm.com/VideoAnnEx. Acesso em 24/06/2007

[VIRAGE 2007] VIRAGE SoftSound, 2007. Disponível em http://www.softsound.com. Acesso em 17/04/2007.

[VIANELLO 2006] VIANELLO, J. M. Métodos de Estimação de Movimento com Resolução em Subpixel no CODEC H264/AVC, 2006. Dissertação de mestrado, PUC-RIO. Disponível em: http://www.maxwell.lambda.ele.puc-rio.br/cgi-bin/PRG_0599.EXE/10168_3.PDF?NrOcoSis=32747&CdLinPrg=pt. Acesso em: 13/05/2007.

[VISUALINFORMATION 2007]

VISUALINFORMATION. Oracle Visual Information, 2007. Disponível http://www.eisti.fr/~info/docs/ORACLE/doc/inter.817/a85335/toc.htm. em Acesso em 27/11/2007.

[W3C 2007] W3C. World Wide Web Consortium – W3C, 2007. Disponível em: http://www.w3.org/. Acesso em: 04/05/2007.

[WALSH 2002] A. E. WALSH. Java 3D: API Jump-start. Upper Saddle River, NJ: Prentice Hall, 2002. 245 p.

[WEB3D 2006] WEB3D "X3D Overview". Site oficial, 2006. Disponível em http://www.web3d.org/x3d/overview.html acesso em 2/11/2006

Page 149: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

146

[WHATIS 2006] WHATIS . The leading IT encyclopedia and learning center. Site oficial, 2007. Disponível em http://www.whatis.com. Acesso em: 01/10/2006.

[WMA 2007] WMA. Windows Media Audio. Site oficial, 2007. Disponível em: http://www.microsoft.com/windows/windowsmedia. Acesso em: 12/05/2007.

[XIPH 2007] XIPH. Xiph.org Foundation. Site oficial, 2007. Disponível em: http://xiph.org/. Acesso em: 15/05/2007.

[YOUTUBE 2007] YOUTUBE. You Tube site oficial, 2007. Disponível em: http://www.youtube.com. Acesso em: 15/05/2007.

Page 150: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

147

Apêndice A - Manipulação de Objetos Multimídia

em SGBD Convencionais

Este apêndice apresenta como os bancos de dados convencionais trabalham com

objetos multimídia, além de armazenar apenas textos também dão suporte a outros tipos

de dados, como dados geográficos, dados espaciais e dados multimídia (arquivos de

imagem, arquivos de vídeo, arquivos de áudios e demais arquivos binários). Dentre os

sistemas de gerenciamento de banco de dados relacionais mais utilizados (Postgresql

[POSTGRESQL 2006], MySql [MYSQLAB 2007], Microsoft Sql

Server[SQLSERVER 2007] e Oracle [ORACLE 2007]), todos eles oferecem suporte a

tipos de dados multimídia usando BLOB que é um campo criado para armazenamento

de qualquer tipo de informação em formato binário em uma tabela de Banco de Dados.

Alguns desses SGBD, como o Oracle, dão suporte a tipos específicos de Objetos

Multimídia, como tipo image, tipo video ou tipo audio que podem ser operados pelo

próprio SGBD [SQLMAGAZINE 2007].

A.1 Postgresql

O PostgreSQL é um servidor de banco de dados objeto-relacional distribuído

sob a licença flexivel BSD-style [FREEBSD 2007]. Ele oferece uma alternativa para

outros sistemas de banco de dados, pois é free e similar a outros projetos open-source

como o Apache [APACHE 2007], Linux [LINUX 2007] e Mediawiki[MEDIAWIKI

2007] Originalmente, o projeto PostgresSQL foi criado na Universidade de Berkley,

com um projeto liderado pelo professor Michel Stonebraker. Entretanto, após muitas

evuluções e sucesso do projeto, o PostgreSQL atualmente não é controlado por

nenhuma companhia, mas sim por uma comunidade global de desenvolvedores e

companhias que trabalham em conjunto para mantê-lo e desenvolvê-lo.

O PostgreSLQ é um poderoso sistema de banco de dados open-source. Ele foi e

está sendo desenvolvido há mais de 15 anos e provê uma arquitetura que é estável para

aplicações reais. Ele pode ser utilizado na maioria dos sistemas operacionais, incluindo

Linux, Unix e Windows. EsteSGBD dá suporte às propriedades ACID (Atomicidade,

Consistência, Integridade e Durabilidade), como também suporte para chaves

estrangeiras, joins, views, triggers e stored procedures. Tambem inclui tipos de dados

Page 151: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

148

padrão SQL92[SQL92 2007], SQL99, e na sua versão mais recente, a versão 8.2, dá

suporte ao padrão ANSI SQL 2003, incluindo integer, numeric, boolean, char, varchar,

date, interval e timestamp. Ainda dá suporte ao armazenamento de dados binarios e

large objects, incluindo imagens, sons e vídeos. Uma outra característica importante é

promover acesso nativo a várias interfaces de programação como C/C++, Java, .Net,

Perl, Python, Ruby, Tcl, ODBC, entre outros [POSTGRESLQ, 2007].

Com relação ao suporte de tipos de dados multimídia, o PostgreSQL

disponibiliza os seuguintes tipos: Bytea e lo (large object). Cada um destes tipos serão

analisados a seguir:

Bytea - o tipo bytea é um campo blob de armazenamento de objetos não

interpretados, que guarda o objeto diretamente na tabela do usuário, ou seja, quando se

deseja incluir um objeto multimídia em uma tabela com este campo, a aplicação passa

um stream de bytes diretamente para o campo do tipo bytea e o objeto é armazenado

diretamente na tabela criada pelo usuário. No caso da recuperação do objeto multimídia,

é feito o processo inverso: uma vez o registro encontrado, o SGBD retorna diretamente

para a aplicação, o stream de bytes do campo de tipo bytea.

lo - o tipo lo (large objet) é um campo blob de armazenamento de objetos não

interpretados. Quando se declara um campo de uma tabela com o tipo lo (large object),

o objeto propriamente dito é armazenado em uma tabela interna do banco, a tabela

pg_largeobjects com o mesmo identificador atribuído ao campo destinado ao objeto, ou

seja, na tabela do usuário é guardado um apontador para a tabela pg_largeobjects. Desta

forma, quando é feita uma consulta à tabela do usuário que contem o objeto multimídia

armazenado, o banco retorna apenas a referência deste objeto na tabela pg_largeobjects.

O carregamento do objeto multimídia se dá por uma função interna do SGBD,

“lo_import”, passando-se o caminho do arquivo. Para se recuperar um objeto

multimídia armazenado no campo lo, é preciso invocar outra função interna do SGBD,

“lo_export”, que faz o caminho inverso da primeira. Para tanto, é preciso passar o nome

do campo, de “lo”, e o local para onde o arquivo deve ser exportado.

A.1.1 Manipulando tipos Blob no PostgreSQL

Para incluir um aquivo binário no PostgreSQL é preciso criar uma tabela com um

campo do tipo de um Blob com suporte no sistema, no caso, tipo bytea para

Page 152: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

149

armazenamento direto na tabela criada pelo usuários, ou tipo lo para armazenamento na

tabela interna do SGBD. Segue o exemplo da operação usando o tipo bytea.

Criação da tabela TestBlob:

Inserindo um arquivo de imagem na tabela TestBlob:

A aplicação precisa definir um tipo de manipulação de stream de bytes:

array_bytes = stream de bytes de “c:/nome_arquivo.jpg”

> Insert into TestBlob(id, imagem) values (1, array_bytes);

Para recuperar o objeto inserido no banco de dados, é feita uma consulta na tabela que

armazenou o objeto e é recuperado um stream de bytes do campo solicitado. Segue o

exemplo:

Recuperando um objeto imagem na tabela TestBlob:

> Select imagem from TestBlob where id=1;

Array_bytes = stream de bytes do campo imagem

Onde array de bytes é um tipo definido na aplicação que receberá o stream de bytes

enviado pelo banco de dados.

O PostgreSQL também dá suporte ao armazenamento de blob utilizando-se de suas

funções internas, lo_import e lo_export, como citado. Segue um exemplo do uso das

referidas funções:

> Create Table TestBlob2(id int, imagem lo);

Inserindo um arquivo de imagem na tabela TestBlob2:

> Insert into TestBlob2(id, imagem) values (1, lo_import(“c:/nome_arquivo.jpg”));

Para recuperar o objeto inserido, usa-se a função lo_export, implementada no

Postgresql, cuja ação é recuperar o objeto armazenado e guardá-lo em um arquivo

especificado na chamada à função. Segue o exemplo:

Recuperando um objeto imagem na tabela TestBlob2:

Page 153: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

150

> Select lo_export(TestBlob2.imagem, “c:/temp/nome_arquivo.jpg”) from TestBlob

where id=1;

Foi observado que o PostgreSQL disponibiliza em sua release oficial, as funções

lo_import e lo_export para manipulação de objetos binários. Com isso, pode-se observar

que ele trabalha tanto com o armazenamento de Blob com Funções Internas ao SGBD,

quanto com o armazenamento e recuperação baseada em stream de bytes do objeto.

Desta forma, é possível inserir o objeto por completo ou recuperar o objeto por

completo, ou então é possível no PostgreSQL trabalhar com recuperação do Blob via

stream de bytes, permitindo assim a recuperação sob demanda do objeto.

A.2 MySQL

O MySQL é um SGBD com código fonte aberto que reúne características

capazes de atender às necessidades dos mais variados tipos de usuários. Este produto

tem sido utilizado como solução para desenvolvedores de sistemas, provedores de

serviços, aplicações Enterprise, aplicações em universidades e centros de pesquisas,

bem como para dar suporte a aplicações livres do tipo de licença GLP5.

O MySQL é reconhecido mundialmente por sua facilidade de uso, desempenho,

confiabilidade, suporte aos usuários do produto, bem como à sua disseminação de uso.

Por conseqüência desta ampla comunidade, tem-se muitas documentações e livros

sobre o produto. Portanto, o MySQL é uma solução confiável e de baixo custo para as

mais diversas aplicações de banco de dados, com grandes volumes de dados e que

necessitam de uma alta disponibilidade das aplicações construídas sobre ele. Vale

ressaltar que a versão avaliada neste trabalho foi a Versão 5.0 e também foram

instaladas ferramentas adicionais como o MySQL Adiministrator e o MySQL Query,

ferramentas desenvolvidas pela própria MySQL AB [MYSQLAB 2007] que provê

facilidades para manipulação de usuários, configurações, backups, execução de

consultas e uso de DML (Data Manipulation Language) do próprio SGBD.

Com relação ao suporte de tipos de dados multimídia, o MySQL disponibiliza os

seuguintes tipos: TinyBlob, Blob, MediumBlob e LongBlob. Cada um destes tipos será

analisado a seguir:

5 GLP – Ginu Licence Public – é uma licença de código OPEN SOURCE.

Page 154: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

151

TinyBlob - campo blob de armazenamento máximo igual a 255 caracteres (8

bits) mais 1 de controle; correspondendo a 255 Bytes. Este tipo não se aplica ao

armazenamento de objetos multimídia, visto que grande parte dos arquivos multimídia

gerados são maiores que a ordem de 1Kbyte;

Blob - o mesmo que o Tinyblob, porém armazenando até 16535 caracteres (16

bits) mais 2 de controle, correspondendo a 16Kbytes de armazenamento. Este tipo é

aconcelhado para armazenar imagens de grande compressão com resoluções pequenas

(160x120), como por exemplo thumbnails em formatos GIF ou PNG;

MediumBlob - o mesmo que o Tinyblob, porém armazenando até 16777216

caracteres (24 bits) mais 3 de controle, correspondendo a 16MBytes de armazenamento.

Este tipo se aplica a armazenar imagens de maior resolução em padrões de compressão

JPG, além de áudio e vídeos de baixa resolução com alto fator de compressão. É o tipo

mais aconcelhado para armazenar arquivos até 16Mbytes, pois possue o melhor

benefício com relação ao tamanho do arquivo manipulado e o tempo de resposta de

recuperação do arquivo no banco de dados; e

LongBlob – o mesmo que o Tinyblob, porém armazenando até 4294967295

caracteres (32 bits) mais 4 de controle, correspondendo a 4GBytes de armazenamento.

Este tipo se aplica a objetos extremamente grandes de qualquer tipo de mídia de alta

resolução, de baixo padrão de compressão ou de alto padrão de compressão, porém, é o

tipo de menor desempenho quanto ao tempo de recuperação do objeto no banco de

dados.

A.2.1 Manipulando tipos Blobs no MySQL

Para incluir um aquivo binário no MySQL é preciso criar uma tabela com um campo do

tipo de um Blob com suporte no sistema e logo após utilizar a função de banco de dados

implementada no MySQL, chamada de LOAD_FILE. Segue o exemplo da operação

usando o tipo mediumblog.

Criação da tabela TestBlob:

> Create Table TestBlob(id int, imagem mediumblob);

Inserindo um arquivo de imagem na tabela TestBlob:

Page 155: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

152

> Insert into TestBlob(id, imagem) values (1, LOAD_FILE(“c:/nome_arquivo.jpg”));

Para recuperar o objeto inserido, usa-se o comando OUTFILE, implementado no

MySQL, cuja função é recuperar o objeto armazenado e guardá-lo em um arquivo

especificado no comando. Segue o exemplo:

Recuperando um objeto imagem na tabela TestBlob:

> Select imagem into OUTFILE “c:/temp/nome_arquivo.jpg” from TestBlob where

id=1;

Foi observado que o MySQL disponibiliza em sua release oficial, apenas as funções

LOAD_FILE e OUTFILE para manipulação de objetos binários. Com isso, pode-se

observar que ele trabalha apenas com o armazenamento de tipos Blob com Funções

Internas ao SGBD, inserindo o objeto por completo ou recuperando o objeto por

completo. Desta forma, não é possível no MySQL trabalhar com recuperação do Blob

via stream de bytes, pois o sistema não dá suporte a funções de recuperação parcial do

objeto.

A.3 Microsoft SQL Server

O Microsoft SQL 2005 Express Edition é a versão free do Microsoft SQL

Server. Por questões de limitações de uso de licença, foi escolhida esta versão para

avaliação de tratamento de dados multimídia. Porém, vale ressaltar que a única

limitação desta versão avaliada com relação à versão completa, está no fato da versão de

avaliação limitar o tamanho total do banco de dados a 4Gbytes. As demais

características do produto estão presentes na versão de avaliação. O SQL Server 2005

Express Edition é baseado nas tecnologias do SQL Server 2005, portanto usa o mesmo

engine de banco de dados. Não foi necessário usar nenhuma ferramenta adicional ao

SQL Server, pois o mesmo disponibiliza o SQL Server Management Studio que provê

facilidades de adiministração, manipulação de usuários, configurações, backups,

execução de consultas e uso de DML (Data Manipulation Language) do próprio SGBD.

Page 156: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

153

Com relação ao suporte de tipos de dados multimídia, o MicroSoft SQL Server

disponibiliza os seguintes tipos: Binary, VarBinary e Image. Cada um destes tipos será

analisado a seguir:

Binary – Campo de armazenamento máximo de até 8Mbytes. Neste tipo, se a

quantidade de dados armazenados no campo for menor do que o tamanho especificado,

o resto do campo é preenchido com espaços em branco;

VarBinary – Campo de armazenamento máximo de até 8Mbytes. Se a

quantidade de dados armazenados no campo for menor do que o tamanho especificado,

então o resto do campo não é preenchido( o campo Image se comporta da mesma

forma). É o tipo mais aconcelhado para armazenar arquivos até 8Mbytes, pois possui a

melhor relação custo-benefício com relação ao tamanho do arquivo manipulado e o

tempo de resposta de recuração do arquivo no banco de dados, além de usar apenas o

tamanho exato do objeto armazenado no banco de dados; e

Image – Campo de armazenamento máximo de 2 Gbytes. Diferentemente dos

tipos Binary e VarBinary, o tipo Image não permite valores padrão. Este tipo se aplica

para armazenar objetos extremamente grandes de qualquer tipo de mídia de alta

resolução, de baixo padrão de compressão ou de alto padrão de compressão, porém, é o

tipo de menor desempenho quanto ao tempo de recuperação do objeto no banco de

dados.

A.3.1 Manipulando Tipos Blob no SQL Server

Para incluir um aquivo binário no SQL Server, é preciso criar uma tabela com um

campo do tipo de um Blob com suporte no sistema. Segue o exemplo da operação

usando o tipo image.

Criação da tabela TestBlob:

> Create Table TestBlob (id int, imagem image);

Inserindo um arquivo de imagem na tabela TestBlob:

A aplicação precisa definir um tipo de manipulação de stream de bytes:

array_bytes = stream de bytes de “c:/nome_arquivo.jpg”

Page 157: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

154

> Insert into TestBlob(id, imagem) values (1, array_bytes);

Para recuperar o objeto inserido no banco de dados, é feita uma consulta na tabela que

armazenou o objeto e é recuperado um stream de bytes do campo solicitado. Segue o

exemplo.

Recuperando um objeto imagem na tabela TestBlob:

> Select imagem from TestBlob where id=1;

Array_bytes = stream de bytes do campo imagem

Onde array de bytes é um tipo definido na aplicação que receberá o stream de bytes

enviado pelo banco de dados.

Foi observado que o SQL Server não possui uma função específica para manipular

objetos binários, pois o SGBD trata objetos binários como um stream de bytes. Tal

característica permite que a aplicação que acessa o banco recupere o objeto binário sob

demanda.

A.4 Oracle

O Oracle 10g Express Edition [ORACLE 2007] é a versão free do Oracle 10g.

Por questões de limitações do uso de licença, foi escolhida esta versão para avaliação de

tratamento de dado multimídia. Porém, vale ressaltar que esta versão tem limites

referentes á quantidade de processadores disponíveis na máquina. No caso, ele só

gerencia até 1 processador, não sendo possível utilizá-lo em máquinas com

multiprocessadores. Ele também só dá suporte até 4GBytes de dados para aplicações

dos usuários. Porém, o Oracle Express Edition traz recursos de desempenho,

confiabilidade e segurança da versão 2 do Oracle 10g, pois foi construído sobre a

mesma base de código, garante o fabricante. Por ser compatível com toda a família de

produtos do Oracle, ele permite a facilidade de começar com uma solução básica e ir

mudando para outras versões, quando necessário. Permite ainda que os desenvolvedores

de aplicação usufruam do Oracle Aplication Expresss para rápido desenvolvimento e

implementação de aplicativos baseados na WEB.

Page 158: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

155

Com relação ao suporte de tipos de dados multimídia, o Oracle Express Edtion

disponibiliza os seguintes tipos: Blob, Bfile, Clob e Nblob. Todos estes tipos dão

suporte ao armazenamento de objetos de até 4Gbytes, porém cada um possui suas

peculiaridades. Cada um destes tipos será analisado a seguir:

Blob – Campo de armazenamento interno ao Banco de Dados. Armazena objetos

no formato Binário;

BFile – Campo de armazenamento externo ao Banco de Dados Armazena o

arquivo dentro do sistema operacional, em formato TXT ou HTML. Na tabela do banco

de dados que contém este campo, é armazenado apenas um ponteiro para o arquivo

armazenado no Sistema Operacional;

Clob – Campo de armazenamento interno ao Banco de Dados. Ele armazena o

objeto no formato alfa-numérico compatível com o charset do SGBD. Diferentemente

do tipo BFile, o tipo Clob, armazena internamente o objeto como um stream de bytes na

tabela que contém este campo; e

NBlob – Campo de armazenamento do objeto no formato alfanumérico

compatível com o national charset do SGBD.

A.4.1 Manipulando Tipos Blob no Oracle Express Edition

Os tipos LOB(Large Object Binary) no Oracle são acessados através dos

métodos internos Read e CopyToFile. Tais tipos também podem ser diretamente

modificados pelo SGBD através dos métodos Write, Append, Erase, Trim, Copy,

CopyFromFile, and CopyFromBFile. Antes de modificar o conteúdo de uma coluna

LOB em uma linha, a linha do registro deve ser obtida.

Para incluir um aquivo binário no Oracle Express Edition é preciso criar uma

tabela com um campo do tipo de um dos Blob com suporte no Oracle Express Edition.

Vale lembrar que, como o Oracle trabalha tanto com armazenamento interno, controle

de armazenamento exteno e funções estendidas, as operações de manipulação de objetos

binários são tratadas de formas diferentes. Segue o exemplo da operação usando o tipo

Blob, para manipulação direta de stream de bytes.

Criação da tabela TestBlob:

Page 159: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

156

> Create Table TestBlob (id int, imagem blob);

Inserindo um arquivo de imagem na tabela TestBlob:

A aplicação precisa definir um tipo de manipulação de stream de bytes:

array_bytes = stream de bytes de “c:/nome_arquivo.jpg”

> Insert into TestBlob(id, imagem) values (1, array_bytes);

Para recuperar o objeto inserido no banco de dados, é feita uma consulta na tabela que

armazenou o objeto e é recuperado um stream de bytes do campo solicitado. Segue o

exemplo.

Recuperando um objeto imagem na tabela TestBlob:

> Select imagem from TestBlob where id=1;

Array_bytes = stream de bytes do campo imagem

Onde array de bytes é um tipo definido na aplicação que receberá o stream de bytes

enviado pelo banco de dados.

Foi observado que o SQL Server não possui uma função específica para

manipular objetos binários, pois o SGBD trata objetos binários como um stream de

bytes. Tal característica permite que a aplicação que acessa o banco recupere o objeto

binário sob demanda.

Além dos tipos básicos de Blob com suporte no Oracle, o sistema disponibiliza

tipos estendidos para manipulação através de ferramentas como o Oracle InterMedia

[INTERMEDIA 2007] e o Oracle Visual Information Retrieval

[VISUALINFORMATION 2007]. Tais ferramentas serão analisadas com mais detalhes

nas próximas sub-seções.

A.4.2 Oracle InterMedia

O Oracle InterMedia, também conhecido como Oracle Multimedia é uma

característica do SGBD Oracle presente tanto na versão Standard, quanto na versão

Enterprise. A seguir são listadas algumas propriedades:

Page 160: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

157

• É uma característica de propóstio geral que permite gerenciamento,

armazenamento e recuperação de imagem, áudio e vídeo;

• Reconhece a maioria dos formatos multimídia e pode automatizar a

extração de metadados e fazer processamento básico de imagem; e

• Possui desenvolvimento voltado para aplicações multimídia usando JSP

[JSP 2007], Servlets [SERVLETS 2007], PL/SQL [referência] ou usando

as próprias ferramentas disponibilizadas pela Oracle, como o JDeveloper

[JDEVELOPER 2007] e Oracle Portal [ORACLEPORTAL 2007].

O Oracle InterMedia possui a capacidade de gerenciar dados multimídia no

próprio Oracle sob controle de transação ou, alternativamente, o sistema pode

armazenar e indexar meta-informação junto com referências externas que permitem um

acesso eficiente para conteúdo multimídia armazenado fora do Banco de Dados.

Ele permite acesso padrão SQL manipulando imagens, áudio, vídeo, tipos de

dados multimídia, operadores e gerenciamento de metadados. Além da manipulação

baseada no padrão SQL, o InterMedia usa tipos de objeto semelhantes a classes Java e

C++. Ele também usa as seguintes classes de sistema para manipular os referidos

objetos: ORDAudio, ORDImage, ORDVideo. As instâncias dos objetos são compostas

dos dados da mídia e de metadados, como por exemplo, tamanho, duração, formato ou

tipo de compressão e finalmente, cada objeto possui métodos específicos de cada mídia

manipulada [INTERMEDIA 2007].

A.4.3 Oracle Visual Information Retrieval

O Oracle Visual Information Retrieval (VIR) é uma extensão do Oracle

Enterprise Edition, a qual provê armazenamento de imagem, recuperação baseada em

conteúdo e capacidade de fazer diversos tipos de conversão de formatos através de um

tipo objeto. Ele dá suporte ao armazenamento de imagem usando binary large

objects(BLOB) e referências externas a dados de imagem usando tipos BFile ou URL.

O VIR dá suporte a imagens estáticas, as imagens bi-dimensionais. As imagens

podem ser bitonais, fotografias em tons de cinza ou fotografias coloridas. A maioria dos

formatos e padrões de compressão de imagem é reconhecida por ele. O VIR permite

extrair propriedades automaticamente, converter para outros formatos ou outros padrões

de compressão e aplicar transformações básicas na imagem armazenada. As imagens

armazenadas são manipuladas através da classe de sistema ORDVir. Isso permite que

projetistas de banco de dados possam estender aplicações de banco de dados com novas

Page 161: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

158

aplicações que manipulam imagem e também permite que desenvolvedores de software

possam usar funções básicas providas pelo VIR, especializadas em aplicações de

imagem [VISUALINFORMATION 2007].

Page 162: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

159

Apêndice B – Testes de desempenho com o Jmeter

O Jtemer é uma ferramenta, baseada na plataforma Java [JAVA 2007],

desenvolvida para realizar teste de comportamento de carga e medida de desempenho,

que foi originalmente desenvolvida para testes sobre aplicações Web, mas foi estendida

para outros testes funcionais. O Jmeter pode ser usado para teste de desempenho tanto

estatisticamente quanto para recursos dinâmicos como arquivos, Servlets, Scripts Perl,

Objetos Java, Bancos de Dados, Servidores FTP e WebServices. Ele pode ser usado

para simular um pesado teste de carga em um servidor, rede ou objeto para testar o quão

robusto é ou para fazer a análise de carga sobre diferentes tipos de cargas de objetos e

processos. Pode ser usado para fazer análises gráficas da desempenho ou testar o

servidor/script/objeto, ou o comportamento sob as codições de carga estressante. Para

realizar um determinado teste de carga, basicamente é preciso criar um plano de teste.

Este é composto por uma árvore de elementos, onde cada elemento representa uma

configuração/ação da entidade que será testada.

A Figura 95 apresenta um exemplo de plano de teste do Jmeter.

Figura 95: Exemplo de Test Plan no JMeter

A Figura 96 mostra a implementação do plano de testes (baseado nos cenários

definidos) de desempenho dos protótipos do presente trabalho na ferramenta Jmeter.

Page 163: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

160

Figura 96: Plano de Testes de Desempenho – Interface do JMeter

A Figura 96 mostra a implementação dos elementos de um test plan. Os

elementos básicos são:

• ThreadGroup – é o ponto inicial do test plan. Nele se define o número de

threads, que funciona como se cada thread fosse um usuário; é definido

o período de execução da thread e o número de vezes que a thread será

chamada. Na Figura 96 o ThreadGroup é representado pelo nó

InsertImageThreadGroup-10users;

• Controller – É o elemento responsável por enviar a requisição ao

servidor que está sendo testado. Na Figura 97, pode ser visto o Controller

HTTPRequestHTTPClientInsertImage10users. Nele podem ser

observados os dados do servidor e os parâmetros passados na requisição

HTTP;

• Listeners – São os elementos que proveem acesso às

informações geradas pelo JMeter enquanto os test cases estão sendo

executados. Ele armazena os resultados em um arquivo XML que contem

informações como o tempo de resposta da requisição, o código

respondido pelo servidor, as mensagens de respostas do servidor,

Page 164: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

161

througput, e dados estatísticos com erros e desvio padrão relativo ao

tempo de resposta da requisição.

Figura 97: Plano de Testes

Page 165: UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE … › bitstream › 123456789 › 1518 › 2 › ass.pdf · evaluation based in performance engineering was done, so that a better approach

162