Baixe o app para aproveitar ainda mais
Prévia do material em texto
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Bacharelado em Sistemas de Informação Construção de um sistema de Blackboard para gestão de documentos usando XML Lucas Gonçalves de Oliveira Arcos 2004 Lucas Gonçalves de Oliveira Construção de um sistema de Blackboard para gestão de documentos usando XML Trabalho de Conclusão de Curso apresentado ao Curso de Sistemas de Informação da Pontifícia Universidade Católica de Minas Gerais Orientadora: Elza Marisa Paiva de Figueiredo Orientador de Conteúdo: Hermes Pimenta de Moraes Júnior Arcos 2004 AGRADECIMENTOS Agradeço a DEUS e a todas as pessoas que, direta ou indiretamente, me ajudaram a vencer todas as batalhas que foram impostas à minha formação. Agradeço em especial, a minha família e amigos. Agradeço ainda, a todos os professores que passaram por minha vida nesta instituição, agradecendo especialmente a Professora Elza Marisa e o Professor Hermes Moraes, os quais tanto me ajudaram no desenvolvimento deste trabalho. RESUMO Com o aumento da utilização de recursos tecnológicos, há uma crescente busca por mecanismos que garantam maior proveito das redes de computadores. Um destes mecanismos é o trabalho em grupo, que permite maior comunicação entre pessoas. Como exemplo, é possível citar os fóruns digitais, onde várias pessoas se comunicam, independentemente de sua localização geográfica. Além disso, procura-se cada vez mais a padronização, como princípio básico para o crescimento de qualquer organização, seja em processos de produção, ou administrativos trazendo para a empresa melhor desempenho e maior organização. Neste trabalho é proposto realizar a padronização e a evolução na comunicação, já que os documentos padronizados serão apresentados virtualmente para os alunos, podendo esta apresentação ser considerada como comunicação entre os gestores dos documentos e os alunos. Esta padronização só poderá ser feita por um determinado grupo de pessoas e a comunicação se estenderá por todos os alunos da instituição que estejam interessados nos documentos. Desta forma, esta pesquisa estabelece um ponto aceitável de padronização e aumenta a evolução na apresentação da informação, gerando assim uma melhoria na comunicação. LISTA DE FIGURAS FIGURA 2.1 – Documento XML válido............................................................................ 36 FIGURA 2.2 – Documento XML inválido......................................................................... 36 FIGURA 2.3 – Processamento de estilos ........................................................................... 37 FIGURA 2.4 – XSL com diferentes finalidades ................................................................ 38 FIGURA 3.1 – Quadro de avisos ....................................................................................... 47 FIGURA 3.2 – Fórun do Learnloop................................................................................... 49 FIGURA 3.3 – Arquitetura blackboard ............................................................................. 50 FIGURA 4.1 – Arquitetura do sistema ............................................................................. 52 FIGURA 5.1 – Estrutura do documento XML usado....................................................... 65 FIGURA 5.2 – Blackboard do sistema............................................................................... 68 FIGURA 5.3 – Sistema gerente do blackboard.................................................................. 69 FIGURA 5.4 – Autenticação dos usuários......................................................................... 70 FIGURA 5.5 – Criação de novos documentos de palestra................................................ 71 FIGURA 5.6 – Documento de palestra.............................................................................. 72 FIGURA 5.7 – Remoção de avisos do blackboard ............................................................. 73 FIGURA 5.8 – Inclusão de novos usuários........................................................................ 74 FIGURA 5.9 – Exclusão de usuários ................................................................................. 74 FIGURA 5.10 – Alteração de usuários.............................................................................. 74 LISTA DE ABREVIATURAS ANSI – American National Standards Institute (Instituto Nacional Americano de Padrões) ASCII – American Standard Code (Código Americano Padrão) CSS – Cascading Style Sheet (Folhas de Estilos em Cascata) DSSSL – Document Style Semantics and Specification Language (Linguagem de Especificação e Semântica de Estilos de Documentos) DTD – Document Type Definitions (Definição de Tipo de Documento) EAD – Ensino a Distância GML – Generalized Markup Language (Linguagem de Marcação Generalizada) HTML – HyperText Markup Language (Linguagem de Marcação de Hipertexto) IAD – Inteligência Artificial Distribuída IBM – International Business Machines ISO – Internacional Organization for Standardization (Organização Internacional de Padronização) PHP – PHP Hypertext Preprocessor (Préprocessador de Hipertexto PHP) RTF – Rich Text Format (Formato Rico de Texto) SGBD – Sistema Gerenciador de Banco de Dados SGML – Standard Generalized Markup Language (Linguagem de Marcação Generalizada Padrão) TEI – Text Encoding Initiative (Iniciativa de codificação de Texto) TeX – Technical (Linguagem para Preparação de Documentos) URL – Universal Resource Locator (Localização Universal do Recurso) W3C – World Wide Web Consortium WAP – Wireless Application Protocol (Protocolo de Aplicação sem Fio) XHTML – eXtensible HyperText Markup Language (Linguagem de Marcação de Hipertexto Extensível) XML – eXtensible Markup Language (Linguagem de Marcação Extensível) XSL – eXtensible Style Language (Linguagem de Estilo Extensível) Xlink – eXtensible Link (Link Extensível) 6 SUMÁRIO 1. INTRODUÇÃO................................................................................................................ 8 1. 1. Justificativa ................................................................................................................. 9 1. 2. Contextualização de temas pertinentes ..................................................................... 11 1. 3. Objetivos ................................................................................................................... 13 1. 3.1. Objetivo geral .......................................................................................................... 13 1. 3.2. Objetivos específicos................................................................................................. 13 1. 4. Metodologia Utilizada ................................................................................................ 14 1. 5. Resultados esperados ................................................................................................. 15 1. 6. Estrutura do trabalho ................................................................................................ 15 2. XML ............................................................................................................................... 17 2.1. Introdução ................................................................................................................... 17 2.2. Linguagem de marcação............................................................................................. 18 2.3. Linguagens de marcação utilizadas na Internet ........................................................ 20 2. 3.1. HTML ...................................................................................................................... 20 2. 3.2. O surgimento da XML............................................................................................... 22 2. 3.3. XML ........................................................................................................................ 25 2. 3.4. Relações entre HTML e XML ................................................................................... 28 2. 3.5. SGML ...................................................................................................................... 31 2. 3.6. XHTML ................................................................................................................... 33 2. 3.7. A XML nos navegadores ........................................................................................... 35 2.4. Folhas de estilo ............................................................................................................ 36 3. BLACKBOARD............................................................................................................... 40 3.1. Introdução ................................................................................................................... 40 3.2. Trabalho cooperativo .................................................................................................. 42 3. 2.1. Comunicação ............................................................................................................ 43 3. 2.2. Percepção ................................................................................................................. 43 3. 2.3. Coordenação ............................................................................................................ 44 3. 2.4. Negociação ............................................................................................................... 44 3. 2.5. Co-realização e Compartilhamento........................................................................... 45 3.3. Utilização do blackboard ............................................................................................. 46 3. 3.1. Blackboard como quadro de avisos .......................................................................... 46 3. 3.2. Blackboard auxiliando o ensino a distância ............................................................... 47 3. 3.3. Blackboard na inteligência artificial distribuída ........................................................ 49 3.4. Blackboard e este trabalho .......................................................................................... 51 4. ARQUITETURA DO SISTEMA................................................................................... 52 4.1. Usuários ...................................................................................................................... 52 4.2. Blackboard ................................................................................................................. 53 4.3. Geradores dos documentos ......................................................................................... 55 4.4. Segurança ................................................................................................................... 56 4.5. Sistema de geração dos documentos ........................................................................... 58 4.6. Base de dados .............................................................................................................. 59 7 5. SISTEMA DE PADRONIZAÇÃO DOS DOCUMENTOS .......................................... 62 5.1. Linguagens utilizadas.................................................................................................. 62 5. 1.1. HTML ...................................................................................................................... 62 5. 1.2. PHP .......................................................................................................................... 63 5. 1.3. XML ........................................................................................................................ 65 5. 1.4. XSL .......................................................................................................................... 66 5.2 Ferramentas utilizadas................................................................................................. 67 5. 2.1. MySQL ................................................................................................................... 67 5.3. Funcionalidades do sistema ........................................................................................ 68 5. 3.1. Blackboard ............................................................................................................... 68 5. 3.2. Sistema gerente do blackboard ................................................................................. 69 5. 3.3. Criação de novos documentos ................................................................................. 70 5. 3.4. Remoção de avisos do blackboard............................................................................. 72 5. 3.5. Controle de usuários .................................................................................................. 73 6. CONCLUSÕES E TRABALHOS FUTUROS.............................................................. 75 REFERÊNCIAS................................................................................................................. 78 8 1. INTRODUÇÃO No Curso de Sistemas de Informação da Pontifícia Universidade Católica de Minas Gerais, situada na cidade de Arcos, existem várias coordenações diferentes, as quais realizam trabalhos pertinentes ao funcionamento do Curso. Dentre elas, é possível citar a coordenação do curso, a coordenação de estágios, a coordenação de atividades complementares e a coordenação de extensão. As coordenações citadas acima produzem documentos como declarações, editais, resultados de seleções e convocações. Os editais geralmente são para divulgação de inscrições em algum evento novo. Os resultados anunciam os inscritos selecionados em alguma atividade. A convocação intima os alunos em geral para realização de alguma tarefa. Os documentos criados pelos setores mencionados são feitos de forma padronizada. Contudo, a forma de padronização é constituída na hora em que o documento está sendo gerado. Tais documentos, hoje, são gerados em programas editores de texto, no caso descrito, o Microsoft Word. Porém, o mercado atual apresenta várias soluções para automatização de padronização. Hoje em dia, não faz sentido usar normas de padronização não automatizadas, já que a instituição referida possui ferramentas e conhecimentos para a padronização de forma automatizada. Uma outra forma de se avaliar a praticidade e a validade desta padronização é a facilidade gerada na gerência de documentos. Na atual situação em que se encontra a instituição, a tendência é de aumentar a quantidade de documentos confeccionados e utilizados para algum fim. Com a padronização, um documento poderá ser criado com uma facilidade maior, o que economizará tempo das pessoas que os criam (CARUSO, 1999). 9 Para resolver os problemas citados acima, estão sendo propostas uma forma de padronização e representação diferente e mais evoluída tecnologicamente. Trata-se de umblackboard digital, ou seja, um mural eletrônico onde todos os documentos serão apresentados aos alunos e será tratado neste trabalho no Capítulo 3. Esta apresentação ocorre de forma virtual, de modo que os documentos fiquem disponibilizados em uma página da Internet e os alunos possam verificar os avisos, editais, seleções e outros documentos criados a todo instante. Para criar os documentos, a fim de poderem ser apresentados neste mural, haverá um sistema de interface com os professores responsáveis pelos setores especificados que construirá os documentos a partir de dados obtidos junto a estes professores. Sendo assim, o trabalho a ser realizado será o de padronização de documentos da instituição referida, utilizando-se da linguagem XML (eXtensible Markup Language – Linguagem de Marcação Extensível) no processo de desenvolvimento. Este trabalho conduzir-se-á de forma escrita e de forma implementada. Os documentos criados estarão aptos a serem apresentados para os alunos do curso? O tipo de sistema a ser construído tem viabilidade de utilização pelos setores apresentados? Após o término deste, é esperado que todas essas respostas sejam obtidas de forma prática e positiva com a utilização do sistema. 1.1. Justificativa A escolha deste tema para a pesquisa proposta baseia-se no fato de ainda não existir este tipo de ferramenta na instituição. Esta pesquisa é de extrema importância, porque, com a realização deste trabalho, haverá um acúmulo de conhecimentos em áreas consideradas 10 promissoras para um futuro bem próximo. Além disso, a coordenação poderá preparar documentos padronizados, independentemente das suas finalidades. A pesquisa também assume um caráter de grande importância, tendo em vista que a maior parte das grandes empresas presentes no mundo realiza projetos de padronização desde a produção até os serviços mais técnicos. Não se pode esquecer dos trabalhos realizados por essas grandes empresas que garantem um processo de padronização reconhecido internacionalmente, lembrando que esses processos não avaliam apenas a produção da empresa e, sim, ela como um todo (BRANDÃO, 2004). Então, essa instituição não pode ficar distante das grandes intenções do mercado. Existem várias formas de se representar os documentos criados. A forma de representação, que é utilizada hoje pelos criadores dos documentos, é de forma impressa. Estes documentos são impressos e são apresentados para as turmas por meio de um mural presente em cada sala do curso. Contudo, esta forma que está sendo utilizada pode ser considerada não tão adequada, levando-se em consideração as formas encontradas hoje, em termos tecnológicos. O problema maior desse tipo de apresentação é que os documentos, que estão presentes no mural, geralmente excedem a data do evento. Além disso, muitas vezes, avisos que não teriam de ser obrigatoriamente lançados em sala de aula são impressos e disponibilizados no mural, pois esta é a única forma de apresentação dos documentos, gerando assim uma impressão sem necessidade, o que conseqüentemente gera custos desnecessários. Um outro motivo para a realização deste trabalho é a necessidade de documentos padronizados, em todas as áreas atuais. Como todas as empresas da atualidade, todos têm de buscar um processo de produção de serviço que atinja uma melhor qualidade. Uma forma de se alcançar tal melhora é a padronização de processos realizados em uma empresa, ou, como neste caso, na Instituição. Por meio desta padronização será possível se entender melhor o 11 sentido dos documentos, já que todos eles terão uma estrutura semelhante (BRANDÃO, 2004). Outra vantagem encontrada após a padronização dos documentos é o aumento da facilidade na hora da criação de tais documentos. Isso ocorre porque o processo de construção deverá seguir uma forma estruturada e padronizada de confecção, o que tornará mais efetivo a produção desses documentos (CARUSO, 1999). Este trabalho ainda poderá, futuramente, ser agregado a um outro trabalho em desenvolvimento na mesma instituição e no mesmo período, por Diego Zuquim sob orientação do Professor Marco Rodrigo (ZUQUIM, COSTA, 2004). Esta agregação tem por finalidade chegar a um sistema completo de padronização de documentos administrativos e acadêmicos. 1.2. Contextualização de temas pertinentes Há um trabalho desenvolvido por um aluno do Curso de Ciência da Computação da UNIVALI (Universidade do Vale do Itajaí – SC), coordenada pelo Centro de Ciências Tecnológicas da Terra e do Mar. Este aluno pretende desenvolver um editor de artigo, utilizando a tecnologia XML. Tal trabalho torna-se interessante e assume um caráter semelhante ao desta pesquisa, já que esses artigos que ele pretende padronizar, denominado por ele de periódicos, são de interesse da instituição da qual ele participa. O autor acredita que da forma que os periódicos são desenvolvidos, a padronização se encontra de forma distante daquela que pretende ser alcançada. Considera este problema de falta de padronização provindo da falta de material, interpretação errada dos fatos ou até mesmo falta de domínio 12 dos autores dos periódicos. Contudo esse trabalho está sendo desenvolvido com o intuito de facilitar a criação de documentos que já são criados padronizados, o que não é o caso deste. Outro trabalho que também foi verificado é um fomentado pelo CNPq (Centro Nacional de Pesquisas) juntamente com as universidades UFSC, UNICAMP, UFRJ, USP, UFRGS, UFBA e UFRN, com o intuito de padronizar um currículo utilizado para verificações de pós-graduação, denominado Currículo Lattes. Tal trabalho é muito interessante, já que o âmbito da pesquisa, que é a padronização, não se limita em território nacional. O padrão criado será utilizado por mais países pan-americanos. Este trabalho gera grande facilidade, considerando a facilidade a qual este currículo padronizado traz para as instituições as quais avaliam-nos, já que, uma vez padronizados, será mais fácil e eficiente classificar e qualificar tais currículos. Um outro trabalho analisado vem da Universidade Estadual de Campinas, onde os realizadores do trabalho pretendem padronizar o ambiente colaborativo de ensino e aprendizagem. Os alunos responsáveis por este trabalho acreditam que a utilização de XML para padronizar documentos de educação poderia permitir a identificação de campos dos tipos: "título", "palavras-chave" e "links", facilitando assim a busca de documentos por conteúdo e por estrutura. Porém, o trabalho que mais interessa e estimula é um que está sendo desenvolvido por uma aluna da USP, no Instituto do Coração do Hospital das Clínicas da Faculdade de Medicina. Tal trabalho pretende transformar documentos criados em texto livre para documentos padronizados, usando a linguagem XML e folhas de rosto XSL (eXtensible Style Language – Linguagem de estilo extensível), assim como este trabalho. Vale ressaltar que trabalhos que envolvem as mesmas ferramentas e linguagens que aqui estão sendo utilizadas, ainda não foram realizados. Além disso, a padronização e uma melhor apresentação de documentos se torna cada vez mais imperativo e realizar essa 13 padronização e melhorar a apresentação desses documentos de tão grande importância acadêmica é algo extremamente relevante. Por estes motivos, este trabalho se destaca de todos os demonstrados anteriormente, já que apesar de todos possuírem um objetivo semelhante, que é a padronização de documentos, este utiliza uma apresentação dos documentos mais evoluída. 1.3. Objetivos 1.3.1. Objetivo geralO objetivo geral deste trabalho é a padronização automatizada dos documentos criados pelo Curso de Sistemas de Informação, da PUC Minas Arcos. Espera-se que estes documentos sejam construídos com alto índice de padronização e conseqüentemente, qualidade. 1.3.2. Objetivos específicos Têm-se como objetivos específicos os seguintes itens: • criar, de forma automatizada, a estruturação de cada documento; • criar o sistema de automatização da padronização; • estabelecer um maior grau de facilidade na criação destes documentos; 14 • oferecer um sistema de representação mais evoluído tecnologicamente. 1.4. Metodologia Utilizada Questões como o que possuem os documentos e como são construídos, quais bancos de dados devem ser criados para o sistema, foram estudadas e discutidas com quem realmente utiliza o sistema, ou seja, com os responsáveis pelas coordenações citados nas seções anteriores. Pesquisas em livros foram realizadas para buscar as informações necessárias para a realização deste sistema, ou seja, a cada ponto essencial do sistema, o qual não estivesse completamente apto a realizar, foi realizada uma pesquisa, seja em livros, artigos de fontes confiáveis ou até mesmo em grupos de trabalho da linguagem especificada a fim de sanar o problema encontrado. Outra questão importante e relevante a este trabalho é o fato de este não ficar apenas em documentos impressos. Como foi dito anteriormente, este trabalho foi implementado de forma a se possuir um sistema que solucione todos os problemas citados e existentes na instituição. 15 1.5. Resultados esperados Ao término desta pesquisa, espera-se a criação do sistema que resolverá o problema da padronização e apresentação dos documentos. Também é esperado que as coordenações para as quais o sistema está sendo desenvolvido, e os alunos do curso de Sistemas de Informação desta Instituição, utilizem o recurso apresentado. Outro fator importante e relevante que também é esperado após o término deste, é a padronização de tais documentos, analisando o fato que, na atualidade, a busca por padrões e qualidade é cada vez maior (BRANDÃO, 2004). Sendo assim, não se pode “ficar para trás”, levando em consideração o fato de esta ser uma entidade de renome internacional. Por fim, espera-se um acúmulo de conhecimento nas linguagens e nas necessidades do sistema estudado. 1.6. Estrutura do trabalho O Capítulo 2 tratará a ferramenta escolhida como base da padronização, XML, como dito anteriormente. A origem, as utilizações, um breve histórico e uma rápida apresentação desta linguagem serão abordados. Outros recursos pertinentes a essa linguagem, os quais serão utilizados no trabalho, serão apresentados. Logo após, no Capítulo 3, será tratado o sistema blackboard. Uma crescente revolução tecnológica é apresentada a partir deste recurso, abrangendo novas formas de representação da informação, sendo esta simples, valiosa e necessária para os sistemas de hoje em dia 16 (OLIVEIRA, 2001). Do que se trata, para que serve e como funciona, sistemas semelhantes e todas as informações relevantes a este assunto serão tratados neste capítulo. No capítulo 4, será apresentada a arquitetura do sistema. Os agentes que participarão do sistema, como participarão e como o sistema reagirá com os participantes, mostrando formas de interface e criação do sistema, ou seja, neste capítulo será tratado o projeto do sistema a ser desenvolvido. No capítulo 5 será tratada a implementação do sistema, quando será mostrado como foi desenvolvido o sistema. Serão apresentados as ferramentas utilizadas, a forma que elas foram utilizadas e o porquê do uso de cada ferramenta separada e unida com as demais. Por fim, no capítulo 6 são encontrados as conclusões e os trabalhos futuros a este trabalho. E desta forma se define estruturalmente este trabalho. 17 2. XML 2.1. Introdução De acordo com Daum e Merter (2002), desde meados da última década, é testemunhado um crescimento espantoso da Web e, aliado a ele, observado as limitações da linguagem HTML (HyperText Markup Language). Em resposta à crescente demanda de extensões, bem como da necessidade de interoperabilidade, houve um esforço inicial de estender a linguagem HTML, provendo-a com folhas de estilo em cascata, mais comumente conhecida como CSS (Cascading Style Sheet). Entretanto, essa solução constituiu-se apenas num paliativo. Como resultado, um esforço coordenado pelo W3C (WWW Consortium) encontrado em www.w3c.org, foi movido visando oferecer uma nova linguagem que pudesse satisfazer às necessidades de interoperabilidade, escalabilidade e flexibilidade, permitindo-se fácil extensão. Surge, então, a linguagem XML (eXtensible Markup Language) que é caracterizada por prover independência de dados bem como separar conteúdo de apresentação. Um programa em XML compreende a descrição de dados, tornando-se possível seu processamento por uma aplicação. XML tem sido, cada vez mais, utilizada por desenvolvedores de aplicações devido ao suporte que ela oferece tanto a interoperabilidade quanto funcionalidade da Web. Trata-se de uma linguagem baseada em texto a qual permite qualquer pessoa escrever um código em XML, sendo ele, facilmente, tanto compreensível às pessoas quanto manipulável aos computadores (MOULTIS, KIRK, 2000). 18 A XML é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Ela foi desenvolvida para ser utilizada em marcações de documentos. Isso facilita declarações mais precisas do conteúdo e resultados mais significativos de busca por meio de múltiplas plataformas. O XML também vai permitir o surgimento de uma nova geração de aplicações de manipulação e visualização de dados via internet (ANDERSON et al., 2001). Contudo, antes de se aprofundar neste tema, deve-se entender o que é uma linguagem de marcação, a qual será apresentada agora. 2.2. Linguagem de marcação Segundo Marchal (2000), desde a era primordial, quando os seres humanos começaram a se comunicar e a representar o conhecimento, já havia a preocupação com a formatação de documentos. Mesmo sem computadores, as pessoas se preocupavam com a forma de representar seus documentos, tendo, assim como hoje, a necessidade de definir como estes seriam demonstrados. Mesmo sem possuir as tecnologias que existem hoje, as marcações eram realizadas de outras formas, sendo por meio de símbolos, de letras e de caracteres especiais, para que as pessoas responsáveis pela formatação destes documentos soubessem apresentá-los de forma mais legível, já que entendiam mais facilmente como estes eram formados e como se organizavam estruturalmente (MARCHAL, 2000). A partir desta época, várias formas de marcação foram utilizadas. Quem não se lembra dos antigos editores de texto? Neles, as marcações eram feitas pelos próprios autores dos 19 textos, sendo necessário definir, explicitamente no documento, qual forma de representação alguma parte do texto iria receber. O grande problema deste tipo de marcação era que os usuários dos editores tinham de saber todos os comandos necessários para realizarem as formatações. Contudo, as marcações continuaram evoluindo. Nos editores de texto atuais, tais marcações são criadas de forma implícita para o usuário que, com apenas um clique,defina como alguma parte de seu documento será apresentada. Porém, a parte complicada do processo de formatação é feita nos “bastidores” do programa. O usuário não sabe como a marcação é feita. Apenas sabe que, quando o seu documento é aberto, ele é carregado da forma em que foi criado (MARCHAL, 2000). Uma outra maneira de marcação é aquela voltada para programas e textos dispostos na Internet. Essa marcação se faz por meio de delimitadores chamados de tags que são reconhecidos por processadores deste tipo de documento. Geralmente estes arquivos são lidos e interpretados por navegadores de Internet, os quais interpretam as marcações e definem a forma como um texto, uma imagem e qualquer objeto seriam representados (PROFFITT, ZUPAN, 2001). Em HTML, trabalha-se com tags pré-definidas. Sendo assim, o documento que será criado tem de obedecer às marcações que já existam nesta linguagem. Já em XML, alvo deste capítulo, é oferecida uma forma mais ampla e simples de marcação, para que o usuário possa definir suas próprias marcações, ou seja, suas tags (MOULTIS, KIRK, 2000). 20 2.3. Linguagens de marcação utilizadas na Internet 2.3.1. HTML Segundo Moultis e Kirk (2000), de todas as linguagens de marcação existentes, a HTML (Hypertext Markup Language) ainda é a mais utilizada na Internet, embora seja considerada a mais simples e limitada. Sua utilização está voltada tanto para a estruturação de documentos quanto na apresentação visual destes documentos em um navegador (browser). Apesar de simples, ela pode representar documentos na Internet da mesma forma que as linguagens mais complexas. Talvez se torne um pouco ultrapassada, já que hoje existem linguagens e formas de representação mais evoluídas, não se usando apenas tags pré- definidas. Contudo, este fato não impede que a HTML continue sendo utilizada em larga escala. HTML é derivada da linguagem pioneira de marcação SGML (Standard Generalized Markup Language) e foi criada por Tim Berners Lee – o idealizador da WWW – especificamente para a composição e apresentação de documentos na Web (MOULTIS, KIRK, 2000). Um documento estruturado pode ser apresentado ao usuário de diferentes formas, por exemplo, numa impressão em papel, na tela de um navegador com janelas gráficas (Windows, XWindows, etc), na tela simplificada de um notebook ou de um telefone celular ou até em algum equipamento multimídia. Pode também ser enviado para processamento por algum software especializado como um Gerenciador de Banco de Dados (ANDERSON et al., 2001). 21 Os requisitos para estruturação de um documento são ortogonais aos requisitos necessários para sua apresentação. Este é um dos principais problemas da linguagem HTML em que ambos estão misturados e que recentemente foram atacados em duas frentes: - introdução de Folhas de Estilo, também conhecida como cascading style sheets, permitindo especificar a apresentação desejada para cada elemento de um documento, separadamente da sua marcação HTML, - especificação da linguagem XHTML, sucessora de HTML 4.01, seguindo o padrão da nova metalinguagem de marcação XML da www.org1. XML é voltada para o intercâmbio de documentos via Web de forma independente da sua apresentação final e é um subconjunto restrito da linguagem pioneira de marcação, SGML. Segundo Moultis e Kirk (2000), um fator que enriquece muito a HTML são os programas externos a ela, os quais conseguem realizar todas as tarefas tão quanto às demais linguagens. Esses programas são reconhecidos como plug-ins. Plug-ins são sistemas criados pelos fabricantes de navegadores Web. Eles permitem a execução de recursos que não foram desenvolvidos em HTML, assim como áudio e vídeo em uma página Web. O grande problema da utilização de plug-in é que, para cada recurso utilizado em um documento HTML, deve-se possuir seu respectivo plug-in o que pode diminuir a eficiência do computador, já que mais programas deverão estar instalados em um navegador de Internet para acessar todos e quaisquer sites. 22 2.3.2. O Surgimento da XML Em meados dos anos 60, os desenvolvedores necessitavam de uma maneira mais fácil de construir documentos e compartilhá-los da melhor forma possível, tornando-os mais compatíveis com todos os computadores e sistemas utilizados no mundo. Essa ideologia era para todos os tipos de documentos, independentemente da forma que representassem (ANDERSON et al., 2001). Pensando nisso, a IBM começou a trabalhar com GML (Generalized Markup Languagem – Linguagem de Marcação Generalizada). Mesmo a aceitação desta linguagem não sendo ampla, já que ela não era aquilo que os desenvolvedores esperavam, a IBM continuou trabalhando neste projeto por longos anos (RAY, 2001). Por volta de 1986, a ISO (Intenational Organization for Standardization – Organização Internacional de Padronização) reconheceu o modelo desenvolvido pela IBM. Esse modelo ficou conhecido como SGML (Standard Generalized Markup Languagem - Linguagem de Marcação Generalizada Padrão). A SGML, a partir deste momento, tornou-se a linguagem de marcação padrão para muitos tipos documentos, distribuídos pelas organizações do mundo (DEITEL et al., 2003). Segundo Anderson et al. (2001), quando a Web se tornou um pouco mais popular no início dos anos 90, a SGML era considerada perfeita para ser introduzida na Web como linguagem de marcação padrão. Contudo, esta era muito complexa e difícil de ser utilizada. Assim sendo, surgiu a HTML (Hipertext Markup Language - Linguagem de Marcação de Hipertexto), a qual era uma aplicação da SGML, ou seja, era apenas uma representação visual de documentos. 1 É importante lembrar que HTML, XHTML, XML e SGML são padrões internacionais originados na www.org, 23 A HTML logo se tornou popular, já que era fácil e simples de ser utilizada. Além da facilidade, ela suportava algumas falhas dos criadores que, mesmo assim, continuavam representando seus documentos de forma desejável. Com o aumento freqüente do uso da Internet e com a necessidade da troca de informações cada vez maior, tornou-se necessário criar um sistema que melhorasse a forma de representação na Web. Tal melhora era a necessidade de tornar os sistemas mais padronizados, para gerar representações de documentos, as quais fossem mais claras e mais precisas. Além disso, esperava-se da Web um lugar onde todos os tipos de informações pudessem ser transportados, sejam estes vídeos, áudios, recursos multimídia ou textos (ANDERSON et al., 2001). Para tentar resolver este problema, as empresas Microsoft e Netscape começaram a criar seus próprios recursos para os seus sistemas navegadores. Tais recursos foram criados a fim de realizarem operações que não eram suportadas simplesmente pela linguagem HTML. Estes novos recursos apresentados foram chamados de plug-ins. Isso foi uma revolução em termos de representação de conteúdo, já que, com esses recursos, os navegadores começariam a representar vídeo, áudio e todas as outras formas de documentos pela Web. Então, estes plug-ins apresentavam um problema: cada utilização deveria possuir o seu próprio plug-in, ou seja, a representação de vídeo tinha o seu plug-in, assim como a representação de áudio tinha o seu o que pode diminuir a eficiência do sistema, como visto anteriormente (MOULTIS, KIRK, 2000). Dessa forma, com o aumento das necessidades dos desenvolvedores Web, chegou-se ao pontoem que as especificações estabelecidas pela HTML, que possuíam apenas recursos de apresentação, não estavam sendo suficientes para o desenvolvimento de documentos e sistemas. Necessitava-se de algo que traria maior flexibilidade; algo que fosse mais sancionados pelas organizações ANSI e ISO, e, portanto, independentes de fabricantes de hardware ou software. 24 extensível. Contudo, este novo sistema deveria possuir uma grande capacidade que se encontrava no SGML, que possuía recursos suficientes para solucionar qualquer problema em linguagens de marcação, o que será visto posteriormente neste trabalho. Apesar de possuir tal capacidade, considerada grande, este sistema também necessitava da aceitação do HTML, já que o HTML era compatível com programas de todo o mundo. Mesmo necessitando da capacidade da SGML, esta nova linguagem deveria ser mais simples, já que a SGML tinha um alto grau de complexidade, tendo assim uma pequena aceitação por parte dos desenvolvedores. Por esse motivo, nos meados dos anos 90, a World Wide Web Consortium (W3C) começou a desenvolver uma linguagem que sanasse todos esses problemas apresentados acima. Por volta de 1998, esta mesma organização lançou as especificações desta nova linguagem que ficou conhecida como XML (eXtensible Markup Language – Linguagem de Marcação Extensível) (ANDERSON et al., 2001). Os objetivos iniciais desta linguagem eram torná-la uma ferramenta que possuísse a capacidade da SGML e a aceitação da HTML. Esta capacidade do SGML deveria ser utilizada de forma mais simples e objetiva. Nessa nova linguagem, desenvolvedores de todo o mundo poderiam criar seus programas em suas linguagens prediletas e, logo após, representariam as informações geradas por estes programas, por meio de documentos mais flexíveis e simples de se entender, ou seja, em documentos que utilizassem a linguagem XML (RAY, 2001). Segundo Daum e Merter (2002), tal linguagem é considerada como ferramenta de padronização, já que esta utiliza marcações, isto é, tags que podem ser definidas pelo usuário. A partir destas tags definidas, o usuário pode delimitar seu texto da forma que bem entender, tornando-o assim mais legível e mais interpretável. Isso ocorre porque, geralmente, o usuário utiliza palavras-chave do texto que pretende se estruturar em XML. Para delimitá-lo, estas palavras-chave dão nome às novas tags que estão sendo criadas. 25 Outro fator que determinou a linguagem XML como uma linguagem de padronização é o fato de ela possuir compatibilidade com mais de um conjunto de caracteres. Este fato se torna uma vantagem em relação às outras linguagens que trabalham apenas com padrões americanos, assim como o ASCII (American Standard Code -Código Americano Padrão). Com o uso desses outros conjuntos, usuários de países que possuem caracteres especiais em sua língua, assim como os gregos, podem utilizar esta ferramenta, usando sua própria forma de linguagem. Mesmo assim, seu documento será reconhecido normalmente. Outra utilização encontrada por usuários de todo o mundo, para a XML, é o armazenamento de informações. Muitos usam esta linguagem para armazenamento, já que esta ferramenta possui características para estruturação de dados utilizando uma arquitetura que segue o modelo de dados hierárquico. Tais características permitem que dados sejam organizados e trabalhados de forma simples (ANDERSON et al., 2001). Um grande exemplo de utilização da linguagem XML, hoje em dia, é a construção de sistemas e-business (MARCHAL, 2000). Contudo, este uso não será tratado de forma abrangente, pois não é o objetivo deste trabalho. É importante lembrar que a XML possui vários comandos e definições, mas esta parte da sintaxe não será apresentada neste trabalho. 2.3.3. XML Para Anderson et al. (2001), XML é, conforme descrito, anteriormente, uma metalinguagem de marcação criada a partir de SGML. Na verdade, ela é uma forma restrita de SGML. Seus principais objetivos são: 26 - prover o intercâmbio de documentos por meio da Web de forma independente de sistemas operacionais ou formatos de arquivos; - suportar uma grande gama de aplicações, permitindo a definição de elementos pelo usuário (ou aplicação) para estruturar o documento; - facilitar a análise de documentos XML por programas; - documentos XML devem ser legíveis por humanos; - economia de tags de marcação não é importante; - ter uma especificação formal para a marcação de documentos. Como a XML não possui um conjunto pré-definido de tags ou elementos, ela é considerada uma meta-linguagem para descrição de linguagens de marcação. Desta forma, num documento XML, os elementos – aqui também chamados de tags – usados para definir o significado dos dados, podem ser definidos livremente de acordo com o domínio dos dados e da aplicação (DAUM, MERTEN, 2002). Segundo Moultis e Kirk (2000), a XML não fornece mecanismos para apresentação de dados nem para ligação entre documentos. Tais recursos são disponibilizados por outras especificações de linguagens como, por exemplo, XSL (Extensible Style Language) e Xlink. A primeira é utilizada na descrição de estilos, já a segunda especifica links entre documentos. O suporte que a XML oferece a separação entre conteúdo e apresentação é um aspecto de suma importância na linguagem. Torna-se imperativo ainda acrescentar que XML é uma linguagem simples, possui um conjunto de estruturas de dados ricas, permite a troca e exibição de conteúdo de bases de dados e pode ser utilizada como formato para troca de mensagens na comunicação entre aplicações. Dentre essas, a troca de mensagens na comunicação entre aplicações de empresas oferece um meio de comunicação de baixo custo para aplicações B2B (Business to Business), 27 e essa é uma das áreas que também pode tirar proveito da tecnologia XML, contanto que protocolos seguros sejam usados para assegurar as comunicações (ANDERSON et al., 2001). XML tornou-se um padrão internacional em 1998. Desde então várias linguagens de marcação seguindo o padrão XML foram criadas e estão sendo padronizadas no âmbito do w3.org. Recentemente, pequenas adaptações a HTML 4.01 para seguir os requisitos de XML, deram origem à linguagem XHTML (RAY, 2001). De acordo com Moultis e Kirk (2000), ao contrário de SGML – apresentada no item 2.3.5. deste capítulo –, XML não requer um DTD (Document Type Definitions – Definição de Tipo de Documento) para cada documento, muito embora o DTD defina uma gramática para os elementos e atributos do documento, o que o tornaria muito desejável. Segundo Deitel et al. (2003), a DTD é um dicionário que ajudará o sistema, que irá representar o documento XML, a interpretá-lo. Além de ajuda para a interpretação dos documentos XML, a DTD ajuda um analisador XML a verificar a validade de um documento XML, ou seja, se este foi escrito de forma sintaticamente correta. Uma outra vantagem alcançada, usando esta definição de tipo de documento, é o fato de qualquer desenvolvedor conseguir entender um documento XML. Isso ocorre pelo fato de a DTD especificar a composição possível para um documento XML qualquer (RAY, 2001). Segundo Daum e Merter (2002), esta definição de tipo pode ser interna, quando declarada no princípio do arquivo XML, ou externa, quando existe um arquivo separado que é vinculado ao arquivo XML. Outra classificação possível para DTDs é o fato de ela ser pública, quando se usa uma definição que já foi criada ou de sistema, quandoo desenvolvedor cria sua própria definição de documento. Contudo, estas classificações entram no âmbito da sintaxe de desenvolvimento XML e como enfatizado anteriormente, não será apresentado neste trabalho. 28 De acordo com Anderson et al. (2001), se o documento XML possui um DTD associado e segue a gramática especificada pelo DTD, então ele é dito válido. A validação de um documento garante que os dados sejam completos, colocados na ordem correta no documento e com os valores apropriados dos atributos. Além disso, documentos XML adotam e exigem uma forma mais simples e verbosa de aninhamento completo e explícito de todos os elementos de um documento XML, além de requisitos rígidos para definição de valores de atributos, etc. Nesse caso o documento é dito bem formado – well formed – e requisitos para isto estão detalhados na especificação XML 1.02 (MOULTIS, KIRK, 2000). 2.3.4. Relações entre HTML e XML Embora as duas linguagens tenham princípios semelhantes, algumas características da XML tornam-na especialmente interessantes para certas aplicações. Tratar as diferenças entre o HTML e o XML não é tarefa fácil, uma vez que essas diferenças são extremas. A HTML é utilizada para a apresentação de conteúdo, enquanto a XML é usada na estruturação do conteúdo de um documento (ANDERSON et al., 2001). De acordo com Marchal (2000), a principal diferença que se pode destacar está ligada à capacidade de apresentação. Enquanto a HTML possui um estilo único no documento, sendo este pré-defindo na sua implementação, a XML possui uma forma de representação mais ampla, usando estilos diferentes para documentos diferentes. Ainda, em HTML, uma modificação no layout de um documento implicaria na modificação total deste. Isto não 2 Disponível em: http://www.w3.org/TR/2000/REC-xml-20001006 (acessado em 07 de outubro de 2004). 29 ocorre na linguagem XML. Caso haja necessidade de mudar o layout de um documento, basta alterar a folha de estilo relacionada a ele. Além disso, pelo fato de a XML possuir suas marcações definidas pelo desenvolvedor, com ela é mais simples tratar de documentos grandes. Tal simplicidade provém do fato de se poder apresentar, a quem está acessando o documento, apenas as informações relevantes as suas necessidades. Este benefício é conseqüência do uso de folhas de estilo, as quais serão tratadas no decorrer deste capítulo (ANDERSON et al., 2001). Segundo Marchal (2000), a flexibilidade da linguagem XML provém do armazenamento estruturado de dados. A partir deste armazenamento, o documento pode ser utilizado para fins diferentes dentro de organizações diferentes. Além disso, utilizando HTML não é possível extrair de um texto as partes as quais são consideradas convenientes, ou seja, esta linguagem não auxilia no intercâmbio de informações. O XML possui outra vantagem sobre o HTML que se refere às consultas realizadas. Pelo fato de possuir marcações que se autodescrevem, o XML permite um maior nível de qualidade nas respostas às consultas realizadas pelo usuário, uma vez que com o uso do XML, pode-se distinguir os diferentes tipos de dados ali cadastrados. Desta forma é possível enviar os dados financeiros de uma empresa, para o seu respectivo departamento. O XML ainda oferece outra vantagem: uma maior flexibilidade nos links encontrados em uma página Web. Para isso, a W3C desenvolveu para o XML, o Xlink. Usando o Xlink os desenvolvedores podem apontar seus links de forma dinâmica, utilizando apenas uma base de dados, o que não é possível em HTML (DEITEL at al., 2003). Os Xlinks podem ser usados para “definir relacionamentos entre documentos similares, para definir uma seqüência na qual os documentos devem ser navegados ou mesmo para embutir conteúdo não XML em um documento XML” (ANDERSON et al, 2001, p. 343). Ao contrário dos links usados em HTML, o Xlink pode ser declarado fora do documento 30 fonte, permite declaração bi-dimensional, ou seja, é possível declarar um link que interliga duas páginas e não uma com a outra e permite a declaração de ações nas renderizações (MOULTIS, KIRK, 2000). Segundo Ray (2001), o Xlink pode ser simples ou extensível. O Xlink simples é semelhante ao link utilizado em HTML, possuindo uma fonte e um alvo. Já com o Xlink extensível é possível definir links onde mais de um recurso é ligado a outro e definir links fora do código fonte da página Web. Assim sendo, utilizando deste, é possível ligar várias páginas entre si. Com o recurso de Xlink extensível é possível criar um banco de links. Este banco armazena vários links que podem ser utilizados mais de uma vez. Sendo assim, quando se alterar o endereço especificado de uma página que está sendo linkada, não é necessário alterar todos os documentos que ligam a ela, bastando apenas alterar o endereço no banco de links (ANDERSON et al., 2001). XML possui ainda um diferencial que permite uma aplicação bem mais interessante: a troca de informações na Internet (DAUM, MERTEN, 2002). Suponha por exemplo que uma fábrica de bolos de festa receba pelo correio encomendas de seus clientes. Para cada encomenda, uma carta diferente deve ser interpretada pelo funcionário responsável, de forma a extrair informações relevantes como modelo do bolo, tipo de cobertura, sabor do recheio, tamanho e formato do bolo. A tarefa não será nada fácil, já que cada encomenda pode ser feita de forma diferente, pois não há um formato padrão. É nesse momento que a linguagem XML pode contribuir para agilizar o processo. A fábrica de bolos pode, por exemplo, usando a linguagem XML, determinar um formato padrão de encomenda de bolos que contenha as marcações que identificam certas informações específicas para essa atividade. Com isso, a fábrica pede que todos os seus 31 clientes criem suas solicitações na forma de arquivos XML utilizando o padrão especificado. A tarefa do funcionário se tornará bem mais simples. Mas isso é só o início. Um padrão pode ser desenvolvido para que informações sejam trocadas entre a fábrica e os fornecedores. Outro para a troca de informações financeiras entre a fábrica e seu banco. Todos seguindo a mesma estrutura básica determinada pela linguagem XML. Por conta disso, documentos formatados em XML podem ser tratados automaticamente por computadores – o que aumentaria ainda mais a eficiência do uso dessa linguagem. Como se pode perceber, por meio deste pequeno exemplo, a XML vem mudando a forma como se trocam informações na Internet. Por volta de quinhentos padrões diferentes já têm sido usados para tanto. De padrões simples como formatos para receitas de comida, calendários, jogos de xadrez e ofertas de emprego a padrões mais sofisticados para operações com cartões de crédito, comunicação em redes sem fio e troca de informações comerciais em geral. Cada um com suas marcações específicas, mas todos utilizando a mesma estrutura: XML. 2.3.5. SGML De acordo com Moultis e Kirk (2000), a SGML (Standard Generalized Markup Language - Linguagem de Marcação Generalizada Padrão) foi a linguagem de marcação que originou tanto a HTML, quanto a XML, sendo ainda utilizada em algumas aplicações. Sistemas que utilizam esta linguagem são sistemas grandes e complexos, os quais precisam utilizar grandes especificações. 32 SGML foi criada no final da década de 60 pelos pesquisadores da IBM Goldfarb, Mosher e Lorie, com o objetivo de construir um sistema portável, ou seja, um sistema independente de sistema operacional, formatos de arquivos, etc. O objetivo que ospesquisadores buscavam era o intercâmbio e manipulação de documentos. Eles optaram por um sistema de marcação generalizada, que deveria descrever a estrutura do documento e outros atributos, em vez de especificar o processamento a ser feito sob eles. Essa marcação também deveria ser rigorosamente definida, a ponto dos sistemas formais pudessem ser utilizados para processar o documento em questão (ANDERSON et al., 2001). Em outras palavras, a marcação generalizada não restringe documentos a uma única aplicação, estilo de formatação ou sistema de processamento. Desde a sua concepção, portanto, SGML foi uma evolução sobre os sistemas vigentes de editoração eletrônica com funções de processamento complexas, embutidas na marcação do documento, denominadas por Goldfarb de sistemas de marcação procedural. Como exemplo destes sistemas podemos citar o clássico TeX (Technical - Linguagem para Preparação de Documentos) , desenvolvido por Knuth no final da década de 70 para preparação de textos matemáticos (www.cs- faculty.stanford.edu/~knuth/). De acordo com Anderson et al. (2001), em 1986, SGML tornou-se um padrão internacional e foi adotada por várias empresas de porte como padrão para intercâmbio e armazenamento de documentos. Duas linguagens de marcação baseadas em SGML e largamente utilizadas são: DocBook, projetada para marcação de documentação técnica e TEI (Text Encoding Initiative – Iniciativa de codificação de Texto), projetada para marcação de textos literários. Como SGML não possui um conjunto pré-definido de tags e de elementos, ela é na verdade uma meta-linguagem para especificar linguagens de marcação. Ela não possui uma semântica pré-definida. 33 A sintaxe de uma linguagem específica de marcação definida usando SGML é especificada por meio de construções coletadas num documento denominado DTD (Document Type Definition) ou incluídas diretamente no documento SGML, onde aparecem declarações de elementos, que especificam para cada elemento da linguagem todas as possíveis marcações válidas para o elemento, como por exemplo, a ordem e obrigatoriedade de elementos num documento, quantidade, etc, e declarações de atributos, que especificam, por exemplo, tipos de valores de atributos e valores default. O DTD define, portanto, uma gramática para a linguagem de marcação do documento (ANDERSON et al., 2001). Segundo Moultis e Kirk (2000), o grande problema desta linguagem é o fato dela ser uma linguagem grande e complexa, já que possui centenas de páginas de especificação. Além disso, para desenvolver algo nesta linguagem é obrigatória a presença da definição de tipo de documento, assim como visto anteriormente, o que não é necessário em XML. 2.3.6. XHTML XHTML (eXtensible HyperText Markup Language – Linguagem de Marcação de Texto Extensível) combina XML com HTML. Mais formalmente, XHTML é um XML reescrito do HTML. Isto se deve ao fato do XHTML seguir a sintaxe XML mas possuir funcionalidades semelhantes ao HTML, ou seja, possuir o mesmo funcionamento. Dessa forma, o “XHTML é um subconjunto do XML que foi desenvolvido para se comportar como HTML, contendo, porém, apenas as coisas mais interessantes” (PROFFITT, ZUPAN, 2001, P. xv). 34 Assim como podemos considerar o XML uma versão mais “enxuta” do SGML, o XHTML pode ser enquadrado com uma versão mais “enxuta”, porém do XML. Isso ocorre pelo fato do XHTML seguir as normas do XML, mas não utilizar todas as especificações encontradas neste. Apesar de prover recursos como definição de tipo de documento e folhas de estilo, a XHTML se comporta como o HTML, podendo assim ser interpretado pelos navegadores da atualidade (PROFFITT, ZUPAN, 2001). Essa linguagem foi estabelecida como linguagem de marcação para Web no ano 2000 pela W3C. Ela surgiu pela necessidade de características de meta linguagem em representações HTML. Com isso, XHTML passou a ser utilizada por muitos desenvolvedores do mundo, no lugar da HTML 4 (RAY, 2001). A busca de uma meta linguagem deve-se à crescente necessidade de dados que se auto descrevem. Utilizando este tipo de dados, os auto descritivos, é possível estabelecer um nível maior de padronização. Ainda, com essa linguagem, é possível utilizar somente o que é necessário dos documentos, ou seja, tem-se a liberdade de extrair dos documentos e representar para o usuário, somente os dados que são considerados relevantes. Segundo Proffitt e Zupan (2001), essa nova linguagem se aproxima muito do HTML 4, o que facilita o trabalho dos desenvolvedores, os quais já possuem conhecimento sobre tags descritas em HTML. Contudo, ela oferece a flexibilidade e a portabilidade do XML. Dessa forma, têm-se uma linguagem de marcação de textos, com características e elementos da meta linguagem. 35 2.3.7. A XML nos navegadores Segundo Moultis e Kirk (2000), os mais conhecidos navegadores da atualidade - Netscape e o Internet Explorer - já oferecem recursos para validar documentos XML. Ainda há muito para se alcançar. Novas compatibilidades devem ser criadas, a fim de que documentos XML sejam interpretados diretamente pelos navegadores, pois, à medida que o tempo passa, essa linguagem se torna mais popular, sendo utilizada por todos os usuários de Internet e de Intranet de todo o mundo. Ainda para Moultis e Kirk (2000), um problema encontrado por estes navegadores é o fato de eles ainda não conseguirem interpretar os documentos feitos nesta linguagem, pois o que provém da maioria deles é um mecanismo que consegue interpretar as informações contidas nesses documentos, a partir da transformação de documentos XML em HTML. Essa compatibilidade com folhas de estilo, as quais serão apresentadas na próxima seção, já foram disponibilizadas na maioria dos navegadores utilizados atualmente. As figuras seguintes representam, respectivamente, um documento XML válido (Figura 2.1) e um inválido (Figura 2.2), por meio de um navegador. Contudo, estas representações não utilizam uma folha de estilo. Sendo assim, o navegador só pode validar, ou não, o documento analisado. 36 FIGURA 2.1 – Documento XML válido FIGURA 2.2 – Documento XML inválido 2.4. Folhas de estilo Segundo Marchal (2000), o uso de uma folha de estilo pode ser comparado ao princípio básico da computação, assim como pode ser visualizado na figura 2.3. Isto ocorre pelo fato de possuir uma entrada, a qual é o documento XML, um processamento, que é a 37 transformação do XML a partir da folha de estilo e uma saída, que é o documento resultante deste processamento. FIGURA 2.3 – Processamento de estilos FONTE – MARCHAL (2000) De acordo com Moultis e Kirk (2001), ainda não é possível representar documentos XML nos navegadores. O máximo que eles realizam é a verificação da validade dos documentos XML. Para resolver este problema, utilizam-se folhas de estilo que são usadas para a representação de documentos criados em XML. Essas folhas dão ao documento XML a interface, ou seja, a forma que o documento será apresentado para o usuário. Uma grande vantagem destas folhas é que elas são independentes da estrutura do documento. Elas apenas representam o layout que será usado em um determinado documento (MOULTIS, KIRK, 2000). Segundo Anderson et al. (2001), folhas de estilos podem ser utilizadas para separar as informações, ou seja, cada documento será apresentado de acordo com a sua finalidade. A figura 2.4 demonstra este funcionamento. Folha de estilo Documento XML Processador de estilo Documento resultante38 FIGURA 2.4 – XSL com diferentes finalidades FONTE – ANDERSON et al (2001). Uma folha de estilo usada atualmente é a CSS (Cascading Style Sheets – folhas de estilo em cascata) , ou seja, ela é uma forma de transformar um arquivo XML em HTML (DEITEL et al., 2003). Segundo Ray (2001), esta forma de transformação possui seus problemas. Outras linguagens de estilo já apresentam características encontradas em linguagens de programação, utilizando condições, iterações e outros recursos. Esta, porém, não possui tais características, tornando assim inviável o seu uso em documentos mais complexos. Para Moultis e Kirk (2000), outra folha de estilo a se destacar é a DSSSL (Document Style Semantics and Specification Language – linguagem de especificação e semântica de estilos de documentos), poderosa e complexa linguagem de transformação de documentos XML. Ela transforma os documentos XML, para que estes possam ser representados pelos navegadores da atualidade. Essa linguagem tem o poder de transformar o XML em documentos HTML e formatá-los da melhor maneira possível. A DSSSL foi desenvolvida para suportar documentos confeccionados em SGML. Desta forma, levando em consideração que a linguagem XML é um subconjunto da linguagem SGML, pode-se usar esta forma de transformação em documentos XML, sem causar nenhum transtorno. Arquivo XML Folha de estilo Folha de estilo Folha de estilo Computadores PDAs Telefones Celulares 39 Porém a folha de estilo que deve ser mais destacada é a XSL, já que está é a mais utilizada atualmente. Como foi criada após as demais, essa linguagem tem suas raízes nas outras linguagens apresentadas. A XSL é uma ferramenta de criação de folhas de estilo para XML. Esta linguagem possui uma grande vantagem sobre as outras apresentadas, já que foi desenvolvida exclusivamente para ser usada em XML. Este fator determinou a XSL como linguagem-padrão de folhas de estilo para XML (MOULTIS, KIRK, 2000). Em relação a outras linguagens de estilo apresentadas, essa é mais simples, tornando, assim, o seu uso mais fácil. Esta linguagem é escrita em XML e tem o poder de transformar documentos XML em documentos HTML, RTF (Rich Text Format) e também em outros documentos XML (MARCHAL, 2000). 40 3. BLACKBOARD 3.1 Introdução Atualmente, com a globalização, a informação tem uma influência visível nos processos de uma organização. Mas, tão importante quanto a informação, está a forma de apresentação desta, a qual pode ser por meio de textos, de sons e de imagens, dependendo do pretexto geral que essa forma possa ter (BORGES, 1995). Quem nunca se deparou com cartazes, folders e vários outros tipos de apresentação de informação nas ruas? Segundo Borges (1995), a criatividade, a simplicidade e a disponibilidade se tornam cada vez mais importantes na demonstração do conhecimento. As apresentações mais simples, atrativas e que possuem uma maior disponibilidade, tornam a informação, que transportam, mais acessível ao público. Tempos atrás, tal apresentação era realizada somente por meio de informações escritas ou desenhadas em paredes, muros e painéis. Logo após, as empresas publicitárias de todo o mundo iniciou uma forma mais dinâmica e atrativa, sendo murais mecânicos onde informações diferentes são mudadas mecanicamente de tempo em tempo. Este modo de apresentação ainda se encontra muito utilizado em propagandas e anúncios. De acordo com Oliveira (2001), uns dos últimos estágios, encontrados atualmente, são os murais eletrônicos. Estes trabalham de forma semelhante à dos murais mecânicos, porém eles possuem uma melhor forma de utilização e apresentação das informações. Por possuir recursos altamente tecnológicos, uma maior quantidade de informação pode ser transportada 41 por este meio. Além disso, esta forma de apresentação contém meios mais criativos e atrativos para apresentar alguma informação. Um dos tipos de mural eletrônico muito utilizado são os sistemas blackboard, ou seja, sistemas de quadro negro. Estes são usados de forma semelhante ao do quadro negro tradicional. Contudo, as informações são apresentadas utilizando recursos tecnológicos, tornado, assim, a apresentação da informação mais visível e legível (OLIVEIRA, 2001). Em um sistema blackboard, as informações são apresentadas de forma dinâmica e precisa. Utilizando este recurso, um público alvo maior pode ser atingido, já que não é necessário estar no mesmo local para ter acesso às informações, como ocorreria em quadros negros tradicionais. Utilizando blackboard, as informações necessárias podem estar dispostas virtualmente em algum servidor Web. Sendo assim, as pessoas podem acessá-las na hora oportuna. Por esse motivo, tal sistema se torna mais acessível, pois basta possuir um computador configurado para acesso à Internet. Este sistema opera utilizando o ator produtor e o consumidor, sendo esses quem criam as informações para serem disponibilizadas e as pessoas que acessam essas informações, respectivamente (OLIVEIRA, 2001). A forma que o sistema tratará esses dois atores vai depender do propósito da utilização do quadro. Em alguns casos, é necessário que todos os usuários possam ler e escrever informações no sistema. Mas existem casos em que a escrita é restrita, ou seja, poucas pessoas devem possuir acesso para criar documentos disponibilizados. Em outros casos, até a leitura deve ser restrita, isto é, apenas pessoas autorizadas têm acesso ao conhecimento apresentado em um blackboard. Cada dia, as pessoas se tornam usuárias de um mural eletrônico, seja em empresas, em instituições de ensino ou em sistemas especializados. O blackboard pode assumir várias características diferentes, possuindo desde recursos simples, como um quadro de avisos 42 utilizado em uma empresa, até recursos mais complexos, como sistemas que utilizam inteligência artificial distribuída. Uma outra utilização para o blackboard, muito usada atualmente, é o ensino a distância. No entanto, o blackboard utiliza técnicas de trabalho cooperativo. Sendo assim, antes de entender melhor a utilização desses sistemas, deve-se conhecer esse tipo de trabalho que é o alvo da próxima seção. 3.2. Trabalho cooperativo O trabalho cooperativo pode ser definido como todo e qualquer processo produtivo realizado por mais de uma pessoa, quando todos os envolvidos possuem um objetivo em comum. Barros, citado por Oliveira (2001), separa trabalho em grupo em duas dimensões: a dimensão cooperativa em que o processo é feito de forma vertical, ou melhor, as atividades são impostas aos membros do grupo, existindo uma certa hierarquia organizacional, e a dimensão colaborativa em que o processo é realizado de forma horizontal, ou seja, os membros pertencentes ao projeto possuem uma meta em comum, além de possuírem um poder de decisão igual ao dos demais participantes. Barros, citado por Cavalcanti, Borges e Campos (1995, p. 04), afirma que “o trabalho colaborativo envolve comunicação, percepção, coordenação, negociação, co-realização, compartilhamento”. Estes processos de colaboração serão apresentados nas próximas seções. 43 3.2.1. Comunicação Em se tratando de um trabalho no qual mais de uma pessoa irá trabalhar, esse processo se torna o mais importante do trabalho colaborativo. É por meio deste que as pessoas envolvidas num projeto expõem e esclarecem as suas dúvidas, apresentandoidéias e informando aos demais participantes alguma alteração ocorrida no projeto. De acordo com Fuks, Raposo e Gerosa (2002), a comunicação pode ser direta, sendo a informação passada por meio de mensagens, ou indireta, sendo a informação obtida a partir do conhecimento do grupo. Neste caso, é oriunda de experiências passadas, as quais o grupo em questão já vivenciou. A comunicação também pode ser classificada de acordo com o tempo da interação. Nesta classificação, ela pode ser síncrona, onde os participantes interagem em tempo real, ou assíncrona, onde os integrantes se comunicam em tempos diferentes. Uma outra classificação possível para este processo de trabalho colaborativo é o fato de ela ser estruturada, sendo utilizado um formato padrão para a realização da comunicação ou livre, quando esta é feita sem modelo algum, como é o caso de conversas ao telefone e e- mails. 3.2.2. Percepção De acordo com Pinheiro (2001), a percepção de um trabalho colaborativo está relacionada à forma que uma pessoa visualiza um trabalho realizado por outra. Em alguns 44 sistemas, um usuário é informado sobre alguma alteração no projeto quando esta foi realizada, elevando assim, a percepção do usuário. Contudo, em outros sistemas, a mudança realizada em algum documento só é percebida quando o local da modificação é acessado. 3.2.3. Coordenação Este processo existe devido à interdependência de atividades dentro de um mesmo projeto. É a partir deste que são planejadas as atividades e distribuídas as tarefas. Contudo, o projeto deve ser controlado e acompanhado de forma que não haja nenhuma interferência de uma tarefa em outra. Assim, o processo de coordenação é uma tarefa árdua. Neste, são envolvidas questões sociais que possam influenciar no andamento do processo. As pessoas do grupo devem assumir os compromissos necessários a fim de que o projeto não seja prejudicado pelo cumprimento ou não de uma tarefa (FUKS, RAPOSO, GEROSA, 2002). 3.2.4. Negociação Segundo Cavalcanti, Borges e Campos (1995), negociação é a forma que o projeto é gerido. Tende a decidir quais idéias serão aceitas e quais caminhos serão seguidos. Geralmente é realizada a partir de votações e argumentações sobre alguma idéia. 45 Dentro de um grupo com várias pessoas, é esperado que diversas idéias sejam apresentadas para uma só solução. O processo de negociação existe para que se possa encontrar um ponto ótimo a ser seguido por todos os membros da equipe. Para trabalhar com negociação, deve-se levar em consideração que a religião, a cultura e a política podem influenciar no modo como as pessoas pensam (CAVALCANTI, BORGES, CAMPOS, 1995). 3.2.5. Co-realização e Compartilhamento Ainda em Cavalcanti, Borges e Campos (1995), co-realização é o processo de produção procedido por mais de uma pessoa. Para que este processo ocorra, é necessário especificar a forma que os produtos devem ser criados. Também é fundamental a geração de memória de grupo na qual ficarão armazenadas todas as alterações realizadas e os produtos finais obtidos. Compartilhamento é o princípio básico para a realização de co-autoria. Para que pessoas possam construir, em conjunto, um produto ou objeto, é necessário que os membros do grupo compartilhem suas idéias e ações, a fim de que os demais participantes do projeto tenham acesso ao que foi alterado no processo e o porquê desta alteração (CAVALCANTI, BORGES, CAMPOS, 1995). 46 3.3. Utilização do blackboard Um sistema de blackboard, como dito anteriormente, possui várias utilizações, dependendo apenas da finalidade que possui. Além de várias opções para o uso, este sistema também pode ser utilizado em diversos lugares, como empresas, escolas e universidades. Agora adiante serão mostradas algumas utilizações possíveis para o sistema de blackboard. 3.3.1. Blackboard como quadro de avisos De acordo com Oliveira (2001), em diversas organizações do mundo, existe a necessidade de várias pessoas comunicarem entre si, utilizando avisos. Em tempos atrás, quando a tecnologia não havia se desenvolvido, estes recados eram feitos de forma manual, pois alguém utilizando um giz escrevia no quadro negro o aviso necessário, para que os companheiros pudessem ler. Por meio da tecnologia atual, novos sistemas puderam ser criados. Estes realizaram o mesmo que o citado anteriormente, porém possuem recursos que tornam esta interação entre usuários mais simples e mais econômica. Uma pessoa pode entrar no sistema e deixar um determinado recado para outra que, por sua vez, acessará o quadro de avisos e terá capacidade de ler os recados deixados por outros integrantes de um determinado grupo (OLIVEIRA, 2001). Esse fato possui um dos grandes processos de colaboração. Percebem-se, neste sistema, grandes características de comunicação, já que por meio deste quadro de avisos, um 47 integrante de um grupo deixa avisos para outro, a fim de que possa dar continuidade ou saber o que foi feito em um determinado projeto. Essa interação ocorre de forma assíncrona. Os recados deixados no sistema são escritos de forma livre, ou seja, não possuem estrutura fixa. Assim sendo, eles são expostos da forma que foram criados. A outra classificação que este sistema apresenta é quanto ao modo que a comunicação é realizada, sendo esse de forma direta. Um exemplo de blackboard, com essa finalidade, pode ser visualizado na figura 3.1. FIGURA 3.1 – Quadro de avisos FONTE: (http://www.usinadeletras.com.br/painel_mostralo.phtml) 3.3.2. Blackboard auxiliando o ensino a distância “No atual mundo dos negócios, o foco do aprendizado está se deslocando do ensino em sala de aula para o aprendizado no próprio local de trabalho, sendo este um dos aspectos 48 que tem se mostrado mais atraente para a iniciativa privada” (WICK, 1997 apud BOGO, 2003, p.42). Costa, citado por BOGO (2003), afirma que a maior parte da utilização de sistemas de blackboard da atualidade possui características que auxiliam de forma esplêndida. EAD (ensino a distância). Por meio deste recurso, alunos e professores podem interagir de forma simples e completa. Esse sistema tende a completar o estudo presencial, já que esse ensino pode estender-se até as residências dos alunos. Diversas instituições do mundo já utilizam esse recurso para ensino a distância. Alguns destes blackboards são utilizados para auxiliar o estudo presencial, enquanto outros foram criados exclusivamente para EAD. Esse sistema aproxima o professor do aluno e torna a comunicação entre eles mais simples e eficaz (BOGO, 2003). Sistemas com essas características possuem recursos como troca de arquivos, imagens e textos, dentre outros. Eles também provêem recursos que integram provas e atividades extra classe com suas respectivas correções para os alunos. Mensagens entre os integrantes dos grupos também são suportadas por este sistema. Além de prover o processo colaborativo de comunicação, este uso do blackboard possui recursos que auxiliam na construção cooperativa do conhecimento. A comunicação geralmente ocorre de forma livre, direta e assíncrona. Alguns destes sistemas possibilitam o uso de chats, o que torna a interação entre os usuários, síncrona. Na PUC (Pontifícia Universidade Católica) de Minas Gerais, os cursos direcionados para a área de computação possuem um sistema que contém características de blackboard, o qual é voltado para EAD. O sistema chamado learnloop pode ser acessado a partir
Compartilhar