Texto Completo

Transcrição

Texto Completo
INESC
Instituto de Engenharia de Sistemas e Computadores
Relatório
Servidores Multimédia Digitais
Porto, 28 de Maio de 1997
INESC
Servidores Multimédia Digitais
Índice
ÍNDICE ......................................................................................................................................................................2
INTRODUÇÃO..........................................................................................................................................................4
CAPÍTULO 1 - SERVIDORES DE INFORMAÇÃO...............................................................................................5
1.1 ARQUITECTURA DOS SERVIDORES MULTIMÉDIA .....................................................................................................5
1.1.1 O computador servidor................................................................................................................................6
1.1.2 O sistema operativo.....................................................................................................................................6
1.1.3 Os sistemas de armazenamento RAID..........................................................................................................9
1.1.4 A interface entre o sistema de armazenamento e o servidor.........................................................................9
1.1.5 Conclusão ................................................................................................................................................. 10
1.2 COMUNICAÇÃO E GESTÃO DISTRIBUÍDA............................................................................................................... 11
1.2.1 Panorâmica da programação distribuída com o Orbix .............................................................................. 12
1.2.1.1 Os clientes e os servidores....................................................................................................................................13
1.2.1.2 Definição de interfaces .........................................................................................................................................14
1.2.2 Panorâmica da tecnologia COM ............................................................................................................... 14
1.2.2.1 A automação OLE ................................................................................................................................................15
1.2.2.2 Os controlos OLE e a tecnologia ActiveX .............................................................................................................15
1.2.3 A integração CORBA/COM....................................................................................................................... 16
1.2.4 O acesso às Bases de Dados...................................................................................................................... 16
1.3 AUTENTICAÇÃO E ENCRIPTAÇÃO DE INFORMAÇÃO ............................................................................................... 17
1.3.1 A segurança do correio-electrónico........................................................................................................... 18
1.3.2 Os aspectos de segurança no servidor ....................................................................................................... 19
1.3.2.1 Os métodos básicos ..............................................................................................................................................20
1.3.2.2 Os métodos normalizados .....................................................................................................................................20
1.3.2.3 Os sistemas proprietários......................................................................................................................................21
CAPÍTULO 2 - ARQUIVO DE INFORMAÇÃO ................................................................................................... 22
2.1 GESTÃO DA BASE DE DADOS .............................................................................................................................. 22
2.1.1 Requisitos do arquivo de informação......................................................................................................... 23
2.1.2 Soluções Tecnológicas............................................................................................................................... 24
2.1.3 Soluções Comerciais ................................................................................................................................. 26
2.1.3.1 Informix Universal Server ....................................................................................................................................26
2.1.3.2 Oracle Universal Server........................................................................................................................................26
2.1.3.3 IBM DB2 Universal Database ..............................................................................................................................27
2.2 PESQUISA INTELIGENTE DE INFORMAÇÃO ATRAVÉS DE AGENTES DE INTERFACE ..................................................... 28
2.2.1 Introdução................................................................................................................................................. 28
2.2.2 Conceitos Gerais e Definições................................................................................................................... 29
2.2.3 Metodologia de funcionamento.................................................................................................................. 30
2.2.4 Infra-estruturas necessárias ...................................................................................................................... 31
2.2.5 Aplicações existentes................................................................................................................................. 33
2.3 MPEG7 ............................................................................................................................................................ 34
2.3.1 Contexto e objectivos ................................................................................................................................ 34
2.3.2 Áreas de Interesse ..................................................................................................................................... 36
2.3.3 Plano de trabalhos .................................................................................................................................... 36
CAPÍTULO 3 - INFRA-ESTRUTURAS E GESTÃO DOS SISTEMAS DE INFORMAÇÃO ............................. 38
3.1 REDES E PROTOCOLOS DE COMUNICAÇÃO ........................................................................................................... 38
3.2 CATALOGAÇÃO DA INFORMAÇÃO E GESTÃO DO ARQUIVO..................................................................................... 44
3.2.1 Regras de catalogação .............................................................................................................................. 44
3.2.2 Sistema de armazenamento de informação RAID....................................................................................... 47
3.3 PROGRAMAÇÃO E SCRIPTING DO SERVIDOR ......................................................................................................... 49
2
INESC
Servidores Multimédia Digitais
3.3.1 Tecnologias............................................................................................................................................... 49
3.3.1.1 Flexibilidade e potencial ......................................................................................................................................50
3.3.1.2 Conhecimentos necessários para o desenvolvimento..............................................................................................50
3.3.1.3 Ciclo de desenvolvimento e teste ..........................................................................................................................50
3.3.1.4 Capacidade de adaptação a alterações...................................................................................................................51
3.3.1.5 Custos ..................................................................................................................................................................51
3.3.1.6 Risco Operacional ................................................................................................................................................52
3.3.1.7 Overhead gerado no CPU .....................................................................................................................................52
3.3.2 Soluções comerciais .................................................................................................................................. 53
3.3.2.1 Active Server Pages (ASP) da Microsoft ...............................................................................................................53
3.3.2.2 LiveWire da Netscape ..........................................................................................................................................54
3.3.2.3 WebServer 3.0 da Oracle......................................................................................................................................55
3.4 COMÉRCIO ELECTRÓNICO .................................................................................................................................. 56
3.4.1 Comércio electrónico orientado para os consumidores (consumer-to-business)......................................... 57
3.4.2 Comércio electrónico Business-to-business ............................................................................................... 60
3.4.3 Soluções comerciais .................................................................................................................................. 61
3.5. TECNOLOGIAS WEB TV E WEBCASTING............................................................................................................. 63
3.5.1 Introdução................................................................................................................................................. 63
3.5.2 A tecnologia Streamed Web Video on-demand........................................................................................... 63
3.5.2.1 VDONet...............................................................................................................................................................65
3.5.2.2 VXtreme ..............................................................................................................................................................65
3.5.2.3 Vivo Software ......................................................................................................................................................66
3.5.2.4 Vosaic..................................................................................................................................................................66
3.5.2.5 Xing.....................................................................................................................................................................66
3.5.2.6 Progressive Networks ...........................................................................................................................................66
3.5.3 A Tecnologia Server Push ......................................................................................................................... 67
3.5.3.1 Pointcast Network ................................................................................................................................................68
3.5.3.2 Marimba ..............................................................................................................................................................69
CONCLUSÃO.......................................................................................................................................................... 71
BIBLIOGRAFIA ..................................................................................................................................................... 75
3
INESC
Introdução
Introdução
A Associação PortucaleXXI é a promotora do Projecto 424C aprovado pelo subprograma C, acção
1.2 do PRONORTE - Apoio à Cooperação e Promoção. Este projecto pretende especificar e definir
o plano de acção para a implementação de infra-estruturas de servidores de informação multimédia e
audiovisual digital, com transmissão remota de informação em alto débito (Mediateca), e de um
centro de Artes e Tecnologias (Artec) dedicado à formação, divulgação cultural e lúdica. É nesta
linha de acção que se enquadra o presente relatório, cujo âmbito será essencialmente tecnológico e
operacional.
O sistema de informação multimédia audiovisual de suporte da Mediateca e Artec envolverá a
utilização de servidores de informação com elevada capacidade de armazenamento e dotados de
capacidades de interface com redes de comunicação de alto débito. Sendo assim, sistematizamos os
requisitos a que este sistema deve responder do seguinte modo:
•
•
•
•
•
Número elevado de clientes;
Sistema de armazenamento escalável e com elevada capacidade de armazenamento;
Larguras de banda elevadas associadas à rede de comunicação e ao sistema de armazenamento;
Serviço em tempo real;
Viabilidade económica da arquitectura escolhida.
Este relatório está organizado em três capítulos e uma conclusão que refere de forma concisa os
aspectos mais importantes abordados no relatório e que são relativos às soluções tecnológicas e às
estruturas da implementação de um sistema de informação multimédia audiovisual. O corpo do
relatório está estruturado em três capítulos principais que abordam as três vertentes que julgamos
essenciais: as tecnologias dos servidores de informação, as tecnologias de arquivo de informação e,
finalmente, as infra-estruturas de suporte e gestão dos sistemas de informação. Cada um deste
capítulos está subdividido em itens específicos relacionados com cada uma das tecnologias em
estudo. Sempre que oportuno, são referidas implementações específicas ou soluções comerciais
existentes no mercado. Este relatório final contem também uma referência a cada uma das fontes
bibliográficas específicas consultadas.
4
INESC
Tecnologia dos servidores de informação
Capítulo 1
Servidores de Informação
Este capítulo tem como objectivo principal analisar as várias questões envolvidas na a ter em atenção
na escolha e definição de uma arquitectura para servidores de informação, que satisfaça, entre
outros, os requisitos de uma largura de banda elevada, da disponibilização de serviços em tempo real
e de elevada fiabilidade. Os servidores serão acedidos via rede por vários utilizadores ou outros
sistemas clientes. Na óptica dos servidores de informação irão ser abordadas algumas das questões
relacionadas com a arquitectura do servidor e dos nós de armazenamento distribuídos, assim como
da gestão e segurança da comunicação com os clientes.
1.1 Arquitectura dos servidores multimédia
Os serviços multimédia personalizados estão a evoluir rapidamente para uma simbiose entre o
armazenamento em larga escala, a transmissão em redes rápidas e o fornecimento de serviços de
pesquisa assistida [3]. A maior dificuldade para a realização prática destes sistemas está nos elevados
custos de armazenamento e transmissão de informação multimédia.
Os avanços no hardware e no software estão a computadorizar o processo de aquisição, autoria,
composição e publicação de informação. Os discos de elevada capacidade de armazenamento e as
redes de fibra óptica, com elevadas taxas de transmissão, permitem a integração de diversos dados
multimédia, tanto no armazenamento digital como na distribuição através de servidores assentes em
redes de banda larga. Estes servidores, designados por Servidores Multimédia (Media Servers),
armazenam ficheiros com streams de áudio e vídeo, fundamentalmente no formato MPEG2, que
resultam da digitalização das fontes de áudio e de vídeo que vêm do estúdio e que passam pelos
conversores de formatos, gerando enormes quantidades de informação. Estes servidores ficarão
sujeitos a vários pedidos simultâneos de acesso aos dados provenientes de diferentes utilizadores,
através de uma rede rápida (e.g. ATM). Quer isto dizer que o servidor deverá permitir operações
rápidas de leitura e escrita; deverá além disso possuir uma elevada capacidade de armazenamento
para que possa albergar/servir grandes quantidades de streams de dados [13]. As soluções
arquitectónicas e as técnicas de caching poderão ser utilizadas para minimizar custos de entrega de
dados multimédia através de WANs.
Actualmente, as soluções para um sistema deste tipo podem passar por um servidor comercial
completo ou por um sistema RAID ligado a um computador (e.g. PC) com um sistema operativo
apropriado ou simplesmente pela utilização de um Array de discos ligados a um computador com um
sistema operativo apropriado. A escolha da solução mais viável para o servidor envolve a escolha de
um sistema com elevadas capacidades de armazenamento; com elevadas taxas de transferência de
dados; com uma interface rápida entre o sistema de armazenamento e o sistema computadorizado
capaz de transferir dados entre eles sem atrasos; com um sistema operativo com capacidades de
interligação rápida à rede.
5
INESC
Tecnologia dos servidores de informação
1.1.1 O computador servidor
Numa visão computacional distribuída os servidores devem fornecer capacidades computacionais
multimédia que abarquem o armazenamento, manipulação, construção, distribuição e sincronização
dos média. Os servidores multiprocessador, num ambiente cliente-servidor, necessitam não só de
armazenar informação multimédia mas também de manipular informação apresentada sob formas não
textuais. A manipulação de informação não textual abre um mundo novo de diferentes operações no
domínio do processamento e análise de imagem. Os servidores devem estar equipados com
processadores para a compressão de vídeo, processadores de imagem e processadores de média que
transformem informação de um tipo de média para outro tipo. As futuras aplicações irão requerer
capacidades de computação multimédia por parte dos processadores. A este nível começam já a
surgir os primeiros processadores com capacidades multimédia integradas, como é o caso do MMX
da Intel.
O sistema hospedeiro necessita de uma interface rápida para se ligar ao sistema de armazenamento
RAID e necessita também de uma placa adaptadora ATM para transmitir os dados a todos os
clientes (e.g. estúdios) pendurados na rede. O sistema operativo escolhido não deve introduzir
estrangulamentos no desempenho da interface com os outros sistemas, de modo a assegurar a
utilização eficiente de todas as capacidades dos sistemas. O sistema operativo não possui
normalmente o software necessário para gerir o sistema RAID, mas as soluções comerciais para
estes sistemas incluem normalmente esse software.
1.1.2 O sistema operativo
A arquitectura de um sistema operativo multimédia deverá possuir característica particulares tanto
ao nível da gestão de recursos e da gestão do sistema de ficheiros como também no escalonamento
de tarefas [14]. Os sistemas operativos multimédia devem preocupar-se não só com a gestão e
fornecimento de dados “contínuos” sem atrasos mas também com o armazenar de dados “discretos”.
Estes problemas reflectem-se na forma como o sistema gere os processos, os recursos, os ficheiros e
a memória. Os conceitos utilizados pelos sistemas operativos multimédia foram inicialmente
desenvolvidos para sistemas de tempo-real e são adaptados aos requisitos necessários para o
tratamento de dados multimédia. Os actuais sistemas operativos multimédia incorporam estas
funcionalidades através de device drivers ou através de extensões ao sistema de gestão de ficheiros e
de escalonamento dos actuais sistemas operativos. O próximo passo irá levar-nos à integração do
processamento em tempo-real no kernel nativo destes sistemas.
Alguns fabricantes de software são da opinião que o Windows NT ocupará os mercados dominados
até hoje pelo sistema operativo Unix em geral e pelo Solaris em particular; as estações de trabalho
NT poderão vir a substituir gradualmente e totalmente as estações Unix, e os servidores NT com
multiprocessadores poderão substituir aos poucos os servidores Unix [15]. Há contudo opiniões que
dizem ser esta situação extremamente complexa e certamente muito mais ampla do que uma simples
sucessão de um sistema operativo por outro. No mercado dos servidores, ambas as soluções têm o
seu lugar. Ao nível das estações de trabalho as estações NT são um rival muito forte das estações
Sun.
6
INESC
Tecnologia dos servidores de informação
Muitos são no entanto da opinião que o Windows NT não desafiará tão cedo o Unix no mercado dos
servidores de larga escala. Consideram estes que o NT é um óptimo servidor LAN, um grande
servidor de aplicações e um bom sistema operativo para as estações de trabalho, mas que não
veremos tão cedo grandes NT data warehouse [15]. As razões técnicas apontadas referem-se ao facto
deste sistema operativo não suportar suficientemente bem as grandes bases de dados e que não é
possível, do dia para a noite, igualar um sistema como o Unix que possui 30 anos de investigação e
desenvolvimento. Segundo estes, o Windows NT possui falta de escalabilidade (scalability):
• o suporte para múltiplos processadores é escasso: há no mercado algumas workstations NT
dual-processor; ouve-se falar de servidores three-processor, mas na prática quase ninguém vende
um solução NT four-processor. A Data General está a introduzir aquilo a que se chama Standard
High Volume Servers, que são produtos que combinam mother-boards Pentium Pro com
tecnologia de clustering da própria companhia. Esta empresa acredita que estes dispositivos,
correndo o Windows NT ou o Unix, acabarão gradualmente por entrar na corrente principal da
computação comercial;
• o suporte para múltiplas plataformas: o Windows NT está disponível numa grande variedade de
sistemas e processadores mas o seu desempenho com outros CPUs, que não da Intel é ainda uma
incógnita. Alguns produtos e linguagens mais populares da Microsoft nunca chegaram a estar
disponíveis para o NT RISC;
• o suporte de um grande número de utilizadores: o sistema operativo Windows NT não funciona
bem com milhares de utilizadores;
• o suporte de um grande volume de dados: quanto à quantidade de dados que podemos
armazenar e servir, o Solaris encontra-se aqui também em vantagem.
Ainda segundo estas opiniões, a Internet está largamente centrada em Unix, ou seja, os servidores da
Internet são na sua maioria Unix, o que lhe confere uma grande vantagem competitiva. Por outro
lado, o Windows NT está a ter grande sucesso como servidor de estações de trabalho, tomando o
lugar do Novel Netware. O futuro reserva-nos uma mistura do Windows NT e do Unix. Devido ao
suporte nativo de TCP/IP que o NT possui, é ao nível de pequenos servidores baseados em redes de
PCs, que comunicam com servidores Unix, que o NT parece destinado a reinar. O NT consegue uma
ligação eficaz entre os PCs e os sistemas Unix, ou seja, parece ser a interface óptima que permite aos
dois sistema coexistirem.
Como está a reagir o mercado aos dois sistemas operativos?
Genericamente os utilizadores estão a tentar tirar o melhor partido destas duas plataformas,
permitindo a sua coexistência na mesma rede. Podem assim obter um elevado desempenho dos
servidores Sun, como espinha dorsal da rede, que podem correr Sybase e Oracle, e introduzir os
servidores de grupo NT eliminando assim os servidores Novel.
Em muitas empresas utilizam-se as estações de trabalho para o design, dado existirem pacotes de
software muito mais baratos, e utilizam os sistemas Solaris como servidores de página e servidores
de bases de dados, obtendo assim o melhor dos dois mundos. O Windows NT e o Solaris podem
coexistir, o NT como interface para o interior das instituições com um ambiente gráfico fácil de
utilizar; e o Solaris como estrutura base para os seus computadores mais técnicos, mais abertos e
flexíveis. Em alguns ambientes, as estações NT de baixo custo e relativamente poderosas, a correr
em processadores Pentium/RISC, são alternativas atractivas aos tradicionais desktops Unix (e.g. em
CAD/CAM). Nos escritórios há uma grande necessidade de aplicações produtivas para as estações
7
INESC
Tecnologia dos servidores de informação
de trabalho, e é aí que o NT poderá ser uma solução mais barata. Por outro lado a Sun e as suas
estações Silicon Graphics possuem a força da sua história e são uma solução mais cara mas
supostamente com melhor desempenho.
Ao nível do software, a Digital Equipment Corp. lançou o Affinity que surge com uma família de
produtos e serviços que facilitam a integração dos sistemas operativos OpenVMS (desenvolvido pela
Digital) e Windows NT (desenvolvido pela Microsoft).
O sistema operativo Open VMS permite a computação gráfica a 64-bit em toda a linha Alpha (desde
servidores desktop até sistemas de multiprocessamento simétrico high-end); vem enriquecido com
tolerância a falhas; permite threads no kernel para aumentar o desempenho de multiprocessamento
simétrico; possui um sistema de ficheiros de 64-bit log-structured, designado por Spiralog e
concebido para configurações 10TB; permite clusters SCSI-based; possui VLM (Very Large
Memory) o que permite às bases de dados serem até 200 vezes mais rápidas do que as BDs
convencionais de 32-bit (nota: o Oracle é uma implementação de 64-bit VLM).
O sistema operativo NT possui uma aplicação nativa que suporta todas as aplicações de 16 e 32 bit
(DOS e Windows), num ambiente multi-tarefa interrompível; possui segurança de nível C2; um
sistema de ficheiros NTFS; a tecnologia OLE (Object Linking and Embeding) da Microsoft; APIs
OpenGL; corre em Intel x86 e Pentium, Alpha AXP, MIPS technologies R4X00 e plataformas
PowerPC.
A ponte destes dois sistemas operativos é conseguido através de middleware de integração do
OpenVMS. O suporte nativo da API ODBC em OpenVMS permitirá aos servidores OpenVMS
responder transparentemente a queries SQL vindas de aplicações Windows (off-the-shelf). O suporte
MiddleWare Integratiom inclui: o DCE (Distributed Computing Environment) da OSF (Open
Software Foundation); o DECMessageQ que permite enviar mensagens entre aplicações; o
ObjectBroker que fornece uma infra-estrutura baseada em objectos e uma interoperacionalidade
similar baseada no CORBA (Common Object Request Broker Architecture) do grupo OMG (Object
Managment Group) e OLE; o RTR (Reliable Transaction Router) que fornece encaminhamento de
mensagens e software com tolerância a falhas, para aplicações distribuídas; o ACM Sxp que constitui
um ambiente de desenvolvimento e run-time para aplicações OLPT; o BDIntegrator que fornece
acesso transparente a dados de múltiplas fontes.
O Affinity está a ser difundido como a mais recente arquitectura cliente/servidor com servidores
VMS de elevado desempenho na missão crítica de back-end; os sistemas Windows NT a correr
middleware ficarão no middle-end; os clientes GUI do Windows NT ou Windows 95 serão o frontend. Com o VMS a tratar da gestão em back-end, os clientes ganham em escalabilidade,
disponibilidade e segurança já provadas de um sistema operativo maduro. O Windows NT será útil
no Alpha ou em arquitecturas comparáveis, oferecendo LANs e serviços de aplicação no
middleware; oferece aos clientes uma solução industrialmente aceite, centrada em PCs e de elevado
desempenho para a lógica computacional. No front-end, o Windows oferece ao cliente uma
incomparável solução GUI de base para as aplicações e aceite pela indústria e pelos utilizadores. O
programa Affinity expande a visão do mundo Microsoft para abarcar a arena dos grandes servidores,
de grande disponibilidade e tolerantes a falhas no espaço das empresas.
8
INESC
Tecnologia dos servidores de informação
1.1.3 Os sistemas de armazenamento RAID
É vulgar vermos hoje em dia os fabricantes de servidores de vídeo utilizarem sistemas de
armazenamento de informação com tecnologia RAID (Redundant Array of Independent Disks). Esta
tecnologia é vulgarmente utilizada para aplicações de VoD (Video on Demand) e WWW (World
Wide Web), entre outras [16]. Os sistemas RAID são classificados em vários níveis de
implementação, que diferem normalmente quanto à maneira como os dados são armazenados nos
discos:
•
•
•
•
•
Nível 0 (Stripping): os dados são divididos em blocos e repartidos equitativamente pelos n
discos do array. O primeiro bloco vai para o primeiro disco, o segundo bloco vai para o segundo
disco e assim sucessivamente. Há quem não considere ente sistema um verdadeiro nível RAID
porque não oferece redundância e todo o sistema fica bloqueado se um dos drives falhar;
Nível 1 (Mirroring): todos os dados são repartidos pelos drives tal como no RAID 0 mas todos
os discos são duplicados. Esta é uma solução segura mas muito cara porque existe um overhead
de 50% resultante dos 2*n drives;
Nível 3 (Parity Check): os sistemas de nível 3 utilizam n+1 drives, n discos para armazenar e um
disco para paridade. Os primeiros n byte são armazenados nos primeiros n discos de dados e um
byte de paridade é colocado no disco de paridade. Este método parece eficiente e de baixo custo
mas devido à sua organização física não funciona bem com serviços de acesso I/O aleatórios;
Nível 4 (Independent Access): este nível é uma variante ao RAID3, cuja única diferença se situa
ao nível do tamanho dos blocos. No nível 3 o tamanho dos blocos é tipicamente de 1 byte
enquanto que no nível 4 o tamanho dos blocos é de um sector; isto permite que os pequenos
pedidos de I/O de dados possam ser efectuados pelo acesso a um único disco;
Nível 5 (Rotate Parity): este nível é semelhante ao nível 4 mas distribui os blocos de paridade
por todos o drives. Este método acelera as operações de escrita de dados em sistemas de
multiprocessamento uma vez que o disco de paridade deixa de ser um ponto de estrangulamento.
Nas leituras os blocos de paridade têm que ser verificados em cada drive, penalizando um pouco
estas operações.
1.1.4 A interface entre o sistema de armazenamento e o servidor
Existem actualmente no mercado três importantes interfaces, entre o sistema de armazenamento e o
computador hospedeiro, a considerar para o armazenamento em larga escala:
•
•
SCSI (Small Computer Interface): esta é no momento a interface dominante. As normas SCSI I,
II e III definem interfaces paralelas de dados para a transferência de dados entre pares de
dispositivos a taxas de 20 MB/s (F/W SCSI II). A última implementação SCSI II, designada por
ULTRA-SCSI, pode atingir taxas de 40 MB/s. Esta interface permite no máximo 16 discos no
barramento SCSI;
Fibre Channel: a FC-AL (Fibre Channel Arbitrated Loop) é a única implementação Fibre
Channel apropriada para dispositivos de armazenamento. A implementação FC-AL consiste num
anel (loop) cujo modo de operação é muito semelhante a uma rede Token Ring; este anel pode
suportar taxas de transferência até 100 MB/s e permite a interligação de 126 dispositivos.
Existem implementações FC-AL com dois anéis que fornecem a redundância necessária em caso
de falha;
9
INESC
•
Tecnologia dos servidores de informação
SSA (Serial Storage Architecture): nesta arquitectura de armazenamento série todas as ligações
são ponto-a-ponto. Esta arquitectura permite a ligação de 127 dispositivos dual-ported, ou seja,
permite que cada dispositivo se ligue a dois outros dispositivos à esquerda e à direita. Cada
dispositivo passa os dados ao dispositivo mais próximo. Este conceito conhecido por reutilização
espacial (spacial reuse) oferece uma elevada largura de banda efectiva devido ao uso
independente de cada ligação. As ligações são full-duplex, daí que os dados possam fluir em
ambas as direcções. Os dispositivos operam a 20 MB/s e, uma vez que as portas em cada drive
são full-duplex em ambas as direcções, permitem ter uma largura de banda efectiva de 80MB/s.
A interface SCSI é uma solução tecnológica muito divulgada e largamente utilizada devido ao seu
baixo custo, comparativamente com as outras duas tecnologias. A maior parte das soluções RAID
disponíveis no mercado utilizam drives SCSI e possuem já o software necessário para controlar o
sistema.
1.1.5 Conclusão
As soluções possíveis para a implementação de um servidor podem passar, como já foi referido, por:
um sistema comercial completo; por um sistema RAID acoplado a um sistema computadorizado; ou
simplesmente um array de discos acoplado a um servidor simples. Como exemplos de soluções
comerciais podemos referir: o Philips Media Server; o HP MediaStream Server; o Alex Libra
Media Server; o Sun MediaCenter. Todos os sistemas referidos obedecem à norma MPEG-2 e
suportam a ligação a redes ATM. Esta primeira alternativa de implementação é no entanto a mais
dispendiosa e a menos flexível. O servidor Alex Libra é Davic compliant e suporta o protocolo
DSM-CC utilizando o CORBA como mecanismo de RPC; este sistema proporciona uma solução
RAID de 20GB numa arquitectura paralela de base baseada num Pentium e com um sistema
operativo Windows NT; o seu custo ronda os $45,000USD. O servidor HP MediaStream custa
aproximadamente $100,000USD na sua configuração de base e oferece um sistema RAID com
45GB e um sistema operativo de tempo real da HP (HP Real-Time Operating System). O servidor
MediaCenter da Sun, com o sistema operativo Solaris, possui um sistema RAID com 8GB de espaço
de armazenamento e custa aproximadamente $37,500USD.
Como implementação alternativa, mais barata e mais flexível, podemos optar por um sistema RAID
comercial ligado a um PC. Esta solução liberta-nos quanto à escolha do sistema operativo que pode
ser um qualquer desde que permita o desenvolvimento de aplicações que controlem a comunicação
entre o servidor e os seus clientes à medida das necessidades. Existe um conjunto de companhias que
produzem este tipo de sistemas, como por exemplo a Xyratex, ProMax e a RAID-Data. O sistema
ProMax com uma solução RAID SCSI de 16GB permite uma taxa de transferência de 24MB/s com
tempos de acesso de 4,25ms; este sistema custa aproximadamente $8,500USD. A solução mais cara
da ProMax possui um sistema RAID SCSI de 69GB que permite uma taxa de transferência de
62MB/s, com tempos de acesso de 62ms e custa aproximadamente $20,000USD.
Como última alternativa para o servidor multimédia, menos dispendiosa e mais flexível, podemos
testar um PC rápido com drives SCSI rápidos e verificar se o desempenho é suficiente para os
objectivos em causa.
10
INESC
Tecnologia dos servidores de informação
1.2 Comunicação e gestão distribuída
O servidor de informação multimédia deverá suportar o acesso concorrente de um grande número de
clientes. Cada cliente colocará pedidos distintos e dará origem a vários fluxos multimédia activos que
acedem independentemente ao mesmo ou a diferentes conjuntos de dados. Por outro lado, a
informação residirá em vários nós de armazenamento distribuídos (Mediateca distribuída) que serão
geridos por uma servidor central e serão interligados por intermédio de uma rede rápida (e.g. uma
rede ATM). Esta configuração levanta várias questões no que diz respeito à gestão de dados
distribuídos, à comunicação entre o servidor e os clientes e ao controlo dos vários nós de
armazenamento.
Os sistemas distribuídos têm surgido nesta década como a solução capaz de dar resposta à partilha
de recursos disponibilizados através de uma rede e à interligação transparente entre máquinas com
diferentes arquitecturas. É sobre estas arquitecturas distribuídas que surge a possibilidade de criação
de serviços de telecomunicações multimédia, que contribuem assim para uma maior e melhor
democratização no acesso à informação. A norma ISO que define o modelo de computação
distribuída tem o nome ODP (Open Distributed Processing). O modelo de referência desta norma
apresenta os objectivos de um sistema aberto e introduz os conceitos relevantes para a definição das
funcionalidades necessárias a estes sistemas. Este modelo considera ainda vários níveis de abstracção
que expressam diferentes perspectivas na especificação do sistema distribuído. Numa perspectiva
computacional, podemos descrever o sistema como um conjunto de objectos inter-operantes sobre
uma infra-estrutura de suporte, baseada num protocolo de chamadas remotas de processamentos
(RPC) e em programação concorrente (threads). Este modelo de comunicação permite abranger
algumas arquitecturas para sistemas distribuídos orientadas para objectos, como por exemplo a
especificação do grupo OMG (Object Management Group) designada por CORBA (Common
Object Request Broker Architecture), que define os serviços de suporte que uma arquitectura
distribuída deverá suportar (http://www.omg.org/). Estas arquitecturas têm como objectivo a
interoperacionalidade entre diferentes sistemas orientados a objectos, de modo a permitirem a
interligação transparente entre aplicações que correm num ambiente distribuído e heterogéneo.
Numa perspectiva tecnológica encontramos actualmente várias plataformas de arquitecturas de
processamento distribuído aberto (e.g. Orbix), para as quais existem já no mercado várias
ferramentas que apoiam o desenvolvimento de aplicações distribuídas, ou seja, que fornecem um
ambiente de programação com uma linguagem de especificação de interfaces (IDL) e serviços que
suportam mecanismos transparentes de localização, de acesso e de utilização.
A integração de diferentes plataformas e aplicações é actualmente um ponto chave no
desenvolvimento de software. A possibilidade de criarmos aplicações a partir de diversos
componentes de software, implementados em variadas formas, pode ajudar os programadores nas
tarefas de projecto, implementação e manutenção, encurtando assim o ciclo de desenvolvimento de
software. A integração é no entanto uma tarefa difícil e requeria até há pouco tempo o domínio de
técnicas de programação em rede mais ou menos complexas e envolvia normalmente a utilização de
sistemas proprietários que vinculavam o programador a uma solução rígida com opções tecnológicas
por vezes restritas.
O Orbix, desenvolvido pela IONA Technologies, é um produto baseado na norma CORBA para o
desenvolvimento e integração de aplicações distribuídas; esta solução permite a definição das
interfaces de software através de uma linguagem normalizada, que depois serão acedidas a partir de
11
INESC
Tecnologia dos servidores de informação
qualquer ponto do sistema distribuído (http://www.irl.iona.com/). O Orbix é uma implementação
completa da norma CORBA. Este produto está conforme a norma CORBA 2.0 e suporta as normas
de mapeamento de IDL (Interface Definition Language) para C++ definidas pelo grupo OMG. O
Orbix, para Windows e Unix, trouxe robustez, facilidade de utilização e integração de aplicações
distribuídas baseadas numa norma internacionalmente aceite. O Orbix integra as tecnologias
Microsoft OLE e ActiveX com a norma CORBA, ou seja, fornece a interligação entre o modelo
COM (Component Object Model) e a norma CORBA.
1.2.1 Panorâmica da programação distribuída com o Orbix
Um sistema de computação distribuído é um conjunto de componentes de software cooperantes que
correm em vários computadores interligados por uma rede. Estes componentes podem ser
normalizados e normalmente partilhados por aplicações que podem por sua vez incluir um conjunto
de componentes específicos. Um caso simples pode consistir num simples processo que interage com
um certo número de componentes partilhados. Os utilizadores finais interagem com aplicações que,
por sua vez, podem interagir ou utilizar componentes de software disponíveis através da rede de
comunicações. Cada componente pode utilizar também outros componentes de software para
desempenhar as suas funções. As vantagens de um sistemas deste género são claras: em termos de
eficiência, a reutilização de componentes em várias aplicações acelera o ciclo de desenvolvimento de
software e aumenta em larga escala a flexibilidade dos sistemas. Sendo as aplicações construídas a
partir de componentes distintos, a manutenção e a adaptação é simplificada. Utilizando o Orbix, o
programadores podem tirar partido da integração destes componentes no ambiente de trabalho e
evitar preocuparem-se com os aspectos técnicos de programação em rede.
Em Orbix, os componentes de programação distribuídos são objectos com interfaces bem definidas e
independentes de detalhes de implementação específicos, e que podem comunicar entre os vários nós
do sistema distribuído. Cada objecto está associado com um servidor, que gere um conjunto de
objectos com a mesma ou diferentes interfaces. Cada objecto Orbix possui internamente um
identificador único global, que pode ser utilizado para o localizar no sistema distribuído. Cada
servidor pode ter um qualquer número de clientes que comunicam com os seus objectos. Sendo o
Orbix um sistema orientado aos objectos, são estes os componentes utilizados para a distribuição.
Em sistemas deste tipo, uma aplicação é construída através da especificação de tipos (definições de
interface), implementação e criação de objectos destes tipos.
Um servidor CORBA é um elemento do sistema, frequentemente um processo, onde os objectos
Orbix são executados. O cliente e o servidor podem correr em diferentes máquinas do sistema
distribuído; ou em diferentes espaços de endereçamento da mesma máquina; ou até no mesmo
espaço de endereçamento. Os passos normalmente seguidos para a programação em C++ de um
sistema distribuído Cliente/Servidor são:
• Definir as interfaces, utilizando a linguagem IDL;
• Implementar estas interfaces com classes C++;
• Escrever um servidor mainline que crie as instâncias das classes e informe o Orbix quando
a inicialização já estiver concluída e o servidor estiver pronto para receber pedidos;
• Registar o servidor;
• Escrever um cliente mainline para se ligar e utilizar os objectos do servidor.
12
INESC
Tecnologia dos servidores de informação
O Orbix permite que as suas aplicações criem objectos CORBA disponíveis para aplicações baseadas
em OLE e vice-versa. Esta integração fornece um elevado nível de transparência de modo a que um
cliente que esteja a trabalhar com o modelo de objectos COM possa ver os objectos CORBA como
se de Objectos COM se tratassem; e um cliente a trabalhar com o modelo de objectos CORBA possa
ver os objectos COM como se fossem objectos CORBA.
O primeiro benefício resulta da integração que o Orbix permite ao interligar aplicações executadas
em vários sistemas operativos (desde o Windows NT e Windows 95 até várias plataformas Unix) e
desenvolvidas em diferentes linguagens de programação. O Orbix pode também ser visto como uma
plataforma para o processamento distribuído entre clientes e servidores (e.g. OLE, Java). Com o
Orbix, os clientes e os servidores OLE Automation são também clientes e servidores CORBA,
permitindo que os objectos CORBA sejam criados e controlados a partir de Automation controllers
(e.g. Visual Basic). Os programas clientes e servidores podem ser feitos em qualquer linguagem que
consiga comunicar com os mecanismos OLE (e.g. Visual Basic, Excel, C++, PowerBuilder). Os
programas desenvolvidos em Orbix para o ambiente Windows podem aceder a servidores CORBA a
correr em máquinas Unix, Windows NT, Windows 95 ou em outras plataformas onde o Orbix ou
outro ORB-CORBA corra de forma idêntica.
O Orbix permite fazer a ponte entre Java e ActiveX
Nos finais de 1996 a empresa IONA demonstrou a primeira ligação distribuída entre o Java e os
ActiveX através do OrbixWeb e do Orbix para Windows. A solução Orbix baseada na norma aberta
CORBA e no protocolo de rede IIOP (Internet InterORB Protocol) foi a primeira a estabelecer a
interoperacionalidade entre Java e ActiveX. Utilizando a IDL do CORBA, é possível especificar os
meios de comunicação entre os vários componentes. Esta camada de abstracção permite que um
componente seja escrito em qualquer linguagem (e.g. Java) e possa ser implementado em qualquer
modelo de objectos que possua uma interface CORBA já definida, como por exemplo a
especificação que a OMG definiu do CORBA para ActiveX. O Orbix oferece uma ligação total e
bidireccional entre estas duas tecnologias. Os programadores podem desenvolver um cliente ActiveX
que invoca um servidor Java e vice-versa; estes componentes podem também invocar qualquer outro
tipo de tecnologia baseada no CORBA. O CORBA, juntamente com o protocolo de rede IIOP, está
a tornar-se na principal tecnologia de integração de diferentes plataformas.
A tecnologia CORBA 2.0 permite o mapeamento de C++ e IIOP, na ligação entre clientes desktop e
servidores CORBA utilizando VisualBasic, ActiveX e Java. É possível implementar sobre a camada
CORBA um conjunto de serviços, tais como a gestão de nomes, transações, segurança e
programação orientada aos eventos. Esta tecnologia permite a integração e interoperacionalidade
entre a diversidade de sistemas existentes. Permite a construção de aplicações distribuídas em
diferentes plataformas. A utilização do protocolo IIOP permite a conectividade entre diversos
ambientes desde um browser Web até MVS. A troca de mensagens através do CORBA assenta no
paradigma de mensagens orientadas aos eventos.
1.2.1.1 Os clientes e os servidores
Um sistema distribuído consiste num conjunto de objectos a correr nos clientes e nos servidores. Os
servidores fornecem os objectos que são utilizados pelos clientes e por outros servidores. Quando
13
INESC
Tecnologia dos servidores de informação
um objecto invoca uma operação noutro objecto, designamos o primeiro por cliente e o segundo por
servidor. O objecto que invoca a operação pode no entanto estar no servidor, ou seja, o servidor
pode invocar operações/métodos e funcionar como cliente enquanto durar o processo que invocou.
Um servidor é activado (launched) quando está inactivo (dormant) e um dos seus objectos é
utilizado. Para facilitar este procedimento, todos os servidores devem ser registados no Orbix.
Um cliente pode conter objectos, e estes objectos podem ser dados a conhecer aos outros clientes e
servidores, que os poderão utilizar. Esta situação pode acontecer porque na invocação prévia de uma
operação o cliente pode passar ao servidor a referência para um dos seus objectos. A diferença
reside no facto do cliente ter já que estar a correr, uma vez que não existe o lançamento automático
de clientes. Os clientes não podem ser registados no Orbix.
1.2.1.2 Definição de interfaces
Num programa distribuído, construído utilizando o Orbix, é possível implementar objectos diferentes
em diferentes linguagens de programação. Para suportar a interacção entre estes objectos, é
necessário abstrair a funcionalidade fornecida por cada objecto através de uma definição clara da sua
interface. A linguagem IDL (Interface Definition Language) é uma linguagem normalizada, definida
pelo grupo OMG, para a definição destas interfaces.
Depois de definida a interface de um objecto em IDL, o programador pode implementar livremente
esse objecto, utilizando uma linguagem de programação apropriada. Um programador, que deseje
utilizar esse objecto, pode utilizar qualquer linguagem de programação para invocar remotamente o
objecto. Em Windows podemos por exemplo utilizar o VB para implementar um cliente que utiliza
objectos implementados em diferentes linguagens (e.g. C++, Java, Ada, Smalltalk, VB).
Os objectos em Orbix para servidores Windows, podem ser implementados em VB, Excel,
PowerBuilder ou qualquer outra linguagem de programação compatível com OLE Automation ou
ActiveX. O Orbix para Windows, permite aos programas clientes (incluindo aqueles localizados em
máquinas remotas) podem fazer pedidos a estes objectos (do servidor) a partir de um programa
escrito na mesma linguagem do cliente ou noutra linguagem de programação. É da responsabilidade
do Orbix transmitir o pedido do cliente para o objecto no servidor.
1.2.2 Panorâmica da tecnologia COM
O modelo de objectos da Microsoft - COM (Component Object Model) - é análogo ao CORBA, na
medida em que permite às aplicações de software (componentes) interagirem umas com as outras,
mesmo que os seus componentes sejam desenvolvidos independentemente, recorrendo a diferentes
linguagens de programação. O modelo COM difere do CORBA na medida em que foi concebido
para um ambiente centralizado numa única máquina e lida apenas com objectos COM (objectos OLE
ou objectos Windows) (http://www.microsoft.com/).
O modelo COM define as interfaces dos seus objectos através de uma interface designada por MIDL
(Microsoft's Interface Definition Language). Uma interface COM é um conjunto de funções
14
INESC
Tecnologia dos servidores de informação
relacionadas. Um objecto COM é uma instância de uma classe que implementa uma ou mais
interfaces e é identificada por um identificador único da classe (Class ID - CLSID).
Ao contrário do CORBA, o modelo COM não suporta a identidade de objectos; uma interface COM
não pode, por esse facto, ser instanciada para criar um objecto que possua um identificador único.
Um cliente COM pode no entanto comunicar com um objecto através de um apontador para uma
interface que lhe permite aceder às funções definidas nessa interface. Um cliente COM não pode
voltar a ligar-se exactamente à mesma instância do objecto com a mesma informação de estado;
pode apenas voltar a ligar-se a um apontador de interface da mesma classe. Através de um apontador
para uma dada interface, um cliente pode perguntar, através da função QueryInterface() (definida na
interface Iunknown que todos os objectos COM suportam), que outras interfaces um objecto pode
suportar.
1.2.2.1 A automação OLE
O modelo de automação OLE (OLE Automation) foi definido como uma extensão ao modelo COM.
As interfaces compatíveis com a automação OLE podem ser descritas na linguagem ODL (Object
Definition Language) que é uma extensão da MIDL. As interfaces de automação OLE podem
opcionalmente ser registadas numa biblioteca de tipos (Automation's Type Library) que fornece, em
run-time, informação sobre os métodos e as propriedades que a interface OLE Automation possui.
Neste aspecto, o CORBA fornece um repositório de interfaces (Interface Repository) que
desempenha um papel semelhante à biblioteca de tipos.
Ao desenvolvermos aplicações, utilizando a automação OLE, podemos publicar os seus objectos
(Automation Objects) para serem utilizados nas ferramentas de scripting e nas linguagens macro.
Estes objectos são conhecidos por Automation Servers. As ferramentas e os programas dos clientes
que acedem a estes servidores designam-se por controladores (Automation Controllers). Se o
servidor (Automation Server) suportar uma interface especial designada por IDispatch, as interfaces
OLE Automation publicadas podem ser invocadas dinamicamente por um cliente que não conheça as
interfaces, durante a sua compilação. A verificação dos tipos é permitida, em run-time, através da
biblioteca de tipos.
1.2.2.2 Os controlos OLE e a tecnologia ActiveX
Os controlos OLE (OCX) são outra extensão ao modelo COM. Um controlo OLE é um servidor
que pode comunicar com várias aplicações, utilizando propriedades, métodos e eventos. Um evento
é uma notificação desencadeada por um controlo OLE como resposta a uma acção do utilizador
(e.g. acção do rato que modifique o controlo). Um evento corresponde a uma invocação de um
método; um controlo não fornece uma implementação para um evento, simplesmente expõe o evento
e invoca uma implementação fornecida por outra aplicação quando esse evento é despoletado. Um
conjunto de eventos de um controlo OLE é definido como um conjunto de interfaces em ODL.
Mais recentemente a Microsoft introduziu outra extensão aos controlos OLE, designada por
ActiveX. Esta solução possui um conjunto de tecnologias baseadas em controlos OLE que facilitam
o desenvolvimento de aplicações para a Internet. Uma aplicação que é um controlo ActiveX pode
15
INESC
Tecnologia dos servidores de informação
ser embebida nas páginas Web ou em qualquer outro contentor de controlos ActiveX (e.g. VB,
Visual C++, MS Access).
1.2.3 A integração CORBA/COM
A integração entre o CORBA e COM é possível, de modo a que um cliente COM possa invocar
métodos de um objecto num servidor CORBA, e vice-versa. O servidor CORBA contém um objecto
Orbix para o qual o controlador OLE (Automation Controller) possui uma referência. Uma vez que
a referência é para um objecto remoto (num espaço de endereçamento diferente - no mesmo nó ou
num nó diferente), aponta para esse objecto através de um objecto proxy. Um proxy é um
representante ou um substituto local de um objecto remoto; está contido num servidor OLE que é
responsável por encaminhar o pedido para o objecto que é alvo da chamada remota (através de um
processo ou fronteira da rede). O servidor OLE que executa esta função designa-se por OLE
Broker porque é o intermediário entre o cliente e o objecto no servidor. Um OLE Broker pode ser
um servidor OLE normal, um controlo OLE ou simplesmente um controlo ActiveX. O objecto proxy
no broker fornece a mesma interface do objecto alvo. Sendo o proxy um objecto local, o cliente
pode invocar métodos neste objecto local utilizando a sintaxe normal do Automation Control. O
objecto proxy do OLE Broker é responsável por conduzir os pedidos ao objecto remoto.
1.2.4 O acesso às Bases de Dados
É do conhecimento geral que os componentes de software reutilizáveis reduzem o tempo e os custos
de desenvolvimento. A IONA Technologies e a I-Kinetics desenvolveram componentes de software
reutilizáveis, que fornecem plug-ins para a ligação aos SGBDs Oracle e Sybase. Estes componentes
de bases de dados foram concebido para clientes Windows ou Unix que pretendem aceder às bases
de dados Unix. Estes componentes são um exemplo do modo como o CORBA torna possível, aos
produtores de middleware independentes, criarem objectos de software off-the-shelf - designados
por ComponentWare - que podem ser reutilizados no desenvolvimento de soluções de software para
problemas que surgem diariamente aos programadores de sistemas de informação. Esta reutilização
reduz a necessidade de rescrever grandes porções do código sempre que se inicia algum projecto,
contribuindo assim para uma diminuição significativa do tempo e dos custos de desenvolvimento dos
projectos.
Através da interface C++ do Unix, os programadores em CORBA podem utilizar este componente
de bases de dados como um bloco de construção para criar objectos com fins comerciais específicos.
O esforço e tempo necessários para desenvolver objectos CORBA específicos são drasticamente
reduzidos. Para os programadores em VisualBasic, o componente de base de dados fornece um
objecto de base de dados remoto disponível através da automação OLE. O componente fornece
acesso a múltiplas bases de dados e o ORB substitui todos os drivers e o middleware de base de
dados específicos. A utilização deste componente é imediata e não requer configurações especiais.
Uma vez instalado o componente de base de dados, podemos começar a criar as aplicações clientes
tanto na plataforma Windows como em Unix.
16
INESC
Tecnologia dos servidores de informação
1.3 Autenticação e encriptação de informação
As questões levantadas pela segurança da informação armazenada num sistema multimédia
distribuído tornaram-se num dos aspectos mais importantes na organização e gestão destes sistemas,
tanto ao nível da integridade da informação como da autenticação e controlo de acesso ao sistema
[25]. Estes problemas de segurança põem-se não só ao nível dos servidores de informação mas
também ao nível da rede a que se ligam estes servidores. Pretende-se aqui identificar um conjunto de
serviços de segurança informáticos (e.g. confidencialidade, autenticação, integridade, controlo de
acesso, entre outros) que devem estar disponibilizados neste sistema. A segurança de um sistema
informático passa também pelos mecanismos de protecção contra vírus, métodos de escolha de
chaves de acesso pessoais (passwords), sistemas tecnologicamente confiáveis (que possuem vários
níveis de segurança para diferentes utilizadores) e serviços de autenticação para o controlo de
acessos remotos (e.g. acesso restrito, firewall, identificação por call-id e call-back). Nenhum
sistema se pode considerar inviolável mas podem implementar-se diferentes níveis de segurança que
garantam um elevado nível de eficácia na protecção do sistema.
A segurança da informação no interior de uma organização ganhou particular relevo nas últimas
décadas. A utilização de equipamento informático de processamento de dados mudou drasticamente
o cenário existente até então, em que a segurança era atingida essencialmente por meios físicos ou
administrativos.
Com a introdução do computador no processo produtivo diário de milhares de organizações, tornouse evidente a necessidade de se dispor de ferramentas automáticas de protecção da informação. Os
sistemas multi-utilizador tornaram ainda mais óbvia essa necessidade e, actualmente, os sistemas que
podem ser acedidos através de redes públicas de dados ou telefones têm ainda requisitos mais
exigentes. Hoje em dia a segurança deve não só cobrir a área do sistema propriamente dito como
também a das redes a que este está ligado.
No entanto, deve estar-se consciente de que qualquer política de segurança deve ser encarada numa
perspectiva global, isto é, mesmo existindo mecanismos de segurança ao nível informático, estes só
resultarão se houver também segurança ao nível da organização. Os tipos de ataques à segurança de
um sistema informático ou das redes a que este se encontra ligado dividem-se normalmente em 4
categorias:
• Interrupção: parte do sistema fica inoperacional devido a causas como destruição de um
disco, de uma linha de comunicação ou do sistema de ficheiros do sistema;
• Intercepção: um elemento não autorizado (e.g. uma pessoa, programa ou outro
computador) consegue acesso ao sistema e consulta informação que pode ser confidencial;
• Modificação: um elemento não autorizado ganha não só acesso ao sistema como
modifica a informação nele contida (e.g. um ficheiro de dados; mensagens a serem
transmitidas para a rede);
• Fabricação: um elemento não autorizado insere novos objectos no sistema que não são
autênticos, tais como mensagens espúrias ou mais uns registos num ficheiro.
Destes tipos de ataque à segurança apenas o segundo pode ser considerado como um ataque passivo
em que o objectivo principal é a obtenção de informação. Este tipo de ataque é de difícil detecção e a
melhor medida a tomar é a de prevenção. Todos os outros tipos são ataques activos que apresentam
as características opostas às dos ataques passivos; a estratégia será detectá-los e tentar recuperar
17
INESC
Tecnologia dos servidores de informação
qualquer disfunção ou atraso provocados por eles. Os serviços de segurança informáticos que
habitualmente são identificados como sendo necessários são:
• Confidencialidade: o acesso deve ser feito apenas por elementos autorizados. O acesso
inclui visualização, impressão, etc.
• Autenticação: requer que a origem das mensagens seja correctamente identificada.
• Integridade: a transmissão ou modificação da informação deve ser feita apenas pelas
partes autorizadas.
• Não Repúdio: nem o emissor nem o receptor devem poder negar a transmissão.
• Controlo de Acesso: requer que o acesso à informação possa ser controlado no sistema
destinatário.
• Disponibilidade: as especificações de gestão do sistema devem estar disponíveis a partes
autorizadas quando necessário.
Não existe um mecanismo único que forneça todos os serviços anteriormente descritos; podemos no
entanto mencionar a criptografia como um dos elementos chave comum à maioria dos mecanismos
de segurança. Todas as técnicas de segurança apresentam duas componentes:
• uma transformação da informação a ser enviada por razões de segurança (por exemplo
encriptação da mensagem e adição de códigos baseados no conteúdo da mensagem de
forma a permitir a verificação da identidade do emissor);
• alguma informação secreta partilhada por ambas as partes (por exemplo uma chave de
encriptação).
1.3.1 A segurança do correio-electrónico
Em ambientes virtualmente distribuídos, o correio electrónico é a aplicação de comunicação mais
utilizada. À medida que foi sendo cada vez mais utilizado foi aumentando também a necessidade de
ver incluídos na aplicação serviços de autenticação e confidencialidade. Dois esquemas apareceram
como bastante satisfatórios a ponto de provavelmente se virem a tornar normas de facto: o PGP e o
PEM. O PGP (Pretty Good Privacy) é um dos serviços segurança de informação mais utilizado,
devido a quatro razões fundamentais:
• está disponível em todo o mundo em versões públicas (grátis) para plataformas que
incluem DOS, Windows, Unix, Macintosh; existe também uma versão comercial que
satisfaz os utilizadores que pretendam produtos com suporte de venda;
• é baseado em algoritmos que sobreviveram a revisões públicas por longos períodos e são
considerados extremamente seguros;
• é utilizado quer por grandes companhias quer por utilizadores individuais que pretendem
conversar de forma segura na Internet;
• não foi desenvolvido nem é controlado por qualquer governo, comité de normalização ou
fabricante.
18
INESC
Tecnologia dos servidores de informação
As versões actuais do PGP fornecem cinco serviços:
• Autenticação: recorre a uma assinatura digital que recorre ao conceito de chave pública e
chave privada (que em conjunto geram uma sequência que só poderia ter sido produzida pelo
emissor);
• Confidencialidade: garantida pela encriptação das mensagens que se pretendem transmitir
ou armazenar localmente;
• Compressão: o PGP comprime uma mensagem após a criação da assinatura digital e antes
da encriptação, utilizando o vulgar algoritmo de compressão ZIP, tornando qualquer
tentativa de análise de criptografia mais difícil já que a mensagem comprimida tem menos
redundância que a original;
• Compatibilidade: converte as sequências de octetos em caracteres ASCII, factor exigido
por alguns sistemas de correio electrónico, garantindo assim a compatibilidade com outras
normas de e-mail;
• Segmentação e Reempacotamento: existem por vezes restrições impostas pelos sistemas de
correio electrónico ao tamanho máximo das mensagens. Se uma mensagem for maior do que
o estabelecido haverá lugar a uma subdivisão em segmentos suficientemente pequenos para
serem enviados por e-mail e o correspondente reagrupamento na recepção.
• PEM (Privacy Enhanced Mail) é uma norma utilizada na Internet para os serviços de segurança
em aplicações de correio electrónico. É muito utilizado em conjunto com outras normas Internet,
como por exemplo o SMTP (Simple Mail Transfer Protocol), mas também pode ser utilizado
com outros protocolos incluindo o X.400. Um requisito fundamental no projecto do PEM foi o
de apresentar a capacidade de lidar com o conjunto mais crítico de riscos de segurança em vez de
tentar cobrir todos eles; a intenção foi a de maximizar o valor acrescentado em termos de
segurança com um esforço mínimo.
O PEM apresenta as seguintes características:
•
•
•
•
Protecção contra interrupção;
Autenticação da origem;
Integridade das mensagens;
Não repúdio da origem da mensagem.
1.3.2 Os aspectos de segurança no servidor
Qualquer empresa ou instituição que adira à Internet ou que esteja ligada a uma rede externa deve
proteger o seu sistema de informação. As redes que não possuam uma ligação segura à Internet ou a
redes de outras instituições, ficam vulneráveis a ataques externos (hackers). Ao proporcionar uma
“porta” de entrada através de uma rede pública (e.g. RDIS) a um servidor ou a uma rede local
privada aumentam as probabilidades da mesma ser violada por intermédio de acessos não
autorizados. Existem já algumas técnicas que visam impedir tais quebras de segurança e que se
apresentam a seguir.
19
INESC
Tecnologia dos servidores de informação
1.3.2.1 Os métodos básicos
Actualmente, os sistemas Firewall são um dos métodos de protecção mais eficientes contra ataques
externos. Existem contudo quatro métodos básicos para melhorar a segurança dos sistemas de
acesso remoto, e para os quais assumimos a utilização de usernames e passwords, que são: o acesso
restrito, firewall, identificação por call-id e identificação call-back.
• Acesso Restrito: todos os nós de uma rede têm um endereço bem definido. O acesso restrito
proporciona uma primeira linha de defesa pois só se atendem chamadas provenientes de um
endereço conhecido. Este método é eficiente mesmo em situações onde existem ligações
multi-utilizador (e.g. ligações a partir da Internet);
• Firewall: este método estabelece uma barreira, que só permite a passagem do trafego
autorizado, entre a rede interna de uma organização e as redes externas a que está ligada
(e.g. Internet); existem dois tipos principais de firewalls: os filtros de pacotes (packet filters)
implementados normalmente recorrendo ao hardware dos routers que consideram um
conjunto de regras para a verificação da informação dos pacotes (e.g. endereço de destino;
endereço da fonte) e do serviço de rede a que o pacote está ligado (e.g. FTP; Email); e os
servidores proxy (proxy server firewalls) que processam separadamente diferentes tipos de
serviços de rede, utilizando aplicações designadas por proxies (e.g. um proxy FTP para
controlar o tráfego FTP; um proxy Email para controlar o correio electrónico que chega e
que parte);
• Call-Id: este método baseia-se na identificação do número do processo do cliente (e.g. um
serviço RDIS), confrontando-o com uma lista de acessos autorizados;
• Call-Back: quando um utilizador se apresenta ao sistema, identifica-se por um username,
pela respectiva password e pelo número do cliente. O Servidor recebe a identificação do
cliente, valida o seu acesso e desliga a chamada. Em seguida estabelece uma ligação para esse
utilizador que fica assim localizado e identificado.
1.3.2.2 Os métodos normalizados
Existem fundamentalmente dois sistemas normalizados de segurança em cenários de acesso a um
servidor: o PAP e o CHAP.
• PAP (Password Authentication Protocol): este protocolo é utilizado conjuntamente com o
PPP e permite efectuar alguma validação do acesso remoto para o posto central. O posto
remoto fornece um username e uma password não encriptadas, as quais são validadas pelo
equipamento no posto central. A base de dados do posto central, onde se encontram as
tabelas de validação, está encriptada.
• CHAP (Challenge Handshake Authorisation Protocol): trata-se de um sistema que permite
validar o acesso remoto a um posto central, utilizando um protocolo sofisticado que procede
a verificações periódicas durante o decurso de uma sessão. Após uma primeira autenticação,
semelhante à do PAP, é definido um ritmo de validações posteriores. Nelas, o utilizador é
confrontado com novas solicitações da senha privada. Toda a informação transmitida neste
protocolo é encriptada.
20
INESC
Tecnologia dos servidores de informação
1.3.2.3 Os sistemas proprietários
Alguns fornecedores de equipamento desenvolveram outros sistemas de segurança baseados em
passwords dinâmicas. Estes sistemas são semelhantes ao CHAP, com a diferença substancial de que
não existe uma password única. Existem geradores de senhas por software e/ou hardware que os
utilizadores transportam consigo. Estes geradores de passwords funcionam com base em dois
factores: exigem que o utilizador forneça algo que conheça e algo que possua (é um processo
semelhante ao das máquina multibanco onde é necessário fornecer um cartão e um PIN).
Existem ainda dois modos de funcionamento: temporais e de desafio. No primeiro caso, o sistema
central solicita ao gerador de passwords do utilizador uma dada password, a qual só é válida durante
um curto espaço de tempo. No segundo é gerada uma password que só será válida para essa sessão.
A Sun lançou um produto, designado por SKIP (Simple Key Management for Internet Protocol),
baseado na tecnologia de encriptação de 1024 bits, que funciona ao nível da camada de rede e que
permite a encriptação eficiente e transparente de qualquer protocolo ao nível do TCP/IP
(http://skip.incog.com). Esta solução fornece privacidade e autenticação às aplicações de rede sem que
seja necessário qualquer modificação ou recompilação. O SKIP é um sistema de gestão de chaves em
evolução, que prevê melhoramentos, como por exemplo: no suporte de autenticação e
autenticação+encriptação; adição de um contador que será utilizado para prevenir certos ataques
(e.g. key attacks, playback attacks); suporte para a identificação de um nó de destino para permitir
que as gateways façam tunneling e forwarding de pacotes. O SKIP permite a encriptação com vários
algoritmos conhecidos (e.g. DES em modo CBC (56 bit); RC2 em modo CBC (40 bit); RC4 (40
bit); RC4 (128 bit); Key Triple DES (128 bit) (EDE); 3 Key Triple DES (192 bit) (EDE); IDEA
(128 bit); Simple Crypt) mas poderão também ser adicionados outros algoritmos.
A segurança de um sistema informático envolve ainda múltiplos aspectos não referidos. Entre eles
incluem-se, por exemplo: os mecanismos contra vírus informáticos; os métodos de escolha de chaves
de acesso pessoais (passwords); os sistemas ditos “tecnologicamente confiáveis” que possuem vários
níveis de segurança e que verificam a autorização de cada utilizador para realizar cada operação
específica; a utilização ou não de serviços de autenticação no controlo de acessos remotos (e.g. o
Kerberos ou a norma X.509 para o serviço de directórios X.500), entre outros.
21
INESC
Tecnologia do arquivo de informação
Capítulo 2
Arquivo de Informação
O sistema de informação multimédia audiovisual de suporte da Mediateca e da Artec necessita, para
além do servidor de informação, de um SGBD (Sistema de Gestão de Bases de Dados) com
capacidade de gestão das vastas quantidades de informação armazenadas na base de dados sob a
forma de streams de áudio e vídeo. Igualmente importante neste contexto é a pesquisa eficiente de
informação, utilizando técnicas tais como a pesquisa baseada no conteúdo (content based search) e
tecnologia para a consulta eficiente de dados multimédia (multimedia browsing).
A primeira secção deste capítulo aborda as questões relacionadas com a gestão do arquivo:
especifica os requisitos do SGBD, indica as várias alternativas tecnológicas existentes e aponta
algumas soluções comerciais para um sistema deste género. A segunda secção descreve os aspectos
relacionados com a pesquisa inteligente de informação através da utilização de agentes de interface.
2.1 Gestão da Base de Dados
Têm ocorrido mudanças importantes na forma como as bases de dados são estruturadas e utilizadas.
A aproximação relacional encontra-se, hoje em dia, perfeitamente implantada. As bases de dados
relacionais são utilizadas em todo o tipo de aplicações, desde aplicações correndo sobre
arquitecturas paralelas de grandes dimensões até aplicações correndo sobre PCs.
Por outro lado, as arquitecturas cliente-servidor migraram de sistemas de ficheiros para sistemas de
bases de dados, e têm surgido, cada vez com mais frequência, servidores de bases de dados
acessíveis a partir de pontos remotos através de redes de comunicação [1].
Em terceiro lugar, aos tradicionais registos das bases de dados relacionais têm-se juntado vários
tipos de dados multimédia. Esta tendência alimenta o sucesso das bases de dados relacionais
orientadas aos objectos (ORDBs) e tem provocado um aumento da eficiência dos motores
relacionais no que diz respeito a modelos de dados mais ricos. Actualmente, observam-se
combinações interessantes das melhores características das bases de dados relacionais (RDBMS) - o
acesso SQL a tipos de dados simples, com as melhores características das bases de dados orientadas
a objectos (OODBs) - a modelização de dados complexos. Esta combinação resulta em novos
sistemas com capacidades que vão bastante mais além do que os sistemas tradicionais, de que são
exemplo os sistemas de bases de dados relacionais orientados aos objectos (ORDBs) e os sistemas
de bases de dados dedutivos orientados aos objectos (DOODs) [2].
22
INESC
Tecnologia do arquivo de informação
2.1.1 Requisitos do arquivo de informação
Os requisitos para a base de dados que suportará o arquivo de informação audiovisual digital da
Mediateca e da Artec incluem:
• a existência de modelos para o armazenamento de informação multimédia, em particular
para dados de vídeo, áudio e imagem. Estes modelos devem ser ricos em termos das
capacidades que oferecem para a abstracção de informação multimédia, devem estar aptos a
fornecer mecanismos de representação para imagens complexas, cenas e eventos em termos de
objectos e do seu comportamento espácio-temporal;
• a existência de métodos de indexação, pesquisa, acesso e organização especialmente
vocacionados para dados multimédia. A pesquisa em bases de dados multimédia pode ser
bastante intensiva em termos computacionais e em termos de operações de I/O, em particular
nos casos em que se pretende um mecanismo de obtenção baseada no conteúdo (content-based
retrieval) para dados de vídeo e imagem comprimidos ou descomprimidos. Ocasionalmente, a
pesquisa pode ainda ser baseada em informação incompleta (fuzzy);
• a existência de uma linguagem de queries multimédia eficiente que seja capaz de expressar
conceitos espácio-temporais complexos e deve permitir lidar com várias funções de
manipulação de objectos multimédia.
Necessitamos pois de um servidor de bases de dados que forneça várias funcionalidades ao nível da
procura e indexação de informação audiovisual armazenada na base de dados, empregando, se
possível, técnicas de inteligência artificial e modelização que permitam realizar pesquisa de imagens
por semelhança a outras imagens ou padrões.
Do ponto de vista da integração, as técnicas convencionais de modelização de dados tornam-se
insuficientes já que lhes falta a capacidade de gerir a composição de objectos multimédia num
ambiente de bases de dados heterogéneo [4]. A integração semântica de vários tipos de dados é uma
exigência colocada por grande parte das aplicações multimédia. Sendo assim, o modelo relacional
apresenta a desvantagem de perder a semântica, o que pode causar uma interpretação errónea dos
dados multimédia.
Por outro lado, as tecnologias orientadas aos objectos proporcionam um paradigma que vai de
encontro aos requisitos impostos pelas modelização semântica e composição multimédia. As
características de encapsulamento de dados e procedimentos constituem uma solução elegante para a
modelização a vários níveis de granularidade de informação em sistemas de bases de dados
multimédia.
As limitações do modelo relacional são também óbvias quando se pretende lidar com a modelização
semântica dos dados multimédia temporais (áudio e vídeo). As características destes tipos de dados
incluem a semântica espácio-temporal, o que os distingue dos tipos discretos tais como texto,
gráficos e imagens. O utilizador de bases de dados de áudio e vídeo pode gerar queries contendo
conceitos espaciais e temporais em simultâneo.
23
INESC
Tecnologia do arquivo de informação
Em suma, os Sistemas de gestão de Bases de Dados Relacionais tradicionais encontram-se
actualmente sob uma pressão tecnológica considerável. Estes SGBDs apenas suportam tipos de
dados simples e limitados (tais como inteiros, números com vírgula flutuante, strings de caracteres e
ainda datas e horas), não possuindo qualquer mecanismo que entenda séries temporais, dados
multimédia, e novos tipos de dados complexos.
2.1.2 Soluções Tecnológicas
Para responder às limitações das soluções estritamente relacionais, começa a surgir um novo tipo de
SGBDR, designado por Universal Server. Estes novos servidores possuem extensões que lhes
permitem lidar com dados e funções complexas, e ainda novas técnicas de acesso [2]. Estas novas
características tornam o SGBDR Universal Server mais extensível, flexível e escalável para dados
complexos, e permitem uma melhor integração do Universal Server com novas tecnologias, tais
como as que se mencionam a seguir:
a) tecnologias para Análise de Dados tais como a Data Warehouse, o OLAP (Online Analytical
Processing) e o OLTP (Online Transaction Processing), e as Data Mining e Data
Visualization;
b) tecnologias para Formatos de dados complexos tais como os Sistemas de Gestão de Dados
orientados aos Objectos (ODMS);
c) tecnologias tais como as Intranets e novos conjuntos de ferramentas de desenvolvimento,
designados por toolsets.
A Data Warehouse é uma colecção de dados não-volátil, integrada e variável no tempo. Estas
colecções de dados destinam-se sobretudo a apoiar o processo de tomada de decisão por parte dos
gestores das empresas. A data warehouse constitui sempre um armazenamento físico separado que é
carregado com dados provenientes do ambiente operacional. No entanto, difere da bases de dados
operacional já que é concebida em torno da empresa, é integrada, exclui os dados que não são
utilizados no processo de tomada de decisão e os seus dados cobrem um espectro temporal alargado.
Por isso, as data warehouses constituem um dos melhores exemplos da tecnologia de bases de dados
temporais.
Os sistemas OLAP permitem a manipulação de dados de uma forma intuitiva, rápida e flexível,
através da utilização de termos familiares na pesquisa de um contexto analítico. Estes sistemas
apoiam as análises de requisitos complexas ao proporcionarem mecanismos para a análise de dados
provenientes de vários contextos e suporte para análises complexas de conjuntos de dados de
entrada muito vastos. Neste contexto, aplica-se ainda a noção da consolidação de dados. Existem
duas arquitecturas principais para os sistemas OLAP: a arquitectura multidimensional e a relacional.
A primeira utiliza uma base de dados multidimensional para proporcionar a análise, enquanto que a
segunda proporciona o acesso aos dados directamente, a partir de bases de dados relacionais.
O Data Mining é igualmente um processo de apoio à decisão que permite a pesquisa de padrões de
informação existentes nas bases de dados. As ferramentas de data mining são especialmente
concebidas para identificar associações significativas entre variáveis em bases de dados de elevada
dimensão.
24
INESC
Tecnologia do arquivo de informação
Os formatos de dados complexos, tais como gráficos, texto e hipertexto, imagens, áudio e vídeo e
documentos multimédia são contemplados pelas tecnologias designadas por ODMS (Object Data
Management Systems). Estas tecnologias de gestão orientada aos objectos assentam nas noções
familiares nas diversas linguagens de programação object-oriented, tais como o encapsulamento
proporcionado pelos tipos de dados abstractos. Neste campo, a I&D orienta-se de acordo com duas
direcções fundamentais: a primeira inclui uma variedade de tentativas de ampliação dos sistemas de
gestão de bases de dados existentes, por forma a fornecer funcionalidades adicionais através de
novas linguagens de interrogação (query) que incorporem procedimentos e outras características
orientadas aos objectos. Esta aproximação envolve dois ambientes separados: a linguagem de
programação da aplicação e a linguagem de interrogação estendida. Ambas possuem os seus
próprios tipos de dados (necessariamente diferentes) e os seus próprios ambientes de execução.
A segunda direcção da I&D aponta no sentido de ampliar as linguagens de programação Object
Oriented existentes com características da gestão de bases de dados, tais como a persistência
(armazenamento permanente) e o controlo de concorrência, entre outras. Estes sistemas
proporcionam ainda uma linguagem de query que é compatível com a linguagem de programação e
corre no mesmo ambiente da aplicação, partilhando os mesmos tipos de dados.
O Universal Server é um SGBDR existente ao qual se adicionam funcionalidade para lidar com tipos
de dados complexos. Por outras palavras, o Universal Server funciona como uma série de extensões
(ao SGBDR) integradas e compatíveis. Do ponto de vista da manipulação de tipos de dados
multimédia, o Universal Server oferece aos utilizadores várias capacidades:
• a capacidade de lidar de uma forma eficiente com tipos de dados complexos (tais como áudio
e vídeo), através de operações específicas (tais como a pesquisa de um padrão visual num
arquivo de vídeo), e a capacidade de armazenamento de novos tipos de dados (tais como
dados multidimensionais, texto, dados multimédia e dados espaciais);
• maior suporte para a realização de operações complexas sobre tipos de dados simples e
complexos através das extensões;
• maior eficiência no acesso aos dados e na realização de cálculos baseados nos mesmos;
• maior integração com as ferramentas de desenvolvimento actuais, com os processos de
desenvolvimento e com as interfaces gráficas baseadas em objectos;
• melhor integração com arquitecturas Internet/Intranet;
• suporte para ROLAP (Relational OnLine Analytical Processing).
Muito recentemente, os fabricantes de SGBDs começaram a despertar para as possibilidades de abrir
as suas aplicações à World Wide Web, surgindo os servidores Web/SGBDs dinâmicos [5]. Esta
integração de um SGBD com um servidor Web permite disponibilizar a informação pretendida pelos
utilizadores sem necessidade de se recorrer à conversão para HTML da informação armazenada na
base de dados: passa a estar disponível a possibilidade de se disponibilizar toda a informação a partir
da base de dados, utilizando a Web como interface. A vantagem desta aproximação reside na
possibilidade de utilização dos motores de pesquisa das bases de dados, aproveitando a sua
flexibilidade e rapidez na pesquisa de informação.
25
INESC
Tecnologia do arquivo de informação
Os servidores SGBD Web-enabled possuem vantagens face à utilização dos scripts CGI já que se
evita, por um lado, a necessidade de ter uma multiplicidade de scripts para cobrir os vários
mecanismos de interrogação à base de dados e a consequente gestão e, por outro, facilitam a
manutenção de sites Web, visto que os ficheiros passam a existir na base de dados, desaparecendo a
existência de duas fontes de informação: ficheiros HTML e ficheiros na bases de dados.
2.1.3 Soluções Comerciais
A gestão do acesso ao arquivo da Mediateca e da Artec passará pois pela utilização de um SGBD
com extensões multimédia que proporcione acesso à informação via uma rede de comunicação de
dados. As soluções propostas pelos maiores fabricantes de SGBDs na actualidade, Informix, Oracle,
e IBM passam pela inclusão de toda a informação na própria base de dados, incluindo os ficheiros
HTML que aí estão armazenados e aí são geridos [2]. Elimina-se, deste modo, a necessidade dos
scripts CGI (para se alterar uma página rapidamente basta aceder à base de dados e alterar as partes
pretendidas) e passamos a dispor de um sistema de gestão de bases de dados que integra as novas
soluções tecnológicas num ambiente cliente/servidor, incluindo o acesso à Internet (WWW).
2.1.3.1 Informix Universal Server
A nova tecnologia da Informix (www.informix.com), o Universal Server, baseado na tecnologia DSA
(Dynamic Scalable Architecture), vem resolver estas necessidades: armazenar todo o tipo de dados
multimédia, tais como áudio e vídeo, e fazer a sua gestão e administração dentro do próprio motor
da base de dados. O Universal Server é um motor object relational que permite, através do Web
DataBlade, que as páginas HTML estejam embebidas dentro da base de dados. A gestão das páginas
HTML realiza-se por intermédio do mecanismo Application Pages.
Os DataBlades são conjuntos de rotinas que permitem definir novos tipos de dados, métodos de
acesso a esses dados e dar-lhes um contexto, isto é, saber como interagem com outros dados e com
outras aplicações. Os DataBlades permitem, pois, armazenar informação dos seguintes tipos: texto,
imagem, vídeo, áudio, páginas web e tipos de dados personalizados. O modo de funcionamento é
relativamente simples: em vez de se colocar directamente nas páginas HTML a informação que se
pretende disponibilizar, são embebidos tags SQL de terceira geração. Quando se acede a essa
página, dá-se uma “explosão” desses tags, isto é, executa-se o comando que lá existe e insere-se
informação nesse ponto (função WebExplode)
2.1.3.2 Oracle Universal Server
A Oracle (www.oracle.com), em virtude das limitações dos scripts CGI, avançou com a proposta de
implementação de um servidor Web baseado numa linguagem tradicional do ambiente Oracle: o
PL/SQL, que permite escrever os procedimentos que constróem páginas HTML dinamicamente. A
solução Oracle baseia-se no WebServer 3.0 e em módulos designados por cartridges. Estes módulos
assentam sobre uma camada intermédia, designada por layer ICX, e não no próprio motor da bases
de dados. A perspectiva da Oracle é a de um sistema onde existe, por um lado, o cliente, no meio um
servidor aplicacional e, no outro lado, uma base de dados. Mantendo este modelo, a Oracle colocou
um layer ICX acima, e, neste, inseriu os componentes (cartridges) que podem ser browsers,
aplicações, etc.
26
INESC
Tecnologia do arquivo de informação
A tecnologia da Oracle designa-se por Oracle Universal Server (Oracle 7 Release 7.3) e é
constituída pelos seguintes componentes: o Oracle ConText Option, o Oracle Messaging Option, o
Oracle OLAP Option, o Oracle Spatial Data Option, o Oracle Video Option e, claro, o Oracle
WebServer 3.0. O Oracle Universal Server permite o armazenamento, a manipulação, a obtenção e a
partilha de quaisquer tipos de dados (desde registos comerciais, documentos, mensagens, imagens,
áudio e vídeo), em qualquer tipo de aplicação (desde processamento de transacções, data
warehouses até ao comércio electrónico). Este sistema permite ainda a disponibilização segura e
fiável destas aplicações aos utilizadores finais através de qualquer tipo de rede de comunicações. No
contexto deste relatório, será significativo analisar o componente Video Option.
O Oracle Video Option suporta o armazenamento e o acesso a informação áudio e vídeo, bem como
a sua integração em ferramentas de desenvolvimento da Oracle. O Video Option constitui uma
solução que permite o armazenamento, gestão e disponibilização de vídeo full-screen e áudio de
alta-fidelidade aos utilizadores através de uma rede de comunicações. Esta solução permite a
inclusão de vídeo digital em aplicações de bases de dados existentes e em novas aplicações. O
desenvolvimento de aplicações utiliza o Oracle Video Client (um componente do Oracle Video
Option) que suporta o Oracle Media Objects, o Oracle Power Objects, o Oracle Forms e o Visual
Basic da Microsoft. O Video Option inclui ainda Oracle Media Net, um componente de software que
permite a comunicação clientes-servidores sobre um ambiente de computação distribuído.
Fugindo momentaneamente ao contexto da Oracle, será talvez interessante referir o Active Media
Object Stores (AMOS), dada as suas semelhanças ao nível de funcionalidades com o Video Option
da Oracle. O AMOS baseia-se num OOSGBD (no VODAK) e endereça mais especificamente as
questões relacionadas com a modelização e sincronização de apresentações, acessos em tempo real e
interfaces com redes de comunicação.
Comparando as duas aproximações (Informix versus Oracle), podemos dizer o seguinte: na solução
da Informix, o browser comunica com o servidor Web, e este com o motor da base de dados através
do Web DataBlade. O interface entre o utilizador e esta tecnologia baseia-se num menu (uma página
HTML) no qual é possível colocar interrogações. A partir deste momento, são desencadeados todos
os mecanismos que podem conduzir até uma query à base de dados com a devolução da informação
pretendida. A diferença da solução Oracle, em relação à solução Informix, é que os DataBlades da
Informix permitem ampliar o leque de tipos de dados que podem ser reconhecidos pelo SGBD, bem
como os respectivos procedimentos, a nível do núcleo (kernel) da bases de dados. No caso da
Oracle, os cartridges trabalham num nível acima e estão, por isso, isolados do kernel, garantindo
uma maior protecção a nível de segurança, integridade referencial e integridade transaccional.
2.1.3.3 IBM DB2 Universal Database
O DB2 Universal Database da IBM é uma bases de dados escalável, multimédia e Web Enabled que
permite lidar com tarefas desde warehousing de dados multimédia distribuídos, queries complexas e
processamento de transacções. O DB2 Universal Database inclui ferramentas de bases de dados,
conectividade WWW e suporte para multimédia object-relational. O DB2 apresenta-se como uma
solução possível para o comércio electrónico, colaboração e gestão de conteúdos visto que combina
o desempenho OLTP, extensibilidade object-relational e funcionalidades relacionais, com o
processamento paralelo e clustering, um elevado desempenho ao nível de queries e suporte para
27
INESC
Tecnologia do arquivo de informação
bases de dados de grande dimensão. Possui ainda suporte adicional para OLAP e para tarefas de
decisão e uma maior integração com a Internet.
O suporte para tipos de dados object-relational (tais como imagem, áudio, vídeo e texto) encontrase intimamente integrado na base de dados através de funções definidas pelo utilizador e tipos de
dados definidos pelo utilizador. O DB2 inclui ainda motores de pesquisa de conteúdos específicos e,
mediante a utilização de UDFs (User Defined Functions) e UDTs (User Defined Types), os
utilizadores podem definir os seus próprios ambientes de dados, simplificando o desenvolvimento de
aplicações.
O DB2 Universal Database também proporciona ferramentas para monitorização, ajustamento do
desempenho e administração e replicação bidireccional de dados. O acesso a dados heterogéneos
(provenientes de fontes distintas) é um processo transparente graças à tecnologia DataJoiner.
Em relação à Internet, o DB2 suporta procedimentos JAVA e UDFs, e também suporta
conectividade Java específica (designada por JDBC) em simultâneo com TCP/IP. O produto
Net.Data da IBM proporciona o acesso a dados na Internet e facilita as ligações entre o DB2 e os
browsers Web, correndo numa variedade de plataformas (tais como OS/2, Windows NT,
Windows95, Unix, entre outras). Estas características permitem a utilização da Internet ou das
Intranets não só para a publicação de informação, mas também para o comércio.
2.2 Pesquisa inteligente de informação através de agentes de interface
“No futuro, a tecnologia dos agentes inteligentes será a única forma para realizar pesquisas de informação, em
particular na Internet, porque, independentemente de todos os esforços para a boa organização da informação,
nenhuma tecnologia conseguirá acompanhar o seu crescimento exponencial...”
Bob Johnson
(Dataquest, Inc.)
2.2.1 Introdução
Esta afirmação tem tanto de profético quanto de real. De facto, assistimos actualmente a um
crescimento exponencial da informação, quer na Internet e na WWW, quer nas bases de dados, cujo
conteúdo engloba cada vez mais tipos de informação complexos constituídos por conteúdos
multimédia. O ritmo deste crescimento deve ser acompanhado por ferramentas que permitam aos
utilizadores o acesso rápido e directo à informação que desejam. O crescimento fenomenal das
fontes de informação na Internet/WWW e da quantidade de informação armazenada nas bases de
dados inunda o utilizador com quantidades excessivas de dados, isto é, mais informação do que a
necessária. Este excesso de informação gerou uma procura imediata pela tecnologia dos agentes
inteligentes, com o objectivo de aliviar a sobrecarga gerada por quantidades muito vastas de
informação. Os utilizadores vêem o potencial contido nos agentes inteligentes para o desempenho de
muitas tarefas: desde as rotineiras e serviçais até às mais complexas [6].
Tal como sucedeu com as interfaces gráficas do utilizador (GUI) e as aplicações orientadas aos
objectos, os agentes inteligentes representam o próximo passo na evolução e refinamento da
experiência do utilizador com o software em geral e com a WWW em particular. A teoria dos
agentes inteligentes evoluiu a partir de paradigmas da experiência de agentes humanos. O objectivo
28
INESC
Tecnologia do arquivo de informação
principal é fornecer ao agente inteligente uma missão específica que ele deve executar
autonomamente, tendo em mente os desejos e preferências do utilizador (exactamente o tipo de
comportamento que esperamos de um agente de viagens, de um advogado ou de um agente de
vendas de imóveis).
Com o crescimento explosivo da informação disponível através da Internet e nas novas bases de
dados, os utilizadores têm sido seduzidos a tentar realizar as tarefas para as quais tradicionalmente se
contratam estes ou outros tipos de agentes. Sem a existência de agentes de software, estas tarefas
tornam-se tão assustadoras quanto as suas correspondentes do mundo físico. No entanto, mantém-se
de pé a crença na possibilidade de criação de um mundo virtual onde os agentes actuem, virtuosa e
virtualmente, como nossos fiéis representantes, simplificando a nossa vida profissional e pessoal. É
esta visão que reclama a actuação inteligente enquanto atacamos o problema de manobrar num vasto
(e em crescimento) mar de informação que já existe à nossa disposição.
2.2.2 Conceitos Gerais e Definições
O Agente define-se como alguém ou algo que age como representante de uma terceira entidade,
com o objectivo expresso de desempenhar acções específicas que são vistas como benéficas para a
entidade representada.
O Agente de Software (que já existe há aproximadamente vinte e cinco anos) é um programa de
computador que executa tarefas para o seu utilizador dentro de um ambiente computacional. Na
prática, a maior parte das aplicações de quarta geração podiam ser classificadas como agentes. No
entanto, existem certos aspectos que caracterizam um agente de software e que os diferenciam de
outras aplicações: mobilidade, autonomia, a capacidade de interagir de uma forma independente do
seu utilizador, a capacidade de raciocínio adaptável, isto é, a capacidade de processar informação de
ambientes externos (tais como bases de dados, redes ou mesmo a Internet) dado um conjunto de
conhecimentos, atitudes e crenças do utilizador que são compreendidos pelo agente [6].
Os seis atributos principais dos agentes de software inteligentes são os seguintes:
1. Autonomia - a capacidade de agir com a intenção de completar alguma ou algumas tarefas ou
objectivos sem necessidade de activação por parte do utilizador: aceita sugestões, interesses, e
desejos do utilizador como entrada e, de seguida, age de uma forma independente para executar
as tarefas esperadas;
2. Capacidade de comunicação - Os agentes inteligentes, para atingirem os objectivos pretendidos,
devem aceder a informação existente em fontes externas e, especificamente, informação sobre o
estado do ambiente externo. Isto exige a capacidade de comunicar com os repositórios desta
informação. Estes podem ser outros agentes ou fornecedores de acesso a armazéns de
informação. A comunicação pode assumir a forma de pedidos simples complementados por um
conjunto pequeno de respostas possíveis ou pode ser uma comunicação complexa envolvendo
respostas variáveis (a comunicação pode realizar-se a um nível mais elevado, envolvendo um
diálogo verdadeiro, em vez de trocas de afirmações suportadas por um protocolo).
29
INESC
Tecnologia do arquivo de informação
3. Capacidade de Cooperação - A extensão natural do atributo “comunicação” é a cooperação. Os
agentes inteligentes devem possuir um “espírito” de colaboração para poderem coexistir e ser bem
sucedidos em sistemas orientados aos agentes. A ideia é ter agentes inteligentes a trabalhar em
conjunto na realização de tarefas complexas mas mutuamente vantajosas. Este é um campo em
que a actividade inteligente se cruza com a inteligência artificial distribuída.
4. Capacidade de Raciocínio - A capacidade raciocinar é um dos aspectos mais importantes da
inteligência que distingue os agentes inteligentes de outros agentes mais robóticos. O raciocínio
implica que um agente possua a capacidade de inferir e extrapolar com base em conhecimentos
que possui e experiências que realizou, isto é, de uma forma racional e reproduzível. Existem três
cenário possíveis: o raciocínio avaliador baseado em regras (rule-based reasoning), o raciocínio
dedutivo baseado em conhecimento (knowledge based) e o raciocínio artificial baseado em
evoluções (os agentes geram novas gerações de agentes que desempenham tarefas mais elevadas
e com requisitos de raciocínio mais elevados).
5. Comportamento Adaptável - Para manter as capacidades de autonomia e de raciocínio, os
agentes inteligentes devem possuir mecanismos de consulta do estado actual do seu ambiente
externo (a extensão de ambiente que se encontra ao alcance do agente) e incorporar esta
informação nas suas “decisões” em acções futuras. Os agentes devem ser capazes de examinar o
ambiente externo (e.g. a Web) e o sucesso de acções prévias executadas sob as mesmas
condições, e adaptar as suas acções para aumentar a probabilidade de serem bem sucedidos ao
tentar cumprir os objectivos.
6. Credibilidade - Este aspecto é essencial para a aceitação da actividade inteligente - a confiança
na capacidade do agente representar fielmente o utilizador, isto é, o seu cliente. Os agentes
inteligentes devem demonstrar “veracidade” e “benevolência”, ou por outras palavras, os
utilizadores devem acreditar que os seus agentes agirão e responderão verdadeiramente e agirão
segundo os interesses do utilizador.
2.2.3 Metodologia de funcionamento
O modelo básico de funcionamento dos agentes inteligentes envolve, em primeiro lugar, um
utilizador que possui uma tarefa para executar. O utilizador usa uma interface gráfica (GUI) que
acede uma aplicação de software inteligente [38]. A aplicação de software que implementa o agente
inteligente viaja pela Internet (ou por outra infra-estrutura de rede) tentando alcançar as portas de
fornecimento (supplier gateways), podendo ser ajudado por serviços de directórios. Finalmente, o
agente encontra-se em posição de aceder às fontes de informação existentes em bases de dados ou
outros meios de armazenamento, encontrar a informação pedida pelo utilizador (ou ainda produtos
ou serviços), completar quaisquer transacções necessárias e retornar uma resposta ao utilizador.
Inicialmente, este processo baseava-se em RPCs (Remote Procedure Calls), mas os progressos
realizados entretanto apontaram numa direcção alternativa designada por Programação Remota (RP
ou remote programming). A programação remota apresenta-se como a tecnologia que possibilita a
existência dos agentes inteligentes. Cada mensagem transportada pela rede consiste de um
procedimento e dos seus argumentos (dados). Este procedimento pode ter sido iniciado pelo
computador que o envia, mas também pode ser uma continuação da sua execução. O computador
que o recebe deve, pois, continuar a sua execução. Este modelo implica que dois computadores que
30
INESC
Tecnologia do arquivo de informação
sigam o paradigma RP concordem antecipadamente sobre as instruções permitidas num
procedimento e sobre os tipos de dados que são permitidos no seu estado. Este acordo constitui uma
linguagem que inclui instruções que permitem ao procedimento decidir, examinar e modificar o seu
estado e, ainda, chamar outros procedimentos fornecidos pelo computador receptor. Estas chamadas
são locais e não remotas. O procedimento e o seu estado designam-se por agente móvel, para
enfatizar que representam o computador emissor mesmo enquanto residem no computador receptor.
O aspecto mais importante da programação remota é que o computador cliente e o servidor podem
interagir sem utilizarem a rede logo que o agente tiver sido transportado entre eles. Por conseguinte,
a interacção permanente não exige comunicação permanente. As implicações deste facto atingem os
agentes inteligentes visto que esta característica é o suporte fundamental da tecnologia dos agentes
inteligentes.
As duas vantagens principais da programação remota envolvem o desempenho (o agente enviado
pelo cliente ao servidor trabalha localmente e não à base de comandos enviados remotamente) e a
personalização (os agentes permitem que os fabricantes do software cliente ampliem as
funcionalidades fornecidas pelos fabricantes do software servidor). Ao contrário das aplicações
standalone tradicionais, as aplicações comunicantes que emergem para a Internet possuem
componentes que devem residir nos servidores. Os componentes do servidor de uma aplicação
baseada em RPCs devem ser instalados pelo utilizador[7]. Os componentes do servidor de uma
aplicação baseada em RP são instalados dinamicamente pela própria aplicação e cada um deles
constitui um agente. A vantagem da programação remota é muito significativa numa rede
empresarial, mas é muito mais profunda numa rede pública onde os servidores pertencem e são
operados pela multiplicidade de fornecedores de serviços públicos na WWW. A programação remota
transforma uma rede pública numa plataforma autêntica [39].
2.2.4 Infra-estruturas necessárias
O modelo das transacções realizadas por agentes envolve uma infra-estrutura de comunicações que
deve fornecer suporte para as seguintes funcionalidades:
•
•
•
•
•
execução,
comunicação,
transporte,
empacotamento,
segurança integrada.
A funcionalidade de execução é o ambiente run-time do agente. Este ambiente é o componente mais
visível de todos os que constituem os agentes. Esta consiste do hardware e do software necessários à
execução do programa do agente no seu ambiente. Devido à proliferação dos compiladores de
linguagens de programação de agentes para diversas plataformas de hardware, o hardware específico
não constitui uma restrição. No entanto, a linguagem de programação do software do agente
determina a classe de funcionalidades possibilitadas pela aplicação do agente.
31
INESC
Tecnologia do arquivo de informação
As opções disponíveis para a programação caem em três categorias:
• General Purpose Programming and Scripting Languages (tais como C/C++, Lisp, SQL e
Perl),
• General Purpose Mobile Code Languages (tais como Java, ScriptX, scheme48 e Phantom
entre outras),
• Mobile Code Languages for Intelligent Agent Applications (tais como o AGENT0 derivada
do conceito de AOP - Agent Oriented Programming e a mais divulgada Telescript da General
Magic e implementada pelo serviço PersonaLink da AT&T)
As linguagens General Purpose Mobile Code, da segunda categoria, adicionam flexibilidade na
medida em que são concebidas para serem transmitidas ao longo da rede e serem executadas do
outro lado. Deste modo, estas linguagens adicionam a funcionalidade da programação Remota
exigida pelo modelo dos agentes inteligentes.
A funcionalidade de comunicação lida com aquilo que o agente comunica (contexto e conteúdo). A
comunicação é o processo pelo qual a informação é trocada numa transacção do agente. As
mensagens comunicadas possuem contexto e conteúdo: o conteúdo refere-se aos dados codificados
na mensagem, ao passo que o contexto é o que realiza a transformação de dados para informação. A
funcionalidade de comunicação deve pois suportar comunicações síncronas e assíncronas e deve
possibilitar a comunicação simultânea com vários agentes distintos. Até à data não surgiu qualquer
norma para esta funcionalidade, existindo apenas uma proposta de uma arquitectura, designada por
Unified Agent Architecture e proposta pela universidade McGill de Montreal, que define a
funcionalidade de comunicação como um conjunto normalizado de protocolos que facilitam a
ocorrência deste tipo de comunicação.
A funcionalidade de transporte lida com a forma como o agente comunica. Esta funcionalidade
permite a movimentação de um agente a partir de um ambiente de execução para outro, por forma a
cumprir a tarefa que lhe foi destinada. Para além disso, facilita a distribuição de agentes nãoinicializados. Esta funcionalidade suporta protocolos de transmissão normalizados tais como o
HTTP, o SMTP e o TCP/IP.
A funcionalidade de empacotamento proporciona um método de envolvimento dos agentes e da
informação que lhes está associada. Independentemente da sua estrutura interna, todos os agentes
devem encapsular a sua informação de estado, de autenticação, objectivos e capacidades.
A funcionalidade de segurança integrada engloba a identificação individual de cada agente. A
identificação dos agentes é um atributo intrínseco da infra-estrutura das arquitecturas dos agentes. A
segurança é uma característica que se aplica a todos os componentes do agente. Por este motivo, a
infra-estrutura dos agentes deve proporcionar um método seguro para determinar o dono do agente
e o seu local de origem. Na maior parte das aplicações, cada agente possui um passaporte que
codifica esta informação. Os métodos de segurança utilizados na infra-estrutura dos agentes também
devem considerar a protecção de recursos (evitando o abuso de computadores servidores ou de
redes), a privacidade da informação, as regras e procedimentos que permitem terminar a execução de
um agente e ainda a não-repudiação, isto é, a reclamação de um serviço que não foi recebido ou não
foi pago quando na realidade o foi. Geralmente, cada agente inteligente aplica os seus próprios
protocolos de segurança para lidar com os requisitos específicos da aplicação.
32
INESC
Tecnologia do arquivo de informação
2.2.5 Aplicações existentes
Esta secção descreve a utilização actual do termo “agentes inteligentes” na Internet. A análise foi
dividida em grupos que reflectem várias características distintas dos agentes inteligentes.
Os grupos de agentes inteligentes que foram identificados são os seguintes:
1. Agentes Observadores (watcher agents),
2. Agentes Aprendizes (learning agents),
3. Agentes de Compras (shopping agents),
4. Agentes de Recuperação de Informação (information retrieval agents),
5. Agentes de Ajuda (helper agents)
Os agentes observadores operam autonomamente em busca de informação ou eventos específicos.
Quando encontram informação relevante para o utilizador o agente pode notificar o utilizador
directamente (e.g. com um flash noticioso) ou armazenar a informação para acesso futuro (p. ex.
para um jornal personalizado). Existem vários jornais electrónicos na Internet que poderiam produzir
versões personalizadas do jornal de acordo com os interesses específicos do utilizador - alguns deles
têm a capacidade de alertar os assinantes com flashes noticiosos quando detectam uma notícia de
interesse. O exemplo mais interessante de um jornal inteligente é o Fishwrap do MIT. Este jornal
colecciona notícias a partir de um variado número de fontes e, de seguida, gera automaticamente
uma versão personalizada do jornal. O jornal possibilita aos utilizadores/leitores a atribuição de
classificações (valores/pontuações) às notícias e, de seguida, posiciona as notícias no jornal de
acordo com a sua popularidade. O melhor exemplo de um jornal que notifica os seus utilizadores
quando surge uma história de interesse é o Mercury Center’s NewsHound. Os utilizadores definem
um perfil (profile) detalhando áreas de interesse e depois submetem-no ao jornal por correio
electrónico. As notícias existentes em vários serviços por cabo são analisadas de 60 em 60 minutos e
as notícias que correspondam ao perfil definido pelo utilizador são imediatamente enviadas por
correio electrónico.
O agente aprendiz é capaz de ajustar o seu desempenho às preferências individuais de um utilizador
através da aprendizagem realizada a partir do comportamento do utilizador no passado. Existem
várias aplicações na Internet que reclamam a capacidade de aprendizagem. O exemplo mais
conhecido é o sistema de recomendação musical Firefly. Este sistema pede aos utilizadores para
classificarem vários artistas e bandas musicais e, de seguida, faz recomendações sobre outros tipos
de música que o utilizador possa gostar. O efeito de aprendizagem está patente na crescente precisão
das previsões realizadas. No entanto, este efeito é obtido mediante a introdução de informação
pessoal sobre o utilizador. A previsão baseia-se em correlações com aquilo que as outras pessoas
dizem gostar de ouvir e não em técnicas de inteligência artificial. Existem outros sistemas e
aplicações, tais como o InterAp e o Open Sesame que automatizam tarefas repetitivas tais como a
leitura de correio electrónico e a pesquisa de informação na Internet. Finalmente, o NewsWeeder
utiliza técnicas de aprendizagem para encontrar páginas WWW interessantes e artigos relevantes na
Usenet. De igual modo, estas aplicações assentam sobre informação fornecida pelos utilizadores que
especificam o tipo de informação de interesse.
33
INESC
Tecnologia do arquivo de informação
Os agentes de compras possuem a capacidade de fazer comparações entre produtos e encontrar o
melhor preço para um dado item. Contudo, os revendedores podem proteger-se de tal tipo de
competição atribuindo nomes únicos aos seus produtos. O melhor agente de compras existente
actualmente é o Bargain Finder da Andersen Consulting. Este agente faz comparações de preços
para discos compactos de áudio (CDs) e exibe algumas características de agente inteligente na
medida em que envolve várias fontes de informação distintas, a operação é remota e a informação é
bastante difícil de encontrar.
Os agentes de recuperação de informação são capazes de pesquisar informação de uma forma
inteligente. O exemplo mais óbvio é o agente de pesquisa na Internet que consegue realizar pesquisas
complexas através da interpretação dos critérios de pesquisa introduzidos pelo utilizador, tais como
as acções realizadas pelo Alta Vista da Digital ou pelo Excite da Architext. Estes agentes são
capazes de encontrar documentos mesmo quando eles não contêm nenhuma das palavras chave
contidas nos critérios de pesquisa. Apesar de poderem ser classificados como inteligentes, estes
agentes não possuem muita autonomia. A tecnologia ConText da Oracle é uma solução de
processamento de linguagem natural que é capaz de comprimir e resumir documentos. Esta
tecnologia pode ser integrada em agentes inteligentes que filtram dados destinados ao utilizador. A
forma como os dados são comprimidos pode depender dos gostos pessoais: tipos de dados, dia da
semana, etc. A inteligência pode ainda ser exigida na determinação da forma de apresentação destes
tipos de dados.
Os agentes de ajuda realizam tarefas autonomamente sem a intervenção humana. A maioria destes
tipos de agentes são utilizados na gestão de redes. O agente pode determinar que a razão pela qual
um utilizador não recebeu uma mensagem de correio electrónico foi o facto de ter a sua caixa de
correio cheia. O agente poderá então diagnosticar e superar o problema automaticamente. Outros
agentes realizam funções de manutenção normalizadas. No entanto, estes últimos são menos
susceptíveis da designação de agentes inteligentes.
2.3 MPEG7
2.3.1 Contexto e objectivos
A informação audiovisual é actualmente disponibilizada cada vez mais sob a forma digital e vários
locais dispersos pelo planeta. Juntamente com a informação surgem as pessoas que a pretendem
utilizar. Contudo, para ser utilizada a informação deve ser antes de mais localizada. Em simultâneo, a
disponibilidade de materiais potencialmente interessantes também aumentou. As soluções existentes
na actualidade facilitam a pesquisa de informação textual, como o comprovam os vários motores de
pesquisa existentes na Web. Realmente, estes sites são os mais visitados da Web, o que indica um
acréscimo no interesse das pessoas por tais potencialidades [32].
No entanto, a pesquisa de informação ainda não permite a pesquisa baseada em conteúdos
audiovisuais, já que não existe uma descrição geral reconhecida para tais materiais. De uma forma
geral, não é possível realizar uma pesquisa eficiente para uma imagem em particular. Se bem que
existam soluções para casos muito específicos, tais como o caso das bases de dados multimédia que
permitem a pesquisa de imagens utilizando características como a cor, a textura e informação sobre a
forma dos objectos contidos na imagem, não existe uma solução genérica e abrangente.
34
INESC
Tecnologia do arquivo de informação
O MPEG iniciou um novo item de trabalho para solucionar o tipo de problemas descritos. O novo
membro da família MPEG, designado por Interface de Descrição de Conteúdos Multimédia
(Multimedia Content Description Interface) ou MPEG-7, pretende ampliar as capacidades limitadas
de pesquisa existentes por forma a incluir mais tipos de informação, isto é, especificará uma
descrição normalizada dos vários tipos de informação multimédia. Esta descrição deverá estar
associada com o conteúdo em si, por forma a facilitar a pesquisa e obtenção rápida e eficiente do
material pretendido pelo utilizador.
O material referido inclui: imagens, gráficos, áudio, vídeo e informação sobre a forma como estes
elementos se combinam numa apresentação multimédia (cenários e informação de composição). Os
casos particulares destes formatos gerais incluem a expressão facial e as características pessoais.
A descrição pode ser adicionada a qualquer tipo de material multimédia, independentemente do
formato de representação em que se encontrar. O material armazenado que possua esta informação
adicional pode então ser indexado e pesquisado. Apesar da independência entre a descrição MPEG7
e a representação codificada do material, a norma MPEG-7 assenta sobre a norma MPEG-4, que
fornece os meios para a codificação de material audiovisual sob a forma de objectos que possuem
relações temporais (sincronização) e espaciais (no écran).
A descrição normalizada dos vários tipos de informação pode existir em vários níveis semânticos. Se
tomarmos como exemplo o material visual, um nível de abstracção mais baixo poderia consistir na
descrição da forma, dimensões, textura, cor e composição (onde se pode encontrar o objecto na
cena). O nível de abstracção mais elevado fornece informação semântica codificada de uma forma
eficiente, tal como: "esta é a cena onde surge um cão castanho à esquerda e em que existe uma bola
azul que cai do lado direito". Os níveis intermédios podem conter váris descrições diferentes
ajustadas à área de aplicação particular.
Para além da descrição do conteúdo, pode ser necessário incluir outras formas de informação sobre
os dados multimédia tais como:
1. A forma - o esquema de codificação utilizado (e.g. JPEG) ou a dimensão. Esta informação
ajuda a determinar se o material pode ser "lido" pelo utilizador.
2. As condições para o acesso ao material - o preço e informação de copyright.
3. Links para outros materiais relevantes.
Segue-se que, para explorar a fundo as potencialidades de tal descrição, deve existir uma extracção
automática de características (ou descriptores). Tal algoritmo de extracção deverá, contudo,
encontrar-se para além do âmbito da norma MPEG-7. De igual modo, os motores de pesquisa não
serão especificados no âmbito do MPEG-7.
Por fim, para permitir um julgamento rápido sobre o eventual interesse da informação, a descrição
associada ao material multimédia deverá encontrar-se estruturada duma forma hierárquica ou
associativa.
35
INESC
Tecnologia do arquivo de informação
2.3.2 Áreas de Interesse
Existem muitas aplicações e domínios de aplicação que beneficiarão com esta norma. Identificam-se
as seguintes aplicações:
•
•
•
•
Bibliotecas Digitais - catalogação de imagem, dicionários musicais;
Serviços de directórios multimédia tais como as páginas amarelas;
Selecção de estações de difusão de media - canais de rádio ou canais de televisão;
Edição multimédia - serviços electrónicos noticiosos personalizados, autoria multimédia.
As aplicações potenciais abrangem os seguintes domínios:
•
•
•
•
•
•
•
•
•
•
•
Educação;
Jornalismo - pesquisa de artigos ou discursos;
Informação turística;
Entretenimento - pesquisa de jogos, Karaoke;
Serviços de investigação - reconhecimento de características humanas;
Sistemas de Informação Geográfica (GIS);
Aplicações médicas;
Comércio electrónico - pesquisa de produtos para compra;
Arquitectura;
Serviços sociais tais como a marcação de blind dates;
Arquivos de filmes, vídeo e programas de rádio.
Se falarmos em termos de aplicações musicais, podemos por exemplo tocar algumas notas no
teclado e obter como resposta uma lista de peças musicais contendo (ou semelhantes) à melodia
pretendida. No campo da pesquisa gráfica, será possível desenhar algumas linhas no écran e obter
como resposta um conjunto de imagens contendo gráficos ou logotipos semelhantes. Na área de
imagem, poder-se-á definir objectos incluindo cor e texturas e obter exemplos a partir dos quais se
pode seleccionar um conjunto de objectos interessantes para a composição de uma imagem. Na área
da animação será possível descrever movimentos e relações entre os objectos pertencentes a um
dado conjunto e obter uma lista de tais animações. Finalmente, na área da autoria multimédia, será
possível descrever acções sobre um dado conteúdo e obter uma lista de cenários conducentes a tais
acções.
2.3.3 Plano de trabalhos
O MPEG-7 especificará pois uma descrição normalizada dos vários tipos de informação multimédia.
Esta descrição estará associada com o próprio conteúdo por forma a permitir uma pesquisa rápida e
eficiente de material interessante do ponto de vista do utilizador.
O MPEG-7 concentrar-se-á sobre a normalização de representações que podem ser utilizadas para
classificar a informação multimédia. O desenvolvimento de ferramentas de reconhecimento de
conteúdos audiovisuais está fora do âmbito do MPEG-7 e será realizado pelas indústrias que
construirão e venderão produtos compatíveis com o MPEG-7 e incluindo as funcionalidades
especificadas na futura norma internacional.
36
INESC
Tecnologia do arquivo de informação
O MPEG-7 também não pretende normalizar as ferramentas que utilizarão a descrição normalizada,
isto é, as ferramentas de obtenção de conteúdos de áudio ou vídeo (audio or video content
retrieval).
O método de desenvolvimento do MPEG-7 é comparável aos métodos utilizados no
desenvolvimento das normas MPEG anteriores. Após a definição dos requesitos, será lançado um
pedido aberto de propostas (Call of Proposals). Este pedido endereçará as tecnologias relevantes
que preencham aos requesitos. Após a avaliação da tecnologia proceder-se-á a uma escolha e o
desenvolvimento prosseguirá com as propostas mais promissoras. No curso do desenvolvimento da
norma serão lançados pedidos específicos sempre que não exista tecnologia suficiente para ir de
encontro aos requesitos. O plano de trabalhos preliminar prevê o lançamento de uma nova norma
internacional no ano 2000.
O pedido de propostas ocorrerá em Novembro de 1998 e o primeiro Working Draft está previsto
para Julho de 1999. O Committe Draft que se segue sairá em Março de 2000 e passará a Draft
International Standard em Julho de 2000. A norma internacional MPEG-7 será uma realidade em
Novembro de 2000.
As pessoas envolvidas actualmente no desenvolvimento do MPEG-7 representam fabricantes de
equipamento, broadcasters, gestores e criativos de conteúdos digitais, fornecedores de transmissões,
gestores dos direitos de propriedade intelectual e editoras e investigadores universitários.
O MPEG-7 surge na sequência do MPEG-4 (o MPEG-5 e o MPEG-6 não estão definidos) e não
tenciona substituir os MPEG-1, 2 e 4, mas sim fornecer funcionalidades complementares às outras
normas MPEG: a representação de informação sobre o conteúdo e não o conteúdo em si (os bits
sobre os bits). Esta funcionalidade é a normalização das descrições do conteúdo multimédia.
37
INESC
Capítulo 3
Infra-estruturas e gestão dos sistemas de informação
Infra-estruturas e gestão dos sistemas de informação
Os esforços de desenvolvimento dos sistemas multimédia actuais focam-se em particular no espaço
de armazenamento, na sincronização temporal dos média, nos modelos de objectos e nos serviços de
telecomunicações [10]. É opinião geral que os grandes servidores de informação multimédia farão
parte das emergentes infra-estruturas na área da computação distribuída. Existe contudo uma
necessidade de inovação na arquitectura destes sistemas, tanto ao nível do armazenamento e taxas de
transferência, como na arquitectura dos servidores de modo a responder à necessidade sempre
crescente das aplicações multimédia. As técnicas, cada vez mais utilizadas, de entradas/saídas (I/O)
de dados paralelas (e.g. RAID) e a inter-conectividade baseada em ATM (Asynchronous Transfer
Mode), como por exemplo na arquitectura escalável que interliga de forma transparente os
dispositivos de armazenamento à rede ATM de banda larga, pretendem contribuir para uma
arquitectura que garanta um grande número de acessos concorrentes ao servidor.
Para além das funcionalidades exigidas ao servidor multimédia ao nível do sistema operativo, do
sistema informático de armazenamento e pesquisa de informação, dos sistemas de protecção e das
ferramentas de software que possibilitem um interface inteligente e transparente na distribuição de
informação, existe ainda um conjunto vasto de problemas que devem ser abordados neste relatório,
tanto ao nível das telecomunicações e dos protocolos utilizados como ao nível do comércio
electrónico e das ferramentas disponíveis no mercado que permitem o controlo da admissão de
pedidos e o escalonamento em tempo real de funções de escrita e leitura para os vários fluxos de
dados gerados.
3.1 Redes e Protocolos de Comunicação
As aplicações multimédia necessitam de enorme poder computacional, grandes volumes de
armazenamento de dados e uma elevada largura de banda das redes de transmissão. Os rápidos
avanços nas comunicações ópticas, a comutação de pacotes de alto débito, as técnicas de codificação
e compressão de dados, a concepção de novos processadores e de memórias cada vez mais rápidos e
mais baratos, serão os principais efeitos conjunturais nas futuras infra-estruturas de computação
multimédia distribuída. Há vários factores que influenciam a arquitectura da próxima geração de
computadores: a rápida evolução do paradigma cliente-servidor; o suporte de redes rápidas e
operações rápidas de I/O para os discos; os avanços nas tecnologias dos ICs (Circuitos Integrados) e
nas arquitecturas multiprocessador; as vantagens na utilização das redes ATM para interligar
servidores multimédia. Neste sub-capítulo serão analisadas as redes e os protocolos de comunicação
existentes que apoiarão neste contexto os servidores de informação multimédia.
O modelo cliente-servidor está a evoluir em duas dimensões: ao nível das redes ATM e do suporte
multimédia. Os serviços que utilizam ATM organizam os servidores multiprocessador numa teia
interoperacional de recursos computacionais, disponibilizando todo o seu poder computacional aos
utilizadores [13]. A conectividade tradicional entre LAN-WAN-LAN é fornecida através de bridges,
routers e gateways associadas às LANs. Estes meios de ligação diferem drasticamente uns dos
outros, tendo cada um diferentes protocolos e pacotes. O resultado é uma vasta gama de conversões
38
INESC
Infra-estruturas e gestão dos sistemas de informação
de pacotes e protocolos à medida que os dados viajam da fonte para o destino. Estas conversões
afectam o tempo de resposta global e não são apropriadas para as aplicações multimédia que
requerem tempos de resposta críticos.
Os serviços on-demand irão evoluir para serviços personalizados que combinam a selectividade e
flexibilidade destes serviços com a versatilidade e capacidade de programação dos computadores.
Estes serviços prometem a utilização de agentes de serviço pessoal que actuam em nome dos
clientes, procurando e localizando informação que interessa ao cliente e escalonando as
apresentações de acordo com as disponibilidades deste. As larguras de banda necessárias para
suportar simultaneamente diferentes pedidos multimédia de vários utilizadores, de forma
personalizada, são proibitivas. Existem contudo técnicas/estratégias de caching inteligentes que
prevêem o armazenamento de informação multimédia em localizações estratégicas de rede para
assim reduzir a utilização da rede por utilizadores com preferências similares.
As empresas fornecedoras de serviços de telecomunicações são responsáveis pela transmissão de
dados entre os servidores, que armazenam a informação, e os clientes, que visualizam a informação.
Tanto as redes locais como as redes de maior dimensão estão a evoluir para a tecnologia ATM.
Nestas redes, as unidades de dados são empacotadas, transmitidas pelo servidor e encaminhadas
pelos comutadores (switches) para os sites dos clientes. O áudio e o vídeo, sendo media “contínuos”,
requerem garantias mínimas de largura de banda e garantias máximas de atraso (delay), variação de
atraso (jitter) e perdas.
Para a transmissão de vídeo com boa qualidade, a largura de banda mínima requerida é de 4 Mbit/s e
os limites aceitáveis no atraso end-to-end, jitter e perda fraccional é respectivamente de 200ms,
5ms e 0,1. Estes requisitos são em geral específicos dos dados e do modo de codificação utilizado.
Por exemplo, a codificação PCM de áudio é mais susceptível ao jitter e a perdas do que o vídeo
MPEG. Para suportar estes requisitos, os fornecedores de serviços de rede reservam largura de
banda suficiente em todas as ligações e espaço de armazenamento (buffer) nos comutadores
existentes entre os servidores e os clientes. Os fornecedores de rede devem também suportar
transmissões non-real-time. Os servidores vizinhos podem armazenar (cache) informação
multimédia do servidor e no momento de armazenamento deve preservar-se a integridade dos dados
para os quais o fornecedor de serviços pode negociar o atraso e o jitter permitidos.
As redes ATM são ideais para o tráfego multimédia porque permitem grande flexibilidade na
alocação de largura de banda através da transmissão de pacotes com comprimento fixo (cells) para o
estabelecimento de ligações virtuais. As redes ATM podem também aumentar a eficiência da
utilização da largura de banda através de técnicas de buffering e multiplexagem estatística do tráfego
instantâneo (bursty), à custa de possíveis atrasos e perdas de células. O problema relacionado com a
rede de telecomunicações está na adopção de soluções tecnologicamente adequadas, fiáveis, e de
custo razoável para o sistema. A rede de comunicação deverá possuir dois requisitos: ser uma rede
de banda larga e possuir mecanismos de segurança no controlo de acessos. Esta rede deverá
permitir a troca de informação rápida entre sites que estão geograficamente dispersos e
possivelmente com níveis tecnológicos completamente distintos (e.g. redes locais internas).
Começam já a surgir redes locais ATM, e também as primeiras infra-estruturas que apoiarão os
serviços públicos ATM.
39
INESC
Infra-estruturas e gestão dos sistemas de informação
DAVIC
O Digital Audio-Video Council (DAVIC) é uma associação sem fins lucrativos registada em
Genebra. Esta associação tem por objectivo promover o sucesso das emergentes aplicações e
serviços digitais audiovisuais. Numa primeira instância promoverá os tipos de aplicações/serviços de
difusão (e.g. HDTV) e interacção (e.g. Web), através de especificações internacionais de interfaces
abertas e protocolos que maximizam a interoperacionalidade entre países e aplicações/serviços. O
conceito de serviços e aplicações audiovisuais digitais inclui todos os serviços e aplicações que
possuam uma componente significativa de áudio e vídeo. O objectivo do DAVIC é identificar,
seleccionar, aumentar, desenvolver e obter apoios através de normalizações formais de
especificações de interfaces, protocolos e arquitecturas para aplicações e serviços audiovisuais
digitais. Estes objectivos são perseguidos através de uma colaboração internacional aberta entre
todos os elementos activos neste contexto.
As especificações do DAVIC podem abarcar qualquer tipo de subsistema que se enquadre na
definição genérica de um sistema com 5 entidades: o sistema fornecedor de conteúdos (Content
Provider System), o sistema fornecedor de serviços (Service Provider System), o sistema utilizador
de serviços (Service User System), e dois sistemas de entrega (Delivery Systems) que interligam o
sistema fornecedor de conteúdos ao sistema fornecedor de serviços e este último ao sistema cliente.
Aplicação
Sistema
Fornecedor
Conteúdos
(Content
Provider
System)
Sistema
Entrega
(Delivery
System)
Aplicação
Sistema
Fornecedor
Serviços
(Service
Provider
System)
Sessão
Transporte
Rede
Físico
A11
A10
Sessão
Transporte
Rede
Sistema
Entrega
(Delivery
System)
Sistema
Utilizador
Serviços
(Service
User System)
Físico
A9
A1
Figura 1: Arquitectura genérica de uma rede de comunicações multimédia.
O grupo DAVIC propõe vários modelos de camadas de protocolos para os vários pontos de
referência e fluxos de informação, definidos no esquema geral da arquitectura de uma rede
multimédia. Os pontos de referência (e.g. A11, A10, A9 e A1) são pontos de particular interesse,
identificados na arquitectura do sistema e que possuem um valor normativo se forem acessíveis para
o exterior. Um subsistema digital audiovisual estará em conformidade com as especificações DAVIC
se os seus pontos de referência o estiverem. Quer isto dizer que um subsistema pode ser considerado
como um caixa preta e a conformidade com as especificações DAVIC só estará disponível nos
pontos de referência externos.
Por regra, as especificações DAVIC contêm partes normativas, que regem a implementação dos
sistemas de modo a podermos considerá-los conformes com as especificações DAVIC, e partes
informativas, que são incluídas para clarificar as partes normativas das especificações e para
fornecerem assistência aos que implementam as especificações.
40
INESC
Infra-estruturas e gestão dos sistemas de informação
O DAVIC define a utilização de ferramentas (e.g. protocolos, algoritmos) que permitem obter um
conjunto de funcionalidades requeridas pelos sistemas DAVIC e pelas aplicações que os utilizam.
Estas ferramentas são normalmente associadas com graus que determinam o nível de desempenho de
uma determinada ferramenta (e.g. áudio mono/estéreo multi-canal; HDTV; largura de um canal de
retorno). Foi necessário, para evitar incompatibilidades, agrupar as ferramentas de acordo com
vários graus relacionados com os domínios de aplicação. Este processo, designado por definição de
perfis, serve como guia aos fabricantes a fornecedores de aplicações e possui valor normativo. As
especificações DAVIC aconselham a utilização de uma combinação das melhores tecnologias
existentes. Essa utilização é, tanto quanto possível, validada por testes de interoperacionalidade.
Como regra, as especificações DAVIC são acompanhadas por documentos que especificam os
métodos de teste da conformidade dos pontos de referência.
As especificações DAVIC são emitidas em versões (e.g. DAVIC 1.0, DAVIC 1.1, DAVIC 1.2,
DAVIC 1.3). A versão DAVIC 1.0 define um primeiro conjunto de ferramentas que permitem o
desenvolvimento de sistemas que suportam as aplicações iniciais (e.g. distribuição de TV; NVoD;
VoD; algumas formas básicas de tele-compra). As versões seguinte especificam níveis diferentes para
as ferramentas já definidas e novas ferramentas que melhoram e complementam as anteriores.
DAVIC 1.0
O DAVIC 1.0 está organizado em 11 partes, classificadas em 3 grupos. As partes pertencentes ao
grupo 1 pretendem identificar todas as ferramentas que são necessárias para construir os sistemas
conformes com o DAVIC. As partes do grupo 2 descrevem o modo como os três subsistemas
principais DAVIC podem ser montados utilizando as ferramentas identificadas no grupo 1. As partes
do grupo 3 preocupam-se com as questões mais latas dos sistemas maiores.
Parte
Número
Grupo 1
7
8
9
10
11
Grupo 2
3
4
5
Grupo 3
1
2
12
Título
Ferramentas DAVIC
Protocolos das camadas-altas e camadas-médias
Protocolos das camadas-baixas e interfaces físicas
Representação da informação
Segurança
Protocolos de utilização de informação
Subsistemas DAVIC
Arquitectura e interfaces do sistema fornecedor de
serviços
Arquitectura e interfaces do sistema de entrega de
serviços
Arquitectura e interfaces do sistema de utilizador de
serviços
Temas do Sistemas em Geral
Descrição das funções do sistema DAVIC
Modelos de referência e cenários do sistema DAVIC
Dinâmica, pontos de referência e interfaces
Tabela 1. classificação das partes em que se divide o DAVIC 1.0
41
INESC
Infra-estruturas e gestão dos sistemas de informação
As partes 7 e 8 do grupo 1 especificam a utilização, para as diferentes camadas (layers) do sistema
de comunicação, um conjunto de protocolos e normas internacionais já publicadas e implantadas.
Algumas dessas ferramentas ou protocolos que as especificações DAVIC recomendam, são:
• MHEG: o grupo de trabalho SC29WG12 do JTC1, mais conhecido por Grupo MHEG
(Multimedia and Hypermedia Expert Group) começou em 1989, sobre a tutela de Francis Kretz,
a trabalhar numa representação codificada de Objectos Multimédia e Hipermédia que se destinam
a ser trocados entre aplicações e/ou serviços através de quaisquer meios de comunicação, como
por exemplo os meios de armazenamento (e.g. discos ópticos) e as redes de telecomunicações
(e.g. LANs, WANs) [ISO13522 93]. A parte 1 da norma MHEG propõe uma descrição orientada
aos objectos e uma notação ASN.1 especialmente dedicada às aplicações telemáticas. A parte 2
da norma propõe uma notação SGML isomórfica e alternativa à Parte 1, para outras classes de
aplicações. Os objectos MHEG permitirão que diferentes aplicações possam partilhar as mesmas
fontes básicas de informação. Os objectos são uma forma de encapsular toda a informação
definida nas aplicações para que possa ser trocada entre dois sistemas eventualmente distintos. O
grupo MHEG apresentou uma lista de domínios de aplicação típicos dos objectos MHEG,
prevendo a sua utilização em aplicações multimédia que se destinam, por exemplo a: treino e
educação; simulação; jogos; vendas e publicidade; sistemas de informação para escritórios;
informação pública; trabalho cooperativo apoiado por computador. A norma MHEG possibilita a
representação de informação relativa a apresentações multimédia através da definição de um
conjunto de objectos, de composição e de interacção (e.g. botões, sliders, etc),
independentemente das plataformas de implementação. O aspecto e formas de actuação (look and
feel) dos objectos de interacção dos utilizadores com a aplicação são controlados pelo ambiente
da plataforma de apresentação. A norma MHEG inclui primitivas de composição tanto para
objectos relacionados no espaço como para objectos relacionados no tempo. A norma permite
ainda dois tipos de relações temporais: relações em série e relações em paralelo.
• MPEG: em 1988 a ISO criou o grupo de trabalho MPEG (Moving Pictures Experts Group) com
o objectivo de identificar os novos requisitos a introduzir nas técnicas de compressão de vídeo
para o novo campo das aplicações interactivas. Em 1990 o trabalho do grupo MPEG foi
publicado num documento Committee Draft que descreve o algoritmo de compressão de imagens
móveis para aplicações interactivas e para o armazenamento em meios digitais (MPEG1), mas as
normas MPEG2, para imagens de alta definição, e MPEG4, para imagens de baixas cadências
estão já publicadas. A norma envolve ainda, para além da codificação de vídeo, a codificação de
sinais de áudio, a sincronização e a multiplexagem dos diferentes fluxos de informação
comprimida (multiplexagem de sistema). Cada sequência MPEG possui um cabeçalho que inclui
uma série de parâmetros (número de pixeis por linha, número de linhas por imagem, relação entre
altura/largura da imagem, taxa de repetição de imagens, débito binário, profundidade do buffer de
recepção), cujos valores podem ser manipulados dentro de certos limites e que conferem à norma
uma grande flexibilidade. Foi definido um subconjunto de valores para esses parâmetros
designado por constrained parameter set e que qualquer descodificador MPEG deverá ser capaz
de conseguir satisfazer.
• DSM-CC: uma das ferrramentas que o DAVIC propõe para o nível de controlo é a norma DSMCC (Digital Storage Media Command and Control). As especificações DSM-CC constituem um
conjunto de protocolos que fornecem as funções de controlo e operações específicas para a
gestão das sequências (bitstreams) MPEG-1 (ISO/IEC11172) e MPEG-2 (ISO/IEC 13818). Os
conceitos e protocolos DSM-CC podem contudo ter uma aplicação mais geral, como por
exemplo o acesso a bases de dados e o acesso a sistemas de ficheiros. O modelo DSM-CC baseia-
42
INESC
Infra-estruturas e gestão dos sistemas de informação
se na transmissão de uma stream fornecida por um servidor a um cliente, através de uma rede
DSM-CC. Tanto o servidor como o cliente são subsistemas lógicos e não necessitam de ser
dispositivos computadorizados (e.g. um codificador MPEG em tempo real pode ser o subsistema
servidor). O DSM-CC suporta várias topologias de rede: multi-servidor (permite aos clientes
pedirem o serviço a vários servidores que podem comunicar entre si); multi-cliente (um bloco de
informação pode ser acedido por um ou mais clientes de forma sequencial ou concorrente); multisessão (os clientes podem efectuar simultaneamente múltiplas chamadas); multi-protocolo (os
pedidos efectuados pelos clientes a vários servidores podem atravessar protocolos de rede
distintos). O DSM-CC suporta os seguintes tipos de conectividade: ponto-a-ponto e pontomultiponto ou difusão (broadcast). O DSM-CC especifica um conjunto de primitivas que
permitem às aplicações estabelecerem e terminarem as ligações à rede (primitivas UtilizadorRede) e permitem a comunicação entre o cliente e o servidor sobre uma rede (primitivas
Utilizador-Utilizador). As primitivas dos protocolos U-R e U-U podem ser definidas em IDL
(Interface Definition Language) e podem utilizar um protocolo RPC (Remote Procedure Call),
que permite a implementação do modelo cliente-servidor baseado em Stubs. O compilador RPC
converte as funções invocadas remotamente num processo (client stub), que aceita argumentos,
empacota-os, envia-os para o servidor e recebe os pacotes de resposta do servidor. De forma
semelhante, no servidor existe um processo (server stub) que recebe os pacotes do cliente, invoca
as funções a executar e envia as resposta empacotada ao cliente. Os sutbs cliente e servidor são
produzidos a partir das primitivas definidas em IDL; além dos sutbs é produzido um ficheiro
(header file) que é utilizado na compilação das aplicações cliente e servidor.
DAVIC 1.1
O DAVIC 1.1. está dividido em 13 partes que especificam ferramentas em várias áreas de aplicação.
Os pontos de trabalho mais importantes, endereçados pelo DAVIC 1.1. são: as funções não
abordadas no DAVIC 1.0; o modelo de referência para sistemas distribuídos; a API A10 (e.g. dados
relacionados com o conteúdo, ferramentas de navegação, código executável); o modelo de referência
STU (Set-Top Unit) do descodificador e o acesso Internet; o servidor MIB; gestão do
servidor+DS+STU; camadas protocolares para os canais de retorno (em tempo-real e não-temporeal); protocolos para alocação dinâmica de canais num sistema de cabo multi-acesso; tecnologias
para a camada física e protocolos da camada-baixa para o canal de retorno dos satélites; tecnologias
de transmissão para a interface A1 através do MMDS (Multichannel Multipoint Distribution
System); métodos e tecnologias para a transmissão de informação digital upstream em sistemas TV
cabo trabalhando em modo multi-acesso e com capacidade de servir as necessidades de múltiplos
serviços de duas vias; conectores para A0 e A1; portas de dados STU e conectores; serviços de
informações adicionais e tecnologias associadas que permitem aos nós de comutação intermédios
serem capazes de encaminhar (routing) correctamente os fluxos multi-programa; definição de
interfaces e protocolos necessários para reduzir a possibilidade de existirem cópias não autorizadas,
permitir a localização/identificação de quem copia ilegalmente e ainda permitir identificar e atribuir
os direitos IP sobre determinados recursos; especificação total de um sistema de segurança DAVIC,
que inclui as tecnologias para os algoritmos de scrambling, gestão de chaves, autenticação,
dispositivos de segurança e em particular de graus de tecnologias suficientemente fortes para
assegurarem as transações comerciais; completar o protocolo de dados do utilizador; detalhar o
ponto de acesso A4; definir outros níveis ou perfis; documentar a compatibilidade com as
especificações anteriores (1.0); especificar cenários para ambientes distribuídos; desenvolver
ferramentas para os testes de conformidade.
43
INESC
Infra-estruturas e gestão dos sistemas de informação
DAVIC 1.2
Os itens de trabalho mais importantes, endereçados pelo DAVIC 1.2. são: a API de comunicação
para o acesso à Internet; os protocolos de gestão do acesso para servidores, DS e STU; mapeamento
entre ADSL (Asymmetrical Digital Subscriver Line) e ATM; a segurança básica para sistemas
DAVIC 1.0; a protecção Copyright e Watermarking; o áudio sintético; áudio e vídeo de maior
qualidade; perfil de áudio (audio-only); guias para o acesso à Internet; áudio e vídeo escalável;
codificação de informação de gráficos 3D e realidade virtual; múltiplos STU em casa; protocolos e
interfaces para os periféricos clientes do DAVIC.
DAVIC 1.3
Os itens de trabalho mais importantes, abordados pelo DAVIC 1.3, são: serviços de comunicação
(e.g. telefonia, conferência e jogos com múltiplos jogadores); redes particulares (home networks);
sistema de gestão DAVIC; controlo relacionado com a rede; múltiplos servidores e serviços;
mobilidade; tecnologias multicast; unidade de internetworking; descarregamento de funcionalidades
para o cliente; extensão da funcionalidade do Java; API de controlo da visualização de imagens
paradas para o STU; considerações sobre os cenários mais pessimistas dos sistemas DAVIC1.0.
3.2 Catalogação da informação e Gestão do arquivo
Para a gestão do arquivo de informação existem normas de catalogação internacionais já utilizadas
para a gestão de arquivos de livros, ficheiros e outros materiais; mas com o advento das
telecomunicações e das redes de informação multimédia têm surgido dificuldades na definição de
regras e modelos de catalogação que alguns grupos de trabalho por todo o mundo procuram
ultrapassar com experiências relativamente isoladas. Nesta secção serão feitas referências não só aos
métodos de catalogação mas também aos sistemas de armazenamento de dados, que permitem
contornar algumas falhas do sistema e impedir a paralisação total do servidor.
3.2.1 Regras de catalogação
A necessidade de catalogar a informação acompanhou o impulso do Homem de armazenar, partilhar
e perpetuar as suas ideias, informações e criações artísticas em documentos. Já nos finais do século
XIX algumas bibliotecas catalogavam os artigos individuais publicados em série, mas a necessidade
de um controlo total sobre todos os artigos publicados periodicamente cedo se tornou num
imperativo difícil de atingir [11]. Nos Estados Unidos, a American Library Association (ALA)
estabeleceu grupos de trabalho conjuntos entre bibliotecas e empresas de publicação, com o
objectivo de estabelecerem a catalogação dos artigos publicados em série (indexing). Esta iniciativa
foi abandonada pelos editores, devido à sua fraca rentabilidade económica, e só mais tarde surgiram,
no sector comercial, os primeiros índices periódicos de catalogação com os H.W. Wilson's
periodical indexes. Este trabalho iniciou uma tradição na partilha de tarefa de fornecer um controlo
sobre o universo de informação bibliográfica existente.
Neste século têm contudo proliferado vários tipos de meios que preservam imagens, música, som e
movimento em vídeo, tal como os livros preservam texto e ilustrações em meios de impressão.
44
INESC
Infra-estruturas e gestão dos sistemas de informação
Actualmente todos estes meios de armazenamento de informação (e.g. manuscritos, texto impresso,
gravações de som, imagens, fotografias, filmes) podem ser digitalizados e disponibilizados
globalmente através de serviços on-line por intermédio das redes de computadores. Esta facilidade
de acesso aos materiais, e o facto das formas digitalizadas poderem ser rapidamente e
economicamente produzidas e alteradas, por um universo cada vez maior de consumidores,
provocaram uma enorme discussão quanto aos conceitos fundamentais de direitos intelectuais de
propriedade, autoria, publicação e controlo bibliográfico. Uma vez que as edições digitais podem
facilmente ser reeditadas, corrigidas e actualizadas, é necessário encontrar novas e melhores formas
de identificação das versões dos trabalhos produzidos, que os catalogadores quererão descrever e os
livreiros quererão armazenar.
As regras de catalogação existentes foram concebidas para a construção de catálogos ou listas, em
geral utilizadas nas bibliotecas. Estas regras não foram concebidas especificamente para especialistas
nem a sua especificidade se reduz às bibliotecas de arquivos: podem ser utilizadas como regras
básicas de catalogação e podem também ser estendidas conforme as necessidades. Estas regras
cobrem a descrição de cada item que se pretende catalogar e a forma de expor e referenciar essa
descrição nos catálogos fornecidos aos utilizadores.
Quanto à descrição dos itens a catalogar, existe um conjunto de regras gerais, que caracterizam
genericamente os itens, e um conjunto de regras específicas relacionadas normalmente com: o meio
físico do item a ser catalogado, o nível de detalhe necessário para cada elemento da descrição e a
análise de itens que são constituídos por vários elementos diferenciados. Estas regras definem as
instruções utilizadas na formulação das descrições dos materiais catalogados nas bibliotecas. As
regras baseiam-se na ferramenta genérica de descrição dos materiais das bibliotecas, designada por
ISBD(G) - General International Standard Bibliographic Description, que foi acordada entre a
International Federation of Library Associations (IFLA) e o grupo conjunto que conduz a revisão
das Anglo-American Cataloguing Rules (AACR) [8]. Ficou acordado que não é necessário que os
códigos das regras sigam a terminologia exacta do ISBD(G). A IFLA, por exemplo, publicou em
1987 a ISBD(NBM) que é baseada no ISBD(G) mas especializada para material não livro (Non
Bibliographic Material).
Depois de estabelecida uma descrição normalizada, de acordo com as regras anteriores, o próximo
passo será seleccionar os cabeçalhos e/ou os títulos da descrição para criar entradas que permitam
expor e referenciar os itens nos catálogos. Quanto à forma de expor e referenciar a informação, a
parte II do AACR(2) define um conjunto de regras que lidam com a escolha de pontos de acesso
para as entradas principais, entradas adicionais e referências dos catálogos, sob a forma de
cabeçalhos e títulos uniformes.
No contexto da Mediateca seria de particular interesse a definição de regras específicas para a
catalogação de materiais multimédia, uma vez que se trata de um servidor que irá servir de
repositório de dados multimédia. As AACR(2) prevêem regras específicas para a descrição de
materiais cartográficos, música, registos sonoros, filmes e registos de vídeo, materiais gráficos e
produtos de computador, entre outros. Os materiais cartográficos, a música e aos ficheiros de
computador possuem descrições bibliográficas internacionais normalizadas especializadas,
respectivamente a ISBD(CM), a ISBD(PM) e a ISBD(CF). As regras gerais ACCR(2) para a
descrição dos itens a catalogar relacionam-se com as fontes de informação, com a organização da
descrição, com a pontuação utilizada na descrição, com os níveis de detalhe da descrição, com a
linguagem utilizada na descrição e com as inexactidões que possam surgir. Estas regras definem
várias áreas de catalogação que possuem uma especificidade particular de acordo com o item a ser
45
INESC
Infra-estruturas e gestão dos sistemas de informação
catalogado: área de responsabilidade, área de edição, área de detalhes específicos, área de publicação
e distribuição, área de descrição física, área de séries, área de notas, área de numeração normalizada
e de termos de disponibilidade, área de itens suplementares e área de itens constituídos por vários
tipos de materiais.
Mas como é que se pode acomodar toda a informação electrónica disponível na rede, quando se sabe
que as regras de catalogação disponíveis foram concebidas para uma descrição física de itens
pertencentes e residentes em bibliotecas? Como se pode fornecer acesso a essa informação? É
opinião geral que as regras e as práticas devem mudar, mas a dificuldade está na convergência de
opiniões quanto ao estabelecimento de novas regras e práticas. A ALA formou um comité de
aconselhamento da biblioteca do congresso dos EUA, para alterações e melhoramentos ao formato
USMARC. Este comité lida, entre outras, com questões relacionadas por exemplo com o local
exacto de armazenamento do ISMN (International Standard Music Number) e se se deve adicionar
aos campos físicos de descrição fixos os valores codificados para as cassetes de vídeo Betacam.
Surgiram então novas propostas que recomendavam alterações ao formato bibliográfico por forma a
acomodar dados de recursos electrónicos (e.g. jornal electrónico e outros documentos disponíveis na
Internet). Parece óbvio, que o acesso remoto é o elemento unificador que poderá qualificar este tipo
de materiais devido ao facto destes não poderem estar disponíveis numa prateleira nem poderem ser
fisicamente descritos. Propuseram então que o universo das entidades acessíveis remotamente seja
dividido em duas categorias: os recursos de dados (e.g. software, ficheiros de dados, bases de dados
bibliográficas) e os recursos de sistemas (e.g. sistemas de informação, sistemas de catalogação de
bibliotecas, bulletin boards). Numa metáfora simples, pode-se dizer que os recurso de dados são
aqueles que se podem aceder por FTP e os de sistema são os que podem ser acedidos por Telnet.
Existem já projectos de investigação nos EUA (e.g. OCLC Internet Resources Project), que se
concentram nos recursos de dados e que coligiram e categorizaram mais de 1500 ficheiros. Um
grupo conjunto (OCLC Internet Resources Project, MARBI, Library of Congress, e The Online
Audiovisual Catalogers) começou uma experiência de catalogação de recursos de dados electrónicos
que inicialmente se deteve na possibilidade do formato de ficheiros de computador USMARC, puder
ser utilizado, sem modificações, para a catalogação de recursos de dados remotos [9]. Este processo
parecia ser simples, mas por razões históricas o formato USMACS é surpreendentemente limitado na
possibilidade de descrição de ficheiros de computador, porque foi originalmente concebido apenas
com um tipo de ficheiro em mente (conjuntos de dados estatísticos). Mais tarde foi estendido para
lidar com o software dos micro-computadores que começava a ser armazenado nas bibliotecas, mas
continuou a ser muito limitativo.
Outras vertentes de investigação têm surgido na última década, tentando aplicar os modelos
conceptuais ER (Entity-Relationship) e OO (Object-Oriented) na catalogação de materiais em
bibliotecas de vários países [17]. Outra iniciativa de modelização surgiu no início da década de 90,
sob aos auspícios de um grupo de estudo da IFLA, na análise de requisitos funcionais (Functional
Requirements) para registos bibliográficos. Todas estas iniciativas utilizaram o modelo ER para
identificar as entidades, os atributos e as relações mais importantes para os utilizadores de
informação bibliográfica.
46
INESC
Infra-estruturas e gestão dos sistemas de informação
3.2.2 Sistema de armazenamento de informação RAID
Actualmente os sistemas RAID (Redundant Array of Independent Disks) apresentam-se como uma
solução de armazenamento de informação em larga escala, que utiliza estratégias de redundância.
Estas estratégias conferem-lhe uma grande vantagem competitiva porque permitem um certo nível de
tolerância a falhas (Fault-Tolerant). Dentro de cada subsistema RAID, designado por array, existem
vários drives e componentes de suporte (e.g. controladores, fontes de alimentação, ventiladores) que
são ligados em conjunto, obtendo assim uma redundância nos pontos onde poderiam ocorrer as
falhas de funcionamento e que poderiam paralisar todo o sistema de armazenamento. Duplicando
cada subsistema dentro do array, o sistema RAID assegura a operação contínua do sistema mesmo
que qualquer um dos componentes falhe. Se surgir uma falha nalgum dos subsistemas, ocorre uma
comutação automática para os componentes secundários, sem interrupção das operações do sistema.
Qualquer perda ou destruição de dados é automaticamente reconstruída no meio restante (nos
restantes discos). Outra vantagem resulta do facto destes sistemas utilizarem um meio de
armazenamento constituído por discos magnéticos que fornece tempos de acesso aos dados
armazenados bastante rápidos, comparativamente com os sistemas ópticos ou unidades de
armazenamento do tipo Tape. Por outro lado, diz-se que o sistema RAID é escalável (scalable),
fornecendo tipicamente acesso on-line a dados armazenados desde 2GB até 1TB. Esta característica
torna o sistema RAID numa escolha perfeita para aplicações de armazenamento crítico e em larga
escala (e.g. o processamento de transações, operações de bases de dados e aplicações multimédia).
Existem várias metodologias de armazenamento utilizadas nos dispositivos RAID, designados por
níveis. Estes níveis não denotam características de performance, mas referem-se ao método utilizado
para armazenar os dados em meio magnéticos. Por exemplo, o nível RAID1 fornece uma
performance equivalente ao nível RAID5; e o nível que melhor desempenho apresenta depende da
aplicação visada e do tipo de protecção que o utilizador necessita. Existem 5 níveis RAID
reconhecidos pela indústria RAID Advisory Board, mas alguns fabricantes reclamam possuir sistemas
com níveis adicionais que resultam da combinação dos 5 níveis base. Os níveis mais comuns e mais
práticos para aplicações comerciais são o RAID1, RAID3 e RAID5.
O nível RAID1 conhecido por Mirroring, faz uma duplicação dos ficheiros de dados. Estes sistemas
gravam uma cópia redundante de todos os dados num segundo disco. Se o drive primário falhar é
activado automaticamente o drive secundário, que passa a fornecer os dados. Qualquer falha de
funcionamento é transparente para o utilizador e o processamento não é afectado. Os sistemas
RAID1 duplicam todos os dados, garantindo assim a sua disponibilidade e visando um rápido
desempenho durante operações de leitura, comparativamente com outros sistemas RAID. Este nível
necessita no entanto de um mínimo de 2 drives (o drive activo e o drive espelhado), daí que apenas
metade da capacidade de armazenamento do sistema seja utilizada, tornando estes sistemas nas
implementações mais caras dos níveis RAID.
O nível RAID3 armazena dados, distribuindo-os (stripping) por um mínimo de dois drives enquanto
utiliza um terceiro drive para armazenar o bit de paridade de cada byte. Na eventualidade de um
drive falhar, os dados perdidos podem ser recriados a partir da informação dos dois drives que
funcionam. A implementação do RAID3 não é tão dispendiosa como o RAID1 porque disponibiliza
uma maior percentagem da capacidade de armazenamento total dos subsistemas (2/3 versus 1/2). Se
47
INESC
Infra-estruturas e gestão dos sistemas de informação
se pretender transferir grandes quantidades de dados, podemos utilizar os sistemas RAID3 pois estes
comportam-se de modo bastante eficiente.
O nível RAID5 é similar ao nível RAID3, na medida em que também distribui os dados através de
um mínimo de 3 drives. Contudo, nos dispositivos de armazenamento RAID5, todos os drives são
utilizados para o armazenamento de dados e a gravação dos bits de paridade é distribuída por todos
os drives do array. Num sistema com 3 drives, dois terços (2/3 ) da capacidade total do meio está
disponível para os dados. Um sistema RAID5 é capaz de efectuar simultaneamente operações de
leitura/escrita, enquanto que sistemas RAID1 e RAID3 podem gerir apenas uma transferência de
dados por array (i.e. leitura ou escrita). As implementações RAID5 fornecem a melhor combinação
entre a disponibilidade sobre a totalidade dos dados e a protecção que confere tolerânica a falhas.
Para aplicações que façam leituras contínuas de dados os sistemas RAID3 apresentam uma boa
performance.
Qual o nível RAID a utilizar?
Numa rede com vários servidores e estações de trabalho o sistema RAID1 é muito utilizado porque é
uma solução familiar, simples e que oferece grande funcionalidade e muito mais flexível do que as
soluções que se obteriam com esquemas de espelhamento de discos oferecidos por alguns
fabricantes. Com sistemas RAID obtemos melhor “hot-swapping” e melhor “troughput” do que com
as técnicas de “disk mirroring”. Quando seleccionamos um sistema “disk mirroring” construído
sobre um determinado sistema operativo, ficamos presos a esse sistema operativo que não funcionará
numa rede heterogénea (com diferentes sistemas operativos). A escolha de um sistema RAID pode
tornar-se complexa na medida em que é necessário decidir se se quer um sistema RAID baseado em
software ou um sistema RAID baseado em hardware, porque a tecnologia RAID está disponível
tanto em implementações de hardware como de software. A complexidade dos sistemas RAID
requer software para gerir e controlar as suas funções de armazenamento; esse software pode ser
embebido no hardware ou pode ser distribuído em programas que correm sobre o sistema operativo.
Os sistemas Hardware RAID são assim designados porque contêm os pacotes de software
necessários à gestão do sistema incluídos no firmware do controlador do sistema de armazenamento,
o que fornece um controlo RAID efectivo sem afectar o sistema computadorizado do computador
hospedeiro. Os sistemas Hardware RAID normalmente possuem uma performance I/O mais rápida
do que os Software RAID.
Os sistemas Software RAID utilizam os recursos do sistema computadorizado hospedeiro para
armazenar e executar os seus pacotes de software. Com os sistemas Software RAID podemos utilizar
dispositivos de armazenamento já existentes para formar o array RAID. Quer isto dizer que se pode
atingir enorme protecção sobre os dados porque os discos membros do array RAID podem dividirse por múltiplos dispositivos de armazenamento ou por múltiplos computadores hospedeiros. Esta
utilização de recursos já existentes é mais económica do que uma solução Hardware RAID mas pode
afectar as características de desempenho do sistema.
48
INESC
Infra-estruturas e gestão dos sistemas de informação
3.3 Programação e scripting do servidor
Tem-se assistido nestes últimos meses a uma tremenda explosão nas tecnologias de suporte da
WWW. O desenvolvimento mais significativo terá sido a capacidade de ampliar as capacidades de
um servidor Web através de scripts e programas específicos. Estas extensões proporcionam aos
utilizadores da Web a consulta de dados de empresas, fazer encomendas e obter informação sobre o
seu estado e outras operações que a Web por si só não permite. Quer isto dizer que para além de
servir documentos, o servidor Web possui capacidades para processar os documentos que serve, e
para executar comandos contidos em documentos enquanto os envia para o browser. Isto pode
envolver a chamada a um script, a inclusão de um ficheiro, a inserção de uma data ou outra string de
formatação ou a execução de um programa, a partir de qualquer ponto de um ficheiro HTML.
O servidor torna-se num intermediário entre o browser e o script de extensão. Este script processa
as consultas do utilizador e gera resultados, que são posteriormente enviados para o browser pelo
servidor Web. Desta forma, o site Web consegue produzir dados dinâmicos ao mesmo tempo que
serve os tradicionais documentos estáticos.
3.3.1 Tecnologias
Actualmente existem quatro tipos de tecnologias para ampliar os servidores Web com
funcionalidades dinâmicas:
•
SSI (Server-Side Includes) e a mais recente SSI+: o documento contem marcas especiais e o
servidor substitui as marcas com dados dinâmicos à medida que o documento é enviado para
o browser. A tecnologia SSI fornece directivas que podem ser introduzidas em documentos
HTML por forma a executar outros programas ou produzir saídas de dados tais como
variáveis de ambiente ou estatísticas. Quando o cliente pede um documento a um servidor
SSI, este servidor realiza o parsing do documento especificado e retorna-o.
•
SSS (Server-Side Scripting): Uma nova variação do SSI em que o documento contém um
script embebido que é executado pelo servidor, sendo os resultados inseridos no documento
à medida que este é enviado para o browser.
•
CGI (Common Gateway Interface): O servidor executa um programa externo que gera o
documento completo, que é posteriormente enviado para o browser. Os scripts CGI também
são capazes de processar formulários de dados enviados pelo browser para o servidor.
•
API (Application Programming Interface): O código é carregado e fica residente juntamente
com o servidor de modo a ampliar as suas capacidades. As extensões API possuem mais
capacidades do que os scripts CGI.
Cada uma destas tecnologias possui os seus pontos fortes e as suas fraquezas. Por isso, cada uma
será mais adequada para criar certos tipos de extensões ao servidor Web. Se definirmos um conjunto
de características comuns às quatro tecnologias, podemos comparar as várias técnicas e concluir
sobre a sua utilidade e domínio de aplicação.
49
INESC
Infra-estruturas e gestão dos sistemas de informação
As características definidas no âmbito deste relatório para a comparação das quatro tecnologias
mencionadas foram as seguintes:
•
•
•
•
•
•
•
Flexibilidade e potencial,
Conhecimentos necessários para o desenvolvimento,
Ciclo de desenvolvimento e teste,
Capacidade de adaptação a alterações,
Custos,
Risco operacional,
Overhead gerado no CPU.
3.3.1.1 Flexibilidade e potencial
Dado que o SSI é um mecanismo de substituição em que o texto é inserido num documento em
locais específicos, esta técnica possui a flexibilidade mais baixa de todas as tecnologias. Algumas
implementações do SSI possuem algumas capacidades de decisão lógica, mas nenhuma delas
consegue atingir o potencial oferecido pelas linguagens de programação. O SSS amplia o conceito
do SSI ao permitir que os scripts sejam inseridos no documento. No entanto, as linguagens de script
são necessariamente limitadas em termos de flexibilidade pois são interpretadas e operam no
contexto de um documento. Estas limitações estão patentes nas diferenças entre o VBScript e o VB
(Visual Basic) da Microsoft ou entre o JavaScript da Netscape e a linguagem Java. Portanto,
podemos concluir que atendendo a que tanto os scripts CGI como as API são implementadas com
linguagens de programação, ambas fornecem o maior grau de flexibilidade e um vasto potencial.
3.3.1.2 Conhecimentos necessários para o desenvolvimento
Em relação ao nível de conhecimentos técnicos exigido, o SSI é aquele que requer o menor nível
além do necessário para escrever páginas HTML. O SSS exige que o programador saiba programar
com linguagens de script. Como estas linguagens são limitadas em termos de potencial e âmbito de
aplicação, o nível de conhecimentos exigido não é muito elevado. A programação CGI pode ser
realizada por intermédio de um grande conjunto de ferramentas bem conhecidas tais como Visual
Basic, Delphi, C ou C++ e Perl. Por isso, os conhecimentos exigidos aos programadores para o
desenvolvimento SSS ou CGI situam-se ao nível das ferramentas de programação actuais.
O desenvolvimento API já exige um nível de conhecimentos de programação que envolvem a
familiaridade com técnicas de programação avançadas tais como o multithreading, a sincronização
de concorrência, a programação de protocolos de rede e o processamento estruturado de excepções.
Por isso, este tipo de programação envolve programadores especializados, e as rotinas de extensão
ao servidor só podem ser alteradas e mantidas por eles mesmos. Os custos desta solução são
portanto maiores.
3.3.1.3 Ciclo de desenvolvimento e teste
O SSI é aquela tecnologia que envolve o menor tempo de desenvolvimento e teste. Este
desenvolvimento consiste da inserção de marcas em documentos HTML que posteriormente são
50
INESC
Infra-estruturas e gestão dos sistemas de informação
preenchidas pelo servidor com dados provenientes de outras fontes. O desenvolvimento SSS e CGI
pode variar dependendo da complexidade da tarefa a ser executada. Os scripts SSS tendem a ser
relativamente pequenos em dimensão, mas não podem ser testados off-line, o que aumenta a duração
da fase de teste e acrescenta complexidade aos testes necessários. Os programas CGI tendem a ser
mais complexos, mas podem ser testados off-line, de uma forma totalmente independente do
servidor. Os testes CGI podem, por isso, ser realizados com rapidez. As extensões SSS e CGI são
programas separados e, por isso, não afectam o funcionamento normal do servidor, ou seja, a falha
de um script SSS ou CGI não é maligna do ponto de vista do servidor.
As extensões API exigem um processo de teste mais rigoroso já que são mapeadas no espaço de
memória do servidor e podem corromper os dados internos do servidor. Antes de se instalar uma
extensão API num servidor deve-se pois testá-la com todo o pormenor para assegurar que não criará
crashes no servidor. Portanto, podemos concluir que as extensões API são aquelas que exigem o
maior intervalo de tempo quer em termos de desenvolvimento quer de teste.
3.3.1.4 Capacidade de adaptação a alterações
A maioria das extensões Web comerciais são desenvolvidas por forma a melhorar um negócio e
implementam regras de negócio. A capacidade de adaptação a alterações nas condições negociais é
um aspecto muito importante. Neste contexto, as extensões SSI são, pela sua própria natureza,
fáceis de ajustar à medida que as condições se alteram. Os scripts SSS e as extensões CGI podem ser
desenvolvidos utilizando os mesmos sistemas de programação que são utilizados para desenvolver
outras aplicações usadas nas empresas. Por isso, ambos facilitam o processo de manutenção e
alteração das extensões Web de modo a ajustar as existentes a novas condições.
As extensões API exigem geralmente a contratação de programadores especializados. Quando acaba
o contrato, os programadores deixam a aplicação "congelada" até que voltem e podem não estar
disponíveis sempre que necessário. De igual modo, este tipo de pessoas não conhece as operações
realizadas numa empresa particular, nem as áreas em que a empresa deseja ganhar vantagem
competitiva. Por fim, o ciclo de desenvolvimento e teste é mais longo, já que as extensões alteradas
devem ser novamente validadas. Por tudo isto, podemos concluir que as extensões API são as menos
adaptáveis a alterações nas condições de funcionamento.
3.3.1.5 Custos
As extensões SSI possuem os menores custos já que exigem pouca programação, o índice mais
baixo de conhecimentos e ajustam-se com maior facilidade a alterações nas condições de
funcionamento. A seguir, os scripts SSS e as extensões CGI podem ser eficientes em termos de
custos caso sejam desenvolvidas num curto espaço de tempo e por pessoas com conhecimentos
sobre o modus operandi da empresa alvo. Como estas duas tecnologias não colocam em risco a
operação do servidor Web, não necessitam de testes à segurança de operação do servidor.
As extensões API possuem os custos mais elevados pois exigem programadores especializados (e
caros), ao mesmo tempo que consomem um intervalo de tempo alargado para alterações de
manutenção e exigem muitas iterações antes de se encontrarem em funcionamento normal.
51
INESC
Infra-estruturas e gestão dos sistemas de informação
3.3.1.6 Risco Operacional
As extensões SSI e CGI possuem o menor risco operacional. No caso das extensões SSI apenas se
coloca o problema de funcionarem ou não. No caso das extensões SSS e CGI, podem existir bugs de
programação que evitem o seu funcionamento. Para além disso, os scripts SSS já constituem uma
tecnologia muito recente e, por vezes, dependem de novas funções introduzidas no sistema
operativo, pelo que possuem o risco adicional de ocorrência de falhas. Se o motor SSS (SSS engine)
operar como uma extensão API, uma falha deste motor pode deixar em baixo todo o servidor.
Tal como foi dito, as extensões API podem falhar de um modo que causa um crash em todo o
servidor. Contudo, algumas APIs possuem um mecanismo de segurança que protege o servidor
contra certos tipos de falhas. No entanto, se a extensão API tentar escrever no espaço de dados
privado do servidor (o que pode acontecer naturalmente), causará com toda a certeza um crash fatal
no servidor.
3.3.1.7 Overhead gerado no CPU
Por ovehead gerado no CPU entende-se o overhead associado com o mecanismo de extensão, e não
o overhead associado com a execução da tarefa, já que este último pode variar consideravelmente.
A tecnologia SSI é aquela que coloca o menor overhead no CPU, apesar deste ser moderado, já que
é necessário pesquisar todo o documento HTML, procurando marcas de inserção e inserindo os
dados dinâmicos em cada um destes pontos. Se o servidor não guardar o fluxo de dados final num
buffer intermédio, o overhead pode ser bastante elevado e a eficiência de transmissão na rede pode
ser muito baixa.
Os scripts SSS são, como vimos, interpretados e não compilados. Por isso, se os compararmos com
um programa compilado, o overhead é mais elevado. De igual modo, o motor de scripting deve ser
inicializado antes do processo de interpretação se iniciar. Por exemplo, no caso do servidor Active X
Server da Microsoft, os motores são objectos COM (Component Object Model) que devem ser
instanciados utilizando o mecanismo de OLE (Object Linking and Embedding). O desempenho de
tais motores de scripting depende da quantidade de memória RAM existente no sistema, que deve
ser de forma a evitar um excesso de page faulting. O overhead de arranque das extensões SSS pode
não ser tão elevado como o verificado para os scripts CGI, mas o overhead associado à execução é
mais elevado do que aquele que está associado aos programas compilados. Por estes motivos,
podemos concluir que o overhead associado às extensões SSS é elevado.
Por outro lado, a tecnologia CGI possui um overhead que é relativamente elevado, já que o
programa deve ser executado sempre que se recebe um pedido CGI. No entanto, este overhead não
é tão elevado quanto possa parecer, diminuindo se o programa for acedido com frequência e o seu
código existir na memória cache do disco. Tal como no caso dos scripts SSS, este nível de
desempenho depende da quantidade de memória RAM existente no sistema.
As extensões API são aquelas que apresentam o menor overhead pois são executadas no mesmo
contexto do servidor. No entanto, o desempenho está, de novo, dependente da existência de uma
quantidade suficiente de memória RAM no sistema. Se tal não acontecer, as extensões API (tal como
o próprio servidor e todas as aplicações que estejam a ser executadas) irão disputar os recursos
físicos de memória até ao último bit disponível. Atendendo a que uma extensão API é ligeiramente
52
INESC
Infra-estruturas e gestão dos sistemas de informação
mais pequena em termos de dimensão e espaço ocupado em memória do que um script CGI
equivalente, podemos concluir que a tecnologia API é menos intensiva em termos de memória RAM.
3.3.2 Soluções comerciais
As metodologias utilizadas actualmente pelos grandes fornecedores de soluções para a WWW
diferem pouco entre si, mas contêm aspectos que devem ser analisados e ponderados antes de se
proceder a uma escolha de tecnologias para os futuros servidores de vídeo da Mediateca. Assim,
analisamos neste relatório as metodologias alternativas utilizadas nas soluções propostas pelas
Microsoft, Netscape e Oracle para o scripting do servidor.
3.3.2.1 Active Server Pages (ASP) da Microsoft
A tecnologia ASP (Active Server Pages), introduzida no IIS (Internet Information Server) da
Microsoft permite combinar Active X Scripts com Active X Server Components, facilitando a criação
de conteúdos dinâmicos e de novas aplicações baseadas na WWW. A tecnologia ASP possibilita o
desenvolvimento de páginas e aplicações Web baseadas em componentes utilizando várias linguagens
de programação, incluindo o JScript e o VBScript, e proporciona um ambiente aberto para o
desenvolvimento, ao mesmo tempo que permite a construção de soluções Web independentes do
tipo de browser. Esta tecnologia destina-se ao desenvolvimento de soluções para Intranets e para a
Internet, e baseia-se numa plataforma constituída pelo IIS 3.0 que corre sobre um servidor Windows
NT 4.0 e que tira partido da API do Microsoft Internet Server (ISAPI).
A tecnologia ASP possibilita o desenvolvimento de páginas HTML contendo scripts embebidos.
Estes scripts podem referenciar componentes que correm num servidor local, através do modelo
COM (Component Object Model), ou num qualquer servidor, através do modelo DCOM
(Distributed Component Object Model). Por sua vez, estes componentes facilitam o acesso a bases
de dados, permitem executar aplicações ou processam informação. Quando o browser pede um
ficheiro ASP, este é processado pelo servidor e a página resultante é retornada ao cliente sob a
forma de uma página HTML.
Uma característica importante da tecnologia ASP é a facilidade de criação de aplicações Web
utilizando qualquer linguagem de script. Esta tecnologia é compatível com qualquer linguagem de
script Active X e inclui suporte nativo para VBScript (Visual Basic Scripting Language) e JScript
(Java Script Language). O VB Script é um subconjunto da linguagem Visual Basic da Microsoft. O
JScript é a versão Microsoft do JavaScript desenvolvido pela Netscape e apresenta poucas
diferenças em relação a esta. Ambas as linguagens de script se orientam especificamente para a
Internet. Como tal, são implementadas sob a forma de um interpretador rápido, portável e leve que é
utilizado nos browsers Web ou noutras aplicações que utilizem controlos Active X, servidores de
automação OLE e applets Java. Este interpretador processa código fonte embebido directamente em
documentos HTML. No entanto, nem o JScript nem o VBScript produzem applets stand-alone, mas
utilizam-se sobretudo para adicionar interactividade e “inteligência” a documentos HTML.
53
INESC
Infra-estruturas e gestão dos sistemas de informação
O suporte ASP para outras linguagens, tais como REXX, Perl ou Tcl, é fornecido por intermédio de
plug-ins desenvolvidos por terceiros. É ainda possível a utilização de várias linguagens de script no
mesmo ficheiro ASP. Os componentes activos do servidor (Active X Server Componentes) podem
ser criados com qualquer linguagem de programação, desde Java, VB, ou C++, até ao COBOL e
outras.
A tecnologia ASP possibilita a activação de páginas Web HTML no servidor, facilitando o
desenvolvimento de páginas específicas (custom) e de aplicações simples. As páginas ASP podem ser
utilizadas para gerar conteúdos Web personalizados ou específicos para cada utilizador, sem ser
necessário recorrer à escrita de scripts CGI em linguagens como Perl ou C. A utilização combinada
de scripts e componentes permite separar a programação necessária para aceder a dados contidos em
bases de dados ou aplicações, do design e de outros conteúdos de uma página Web. Esta separação
entre o conteúdo, a lógica e a apresentação permite o desenvolvimento separado de componentes e
layouts HTML, acelerando o processo de criação de páginas e aplicações. Os ficheiros ASP são
recompilados dinamicamente sempre que são pedidos e são carregados na memória cache do
servidor, o que permite reflectir imediatamente nas páginas enviadas ao browser as alterações
entretanto efectuadas. Por fim, visto que a lógica necessária para criar o conteúdo dinâmico pode ser
executada no servidor, não é necessário desenvolver especificamente para um dado browser, já que
estes “vêm” o conteúdo de um ficheiro ASP como uma página HTML normal.
Do ponto de vista da criação e execução de aplicações Web dinâmicas e interactivas, a tecnologia
ASP fornece um ambiente de Server Side Scripting (SSS) que permite ao servidor Web a realização
do trabalho envolvido na geração de páginas HTML personalizadas. É possível desenvolver várias
vistas sobre a mesma informação baseadas na identidade do utilizador, no tipo de browser que está
utilizar, os locais que já visitou ou as compras que já efectuou. A tecnologia ASP suporta a
utilização da linguagem de script Active X Scripting através dos motores de script. Estes motores
são os objectos COM que processam os scripts. A utilização de outras linguagens é possível se
atendermos ao facto de os scripts desenvolvidos serem sempre executados do lado do servidor e
nunca do lado do cliente. A utilização simultânea na mesma página HTML de vários scripts escritos
em várias linguagens diferentes faz-se identificando as diferentes sequências por meio de um tag que
designa a linguagem utilizada para a sequência que se segue.
3.3.2.2 LiveWire da Netscape
A proposta da Netscape baseia-se na sua linguagem de script baseada em objectos JavaScript
destinada a aplicações cliente e servidor. Existem dois tipos de JavaScript: o Navigator JavaScript
(client-side JavaScript) e o LiveWire JavaScript (server-side JavaScript). No contexto deste
relatório, estamos interessados em analisar este segundo tipo, já que é o que permite a criação de
aplicações baseadas no servidor.
O LiveWire é um ambiente de desenvolvimento de aplicações que utiliza o JavaScript para a criação
de aplicações residentes no servidor semelhantes aos programas CGI. Ao contrário das aplicações
Navigator JavaScript, as aplicações LiveWire JavaScript são compiladas em ficheiros binários
executáveis. Estes executáveis são executados por um servidor Netscape que possui extensões
LiveWire. Estas extensões geram documentos HTML dinamicamente que são enviados pelo servidor
ao browser cliente, onde os resultados são apresentados. O LiveWire JavaScript é integrado
directamente nas páginas HTML, ao contrário dos programas CGI, o que facilita e acelera o
desenvolvimento e a manutenção. Para além disso, o LiveWire JavaScript contém uma infra-
54
INESC
Infra-estruturas e gestão dos sistemas de informação
estrutura de objectos que pode ser utilizada para manter dados e fornece ainda objectos e métodos
para o acesso a bases de dados que funcionam como interfaces para os servidores de bases de dados
SQL.
O LiveWire, que também existe em versão Pro, é uma ferramenta visual que foi concebida para a
gestão de sites Web e para a criação de aplicações dinâmicas, destina-se ao Windows NT e ao
Windows 95 e inclui os seguintes componentes:
• o Netscape Navigator Gold - o browser ou cliente Web que permite, para além da navegação,
a criação e a edição de documentos HTML, applets Java, e scripts JavaScript;
• o LiveWire Site Manager - uma ferramenta visual para a criação e manutenção de sites Web;
• o LiveWire JavaScript Compiler - um compilador para o desenvolvimento rápido de
aplicações client-side e, sobretudo, server-side utilizando a linguagem JavaScript. Estas
aplicações podem ser compiladas e executadas por servidores Web tais como o Netscape Fast
Track, o Enterprise e o mais novo SuiteSpot cujas capacidades para executar código Java
Script compilado facilitam a criação de páginas HTML dinâmicas;
• a LiveWire Database Conectivity Library - uma biblioteca que permite aos browsers Web
terem capacidades de pesquisa, consulta e actualização de bases de dados relacionais sobre a
Internet (ou numa Intranet). Esta biblioteca permite o estabelecimento de ligações directas
SQL a bases de dados Oracle, Sybase, Informix e Illustra, fornecendo suporte nativo para
ligações cliente-servidor a estas bases de dados, para além de facilitar ligações ODBC a outras
bases de dados (tais como o Microsoft Access, o Borland Paradox e o IBM DB2) através de
drivers ODBC;
3.3.2.3 WebServer 3.0 da Oracle
O WebServer 3.0 da Oracle apoia-se na infraestrutura da arquitectura NCA (Network Computing
Architecture) e proporciona um servidor de aplicações que estabelece e aplica as bases de uma
arquitectura aberta e escalável que suporta várias aplicações e normas tais como o Java, o CORBA e
o X/Open. Para além disso, é uma arquitectura que unifica o paradigma cliente/servidor com a Web,
estabelece uma ponte entre várias arquitecturas de objectos e unifica várias APIs para servidores
Web. O Oracle WebServer 3.0 inclui o Web Request Broker (WRB) que suporta cartridges para
programas baseados em HTTP/HTML. Para além disso, fornece os serviços de um ORB (Object
Request Broker), que obedece aos princípios fundamentais do CORBA, a cartridges Web, com o
objectivo da integração entre as aplicações baseadas na Web e baseadas em objectos. O WebServer
inclui um servidor HTTP robusto, mas o coração do produto é o WRB, um mecanismo rápido para
despachar, balancear e adicionar extensões ao servidor. O WRB foi construído sobre uma
arquitectura multithreaded e multiprocesso por forma a executar todas as extensões sob a forma de
processos individuais fornecendo um maior grau de independência entre processos assíncronos.
Por outro lado, a arquitectura baseada em cartridges proporciona a subdivisão de aplicações, o
balanceamento da carga do servidor e a separação entre processos. As cartridges podem ser
executadas ou terminadas dependendo da carga do servidor e das necessidades das aplicações.
55
INESC
Infra-estruturas e gestão dos sistemas de informação
Os serviços fornecidos pelas cartridges dividem-se pelas seguintes categorias:
• a cartridge Java, um motor Java completamente integrado no servidor que inclui classes para
procedimentos PL/SQL e fornece acesso nativo ao Oracle7;
• a cartridge PL/SQL, a implementação Oracle da linguagem SQL que permite o
desenvolvimento de páginas dinâmicas. Os procedimentos PL/SQL da bases de dados possuem
capacidades para gerar páginas Web dinâmicas através do PL/SQL toolkit que mapeia os tags
HTML em funções PL/SQL;
• a cartridge LiveHTML, que é a implementação Oracle do SSI (Server Side Includes) e
proporciona um método para a inserção ou inclusão de documentos externos ou resultados de
programas numa página HTML estática. Esta cartridge suporta a funcionalidade InterCartridge Exchange que permite a inclusão de resultados produzidos por várias cartridges
(e.g. Java, SQL, PL/SQL e Perl) em páginas HTML estáticas;
• a cartridge ODBC, que facilita o acesso a outras bases de dados através do ODBC (Open
DataBase Connectivity), o que permite a inclusão de dados locais e remotos numa aplicação
através da invocação da cartridge ODBC;
• a cartridge Perl, que permite a utilização de código Perl na arquitectura WRB.
3.4 Comércio Electrónico
O comércio electrónico é uma nova metodologia para o negócio que contempla as necessidades de
organizações, empresas, comerciantes e consumidores em termos de redução de custos e de melhoria
da qualidade de produtos e serviços e aumentando a rapidez de entrega. Esta noção também se
aplica à utilização de redes de comunicações para a realização de pesquisas e obtenção de
informação de apoio à decisão. De acordo com esta noção, o comércio electrónico abrange não só as
transacções comerciais com troca de fundos como a obtenção de informação crítica e utiliza
tecnologias tão variadas como redes de comunicações e vários dispositivos e infra-estruturas tais
como os PCs, os quiosques multimédia, a Internet e a WWW e ainda o Video On Demand.
O comércio electrónico tem-se generalizado bastante nos últimos anos. Passou-se de uma situação
em que as transacções se baseavam na presença física para as transacções virtuais, sem a intervenção
humana. Este tipo de comércio baseia-se em redes on-line e surge com a explosão dos serviços online, que tem conduzido a que um número crescente de empresas disponibilizem os seus serviços e
produtos, aproveitando assim as potencialidades fornecidas pela Internet. Passou a ser possível a
criação de verdadeiros centros comerciais virtuais (cybermall), a prestação de serviços pagos por
assinatura e ainda de pagamentos no acto da compra [35].
56
INESC
Infra-estruturas e gestão dos sistemas de informação
Os objectivos principais do comércio electrónico incluem:
•
o crescimento de oportunidades de negócio devido à exposição a um maior número de
clientes,
•
a redução dos custos,
•
a rapidez na resposta,
•
o melhoramento da qualidade dos serviços fornecidos.
3.4.1 Comércio electrónico orientado para os consumidores (consumer-to-business)
Neste contexto, a grande questão que se coloca está relacionada com os meios de pagamento. No
caso da Internet, o pagamento com cartão de crédito exige um grau de confidencialidade (ou
segurança) acrescido, uma vez que existem potencialmente mais pessoas susceptíveis de interceptar
uma transacção efectuada via rede. Para resolver este problema, têm surgido ultimamente vários
esforços com o objectivo de definir uma norma de pagamento seguro na Internet.
O volume de transacções na Internet deverá atingir os 165 biliões de dólares em finais do século, e é
na Internet que assistimos à implementação de grandes projectos de pagamento dotados de
segurança. No entanto, o comércio electrónico começou a despontar com o surgimento da World
Wide Web. Com efeito, é tentador associar às apresentações interessantes de produtos e serviços
realizadas através de páginas WWW a possibilidade de os adquirir. A WWW transformou-se assim
num suporte, tal como o é o papel para os catálogos de vendas por correspondência. Torna-se então
necessário definir um meio seguro de transmitir ao vendedor o número do cartão de crédito.
As tecnologias SSL (Secure Socket Layer) e S-HTTP (secure hypertext transfer protocol) foram as
primeiras a surgir com o objectivo de tornar seguras as trocas de informação, isto é, as transacções
realizadas com base na Web. O SSL é um protocolo aberto, definido pela Netscape, que foi proposto
ao W3C (World Wide Web Consortium) para que fosse adoptado como norma. Obteve uma resposta
favorável da maior parte das empresas que desenvolvem servidores Web e a Microsoft integrou-o no
seu Internet Information Server. O princípio de funcionamento do SLL baseia-se no algoritmo RSA
(Rivest Shamir Adleman) com chave pública, que constitui actualmente um dos processos mais
seguros. No entanto, dado que a legislação norte-americana não autoriza a exportação de produtos
que utilizem os recentes avanços em tecnologias e algoritmos de encriptação (ou cifra), as versões
encontradas fora dos estados Unidos são muito menos resistentes a ataques de hackers visto que se
encontram limitadas a uma chave RC4 de 40 bits (em vez dos mais recentes 128 bits).
O SSL permite encriptar o conteúdo de um formulário por forma a possibilitar a transmissão de um
número de cartão de crédito com toda a segurança. Todavia, é necessário confiar numa chave mais
antiga e potencialmente menos segura. Contudo, na realidade, a capacidade de cálculo necessária
para quebrar mesmo esta chave menos segura é superior ao ganho que se poderia esperar com a
intercepção de alguns números de cartões de crédito.
O S-HTTP baseia-se exactamente no mesmo princípio, isto é, permite transmitir formulários de
forma segura através da WWW e, por conseguinte, efectuar pagamentos por meio de cartões de
57
INESC
Infra-estruturas e gestão dos sistemas de informação
crédito. Este protocolo foi desenvolvido pela EIT (Enterprise Integration Technologies) e é
semelhante, em essência, ao SSL. O S-HTTP também se baseia no algoritmo RSA e foi igualmente
proposto como norma junto do W3C.
É possível que, a prazo, alguma destas tecnologias se imponha ou mesmo que se consiga um
compromisso entre ambas. No entanto, ambas se contentam com tornar segura a transferência de um
número de cartão de crédito, sem contemplarem qualquer outra forma de procedimento. Por este
motivo, nenhuma das duas se presta ao comércio electrónico quando pensamos em soluções
susceptíveis de garantir o bom desenrolar de uma transacção. A primeira iniciativa neste sentido
surgiu por parte da VISA e da Mastercard, que se associaram com a finalidade de definir um
protocolo normalizado - o SET (Secure Electronic Transaction). O objectivo principal do SET é
permitir a utilização de cartões de crédito na Internet. Para isso, assegura, entre outro, os seguintes
aspectos relacionados com a transacção:
•
a confidencialidade da informação,
•
a integridade dos dados transmitidos,
•
a autenticação da conta do portador do cartão,
•
a autenticação do comerciante,
•
a interoperabilidade entre diferentes plataformas.
Esta norma vai, portanto, mais além do que o SSL e do S-HTTP, pois permite não só a segurança de
transacções através de um cartão de crédito VISA ou Mastercard, mas também garante a validação
do cartão junto do comerciante. Esta norma conta com a participação da IBM, da Microsoft, da
Netscape, da Terisa Systems e da GTE, entre outras, no seu desenvolvimento.
Existe actualmente uma outra tecnologia que envolve um tipo de abordagem distinta destas
tecnologias analisadas até ao momento: a tecnologia Virtual PIN desenvolvida pela First Virtual e
disponível desde março de 1994. O seu princípio de funcionamento é bastante simples e possui o
mérito de ser bastante segura. De acordo com esta técnica, o número do cartão de crédito nunca é
transmitido através da rede, e apenas surge uma vez quando a conta é aberta pelo utilizador. Em
troca, o cliente recebe um Virtual PIN (equivalente ao PIN do cartão bancário) que lhe permite fazer
compras na Internet. Este tipo de transacções deve obrigatoriamente ser confirmado por correio e o
pagamento é posteriormente realizado com base nas redes tradicionais de cartões bancários.
Uma outra forma ainda de comércio electrónico on-line apresenta-nos o conceito inovador do portamoedas electrónico. Neste domínio, o consórcio Commerce Net (um consórcio industrial de
empresas e organizações surgido em Abril de 1994 com o objectivo de acelerar o crescimento do
comércio electrónico na Internet e criar oportunidades de negócio para os seus membros, abarcando
já quinhentas empresas das mais diversas áreas, e em crescimento contínuo) adoptou duas
tecnologias com o objectivo de definir uma norma: as soluções da Cybercash e da GC Tech.
O sistema Globe ID da empresa francesa GC Tech foi adoptado pelo centro de comércio Globe
Online que propôs a possibilidade de compra on-line de produtos e jornais, nomeadamente o
Libération e o La Tribune. O princípio de funcionamento também é, essencialmente, bastante
simples: o utilizador deve apenas abrir uma conta num banco que disponibilize esta solução e
58
INESC
Infra-estruturas e gestão dos sistemas de informação
telecarregar o software do porta-moedas electrónico. A partir deste ponto, poderá retirar dinheiro da
sua conta existente nesse banco para pagar um serviço ou um produto disponível num servidor que
aceite este tipo de transacção. A segurança desta transacção é assegurada por meio de um algoritmo
de encriptação e a autenticação é assegurada por um servidor que serve de intermediário e que
controla os seguintes aspectos:
•
a validade da transacção,
•
a identidade do portador do porta-moedas e
•
a identidade do comerciante.
A Cybercash é, por enquanto, a única empresa a ter obtido uma autorização de exploração de um
produto de encriptação norte-americano que utiliza chaves RSA de 1024 bits (sistema de chave
pública) e DES de 56 bits (sistema de criptografia de chave secreta), assegurando assim uma solução
extremamente robusta [33]. Tal como no caso anterior, esta chave utiliza-se juntamente com uma
aplicação de software independente que funciona como porta-moedas: o Cybercash Wallet. A oferta
da Cybercash está disponível em três versões:
•
o Secure Card Transport para o débito e crédito de cartões bancários,
•
o Secure Money Messaging para o pagamento de somas elevadas e
•
o Secure Micropayments para pequenas somas (designadas por micropagamentos).
O primeiro destes produtos encontra-se já em funcionamento e permite realizar pagamentos com um
cartão bancário através da rede. O segundo, designado por dinheiro electrónico, ainda não foi
passado à realidade. O último aspecto é particularmente importante, uma vez que representa um dos
principais trunfos do porta-moedas electrónico na perspectiva das instituições bancárias. Com efeito,
o pagamento através de cartões bancários de pequenas somas é uma operação que pode custar mais
do que o montante que envolve. Com o surgimento do comércio electrónico passa a ser possível
facturar um artigo ou uma pesquisa de informação na Internet por somas irrisórias, algo que seria
impensável concretizar até ao presente. Esta solução da Cybercash foi adoptada pela Digital para
ser integrada na sua gama de produtos Internet.
Uma terceira oferta na área dos porta-moedas electrónicos é o produto da Digicash, que propõe um
sistema muito próximo das soluções da GC Tech e da Cybercash. A grande diferença provém do
facto de que, uma vez efectuado o levantamento de ciberquantias de um banco electrónico, estas
comportam-se exactamente como verdadeiras notas. Por outras palavras, não existe qualquer
referência quanto ao proprietário desse dinheiro virtual (também designado por Digital Cash - uma
implementação de Electronic Tokens, Electronic Money ou ainda Electronic Cash). É possível,
portanto, realizar qualquer tipo de transacção de forma totalmente anónima. No entanto, este
aspecto coloca um problema, já que equivale a uma criação de dinheiro, pelo que, se este processo
for adoptado em larga escala, poderá conduzir a uma verdadeira economia paralela com base na
Internet, algo de que nunca ninguém ouviu ainda falar. Daí a vontade de alguns actores em chegar
muito rapidamente a um consenso em torno das tecnologias da GC Tech e da Cybercash.
Do que ficou dito até aqui, pode concluir-se que o comércio electrónico e a comunicação sobre a
Internet oferecem um grande potencial de mercado para realizar negócios na actualidade. Muito
59
INESC
Infra-estruturas e gestão dos sistemas de informação
embora a maior parte do comércio electrónico realizado seja actualmente orientado para o
consumidor (consumer oriented), uma grande parte deste mercado envolverá transacções businessto-business. A Internet é, portanto, o meio ideal para o comércio electrónico, oferecendo uma forma
barata, flexível e eficiente para negociar e comunicar. Até este ponto analisamos o comércio
electrónico do tipo consumer-to-business, mas o maior mercado potencial reside nas transacções
business-to-business. A segunda parte desta secção analisa as questões envolvidas neste tipo de
comércio electrónico.
3.4.2 Comércio electrónico Business-to-business
As transacções business-to-business, que podem envolver milhões de dólares e conter dados
extremamente sensíveis, exigem uma infraestrutura de segurança de maior dimensão do que a
necessária para transacções com cartões de crédito. Uma das soluções que se colocam neste campo
é a constituída pelas VANs (Value-Added Networks), isto é, as redes de valor acrescentado. Este
tipo de redes fornece várias vantagens que incluem a transferência rápida de grandes quantidades de
dados sobre uma rede segura.
No entanto, as VANs são limitadas sob alguns aspectos. Em primeiro lugar, são soluções
proprietárias que restringem os utilizadores a plataformas de hardware e software específicas. Por
outro lado, necessitam de ligações dial-up ou de linhas de telefone dedicadas, o que pode tornar-se
rapidamente numa solução muito onerosa. Por fim, as empresas que precisarem de realizar
transacções têm que pertencer à mesma VAN. Estes aspectos, entre outros, levam-nos a concluir
que as VANs, embora proporcionando uma plataforma segura para o comércio electrónico, podem
limitar bastante as empresas em termos de escolha de parceiros comerciais e da forma como podem
realizar transacções comerciais.
Quando comparada com as VANs, uma solução baseada na Internet apresenta, à partida, várias
vantagens:
•
acesso mais barato a informação de empresas,
•
constitui uma solução mais flexível e extensível (encoraja o aumento do número de parceiros
comerciais),
•
o fluxo de informação é aberto, isto é, um sistema baseado na Internet é aberto e baseia-se
em normas, pelo que a informação é acessível a um grande número de aplicações diferentes.
As questões que se colocam situam-se, mais uma vez, ao nível da segurança. Como a Internet foi
concebida para promover a abertura e ignorar a segurança (ou pelo menos ignorar a importância da
segurança), este problema tem que ser resolvido pela própria aplicação que utiliza a Internet. Assim,
a solução para a segurança do comércio electrónico business-to-business baseia-se em vários
componentes de hardware e software [36].
60
INESC
Infra-estruturas e gestão dos sistemas de informação
Os mecanismos específicos de cada tecnologia podem variar, mas um sistema seguro deve, no
mínimo, satisfazer cinco requisitos fundamentais:
•
Privacidade - possibilidade de encriptar mensagens,
•
Controlo de acesso - determinando quem possui acesso a um dado sistema ou rede, bem
como que tipo e quantidade de informação pode obter,
•
Autenticação - verificação das identidades dos dois parceiros envolvidos numa transacção,
•
Integridade - assegurar que os ficheiros ou mensagens não foram alterados enquanto se
encontravam em trânsito,
•
Não repudiação - evitar que um parceiro negue o envio ou a recepção de um ficheiro ou
mensagem.
3.4.3 Soluções comerciais
As soluções comerciais existentes actualmente incluem o Merchant Server da Microsoft,
pertencendo à família de produtos Normandy, o Payment Server da Oracle e as soluções da
Cybercash e da GC Tech, mais orientadas para as transacções baseadas em porta-moedas
electrónicos.
A solução Merchant Server incluída na família de produtos Normandy da Microsoft apresenta um
servidor integrado e dedicado ao estabelecimento de transacções comerciais na Internet [34]. Este
servidor foi concebido por forma a suportar acessos provenientes dos vários browsers WWW
existentes actualmente, e funciona sobre quaisquer plataformas Windows, Macintosh, UNIX, ou
outras. As principais características deste servidor incluem:
•
O Merchant Server foi concebido por forma a suportar várias transacções, clientes e
comerciantes. Por este motivo, pode suportar Internet malls (centros comerciais virtuais) e
fornecedores de serviços comerciais na Internet, isto é, pode suportar vários Web sites num
único servidor. Esta característica contribui para optimizar o investimento em hardware e
simplificar a gestão de sistemas sem comprometer a segurança;
•
O Merchant Server proporciona um grau de independência elevado em relação à
plataforma de bases de dados através do ODBC, o que permite aos utilizadores o uso dos
seus próprios SGBDs;
•
As ferramentas incluídas no servidor permitem a gestão automática de informações sobre
produtos, a revisão imediata de informações sobre compras e tráfego, a localização de
utilizadores e a análise de promoções;
•
O gerador dinâmico de páginas WWW simplifica e reduz os custos de implementação já
que permite criar páginas HTML instantaneamente, incluindo dados provenientes de bases de
dados relacionais;
61
INESC
Infra-estruturas e gestão dos sistemas de informação
•
A gestão de promoções permite aos comerciantes a criação rápida de promoções de
produtos e a análise dos resultados de promoções realizadas;
•
Este servidor dispõe ainda de um mecanismo de pesquisa de produtos que facilita a criação
rápida de queries ao SQL Server;
•
O Merchant Server permite aos utilizadores fazerem o download de controlos ActiveX que
simplificam e melhoram o processo de compra: a Microsoft Wallet e o Shopping Basket
permitem aos utilizadores fazer compras em vários comerciantes e rever as suas compras offline antes de consumarem a transacção.
A solução da Oracle pretende fornecer uma tecnologia integrada para o comércio electrónico,
incluindo bases de dados, ferramentas e aplicações, e assenta sobre as arquitecturas, plataformas,
serviços e aplicações tradicionais da Oracle.
A orientação da Oracle, no que diz respeito à Internet em geral, e ao comércio electrónico em
particular, tem vindo a definir-se no sentido da Arquitectura de Computação em Rede (Network
Computing Architecture). O objectivo principal é suportar a evolução sofrida pela Internet, desde
uma biblioteca de documentos até à actual plataforma electrónica de negócio capaz de assegurar a
realização de transacções com segurança. Uma das preocupações da Oracle neste domínio é
preservar os grandes investimentos já realizados nas plataformas e tecnologias cliente/servidor. A
arquitectura de computação distribuída assume-se, segundo a Oracle, como a única infraestrutura
cross-platform para o desenvolvimento de aplicações baseadas em objectos e centradas em rede. Por
este motivo, constitui a plataforma de software para todos os produtos futuros da Oracle e
combina:
•
os serviços fiáveis do mundo cliente/servidor (segurança dos dados, integridade e suporte
para transacções distribuídas), e
•
a robustez aliada à extensibilidade e possibilidade de reutilização do mundo dos objectos,
•
com a facilidade de utilização e presença da WWW.
A plataforma Oracle para o comércio electrónico assenta pois na infraestrutura constituída pela
Arquitectura de Computação Distribuída e engloba o Oracle WebServer, o Web Request Broker
(WRB) e o Oracle Universal Server [37]. Tendo como base esta plataforma, a Oracle, juntamente
com os seus parceiros, tem desenvolvido implementações de transacções baseadas em cartridges
que satisfazem as necessidades do comércio electrónico. O Oracle Payment Server é um exemplo de
tais implementações e assenta sobre o Oracle WebServer, que, por sua vez, estabelece a
comunicação entre o browser cliente, e o Oracle Universal Server, que fornece serviços de bases de
dados às aplicações Web para comércio electrónico da Oracle: o Oracle Web Suppliers e o Oracle
Web Customers. O Oracle Payment Server facilita o comércio na Internet através do processamento
de transacções monetárias realizadas na Internet. Constitui assim uma plataforma de pagamento para
o comércio electrónico que suporta cartões de crédito, cheques electrónicos e micropagamentos, e
integra-se completamente com as aplicações cliente/servidor existentes.
Duma perspectiva arquitectural, o Payment Server é uma combinação do Oracle WebServer com
cartridges específicas que implementam funções de pagamento. Esta aproximação permite-lhe
62
INESC
Infra-estruturas e gestão dos sistemas de informação
suportar vários mecanismos de pagamento concorrentes (tais como o CyberCash e o VeriFone) e
fornece um ambiente aberto de desenvolvimento de aplicações. A versão inicial do Payment Server
funciona como um componente fundamental do Project Apollo. O Projecto Apollo é um outro
exemplo de uma implementação Oracle baseada em cartridges para o comércio electrónico,
nomeadamente o Merchant Server da Oracle para o comércio business-to-consumer na Internet.
3.5. Tecnologias Web TV e Webcasting
3.5.1 Introdução
O Internet TV é um serviço Internet para utilização doméstica de televisão. Este serviço utiliza
equipamento designado por set-top boxes que faz a ligação do televisor ao serviço através de um
modem e de uma linha telefónica. Este serviço proporciona uma interface para o utilizador e utiliza
sinais destinados a um televisor.
O WebTV foi o primeiro serviço Internet TV que alcançou uma distribuição alargada. O
equipamento set-top boxes é constituído por um controlo remoto, um teclado e um modem que
permite estabelecer a ligação à home page do WebTV.
O Webcasting designa dois tipos de tecnologias emergentes para a transmissão de áudio e vídeo na
Internet, baseadas na Web:
1. O primeiro tipo de tecnologia permite enviar programas de rádio e de televisão ou sequências
de áudio e vídeo para vários utilizadores Internet em simultâneo e designa-se por Streamed
Web Video.
2. O segundo tipo de tecnologia permite enviar informação seleccionada a utilizadores Internet
com base em requisitos individuais e obedece ao modelo Server Push.
Os parágrafos que se seguem pretendem caracterizar o estado da arte no que diz respeito às
tecnologias existentes para o Webcasting, quer em termos de soluções para o streaming quer de
soluções para o push de informação audiovisual.
3.5.2 A tecnologia Streamed Web Video on-demand
O conceito de Streaming Video designa o processo pelo qual os dados de áudio e vídeo são obtidos
em tempo real. Quer isto dizer que a reprodução de sequências de áudio e vídeo inicia-se alguns
segundos após o início da recepção dos dados pelo computador cliente, ou seja, deixa de ser
necessário aguardar até ao final do processo de download das respectivas sequências de áudio e
vídeo. A rapidez com que o processo de reprodução se inicia depende da qualidade da ligação
Internet, do tráfego existente e da dimensão do ficheiro que contém a sequência ou fluxo de vídeo
seleccionado [30].
63
INESC
Infra-estruturas e gestão dos sistemas de informação
As novas tecnologias de streaming video para a Web proporcionam experiências de difusão de áudio
e vídeo em tempo real para utilizadores da Internet e de Intranets. Apesar das restrições impostas à
largura de banda, das suas limitações e imprevisibilidade, o processo de streaming é viável e está já
amplamente divulgado entre os principais fornecedores de conteúdos e Web e junto dos utilizadores
da WWW.
Em relação aos fornecedores destas tecnologias, a competição entre eles encontra-se no auge e
dificulta o processo de escolha e decisão em relação a qualquer um deles. No entanto, é possível
apontar um conjunto de critérios de base que facilitem a escolha entre a multiplicidade de soluções
existentes e emergentes. Sendo assim, e dependendo das necessidades, seja em termos de
visualização ou de criação de vídeo digital, pode-se basear a escolha em três critérios:
1. Facilidade de utilização,
2. Qualidade,
3. Extensibilidade.
A Facilidade de utilização está relacionada com a simplicidade de utilização quer em termos de
recepção quer em termos de envio dos conteúdos de vídeo. O grau de facilidade da solução de
streaming video pode ser avaliado por intermédio de vários factores:
• Qual a facilidade de instalação e utilização do software?
• Até que ponto é compatível com os formatos normalizados ou mais divulgados de vídeo e
protocolos, tais como o RTP (Real Time Protocol) ou o ActiveMovie da Microsoft?
• Qual a rapidez do processo de compressão de ficheiros e quais as suas dimensões após a
compressão?
A Qualidade é um critério subjectivo mas deveras importante. Neste contexto, estamos interessados
em avaliar quão aproximada é a qualidade da experiência de áudio e video (streamed) da qualidade
de difusão, e, já agora, das necessidades reais. Outro aspecto a ter em conta é a existência de
sincronismo entre as pistas de áudio e vídeo.
A Extensibilidade é o último critério e está directamente relacionado com o futuro da solução que
se pretende escolher: Que serviços adicionais são fornecidos pelo vendedor de uma solução e quais
os seus projectos a longo prazo? Quem são os seus parceiros? Estará a empresa bem posicionada
para suportar aplicações interactivas avançadas tais como o comércio electrónico, a difusão
personalizada e a cooperação?
Em qualquer dos casos, o objectivo principal é sempre o de fornecer vídeo com qualidade utilizando
larguras de banda muito baixas. Se atendermos a que o vídeo possui dois componentes que afectam
o resultado final: a qualidade das tramas individuais e a taxa de apresentação (display rate) dada em
fps (frames per second), o desenvolvimento de esquemas de compressão e codificação para a
transmissão de vídeo sobre ligações de baixo débito apenas pode contemplar um daqueles dois
componentes, já que não é possível enviar tramas de elevada qualidade com uma taxa de
apresentação elevada em simultâneo. As soluções apresentadas beneficiam um destes componentes
em detrimento do outro.
64
INESC
Infra-estruturas e gestão dos sistemas de informação
Actualmente, existem vários vendedores de soluções comerciais streaming video dos quais se
destacam a VDONet, a VXtreme, a Vivo, a Vosaic, a Progressive Networks e a Xing. No entanto, tal
como já se referiu, este é um mercado em evolução e novas soluções emergem e vão substituindo
soluções menos capazes.
Os parágrafos que se seguem pretendem resumir os aspectos mais importantes de cada solução
tecnológica proposta por vários fabricantes, os seus princípios gerais de funcionamento e a sua
evolução.
3.5.2.1 VDONet
A VDOnet Corporation (www.vdo.net) tem a sua tecnologia implementada em mais de cento e
cinquenta (150) sites Web e assume-se como um dos principais fornecedores de soluções
interessantes na arena do streaming video para a Web, mantendo relações constantes com a
Microsoft.. A título de exemplo, pode referir-se que a norte-americana CBS tem utilizado esta
tecnologia no seu site “Up to the minute”. A oferta principal da VDOnet é o VDOLive 2.0, um
pacote de produtos cliente-servidor que inclui servidores de vídeo para uma gama alargada de
utilizações, desde a captura, digitalização, compressão, distribuição e visualização de vídeo sobre a
Internet e Intranets [31]. As tecnologias VDOnet ajustam-se automaticamente à largura de banda
disponível (escaláveis) e protegem a integridade do vídeo à medida que este vai sendo transmitido. O
VDOLive apenas armazena uma cópia de cada sequência de vídeo que pode ser reproduzida a
velocidades variáveis, por forma a contemplar não só os utilizadores que possuem ligações baseadas
em modems, como os utilizadores que possuem ligações mais rápidas, maximizando a qualidade do
vídeo para cada tipo de ligação. A aproximação da VDONet opta portanto por vídeo full-motion em
prejuízo da qualidade das tramas enviadas.
3.5.2.2 VXtreme
A VXtreme Inc.(www.vxtreme.com) é outra empresa que mantém relações com a Microsoft, com a
Cisco Systems e com a Informix Software por forma a disponibilizar soluções completas de
transmissão e gestão de conteúdos para a Web. A oferta da VXtreme designa-se por Web Theater,
um pacote de três produtos de software que incluem: o Web Theater Server, o Web Theater
Client e o Web Theater Producer. A tecnologia de compressão da VXtreme foi desenvolvida por
forma a possibilitar a disponibilização de conteúdos vídeo de elevada qualidade sobre redes de
computadores existentes, contemplando a variedade de larguras de banda existentes nestes tipos de
redes. Atendendo a que a compressão e a consequente descompressão são processos realizados
integralmente por software, não é necessário proceder à actualização (upgrade) de equipamentos
existentes. A tecnologia de compressão utilizada baseia-se no protocolo RTP e é igualmente
escalável, isto é, adapta-se automaticamente à largura de banda de rede disponível, preservando ao
máximo a qualidade das sequências de vídeo.
Em termos de evolução, a VXtreme está a ultrapassar rapidamente as meras capacidades de
streaming e fornece soluções completas tais como a sua infraestrutura de vídeo LiveScreen que
despoleta a reprodução de sequências de vídeo a partir de outras aplicações. Paralelamente, a
VXtreme fornece também ferramentas para a gestão de conteúdos, em particular com o suporte para
a autoria de vídeo destinada à plataforma NetShow. Esta ferramenta permite aos construtores de
65
INESC
Infra-estruturas e gestão dos sistemas de informação
aplicações e conteúdos a integração de vídeo com HTML, applets Java e qualquer outra aplicação,
através de controlos ActiveX e a partir do ambiente NetShow. Para além disso, esta ferramenta tem
capacidades que permitem a produção de vídeo comprimido para disponibilização num servidor
NetShow.
3.5.2.3 Vivo Software
A Vivo Software (www.vivo.com) propõe o VivoActive, um pacote de software que fornece a
flexibilidade do software independente do servidor. A aplicação Vivo Active Producer permite aos
administradores Web a adição de conteúdos comprimidos (.viv) através da compressão de formatos
amplamente divulgados como o AVI e o MOV e posterior conversão para VIV. O VivoActive utiliza
normas de videoconferência tais como a H.623 e a G.723 para compressão de áudio. Mal o ficheiro
AVI original se encontre convertido para o formato VIV, o administrador Web apenas necessita de
utilizar uma tag HTML < EMBED> para embeber o ficheiro VIVO na página Web fa mesma forma
que procederia para embeber um ficheiro GIF ou JPG. Esta capacidade permite ao Vivo Producer
um comportamente independente do servidor.
3.5.2.4 Vosaic
O Vosaic (que significa Video Mosaic) foi concebido para realizar o streaming de áudio e vídeo de
uma forma eficiente sobre redes IP através da implementação de um sistema de processamento de
sinal designado por VDP (Video Datagram Protocol). O servidor VOSAIC AV Server utiliza o VDP
e é capaz de realizar o streaming de áudio e vídeo full-motion e full-screen em tempo real ao longo
da Internet e de Intranets utilizando tecnologia baseada em normas tais como o MPEG1 e 2, o MJPEG, o H.263 para o vídeo e os G.723, GSM, MP2 e MP3 para o áudio. O Vosaic suporta a
inclusão de hotspots (ou hot links) sobre o vídeo e inclui um plug-in para o Netscape e um controlo
ActiveX para o Internet Explorer. A capacidade de estabelecer hiperligações a partir das sequências
de vídeo afasta o Vosaic da concorrência e amplia o alcance dos controlos de vídeo disponíveis na
Web para além dos simples play e rewind.
3.5.2.5 Xing
O produto StreamWorks da Xing (www.xingtech.com) utiliza vídeo de elevada qualidade com baixos
frame rates. Este produto baseia-se no algoritmo de compressão MPEG-1 e permite a criação de
sequências de áudio e vídeo com larguras de banda que variam desde 28.8 até 150 Kbps [31].
3.5.2.6 Progressive Networks
O RealVideo da Progressive Networks (www.real.com) é uma solução de vídeo inter-plataforma
suportada por vários fabricantes de ferramentas e fornecedores de conteúdos que assenta sobre o
protocolo normalizado RTSP para streamed media e permite realizar o streaming de vídeo em
Intranets ou na Internet [29]. A qualidade visual e auditiva é mantida pelas tecnologias de
compressão para áudio e vídeo utilizadas. Os codecs fmv (full motion video) são escaláveis para
todos os bit rates e foram optimizados para as velocidades de ligação prevalecentes actualmente
66
INESC
Infra-estruturas e gestão dos sistemas de informação
(28.8 e 56 Kbps). A qualidade sonora foi melhorada com a introdução da tecnologia de compressão
RealAudio 3.0, e adicionaram-se três novos codecs para bitrates baixos destinados a voz e a música.
O RealVideo permite a introdução de interactividade através de inovações tais como mapas de
vídeo seleccionáveis (“clicáveis”), sincronização multimédia e plug-ins utilizados por intermédio de
scripts.
O cliente RealPlayer e o servidor RealVideo proporcionam em conjunto um nível de flexibilidade e
fiabilidade elevado. Para tal, utilizam técnicas tais como a negociação de largura de banda, a gestão
dinâmica da ligação, a correcção sofisticada de erros e reprodução baseada na criação e manutenção
de buffers de memória, o que permite assegurar que o vídeo mantém a qualidade esperada.
Em relação à escalabilidade desta tecnologia, observa-se que a sua arquitectura é capaz de servir
grandes audiências já que o sevidor RealVideo suporta com eficiência entre 500 a 1000 streams
(fluxos de vídeo) em simultâneo. As tecnologias escaláveis que utiliza incluem o protocolo IPMulticasting para evitar o desperdício de largura de banda, os Splitters que permitem criar
distribuições hierárquicas de conteúdos transmitidos em tempo real e ainda o Clustering que permite
balancear a carga e maximizar o desempenho.
A tabela que se apresenta a seguir resume o estado-da-arte em termos das ofertas tecnológicas
existentes actualmente e inclui uma referência às páginas Web dos fabricantes destas tecnologias,
permitindo um exame mais aprofundado das características particulares fornecidas por cada
tecnologia estudada.
Empresa
VXtreme
Vivo
Vosaic
VDONet
OliVR
Iterated Systems
Xing
GeoInteractive
InterVu
Microsoft
Progressive Networks
Macromedia
URL
www.vxtreme.com
www.vivo.com
www.vosaic.com
www.vdo.net
www.olivr.com
www.iterated.com
www.xingtech.com
www.emblaze.com
www.intervu.com
www.microsoft.com/netshow
www.real.com
www.macromedia.com
Produto
VXtreme
VivoActive
VDP
VDOLive
OliVR
ClearVideo
StreamWorks
Emblaze
InterVU
ActiveMovie
RealAudio e RealVideo
Shockwave for Director
3.5.3 A Tecnologia Server Push
A maioria dos utilizadores da WWW, visita os sites, lê a sua informação e se estiver interessado faz
o download daquilo que quer (Pull). A tecnologia Push faz exactamente o contrário pois baseia-se
num sistema, que a pedido dos utilizadores entrega periodicamente informação seleccionada,
directamente a um programa cliente, residente no computador do utilizador. Esta tecnologia é o
sonho dos publicitários, pois elimina a angústia da espera que os utilizadores visitem os seus sites e
possibilita uma atitude mais agressiva na qual a sua informação é distribuída pelos sites dos
utilizadores. A tecnologia Push utiliza servidores que entregam a informação, dos fornecedores de
67
INESC
Infra-estruturas e gestão dos sistemas de informação
conteúdos, directamente aos utilizadores. Este processo de distribuição de informação diminui ou
elimina a necessidade de navegar pelos sites da Web à procura dos fornecedores de conteúdos (Pull)
e de gerir os bookmarks para os sites desses fornecedores.
Esta nova tecnologia Push, para a recolha, selecção e envio de informação através da Internet
surgiu no EUA e rapidamente ganhou adeptos, principalmente ao nível da publicidade através da
Net. A grande novidade desta tecnologia está na forma como os utilizadores obtêm informação da
Web, porque lhes permite recolher a informação sem ter que a procurar de site em site. Os sistemas
push permitem a recolha constante de informação sobre temas seleccionados pelo utilizador. Esta
informação, criteriosamente seleccionada, é depois passada ao utilizador à medida das suas
necessidades.
3.5.3.1 Pointcast Network
Actualmente, entre os sistemas Push, destaca-se o Pointcast Network, que consiste num sistema de
entrega de informação ao domicílio através da Internet (http://www.pointcast.com/). O processo de
recolha de informação passa pela utilização de um programa cliente, que em intervalos regulares
comunica com os fornecedores de informação (sobre múltiplos assuntos) e faz download dos
conteúdos, que estes disponibilizam. Este serviço é grátis porque a aplicação cliente passa
publicidade dos anunciantes que suportam os custos deste serviço. Os fornecedores de informação
da Pointcast Network, são sem dúvida de grande qualidade (e.g. CNN, Reuters, Time Magazine,
People, Money, Wired, NY Times), o que lhe garante um maior destaque neste tipo de serviço. O
PointCast possui, para além das notícias, índices das principais bolsas mundiais, previsões
meteorológicas, resultados de lotaria, entre outros. Estes temas são organizados no écran de acordo
com as fontes de informação e com os temas abordados. O serviço Pointcast é configurável, na
medida em que se podem seleccionar os assuntos sobre os quais pretendemos receber informação e
dentro desse assunto podemos seleccionar só os tópicos do interesse do utilizador; por outras
palavras, não ficamos obrigados a receber toda a informação (download) sobre um dado tema,
porque podemos seleccionar apenas partes da informação sobre esse tema (e.g. podemos seleccionar
apenas os índices da bolsa para determinadas empresas e não de todas).
O acesso ao serviço é conseguido através de uma aplicação freeware, que é disponibilizada pela
Pointcast, e que se assemelha a um browser muito simples. Um serviço deste tipo parece ser muito
simples e muito útil, e o domínio de divulgação parece ter tendência a crescer exponencialmente. A
principal crítica apontada pelos utilizadores da Pointcast refere-se à falta de informação local, ou
seja, à falta de informação local para utilizadores de outros países. Contudo, a Pointcast desenvolveu
já uma versão para o mercado Canadiano e prepara outras versões do serviço para novos mercados.
Para a Europa foram já desenvolvidos contactos entre os grandes editores Europeus e a Pointcast
para o fornecimento deste tipo de serviço, inicialmente previsto para o Reino Unido. Estes serviços
começam a incluir também informação proveniente de jornais e fontes de informação locais, para
colmatar a falta de informação de contexto puramente local.
68
INESC
Infra-estruturas e gestão dos sistemas de informação
3.5.3.2 Marimba
Outro sistema que actualmente utiliza a tecnologia Push é o CastaNet (http://www.marimba.com/),
que é propriedade da Marimba. Marimba é a marca registada de uma empresa que surgiu no início de
1996. Esta empresa foi fundada por quatro membros da equipa original do Java e pretende
desenvolver ferramentas de software e infra-estruturas para a criação de novas aplicações de rede. A
CastaNet é a sua nova tecnologia para a distribuição de canais através da Internet e Intranets. Cada
canal pode ser uma aplicação Java isolada, uma applet Java ou um site Web. Estes canais são
armazenados localmente e podem ser utilizados repetidamente sem que seja necessário recarregá-los
sempre que os queremos utilizar. Com o CastaNet Tuner os utilizadores podem subscrever, obter
(download) e actualizar os canais de forma eficiente. Uma vez subscritos os canais, estes são
actualizados automaticamente (a informação enviada) e podem ser utilizados mesmo quando não
estamos ligados a eles (on-line). O CastaNet utiliza um novo protocolo para distribuir e actualizar
canais de forma escalável. Com este protocolo é possível distribuir grande quantidade de informação
e aplicações multimédia dinâmicas, mesmo sobre ligações lentas.
O sucesso e o crescimento explosivo da Internet foi suportado em grande parte pelo correio
electrónico (email), que permitiu a permuta de mensagens entre milhões de utilizadores
geograficamente dispersos, e pela World Wide Web, que quebrou as barreiras geográficas e permitiu
a comunicação global de informação multimédia, de forma relativamente rápida e eficiente. A
terceira revolução surge rapidamente com as inovações tecnológicas que utilizam a Internet como
plataforma para o desenvolvimento, apresentação e manutenção de aplicações interactivas e
conteúdos. É neste conjunto de novas aplicações que se enquadra a família de produtos da Marimba,
CastaNet. Estes produtos podem ajudar o utilizador a rentabilizar a Internet como plataforma para as
novas aplicações de rede.
A CastaNet distribui e mantém aplicações de software e conteúdos dentro de uma organização
(Intranet) ou através da Internet, assegurando que os subscritores recebam de forma automática toda
a informação mais actualizada. A família de produtos CastaNet inclui 3 componentes principais:
• CastaNet Transmitter: é uma aplicação que corre num servidor da rede e que gere a
distribuição e manutenção dos canais;
• CastaNet Channel: um canal é uma qualquer aplicação (e.g. Aplicações Java, Applets,
HTML) ou conteúdo que é distribuído através da Internet ou de uma Intranet pelos CastaNet
Transmitters;
• CastaNet Tuner: é uma aplicação executada no computador dos clientes e que monitoria,
recebe e gere os canais seleccionados pelos subscritores dos canais.
A CastaNet suporta todos os passos do ciclo de uma aplicação Internet. Utilizando o CastaNet
podemos criar, distribuir e instalar um canal, e depois manter e actualizar esse canal, obter feedback
do subscritor do canal e permitir a personalização do canal baseado no tipo de subscritor. Depois de
69
INESC
Infra-estruturas e gestão dos sistemas de informação
ser criado, o canal é publicado num CastNet Transmitter que é executado num servidor da rede. O
Transmitter transmite depois o canal para os Tuners e automaticamente mantém e actualiza a
distribuição do conteúdo do canal através da rede. Os criadores dos canais actualizam os canais num
local do Transmitter e essas alterações reflectem-se/distribuem-se automaticamente em todos os
subscritores dos canais. Os Tuners, que são executados nos PC’s dos clientes, subscrevem um canal
da mesma forma que se subscreve uma revista. Quando se pretende subscrever um canal pela
primeira vez, o Transmitter envia os ficheiros (aplicações e conteúdos) do canal para o Tuner que
automaticamente instala o canal no disco duro local. Os canais podem ser configurados para
armazenar informação acerca das preferências do subscritor ou acerca das características dos canais
que são mais utilizadas pelos subscritores, e depois essa informação pode ser enviada como feedback
dos subscritores para o Transmitter.
70
INESC
Conclusão
Conclusão
Pretendeu-se com este relatório construir somente um estudo actualizado sobre as soluções
tecnológicas e arquitecturas possíveis para a implementação de servidores de informação multimédia
audiovisual. Na elaboração do relatório pretendeu-se não só fazer uma introdução teórica às
tecnologias e soluções técnicas existentes mas também abordar as tendências do mercado quanto às
tecnologias emergentes e às implementações concretas já existentes. Sempre que possível foram
referidos os produtos comercializados e apontadas as suas vantagens e as suas desvantagens para o
tipo de sistema pretendido.
Os factores envolvidos na implementação de um servidor multimédia abrange múltiplas áreas
tecnológicas, nomeadamente as recentes evoluções do paradigma cliente-servidor, o crescente apoio
para redes de alto débito e os avanços tecnológicos verificados nos sistemas magnéticos e ópticos de
armazenamento de informação. As soluções actuais apontam para uma arquitectura modular e
funcional distribuída dos servidores multimédia, incluindo subsistemas especializados nos domínios
do armazenamento, comunicação e gestão de informação.
A evolução tecnológica generalizada, actualmente existente nas áreas das telecomunicações e das
tecnologias de informação, contribui em muito para a popularização e democratização da
comunicação audiovisual. Os desenvolvimentos recentes, tanto ao nível da WWW como dos
sistemas multimédia digitais, apontam no sentido crescente da utilização de computadores para
processar, combinar e divulgar/publicar informação multimédia. É cada vez maior a utilização de
diversos tipos de informação em novas aplicações, tanto por indivíduos isolados como por empresas.
A utilização e divulgação destas tecnologias traduz-se normalmente num aumento de produtividade e
de competitividade, tanto pela flexibilização dos processos de produção e divulgação como pela
diminuição dos tempos de resposta necessários para a obtenção e divulgação de um produto.
As soluções possíveis para a implementação de um servidor com as características pretendidas
podem passar, como já foi referido no sub-capítulo 1.1, por um sistema comercial completo, por um
sistema RAID acoplado a um sistema computadorizado, ou simplesmente por um array de discos
acoplado a um servidor simples. Estas soluções diferem fundamentalmente quanto ao preço, à
flexibilidade e escalabilidade permitidas, e quanto à fiabilidade pretendida para o sistema.
Relativamente aos sistemas de armazenamento de informação, a utilização dos sistemas RAID está a
crescer à medida que os administradores aprendem a tecnologia e os seus benefícios. Com redes
cada vez maiores, requerendo maiores espaço de armazenamento, com sistemas de armazenamento
cada vez com melhores performances, com armazenamento transparente de dados em sistemas
distribuídos e novas aplicações multimédia sedentas de memória, estes sistemas RAID vulgarizam-se
como soluções de armazenamento. Para sistemas em que é necessária uma disponibilidade total
durante 24 horas por dia, 7 dias por semana, a integridade dos dados e a disponibilidade dos mesmos
é crucial. Uma solução fiável para o armazenamento poderia basear-se na utilização de um sistema
que acoplasse uma solução RAID a um sistema informático Oracle7 + Veritas VxVM (Volume
Manager) + VxFS (File System) que permitiria o acesso, pesquisa e leitura de informação em vários
volumes de dados, a vários consumidores, com 100% de fiabilidade. As questões que se levantam
sempre são: qual o sistema RAID e que nível RAID devemos utilizar? como faço funcionar um
sistema RAID com a rede que possuo? A solução que melhor encaixa nas nossas necessidades está
certamente na contratação de um expert que analise e melhor integre o nosso sistema e não na
compra de caixas de soluções com sistemas fechados e muitas vezes inadaptados ao nosso sistema.
71
INESC
Conclusão
O RAID0 é outra metodologia de armazenamento com arrays de discos não tolerante a falhas. Estes
sistemas utilizam um método mais barato para melhorar a performance de leitura/escrita porque
também divide os dados entre múltiplos discos. Este método acelera a transferência da dados em
redes com grande número de PCs. Em alguns sistemas começa-se a utilizar uma combinação
RAID0+1 que divide os dados utilizando pares espelhados (mirrored) que garante a velocidade
necessária para aplicações multimédia tolerante a falhas.
Ninguém pode negar que os objectos distribuídos farão parte do futuro. Esta evidência é suportada
pelo facto do desenvolvimento de software possuir uma boa parte do seu tempo investido na criação
de objectos como parte integral de qualquer solução. Têm surgido várias empresas, na corrida à
liderança e promoção das soluções tecnológicas orientadas aos objectos. Actualmente a tecnologia
OLE está a crescer, enquanto que as tecnologias SOM, DSOM e OpenDoc estão a tentar penetrar
no mercado global. Crê-se que a única solução real capaz de conciliar esta panóplia de tecnologias é
fornecida pela norma CORBA (Common Object Request Broker Architecture) do grupo OMG
(Object Management Group). Esta norma é uma proposta baseada num consórcio para a
interoperacionalidade entre sistemas e baseada num ORB (Object Request Broker) que comunica
com muitos tipos de objectos.
O Orbix, desenvolvido pela IONA, é a primeira solução a disponibilizar um ORB que suporta
completamente a norma CORBA e que corre rapidamente em várias plataformas. O Orbix interopera com OLE2.0, SunSoft DOE e com o SGBD ObjectStore da Object Design. O Orbix corre
também em ambientes de tempo-real. A empresa IONA fornece também tecnologia para o
desenvolvimento de software que permite o mapeamento de C++ para pedidos ORB. O Orbix corre
actualmente em cerca de 20 sistemas operativos a partir de uma única base de código (e.g. em
sistemas operativos convencionais: Windows 3.1x, Windows NT, OS/2, Macintosh 7.5, Unix,
OpenVMS; e em sistemas operativos de tempo-real: VxWorks, QNX e LynxOS). O Orbix para
Windows NT inclui uma poderosa integração, permitindo que as aplicações OLE-enabled invoquem
de forma transparente objectos CORBA locais e remotos. A IONA, que é parcialmente
comparticipada pela SunSoft Inc, integrou também o Orbix com outros sistemas: o SGBD orientado
aos objectos ObjectStore da ODI; a tecnologia de computação distribuída da Isis Distributed
Systems e o sistema de processamento de transações on-line da Novel, Tuxedo.
Relativamente à segurança de, as aplicações mais recentes na área da segurança informática
envolvem novas estratégias de codificação e encriptação: o conceito de firewall, a utilização de
processos biométricos em alternativa à password convencional (e.g. avaliação das impressões digitais
ou dos perfis faciais dos utilizadores), o recurso à tecnologia de cartões magnéticos multifunções.
Aceitando desde já que nenhum sistema informático é completamente seguro, a implementação de
níveis de segurança superiores num servidor multimédia será sempre possível e desejável.
Em relação ao scripting no servidor e considerando os factores discutidos no sub-capítulo 3.3,
podemos então concluir que a única vantagem das extensões API se coloca em termos do overhead
do CPU. Em todos os outros aspectos, podemos concluir que as tecnologias SSI, SSS e CGI se
adaptam melhor às necessidades actuais dos servidores Web. Por outro lado, as tecnologias SSS são
muito recentes e existem novas linguagens de script destinadas à utilização quer do lado do servidor
(Server-Side Scripting) quer do cliente (Client-Side Scripting): o JavaScript da Netscape, o JScript
e o VBScript da Microsoft, entre outras. Estas três linguagens são todas interpretadas e permitem o
scripting dentro de documentos HTML. O JavaScript e o JScript são duas linguagens de
programação virtualmente idênticas. Na realidade, o JScript da Microsoft é um clone do JavaScript
da Netscape. Ambas as linguagens possuem um sabor a Java, se bem que nenhuma delas é de
72
INESC
Conclusão
nenhum modo baseada em Java. Ambas são interpretadas directamente a partir do código fonte e
permitem o scripting dentro de documentos HTML. Os scripts podem ser executados no browser,
isto é, no cliente (situação mais comum), mas também podem ser executados no servidor, antes do
documento ser enviado para o browser.
A gestão do acesso ao arquivo da Mediateca e da Artec passará pois pela utilização de um SGBD
com extensões multimédia. Este sistema deverá proporcionar o acesso à informação através uma
rede de comunicação de dados. As soluções propostas pelos maiores fabricantes de SGBDs na
actualidade, nomeadamente o Informix Universal Server, o Oracle Universal Server, e o IBM
Universal Database, passam pela inclusão de toda a informação na própria base de dados, incluindo
os ficheiros HTML que aí estão armazenados e aí são geridos. Esta solução arquitectónica elimina a
necessidade de utilização de scripts CGI (para se alterar uma página rapidamente basta aceder à base
de dados e alterar as partes pretendidas) e passamos a dispor de um sistema de gestão de bases de
dados que integra as novas soluções tecnológicas num ambiente cliente/servidor, incluindo o acesso
à Internet (WWW).
Relativamente à catalogação de informação, os rápidos avanços das tecnologias estão a ter uma
enorme repercussão nos tipos de materiais catalogáveis. Estamos pois num ponto de viragem onde é
necessário reexaminar os princípios básicos em que se baseiam as AACR. Está prevista uma
conferência em 1997, organizada pelo grupo de revisão conjunto das AACR, para a revisão ou
reafirmação dos princípios que estão por detrás das regras de catalogação. Têm surgido opiniões que
apontam os modelos conceptuais como uma das ferramentas fundamentais para a revisão das AACR.
As novas tecnologias dos Agentes de Interface constituem actualmente uma área de investigação
muito activa. A necessidade de uma Arquitectura Unificada para os Agentes está em vias de ser
preenchida pela tecnologia Telescript da General Magic. No entanto, a utilização de agentes
inteligentes só se generalizará quando os sistemas de pagamento electrónico forem aceites pela
comunidade da Internet e quando um número suficiente de utilizadores fizer parte da WWW. Os
agentes inteligentes serão utilizados principalmente para a obtenção de informação, e aqui a chave é
a aceitação dos utilizadores - é pouco provável que os utilizadores confiem aos seus agentes as suas
compras e os seus pagamentos. Em vez disso, os utilizadores recorrerão aos agentes para gerir a
informação que facilita a decisão e a compra, pagando por este serviço. Os agentes inteligentes
alterarão as formas de trabalho das pessoas mas não a estrutura industrial existente.
No contexto deste relatório, os agentes de recuperação de informação (information retrieval agents)
surgem com maior relevância na medida em que fornecem ferramentas essenciais aos fornecedores
de informação já que, por um lado, facilitam a navegação interactiva sofisticada pelo universo de
informação disponibilizado (interactive browsing) e, por outro, permitem a pesquisa e a obtenção
inteligentes de informação baseadas em conceitos (intelligent concept-based retrieval). No entanto,
a utilização de outros tipos de agentes inteligentes contribuirá para melhorar o serviço a
disponibilizar pelos servidores de vídeo.
As novas tecnologias de Webcast introduzem na Internet uma evolução rápida no sentido de um
meio de comunicação de massa (mass medium). O crescimento explosivo de utilizadores domésticos
e empresariais só se equipara ao crescimento da quantidade de conteúdos disponibilizados. Este
processo foi possibilitado pela rapidez da evolução técnica que possibilitou a criação de sites mais
envolventes e evoluídos. Neste contexto, os streamed media surgem como uma parte importante
deste novo meio, acompanhados pela crescente disponibilização de formatos e tecnologias para o
streaming de áudio (inicialmente) e vídeo (actualmente) sobre a Web.
73
INESC
Conclusão
Até há pouco tempo, os formatos para o vídeo existente na Internet cingiam-se aos tradicionais
formatos para a disponibilização de vídeo em CD-ROM (e.g. AVI e QuickTime). No entanto, estes
formatos não foram concebidos para as larguras de banda da Internet pelo que o processo de
obtenção (download) envolve durações em média 10 vezes superiores à dimensão real dos clips, e os
clips em si deviam ser bastante curtos (em média entre 20 a 30 segundos). Os novos formatos de
disponibilização de vídeo sobre a Internet/Web solucionam estes problemas e acrescentam
funcionalidades tais como a possibilidade de criação de conteúdos envolventes e de elevada
qualidade respeitando os níveis de largura de banda existentes, a escalabilidade da tecnologia
envolvida e uma arquitectura que permite atingir a audiência desejada em condições reais. Os codecs
existentes actualmente encontram-se num nível de sofisticação que permite fornecer ao utilizador
todas estas características.
Em relação às tecnologias Server Push, o PointCast, da I-Server, é a rede de notícias da Internet
que difunde informação, nacional e internacional, directamente para o écran dos utilizadores (e.g.
cotação das acções da bolsa, produtos industriais, boletins meteorológicos, resultados desportivos,
notícias das agências noticiosas). Embora baseados na mesma ideia, mas utilizando paradigmas de
distribuição diferentes, surgiram outros difusores Web: o InterMind, o Astound, o BackWeb, o
Diffusion, e o CastaNet da Marimba. Deste modelos o mais promissor é o CastaNet da Marimba,
mas a Microsoft e a Netscape possuem também planos para o futuro desta tecnologia.
O Microsoft Internet Explorer 4.0, previsto para meados de 1997, incluirá já algumas características
no componente designado por Active Desktop (AD), que (segundo as descrições) permitirá aos
computadores ligados à rede, receber informação enviada para o nosso computador sem que haja
necessidade de novo software (http://microsoft.com.ie40.content.webcast.htm). O Problema de todos os
serviços Push existentes actualmente resulta da necessidade de software proprietário para aceder a
cada serviço em particular. A Microsoft pretende integrar a WWW no próprio sistema operativo
Windows95.
A Netscape anunciou também o Constelation, que é um produto baseado em Java e que fará parte
da futura versão do bowser da Netscape (http://home.netscape.com/newsref/pr/newsrelease294.htm), no
próximo verão de 97. A Netscape licenciou o componente que implementa um cliente CastaNet (o
Tuner) para o utilizar no Constelation, que permitirá recolher e organizar informação difundida pela
rede e permitirá ainda actualizar os dados de sites e emails.
O mercado está ainda um pouco confuso e espera-se que a tecnologia da Microsoft ou da Netscape
façam crescer estes serviços e normalizem o modelo utilizado. Os utilizadores esperam que estes
serviços sejam suportados pela publicidade neles embebidos (como é o caso do PointCast) mas
provavelmente não se importarão de pagar pequenas quantias de subscrição por serviços (canais)
mais personalizados e orientados a determinadas necessidades específicas dos utilizadores.
Relativamente aos recursos humanos necessários para a implementação e futura gestão do
funcionamento do sistema de informação multimédia audiovisual, deverá ser levada em linha de
conta a complexidade e a constante mutação e evolução das tecnologias utilizadas. Deverão, por
estes motivos, ser utilizados quadros superiores especializados em tecnologias multimédia e
telecomunicações para gestão, implementação, manutenção e actualização tecnológica. O número de
quadros depende em certa medida da dimensão do sistema e do número de serviços que se
pretendem disponibilizar e também da quantidade de informação que se pretende publicar e gerir.
74
INESC
Bibliografia
Bibliografia
[1] Jim Gray, Evolution of Data management,
IEEE Computer, pp. 38 - 46, October 1996, Vol.29, Nº10
[2] Hot New Database technologies, Datamation,
September 1996, Special Report on Database Technologies
[3] William. I. Grosky, Multimedia Information Systems,
IEEE Multimedia, pp 12 - 24, Spring 1994, Vol.1, Nº1
[4] A. Yoshitaka, S. Kishida, M. Hirakawa, T. Ichikawa,
Knowledge Assisted Content-Based Retrieval for Multimedia Databases,
IEEE Multimedia, pp.12 - 21, Winter 1994, Vol.1, Nº4
[5] Integração Servidores Web/SGBDs: uma realidade mais próxima da perfeição,
Redes, Nº21, Janeiro 1997
[6] Franklin S., Graesser A.,
Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents,
Proceedings of 3ª Workshop on Agent Theories, Archirectures and Languages, Springer-Verlag 96
[7] Horberg J., Talk to my Agent: Software agents in virtual reality,
Computer-Mediated Communications Magazine, Vol 2., Number 2, Feb. 1995
[8] Anglo-American Cataloguing Rules
2nd Edition, 1988 Revision. Ottawa: Canadian Library Association; London: Library Association;
Chicago: American Library Association, cop.1988.
[9] Caplan, Priscilla - Cataloging Internet Resources.
The Public-Access Computer Systems Review 4, no. 2 (1993)
[10] Milind M. Buddhikot, Guru M. Parulkar, Jerome R. Cox, Jr,
“Design of Large Scale Multimedia Storage Server”
Journal of Computer Networks & ISDN Systems,
[11] Lemos, Laura; Veloso, Lúcia; Paiva, Margarida; Pericão, da Graça
Material não livro: uma abordagem da sua problemática.
IV Congresso Nacional de Bibliotecários Arquivistas e Documentalistas, Braga 4-6 Março 1992
[12] Architectures for personalized multimedia
IEEE Multimedia/Spring 1994/vol.1, nº1
[13] ATM-based multimedia servers
IEEE Multimedia/Spring 1995/vol. 2, nº1
[14] Analysing the multimedia Operating System
IEEE Multimedia/Spring 1995/vol. 2, nº1
75
INESC
Bibliografia
[15] Michael Jay Tucker,
Windows NT Versus Unix,
SunExpert Magazine, May 1996, vol. 7, nº 5
[16] RAID: wasted days, wasted night (Redundant Arrays of Inexpensive Disks)
SunExpert, March 1996, Vol. 7 nº3
[17] Tillett, Barbara B.,
Cataloguing Rules and Conceptual Models. January 1996
[18] James Gemmell, Harrick M. Vin, Dilip D. Kandlur, P. Venkat Rangan,
“Multimedia Storage Servers: A Tutorial and Survey”
IEEE Computer, 1995
[19] P. Hulme,
“Mass Storage: The Options”
Xyratex, UK
[20] L. Li,
“The Future of Media Servers In Broadcasting”
A. Hewlett Packard, USA
[20] T. Roth,
“The Transition to an Integrated Digital Broadcast Environment”
ASC Audio Video Corporation, USA
[21] B. Goldsmith, R. Adams,
“Digital Video Distribution and Transmission”
Drake Automation Ltd, England
[22] N. Rouse, T. Totsuka, Y. Kato,
“FARAD - A Storage System for Random Real-Tie Data”
Sony Broadcast & Professional Europe, UK
Sony Corporation, Japan
[23] A. Schmidt,
“Video Disk Recorder and its Applications”
Philips BTS, Germany
[24] David J. Bancroft,
“Standards for Interconnecting Video Servers - Proliferation or Unification”
Philips Broadcast Television Systems Ltd, UK
[25] William Stallings,
“Network and Internetwork Security - Principles and Practice”, IEEE Press
[26] Pete Loshin,
Tune In, Turn On the Web, Byte, February 1997
76
INESC
Bibliografia
[27] Amy Cortese,
“A Way Out of The Web Maze”, BusinessWeek, February 1997 (http://businessweek.com)
[28] David Strom,
“The Best of Push”, Web Review, April 1997 (http://webreview.com)
[29] Pacific Bell Network,
“Real Video Technical White Paper”, March 1997
(http://www.real.com/products/realvideo/overview/index.html)
[30] Chris Okon,
“Those Streaming Web Video Vendors”, Advanced Imaging, February 1997
[31] Jan Ozer,
“Web TV Tunes In”, PC Magazine, March 26, 1997
(http://www8.zdnet.com/pcmag/issues/1506/pcmg0045.htm)
[32] ISO/IEC JTC1/SC29/WG11 N1678,
“MPEG 7: Contexts and Objectives (v.3)”, Bristol, April 1997
(http://drogo.cselt.stet.it/mpeg/mpeg7.html)
[33] Cybercash
“Acquiring Internet Transactions”, Financial Services Whitepaper, April 1997
(http://www.cybercash.com/cybercash/wp/bankwp.html)
[34] Microsoft
“Normandy Merchant Server White Paper”, March 1997
(http://www.microsoft.com/internet/nomrandy_white_paper/paper_merchant.htm)
[35] Ludovic Valois
“Como pagar as suas compras on-line”, Redes, nº 17, Setembro 1996
[36] Alexander Cavalli
“Electronic Commerce over the Internet and the Increasing need for security”, Trade Wave
Corporation, December, 1996 (http://andromeda.einet.net/tradewave/products/vpiwp.html)
[37] Oracle
“Oracle Electronic Commerce Strategy”, March, 1997
(http://www.oracle.com/initiatives/ecommerce/html/ecommerce_wp.html)
[38] Michael R. Gensereth
“Software Agents”, Stanford University 1994
[39] Charles Rich et al.
“An animated on-line community with artificial agents”, IEEE Multimedia, Winter 94
[40] M. Williams et al.
“Database systems” (http://www.cee.hw.ac.uk/research/database.html)
77