Академический Документы
Профессиональный Документы
Культура Документы
TRABALHO DE CONCLUSO DE CURSO SUBMETIDO UNIVERSIDADE REGIONAL DE BLUMENAU PARA A OBTENO DOS CRDITOS NA DISCIPLINA COM NOME EQUIVALENTE NO CURSO DE CINCIAS DA COMPUTAO BACHARELADO
JEANDERSON GRIPA
ESTE TRABALHO DE CONCLUSO DE CURSO, FOI JULGADO ADEQUADO PARA OBTENO DOS CRDITOS NA DISCIPLINA DE TRABALHO DE CONCLUSO DE CURSO OBRIGATRIA PARA OBTENO DO TTULO DE:
BANCA EXAMINADORA
ii
AGRADECIMENTOS
Agradeo ao professor Maurcio Capobianco Lopes pela orientao, crticas e principalmente apoio dado no decorrer do estudo. Aos meus pais, que sempre lutaram para proporcionar aos filhos tudo o que eles jamais tiveram para si, sem os quais eu no teria chegado a este momento. Aos meus irmos e namorada pelo apoio, incentivo, compreenso e carinho que recebi durante a elaborao deste trabalho, principalmente nos momentos difceis que tive. A Deus, por estar sempre presente em todos os momentos e me dando fora nos momentos de dificuldade. Agradeo em especial, ao grande amigo e companheiro de faculdade, Jaime Sthelin Junior, pelo seu apoio e lealdade. Um verdadeiro escudeiro que sempre esteve ao meu lado por todos esses anos. A todos os meus colegas de faculdade, que contriburam para o meu crescimento e tornaram este perodo de faculdade inesquecvel. Finalmente, agradeo a todos que de alguma forma contriburam para elaborao deste trabalho.
iii
SUMRIO
LISTA DE FIGURAS ..............................................................................................................VI LISTA DE QUADROS ......................................................................................................... VIII RESUMO .................................................................................................................................IX ABSTRACT .............................................................................................................................. X 1 INTRODUO ..................................................................................................................... 1 1.1 OBJETIVOS DO TRABALHO .......................................................................................... 2 1.2 ESTRUTURA DO TRABALHO ........................................................................................ 2 2 INTERNET............................................................................................................................ 4 2.1 FORMAS DE UTILIZAO ............................................................................................. 5 2.2 HTML.................................................................................................................................. 6 2.3 TECNOLOGIAS PARA A INTERFACE WEB ................................................................. 8 2.4 TECNOLOGIAS PARA O PROCESSAMENTO NO SERVIDOR .................................. 9 3 WEBSNAP .......................................................................................................................... 12 3.1 ARQUITETURA WEBSNAP .......................................................................................... 12 3.2 CRIANDO APLICATIVOS COM WEBSNAP ............................................................... 15 3.3 PALETA WEBSNAP........................................................................................................ 18 3.3.1 ADAPTADORES ........................................................................................................... 20 3.4 CRIANDO UMA WEB PAGE MODULE ........................................................................ 23 3.5 WEBSNAP E BANCO DE DADOS ................................................................................ 24 3.5.1 MESTRE-DETALHE NO WEBSNAP .......................................................................... 25 3.6 SESSES, USURIOS E PERMISSES........................................................................ 25 4 DESENVOLVIMENTO DO TRABALHO ........................................................................ 27 4.1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO....................... 27
iv
4.2 ESPECIFICAO ............................................................................................................ 27 4.2.1 CASOS DE USO ............................................................................................................ 28 4.2.2 DIAGRAMA DE CLASSES .......................................................................................... 29 4.2.3 DIAGRAMA DE SEQNCIA..................................................................................... 31 4.2.4 MODELO DE DADOS .................................................................................................. 36 4.3 IMPLEMENTAO ........................................................................................................ 36 4.3.1 TCNICAS E FERRAMENTAS UTILIZADAS........................................................... 36 4.3.2 OPERACIONALIDADE DA IMPLEMENTAO...................................................... 37 4.4 RESULTADOS E DISCUSSO ...................................................................................... 45 5 CONCLUSES ................................................................................................................... 48 5.1 EXTENSES .................................................................................................................... 49 REFERNCIAS BIBLIOGRFICAS ..................................................................................... 50 ANEXO I.................................................................................................................................. 51
LISTA DE FIGURAS
FIGURA 1 EXEMPLO DE PGINA HTML......................................................................... 7 FIGURA 2 MODELO WEBSNAP E OS PAPIS NA EQUIPE DE
DESENVOLVIMENTO................................................................................................... 13 FIGURA 3 EXEMPLO DE SCRIPTS ................................................................................... 14 FIGURA 4 PALETA WEBSNAP E A BARRA DE FERRAMENTAS INTERNET ......... 15 FIGURA 5 CRIAO DE UMA APLICAO WEBSNAP.............................................. 16 FIGURA 6 CONFIGURAO DOS COMPONENTES BSICOS DO APLICATIVO ... 17 FIGURA 7 COMPONENTES SETADOS............................................................................ 18 FIGURA 8 WEB SURFACE DESIGNER.............................................................................. 22 FIGURA 9 CRIAO DE UM WEB PAGE MODULE COM UM
ADAPTERPAGEPRODUCER.......................................................................................... 23 FIGURA 10 DIAGRAMA DE CASO DE USO ................................................................... 29 FIGURA 11 DIAGRAMA DE CLASSES............................................................................ 30 FIGURA 12 DIAGRAMA DE SEQNCIA EFETUAR LOGIN...................................... 31 FIGURA 13 DIAGRAMA DE SEQNCIA MANTER CADASTRO.............................. 32 FIGURA 14 DIAGRAMA DE SEQNCIA FAZER RESERVA ..................................... 33 FIGURA 15 DIAGRAMA DE SEQNCIA CONSULTAR RESERVA .......................... 34 FIGURA 16 - DIAGRAMA DE SEQNCIA DESMARCAR RESERVA.......................... 35 FIGURA 17 - MODELO DE DADOS FSICO ....................................................................... 36 FIGURA 18 TELA HOME DO ADMINISTRADOR .......................................................... 38 FIGURA 19 TELA DE USURIO DO ADMINISTRADOR.............................................. 39 FIGURA 20 TELA DE RESERVA DO ADMINISTRADOR ............................................. 40 FIGURA 21 TELA DE LABORATRIO DO ADMINISTRADOR................................... 41
vi
FIGURA 22 TELA HOME DO USURIO PADRO ........................................................ 42 FIGURA 23 TELA DE USURIO DO USURIO PADRO ............................................ 43 FIGURA 24 TELA DE RESERVA DO USURIO PADRO ........................................... 44 FIGURA 25 TELA DE INCLUIR RESERVA DO USURIO PADRO .......................... 45
vii
LISTA DE QUADROS
QUADRO 1 EXEMPLO DE ARQUIVO HTML ................................................................... 7 QUADRO 2 CDIGO COM SCRIPTS ................................................................................ 14 QUADRO 3 RECUPERAR OU VALIDAR VALORES ..................................................... 21 QUADRO 4 SCRIPT PROJETISTA DO ADAPTERPAGEPRODUCER ............................ 22 QUADRO 5 EXEMPLO DE SCRIPT DO COMPONENTE CLIENTDATASET ................ 24
viii
RESUMO
Este trabalho tem como propsito demonstrar a utilizao da nova tecnologia
WebSnap encontrada no Delphi 6, destacando seus recursos e performance como tecnologia de desenvolvimento de pginas para a internet. Para demonstrar a efetividade do mesmo, foi desenvolvido um prottipo de reserva de laboratrio de ensino on-line, utilizando esta tecnologia.
ix
ABSTRACT
This work aims to show WebSnap technology that can be found Delphi 6. The principal purpose is to analyse the performance of WebSnap as technology for Internet sites design. Intending to show how effective it is, a reservation prototype was created for on-line teaching laboratories, using this technology.
1 INTRODUO
A internet foi criada na dcada de 1960, como uma rede restrita, destinada aos segmentos militar, governamental e acadmico. No incio da segunda metade da dcada de 1990, com a regulamentao para explorao comercial da internet e com a popularizao dos programas grficos para navegao na mesma, pequenas redes, antes operando isoladamente, interligaram-se numa nica rede (Fleury, 2002). Segundo Cusumano (1998), a primeira forma de comunicao entre os usurios da internet foi o correio eletrnico, com suas mensagens transmitidas para qualquer parte do mundo ao custo de uma ligao local. Posteriormente surgiram os primeiros sites para consultas, onde as informaes eram exibidas sem que o usurio pudesse interagir com o mesmo. Por ltimo, o usurio tornou-se capaz de transmitir informaes aos sites, concluindo todas as etapas necessrias para que fosse possvel estabelecerem-se transaes em tempo real entre duas partes atravs da rede. Antes do surgimento da tecnologia de documentos hiper-textos para navegao em documentos da rede, a internet no possua uma interface amigvel com os usurios, principalmente para com os usurios iniciantes e amadores. Somente aps seu surgimento em 1993, com o protocolo Hyper Text Transfer Protocol (HTTP) e navegadores capazes de interpret-lo surgiu a World Wide Web (WWW), tornando o ambiente da internet mais amigvel, facilitando a vida dos usurios comuns e o uso da rede para fins comerciais. Atualmente grande parte dos usurios conhece a internet apenas como uma rede mundial de computadores onde se navega pelas pginas Hyper Text Markup Language (HTML) em seus Navegadores Netscape ou Explorer, o que no reflete a verdade, pois a WWW somente um subconjunto da internet. Junto com o HTML, surgiram diversas linguagens de programao para um melhoramento na interao de aplicaes de internet com usurios. Uma das tecnologias existentes atualmente para o desenvolvimento de pginas HTML o WebSnap, ferramenta essa que permite evoluir o conceito de formulrios simples, fornecendo uma melhor interface e incrementando o WebBroker, antiga soluo para desenvolvimento de pginas HTML da Borland.
2 Numa publicao recente (Pauli, 2002) exposto que o WebSnap uma coleo de componentes voltados ao desenvolvimento de aplicaes Web facilitando muito a vida de empresas que desenvolvem aplicaes de comrcio eletrnico, principalmente as que possuem programadores e Web designers em uma mesma equipe. Usando o WebSnap, o programador Delphi desenvolve a interface da aplicao, parte do acesso a dados e das regras de negcio uma vez que estas ficam do lado do servidor. Por ser ainda uma tecnologia pouco conhecida e pouco utilizada, por estar inserida em um dos ambientes de programao mais utilizados no mercado atualmente, o Delphi, decidiuse neste trabalho, desenvolver uma aplicao para testar a tecnologia Websnap. Para isso, foi desenvolvido um prottipo de reserva de laboratrio de ensino, a fim de possibilitar o uso e teste da tecnologia.
desenvolvimento da proposta do trabalho. O segundo captulo aborda conceitos sobre internet, suas formas de utilizao e as tecnologias utilizadas para o desenvolvimento de aplicaes Web. O terceiro captulo, que o ponto chave do trabalho, apresenta a tecnologia WebSnap encontrada no Delphi 6.
3 O quarto captulo descreve a especificao do prottipo, bem como detalhes de sua implementao, resultados e discusso. O quinto e ltimo captulo apresenta as consideraes finais, abrangendo as
2 INTERNET
De acordo com Fleury (2002), a internet foi criada na dcada de 1960, como uma rede restrita destinada aos segmentos militar, governamental e acadmico, em uma organizao de pesquisas do governo norte-americano, a Advanced Research Projects (Arpanet), que pesquisava a formao de redes de computadores. A idia era criar uma rede para conectar centros de pesquisa que estivessem distantes uns dos outros e que no pudesse ser destruda por bombardeios, na impossibilidade de uma comunicao seria uma forma alternativa de ligao que seria usada entre os computadores do exrcito e das universidades. Ao longo dos anos 70 e meados dos anos 80 muitas universidades se conectaram a essa rede, o que moveu a motivao militarista do uso da rede para uma motivao mais cultural e acadmica. Nos meados dos anos 80 a National Science Foundation (NSF) constituiu uma rede de fibra tica de alta velocidade conectando centros de supercomputao localizados em pontos chave nos EUA. Essa rede da NSF, chamada de backbone, teve um papel fundamental no desenvolvimento da internet por reduzir substancialmente o custo da comunicao de dados para as redes de computadores. No incio da segunda metade da dcada de 1990, com a regulamentao para explorao comercial da internet e com a popularizao dos programas grficos para navegao na mesma, pequenas redes, antes operando isoladamente, interligaram-se numa nica rede. Mais ainda, qualquer pessoa que possusse um computador pessoal e uma linha telefnica tornou-se capaz de conectar-se atravs de redes de acesso, internet. Segundo Cusumano (1998), a difuso na utilizao da internet, que pode ser considerada numa primeira anlise como uma evoluo na comunicao eletrnica, possibilitou uma nova revoluo tecnolgica, alterando a maneira como pessoas e organizaes vivem e interagem. O uso da internet continua crescendo em velocidade elevada, e sua difuso supera em muito de outros artefatos. Em apenas trs anos a internet superou a marca de 90 milhes de usurios. O rdio levou mais de 30 anos para atingir 60 milhes de usurios e a televiso levou 15 anos para atingir o mesmo volume.
5 A internet representa um dos mais bem sucedidos exemplos dos benefcios da manuteno do investimento e do compromisso com a pesquisa e o desenvolvimento de uma infra-estrutura para a informao. Comeando com as primeiras pesquisas em trocas de pacotes, o governo, a indstria e o meio acadmico tm sido parceiros na evoluo e uso desta nova tecnologia. Hoje, termos como nome@nomedeempresa.com e
http://www.nomedeempresa.com so usados diariamente por milhes de pessoas. A histria da Internet complexa e envolve muitos aspectos - tecnolgicos, organizacionais e comunitrios e sua influncia atinge no somente os campos tcnicos das comunicaes via computadores, mas toda a sociedade, na medida em que se usa cada vez mais ferramentas on-line para fazer comrcio eletrnico, adquirir informao e operar em comunidade.
6 c) transferncia de arquivos (FTP): tem como objetivo promover o compartilhamento de arquivos sejam eles programas ou dados, encorajar indiretamente o uso de servidores remotos que funcionam como backup, proteger os internautas de variaes em sistemas de armazenamento de arquivos entre servidores e transferncia de dados com confiabilidade, rapidez e eficincia; d) conversas on-line (Chat): o nome popular que foi dado para o Internet Relay Chat (IRC). O IRC ou chat o encontro virtual onde pessoas podem se encontrar e conversar em tempo real atravs de mensagens escritas, tanto participando de discusses grupais como em conversas particulares; e) sites (Web): consiste na rede mundial de computadores denominada World Wide Web (WWW) composta por pginas Hypertext Markup Language (HTML) onde se navega, pesquisa-se e compram-se produtos utilizando navegadores como Netscape ou Explorer.
2.2 HTML
Segundo Cantu (2002), o Hypertext Markup Language (HTML), linguagem de marcao de hipertexto o formato mais difundido para contedo na Web. HTML o formato que os navegadores Web normalmente lem; trata-se de um padro definido pelo World Wide Web Consortium (W3C), que um dos organismos que controlam a internet. Os arquivos HTML so basicamente arquivos de textos ASCII. Alm do texto simples, um arquivo HTML contm muitas tags, as quais podem determinar o estilo da fonte, o tipo do pargrafo ou um link para outro arquivo HTML ou para uma imagem, entre outras coisas. A maioria das tags ocorrem em pares de abertura e fechamento, normalmente a tag de fechamento igual a tag de abertura, mas precedida por uma barra (/) para indicar onde o estilo ou contedo comea e onde termina . Um documento HTML comea com a tag <html> e dividido em duas partes, marcadas como <head> (cabealho da pgina) e <body> (corpo da pgina). Cada uma dessas trs tags exige o terminador correspondente. Na parte do cabealho do arquivo HTML, geralmente escreve-se o ttulo (freqentemente apresentado na barra de ttulo do navegador) e alguns outros elementos genricos.
7 No corpo da pgina, escreve-se o contedo do arquivo, geralmente comeando com seu ttulo visvel. Pode-se usar cabealhos com diferentes nveis, marcados com a tag <hX>, onde se troca o X por um nmero de 1 a 6. Isso seguido por pargrafos simples (<p>), pargrafos previamente formatados (<pre>, um estilo geralmente usado para listagens de programas), vrios tipos de listas e muitos outros elementos. O texto freqentemente ter links para outras pginas ou outras partes da pgina corrente, usando-se a tag <a> (ncora). No QUADRO 1 apresentado um exemplo de um arquivo HTML e na FIGURA 1, tem-se o resultado deste arquivo. QUADRO 1 EXEMPLO DE ARQUIVO HTML
<html> <head> <title> Aplicao WebSnap para Pginas HTML</title> </head> <body> <center> Exemplo de Arquivo HTML <br> <br> ===> HTML <=== </center> </body> </html>
8 Outro elemento relevante da HTML so as tabelas. As tags <table> e </table> indicam o incio e o fim da tabela, e seu atributo opcional border exibe bordas com determinada largura. As tags <tr> e </tr> introduzem e fecham cada linha, e as tags <th> e </th> e <td>_</td> indicam uma clula de cabealho de tabela e uma clula de dados de tabela, respectivamente. O nmero de colunas depende dos itens presentes em cada linha. Diferentes linhas podem ter diferentes nmeros de itens. Recentemente, a HTML foi aprimorada pelo W3C para ser mais consistente, flexvel e intercambivel com sistemas avanados, como Extensible Markup Language (XML); a nova verso chamada Extensible HTML (XHTML).
9 d) JAVASCRIPT: tambm capaz de aumentar a capacidade de processamento do browser. O JavaScript uma linguagem de script que pode ser embutida na pgina HTML, oferecendo algumas formas de controle da pgina, como a validao de campos; e) VBSCRIPT: possui a mesma filosofia do JavaScript, mas utiliza a sintaxe da linguagem Visual Basic da Microsoft, ao invs da sintaxe da linguagem Java; f) CSS (Cascading Style Sheet): permite que os estilos dos elementos da pgina (espaamento, cores, fontes, margens, etc.) sejam especificados separadamente da estrutura do documento, facilitando dessa forma, uma futura modificao no estilo da pgina; g) XML (Extensible Markup Language): uma linguagem de marcao, tal como o HTML. O XML lida com rtulos (tags) sendo possvel definir conjuntos de tags prprias. A definio do padro de tags possibilita a criao de documentos num formato XML que podem ser facilmente interpretados pelo Browser.
Diferentemente do HTML, no XML no h tags para aparncia dos dados. O XML tambm muito utilizado para padronizar a troca de informaes entre sistemas.
PARA
PROCESSAMENTO
NO
Uma aplicao na Web normalmente desenvolvida em uma arquitetura de trs camadas: a camada do cliente, responsvel pelo gerenciamento da interface, a camada intermediria, responsvel pelos modelos de negcios e a camada de dados, responsvel pelo acesso aos dados da aplicao. Segundo Zoltn (apud Fleury, 2002), na camada intermediria, ocorre realmente o trabalho de programao do aplicativo Web, sendo esta camada a responsvel por processar a informao enviada pelo cliente (browser), processar a regra de negcio (que pode estar em outra camada), interagir com o banco de dados, preparar a resposta (quase sempre na forma de uma pgina HTML) e envi-la ao cliente. Os componentes dessa camada esto no servidor Web e so capazes de utilizar os recursos desses servidores e dos demais recursos conectados para realizar o processamento. importante perceber que a forma com que todas essas
10 tecnologias trabalham similar: recebem uma solicitao do cliente, processam essa solicitao e respondem na forma de uma pgina HTML. A seguir, so destacadas algumas destas tecnologias: a) CGI (Common Gateway Interface): um padro para interfaceamento de aplicaes externas com servidores, como um servidor Web, por exemplo. O CGI a aplicao mais bsica para acessar os recursos do sistema no servidor e foi tambm a primeira tecnologia para o desenvolvimento de aplicaes Web. Pode ser escrito em diversas linguagens, sendo as principais o Perl e o C/C++; b) SSI (Server Side Includes): utiliza rtulos especiais (tags), inseridos no documento HTML que so interpretados pelo servidor Web, possibilitando assim que as tags sejam substitudas por contedo dinmico, de acordo com o processamento realizado no servidor. As tags do SSI so especficas para cada servidor Web; c) ASP (Active Server Pages): uma tecnologia da Microsoft que utiliza os conceitos de SSI e CGI para a construo de contedo dinmico, somente funcionando no Internet Information Server (IIS), o software servidor Web da Microsoft, ou seja, exclusiva para a plataforma Windows. O cdigo ASP inserido no HTML e interpretado pelo servidor a cada requisio recebida. O ASP talvez a mais popular linguagem de script servidora atualmente em uso; d) PHP (Hypertext Preprocessor): segue a mesma filosofia do ASP, porm pode ser executada por diferentes servidores, principalmente na plataforma Unix (Solaris, Linux, Etc.). Diferentemente do ASP, o PHP utiliza sintaxe baseada em C, Java e Perl. uma tecnologia no-proprietria; e) ISAPI/NSAPI: a tecnologia Information Server Application Programming Interface (ISAPI) baseada no acesso a Application Programming Interface (API) do servidor Web, atravs do qual a aplicao servidora ISAPI ou NSAPI utiliza diretamente a API do servidor Web para executar a funo desejada. A NSAPI voltada para o Netscape Server e a ISAPI a tecnologia para o servidor IIS da Microsoft. Algumas linguagens possibilitam o desenvolvimento de tais aplicativos, como o caso do Delphi e C++; f) SERVLETS: um tipo de aplicativo Java que, executado no servidor Web, permite um funcionamento similar ao CGI. Os Servlets Java so multiplataforma e oferecem bom desempenho;
11 g) JSP: (Java Server Pages): uma tecnologia baseada em Java que utiliza o mesmo princpio do ASP, com cdigo Java embutido na pgina HTML, o qual interpretado a cada requisio pelo servidor Web. Tem se mostrado uma tecnologia bastante promissora; h) COLDFUSION: linguagem de script server que tambm utiliza uma filosofia similar ao ASP e JSP. Possui sintaxe prpria e uma tecnologia proprietria; Uma outra tecnologia disponvel atualmente o WebSnap, da Borland. Por ser objeto de estudo neste trabalho, ela ser detalhada no prximo captulo.
12
3 WEBSNAP
De acordo com Matos (2002), at o Delphi 5, o conjunto de componentes que encapsulava toda a tecnologia para a criao de aplicativos Web se chamava WebBroker. A melhor opo era o conjunto de componentes Internet Express, que fornecia uma interface de programao, unindo XML, JavaScript e HTML. A partir do Delphi 6 surgiu o WebSnap. O WebSnap no substitui o que o Delphi j oferecia para desenvolvimento internet, mas surgiu para completar e estender as tecnologias WebBroker e Internet Express, evoluindo o conceito de formulrios e fornecendo uma melhor interface, contendo uma coleo de componentes voltados ao desenvolvimento Rappid Application Development (RAD) de aplicaes Web. O Websnap um novo paradigma para o desenvolvimento de aplicativos Web, possuindo diversas vantagens em relao ao WebBroker, como o fato de existir muitos componentes prontos para uso, para manipular tarefas comuns, como login de usurios, gerenciamento de sesses e inmeros novos recursos, como a criao de mltiplos mdulos, suporte a mdulos do Apache (uma alternativa ao Microsoft Internet Information Server), server-side scripts (scripts no lado do servidor), facilidades no uso de banco de dados e muitas outras novidades.
Nesta arquitetura destacam-se: a) WebAppModule: representa a criao de um novo mdulo de aplicao WebSnap; b) WebPageModule: representam pginas web criadas na aplicao WebSnap; c) WebDataModule: equivalente ao mdulo de dados tradicional do Delphi; Pauli (2002) destaca que o WebSnap facilita muito a vida de empresas que desenvolvem aplicaes de comrcio eletrnico, principalmente s que possuem programadores e webdesigners em uma mesma equipe. Usando o WebSnap o programador Delphi desenvolve a aplicao principal parte de acesso a dados e das regras de negcio que ficam do lado do servidor. O webdesigner, por sua vez, customiza a interface e adiciona alguma funcionalidade extra, usando um editor HTML/JavaScript apropriado. Normalmente, os scripts WebSnap so escritos em JavaScript, uma linguagem baseada em objetos muito comum para programao de internet, pois ela a nica linguagem de scripts geralmente disponvel nos navegadores (no lado do cliente). Na verdade, o WebSnap usa o mecanismo ActiveScripting da Microsoft, que suporta JScript (uma variao de JavaScript) e VBScript. Como exemplo do que pode-se fazer com scripts apresentado no QUADRO 2 e na FIGURA 3 um exemplo de uma pgina demoscript. O script dessa pgina pode gerar uma tabela completa de valores multiplicados.
15 No script apresentado no QUADRO 2, o smbolo <%= substitui o comando Response.Write que utilizado para escrever uma linha na pgina. Outro recurso importante do script no lado do servidor a incluso de pginas dentro de outras pginas. Por exemplo, para modificar o menu, pode-se incluir o cdigo HTML e o script relacionado em um nico arquivo, em vez de mud-lo e mant-lo em vrias pginas (Cantu, 2002).
Na barra de ferramentas, quando escolhido New WebSnap Application, uma caixa de dilogo resultante, ilustrada na FIGURA 5, apresentada, permitindo configurar o tipo de servidor, o tipo do mdulo de aplicao, servios do mdulo principal e configurar qual o componente produtor ser utilizado no mdulo principal.
As opes de configurao da aplicao so: a) tipo de servidor (item 1): especifica o tipo de servidor Web a ser utilizado na aplicao: - ISAPI/NSAPI: cria um DLL, que pode ser compartilhada entre vrios usurios; - CGI: cria um servidor que instanciado uma vez para cada usurio; - WINCGI: cria um executvel que opera com servidores Web de 16bit; - Apached Shared Module: novidade trazida pelo Delphi 6. Cria uma DLL compatvel com o servidor Web Apache (uma alternativa ao Microsoft Internet Information Server); - Web App Debugger Executable: verso utilizada somente para teste. Este tipo de aplicativo permite a depurao e execuo de aplicaes WebSnap sem a necessidade de um servidor web. Quando a aplicao estiver pronta, deve-se convert-la para um dos outros quatro tipos; b) tipo de mdulo da aplicao (item 2): define como ser o mdulo principal da aplicao:
17 - Page Module: representa uma pgina Web. O mdulo principal ser uma WebAppPageModule gerando contedo HTML, feito atravs de um componente produtor associado (como um DataSetPageProducer ou AdapterPageProducer). Em Page Options (item 4), configura-se qual componente produtor ser utilizado no mdulo principal; - Data Module: o equivalente ao mdulo de dados tradicional do Delphi. O mdulo principal ser um WebAppDataModule, que no produz contedo. O Web Data Module usado quando vrios Web Page Modules necessitam compartilhar alguns componentes, como datasets e databases; c) servios do mdulo principal (item 3): o boto Components mostra a caixa de dilogo ilustrada na FIGURA 6, na qual se escolhe quais servios devem ser adicionados ao mdulo principal de uma aplicao que contm vrios componentes, com cada um responsvel por implementar uma determinada funcionalidade: FIGURA 6 CONFIGURAO DOS COMPONENTES BSICOS DO APLICATIVO
A funcionalidade de cada componente listado na FIGURA 6 ser detalhada a seguir. Na FIGURA 7 apresentada a tela com os componentes setados na FIGURA 6.
19 f) DataSetValuesList: este recurso utilizado para puxar valores de outra tabela. Esse componente possui uma propriedade Dataset que indica de onde sero retirados os valores para exibio e os cdigos correspondentes. Para fazer a vinculao no DataSetAdapter, altera-se a propriedade ValuesList de qualquer campo no DataSetAdapter; g) WebAppComponents: centraliza o acesso aos componentes e servios da aplicao. Suas propriedades nada mais so que ponteiros para os demais componentes do mdulo principal; h) ApplicationAdapter: torna campos e aes da aplicao acessveis via server-side scripts, por meio do objeto Application; i) EndUserAdapter: utilizado para acessar informaes de usurio, sesso e para construir um formulrio de login para o aplicativo; j) EndUserSessionAdapter: usado pelo servio de login, em conjunto com o componente TSessionsService. A propriedade LoginPage indica a pgina responsvel por gerar o contedo do login, geralmente usando um
LoginFormAdapter e um AdapterPageProducer. Este componente armazena informaes sobre o usurio que est logado na aplicao servidora; k) PagedDispatcher: responsvel por traduzir as mensagens da requisio http e associar o respectivo Web Page Module. A propriedade DefaultPage indica a pgina padro da aplicao; l) AdapterDispatcher: encarregado de manipular o envio de informaes geradas por uma ao de um formulrio HTML; m) LocateFileService: pode-se utilizar este componente para controlar como o servidor deve localizar os templates. Templates so arquivos HTML criados junto ao Web Page Module, contendo HTML e server-side scripts. Pode-se, por exemplo, especificar outra localizao (diretrio) para os arquivos de template, diferente da usada pelo servidor; n) SessionsService: utilizado quando se precisa manter informaes persistentes sobre um determinado usurio, como o contedo de um carrinho de compras por exemplo. A propriedade DefaultTimeOut indica quanto tempo deve-se aguardar pela liberao de uma sesso depois de um perodo de inatividade especificado em minutos. O servio de sesses permite que a aplicao servidora mantenha
20 informaes sobre tudo o que o usurio est fazendo: pginas acessadas, operaes feitas, acessos e logins. Como exemplo, pode-se usar este servio para construir facilmente uma loja virtual, onde o servidor armazena informaes sobre todos os produtos que o usurio comprou durante toda a vida til da sesso (neste caso um processo de compra), no final fazendo uma listagem de produtos com base nos valores da sesso do usurio. o) WebUserList: mantm uma lista com os usurios que podem acessar as pginas que estejam com o flag wpLoginRequierd habilitado. Utiliza-se a propriedade UserItems para gerenciar usurios; p) XslPageProducer: cria uma pgina Web transformando os dados descritos com o Extensible Markup Language (XML) em Extensible Stylesheet Language (XSL); q) AdapterPageProducer: permite passar informaes de cdigo Delphi compilado para o script interpretado, fornecendo uma interface de script para um aplicativo Delphi.
3.3.1 ADAPTADORES
Segundo Cantu (2002), um adaptador permite passar informaes do cdigo Delphi compilado para o script interpretado, fornecendo uma interface de script para o aplicativo Delphi. Os adaptadores contm campos que representam dados e contm aes que representam comandos. Os scripts no lado do servidor podem acessar esses valores e executar esses comandos, passando parmetros especficos para eles. Tecnicamente, os adaptadores implementam uma interface chamada IDispatch que pode ser acessada pelo script atravs de uma linguagem de mecanismo Active Scripting, como o JavaScript. O componente produtor de pgina responsvel por chamar o mecanismo Active Scripting e tem uma propriedade indicando a linguagem do script. Para recuperar ou validar os valores dos campos quando a ao for chamada, utiliza-se o evento OnExecute da ao, como apresentado no QUADRO 3.
Desenvolver a interface com o usurio para o formulrio e o script relacionado levaria algum tempo, usando HTML simples. Mas o componente AdapterPageProducer tem um projetista de HTML integrado, que a Borland chama de Web Surface Designer. Usando essa ferramenta, pode-se adicionar visualmente um formulrio pgina HTML e adicionar o componente AdapterFieldGroup a ela. Para ter editores para os dois campos automaticamente apresentados, necessrio conectar esse grupo de campos ao adaptador. Ento, para ter botes para todas as aes do adaptador, deve-se adicionar um componente AdapterCommandGroup e conect-lo ao componente AdapterFieldGroup (Cantu, 2002). Os campos e os botes so apresentados automaticamente, se as propriedades AddDefaultFields e AddDefaultCommands do grupo de campos e do grupo de comandos forem configuradas. O efeito das operaes visuais executados para construir o formulrio ilustrado na FIGURA 8, est resumido no trecho do QUADRO 4.
23
AdapterPageProducer, XSLPageProducer.
DataSetPageProducer,
InetXPageProducer,
Dependendo do tipo de produtor escolhido, a opo New File poder ser marcada. Caso a opo estiver marcada, um novo arquivo HTML ser criado com o mesmo nome da unit, ficando automaticamente associado ao WebPageModule. Este arquivo conter alguns tags HTML ou server-side scripts e pode ser facilmente alterado em um editor externo, ou no prprio Delphi. A opo Module Options permite especificar como dever ser feita a criao e a destruio do objeto. A opo Creation pode ser On Demand (o mdulo criado quando
24 algum solicitar seu contedo) ou Always (o mdulo criado quando o aplicativo iniciado). A opo Caching permite configurar a instncia do objeto para permanecer em memria aps o uso (Cache Instance), ou para que seja destrudo aps devolver o contedo do produtor associado (Destroy Instance).
end
Fonte: Cantu, 2002.
25 Segundo Cantu (2002), pode-se adicionar um componente DataSetAdapter primeira pgina e conect-lo ao componente ClienteDataSet do mdulo da Web. O adaptador torna automaticamente disponveis todos os campos do conjunto de dados e vrias aes predefinidas para operar sobre ele (como Delete, Edit, Apply). Assim como o componente PagedAdapter, o componente DataSetAdapter tem uma propriedade PageSize em que se pode indicar o nmero de elementos a serem exibidos em cada pgina. O componente tambm tem comandos que podem ser usados para navegar entre as pginas. Essa estratgia particularmente conveniente quando se quer apresentar um conjunto de dados grande em uma grade. O produtor de pgina correspondente tem um formulrio contendo dois grupos de comandos e uma grade. O primeiro grupo de comandos (exibido abaixo da grade) tem comandos predefinidos pra manipular pginas: CmdPrevPage, CmdNextPage e CmdGotoPage. Esse ltimo comando gera uma lista de nmeros para as pginas, de modo que um usurio pode pular diretamente para cada uma delas. O componente AdapterGrid tem as colunas padro, mais uma extra, contendo dois comandos, Edit e Delete. O grupo de comandos inferior tem um boto, usado para criar um novo registro.
26 dados a uma sesso, em vez de um adaptador de aplicativo, pode-se ter dados que dependem de sesso ou do usurio especfico (embora um usurio possa executar vrias sesses, abrindo vrias janelas de navegador no mesmo computador). Para suportar sesses, o aplicativo mantm os dados na memria, recurso este que no est disponvel no caso de programas CGI, por exemplo. Alm de ter pginas que exigem um login para acessar, pode-se fornecer a usurios especficos o direito de ver mais pginas do que outros. Todo usurio, tem um conjunto de direitos separados por pontos-e-vrgulas ou vrgulas. O usurio deve ter todos os direitos definidos para a pgina solicitada, geralmente listados nas propriedades ViewAccess e ModifyAccess dos adaptadores, que indicam, respectivamente, se o usurio pode ver os elementos determinados enquanto navegam ou se podem at edita-los. Essas configuraes so muito granulares e podem ser aplicadas a adaptadores inteiros ou a alguns campos de adaptadores especficos. Por exemplo, pode-se ocultar algumas das colunas de uma tabela para determinados usurios, ocultando os campos correspondentes. O componente global PageDispacher tambm tem os eventos OnCanViewPage e OnPageAccessDenied que podem ser usados para controlar o acesso s vrias pginas do programa dentro do cdigo do programa, permitindo o controle ainda maior.
27
4 DESENVOLVIMENTO DO TRABALHO
Neste captulo so apresentados os requisitos do prottipo, as fases de seu desenvolvimento, considerando a seqncia de suas etapas e as caractersticas do prottipo, proporcionando assim o entendimento das funcionalidades do mesmo. Alm disso, sero tambm relacionados e discutidos os resultados obtidos a partir das avaliaes da anlise e implementao do prottipo desenvolvido.
4.2 ESPECIFICAO
A especificao do prottipo foi realizada utilizando a linguagem de modelagem Unified Modeling Language (UML). A UML a padronizao da linguagem de
28 desenvolvimento orientado a objetos para visualizao, especificao, construo e documentao de sistemas (Furlan 1998). Para a modelagem foram utilizados os diagramas de casos de uso, diagramas de classes e diagramas de seqncia. Os mesmos foram feitos utilizando a ferramenta Rational Rose da empresa Rational Software Corp.
Existem seis classes identificadas para o funcionamento do prottipo: a) TUsuario: corresponde aos usurios cadastrados no prottipo e controla os acessos dos tipos de usurios (administrador, usurio padro); b) TDisciplina: corresponde s disciplinas dos usurios padro cadastradas no prottipo e sempre estar ligada classe TUsuario. importante destacar que a ligao entre usurio e disciplina no obrigatria, uma vez que o prottipo pode ter usurios que no ministram disciplinas. Um exemplo pode ser o prprio administrador do sistema; c) TSoftware: corresponde aos softwares cadastrados no prottipo e podendo estar ligada a classe TLaboratrio; d) TLaboratorio: corresponde aos laboratrios cadastrados no prottipo e sempre estar ligada a classe TSoftware onde se encontram os softwares com direitos de uso para a classe TLaboratrio. O cadastramento dos softwares de responsabilidade do administrador. Assim, caso necessite de um software no cadastrado no prottipo o usurio padro dever entrar em contato com o
administrador que verificar a possibilidade de instalar o software em algum laboratrio. Isto particularmente importante para que se mantenha o controle sobre as licenas de uso dos softwares instalados nos laboratrios e para que o
31 administrador tenha tempo de providenciar as instalaes dos mesmos nos equipamentos; e) TReserva: a classe TReserva responsvel por manter as reservas efetuadas pelos usurios nos laboratrios; f) THorario: corresponde aos horrios cadastrados no prottipo e poder estar ligada a uma classe TReserva;
32
33
34
35
36
4.3 IMPLEMENTAO
Para ter-se um melhor entendimento da implementao do prottipo, a seguir mostrase as tcnicas, ferramentas utilizadas e quais so as operacionalidades desta implementao.
37 Para a criao das tabelas de estrutura de dados foi utilizado o ER/Studio da empresa Embarcadero. O banco de dados utilizado no prottipo foi o MSSQL Server 2000 da Microsoft. Para implementao do prottipo foi utilizada a ferramenta Borland Delphi 6.0. O desenvolvimento e testes foram realizados no Internet Explorer do sistema operacional Windows XP Professional. Nos testes de portabilidade e implantao do prottipo utilizou-se o Internet Information Service (IIS) da Microsoft como servidor Web.
38
4.3.2.1 ADMINISTRADOR
O administrador responsvel pela manuteno dos cadastros (Usurio, Disciplina, Laboratrio, Software e Horrio) e Reservas. Compreendendo a insero, alterao e excluso dos registros nas referidas tabelas. Sendo assim, aps logado, o usurio administrador ter acesso a todos os cadastros disponibilizados no prottipo, conforme pode ser observado na FIGURA 18. FIGURA 18 TELA HOME DO ADMINISTRADOR
39
Alm dos cadastros naturais funo do administrador manter a tabela de usurios e apenas ele que pode inserir, excluir ou definir um outro usurio como administrador. Na FIGURA 19 pode-se observar a viso que o usurio administrador tem da pgina de usurios. FIGURA 19 TELA DE USURIO DO ADMINISTRADOR
40
Na pgina de Reservas observa-se mais um diferencial do administrador. Nessa pgina o mesmo pode inserir, alterar ou desmarcar qualquer reserva, indiferente do usurio que cadastrou a mesma. A viso da pgina de Reservas obtida pelo administrador demonstrada na FIGURA 20. FIGURA 20 TELA DE RESERVA DO ADMINISTRADOR
41
Ao administrador tambm cabe a funo de manter as tabelas filhas como o caso de Professor_Disciplinas e Laboratorio_Softwares. Nesses casos especficos a sua manuteno ocorre atravs da pgina de sua tabela pai, como se observa na FIGURA 21, onde a tela de Laboratrio disponibiliza a insero ou excluso dos softwares com direitos de uso para o respectivo laboratrio. FIGURA 21 TELA DE LABORATRIO DO ADMINISTRADOR
42
43
Acessando-se a pgina de Usurio pode-se observar mais uma limitao que esse tipo de login impe. Apenas ser mostrado o usurio que est logado e nessa tabela no ser permitida a incluso ou excluso de registros, sendo ainda bloqueada a alterao do campo ADM que corresponde ao perfil do usurio (Administrador ou Usurio padro). Na FIGURA 23 mostrada a tela de Usurio do usurio padro. FIGURA 23 TELA DE USURIO DO USURIO PADRO
44
Quando logado com um usurio padro permitido consultar todas as reservas existentes, no entanto apenas pode-se alterar ou excluir reservas onde o usurio seja o mesmo que o usurio que est logado atualmente. Tal limitao pode ser vista na FIGURA 24 que mostra a tela de reservas do usurio padro. FIGURA 24 TELA DE RESERVA DO USURIO PADRO
45
Ao cadastrar uma nova reserva quando o usurio logado for do tipo usurio padro, o mesmo j vem como responsvel da reserva, bastando apenas selecionar a disciplina, software, laboratrio, data e horrio. Pode-se ver na FIGURA 24 tela de incluir reservas do usurio padro. FIGURA 25 TELA DE INCLUIR RESERVA DO USURIO PADRO
46 Outra dificuldade foi o fato da tecnologia ser originria e proprietria da Borland, sendo que a maior parte do material encontrado era da prpria empresa, devendo-se portanto tomar muito cuidado com a propaganda embutida em tais textos. Quanto implementao, foram encontradas pequenas dificuldades tambm oriundas da novidade, mas tudo contribuiu para o aprendizado e para as avaliaes conclusivas. No desenvolvimento do prottipo utilizou-se o aplicativo Web App Debugger Executable que uma das grandes caractersticas referentes ao tipo de Servidor de aplicaes WebSnap. O Web App Debugger Executable permite que se desenvolva uma aplicao Web sem precisar ter um servidor WWW instalado na mquina. Com ele, gerado um executvel que um servidor COM que pode ser utilizado no desenvolvimento da aplicao, o que facilita muito na depurao do prottipo. Este tipo de aplicao deve ser usado somente para fins de desenvolvimento, teste e depurao, mas nunca para distribuio. No momento da distribuio, deve-se migrar de uma aplicao do tipo Web App Debugger Executable para uma de produo (ISAPI/NSAPI, CGI, WIN-CGI ou mdulos Apache). Para testar a portabilidade do prottipo desenvolvido com Web App Debugger Executable, o mesmo foi migrado facilmente para um servidor WWW que suporte ISAPI.. Abaixo so descritos os passos para a migrao entre os tipos de servidores suportados pelo WebSnap: a) abrir o projeto original (desenvolvido para Web App Debugger Executable) no IDE do Delphi; b) mostrar o Project Manager usando View | Project Manager; c) abrir a rvore do projeto para que todas as units fiquem visveis; d) no Project Manager, clicar com o boto direito e criar um novo projeto WebSnap, selecionando o tipo de servidor apropriado. Nesse teste de portabilidade criou-se um projeto para ISAPI; e) abrir a rvore do novo projeto para que sua unit seja mostrada, onde se deve remover a mesma;
47 f) feito esses passos, selecionar cada unit do projeto original (exceto o arquivo .DPR) e arrastar para o novo projeto. Neste caso, aparecer um dilogo solicitando a confirmao para adicionar o arquivo ao novo projeto, devendo-se clicar em YES; g) Executar o novo projeto. A homologao da implantao do prottipo foi realizada num sistema operacional Windows XP Professional com IIS, onde se pde constatar a facilidade de implantao. Os requisitos/passos para a implantao esto descritos a seguir: a) necessidade de um servidor de banco de dados para suportar as estruturas existentes no prottipo. Foi utilizado o MSSQL Server 2000; b) instalao do BDE; c) configurar um Aliase denominado TCCx apontando para a base de dados definida; d) necessidade de prvia instalao de um servidor WWW. Utilizou-se IIS que est presente na instalao do Windows XP Professional; e) compartilhar para Web a pasta onde se encontra o prottipo; f) para testar a funcionalidade da implantao, deve-se carregar o Internet Explorer e acessar o endereo compartilhado no item anterior. Quanto performance do prottipo pode-se dizer que a mesma foi boa, porm deve-se lembrar que no se teve a possibilidade de colocar o mesmo com vrios usurios logados simultaneamente.
48
5 CONCLUSES
Com a situao atual no desenvolvimento de sistemas onde Internet a palavra do momento, comeou-se a observar que existem duas reas bem distintas para o desenvolvimento de sites, que podem ser separadas em profissionais diferentes (programador e webdesigner). O WebSnap veio justamente ajudar nesse sentido, pois com ele fica bem dividida a parte de programao e a interao com o usurio. Alm disto, o mesmo extremamente gil na construo de aplicaes web com ligao a base de dados, como demonstrado no prottipo. O principal objetivo do trabalho, que era desenvolver uma aplicao utilizando os recursos de internet do Delphi 6, mais especificamente o WebSnap, foi atingido plenamente com o desenvolvimento de um prottipo de reserva de laboratrio de ensino on-line. O uso do WebSnap como tecnologia de desenvolvimento de pginas para a internet mostrou-se muito interessante para o aprimoramento das tcnicas de desenvolvimento de aplicativos Web, uma vez que a tecnologia realmente fcil de usar e o resultado obtido no prottipo satisfez as expectativas. Em virtude das exigncias do mercado, que esto cada vez mais se expandindo e necessitando de informaes em qualquer hora e em qualquer lugar, os benefcios que o prottipo fornece so muito interessantes, pois nele destacam-se as facilidades da administrao remota dos cadastros, a possibilidade de serem efetuadas reservas de qualquer lugar e um maior controle referente aos direitos de uso de cada software instado nos laboratrios. O estudo da tecnologia WebSnap mostrou-se muito interessante para o aprimoramento das tcnicas de desenvolvimento de aplicativos Web. Entretanto, aspectos como performance e segurana no puderam ser totalmente avaliados em funo do sistema no ter sido utilizado em produo efetivamente. Apesar disto, com as evidncias encontradas no trabalho concluise que se tem um conjunto que promete ser muito promissor nas aplicaes como um todo. Embora ainda esteja mais na teoria do que na prtica, um paradigma que vem conquistando desenvolvedores e usurios, devido s vantagens que a tecnologia pode oferecer, seja em nvel comercial ou em nvel de aprendizagem.
49
5.1 EXTENSES
Devido ao WebSnap ser dividido em duas partes e nesse prottipo ser explorada principalmente parte de desenvolvimento do lado do programador, uma sugesto seria desenvolver um aplicativo explorando a parte de scripts da tecnologia. Sugere-se tambm que seja desenvolvido um aplicativo utilizando a tecnologia WebSnap junto com outras tecnologias de desenvolvimento Web encontradas no Delphi. Quanto ao prottipo alguns aspectos podem ser melhorados, onde sugere-se um melhor desenvolvimento na parte de interface e um tratamento mais rigoroso na segurana do mesmo.
50
REFERNCIAS BIBLIOGRFICAS
CANTU, Marco. Dominando o Delphi 6: a bblia; Traduo Joo Eduardo Nbrega Tortello. So Paulo: Makron Books, 2002. CUSUMANO, M.; YOFFIE, D. Competing on internet time: lessons from netscape and its battle with Microsoft. New York: Free Press, 1998. FLEURY, Andr Leme. O surgimento da internet, Mestrando em Engenharia de ProduoUFSC, . Disponvel em: <http://igti.eps.ufsc.br/ce/surgimento.htm>. Acesso em: 03 abr. 2002. FURLAN, Jos Davi. Modelagem de objetos atravs da UML. So Paulo: Makon Books, 1998. MATOS, Gladstone. WebSnap essencial, formulrios, fields e producers. Clube Delphi, Rio de Janeiro, v. 26, p. 16-25, 2002. PAULI, Guinther. WebSnap essencial, fundamentos, arquitetura e componentes. Clube Delphi, Rio de Janeiro, v. 24, p. 24-36, 2002.
51
ANEXO I
52
TCC_USUARIOS
Table Name Primary Keys Columns TCC_USUARIOS HANDLE
Datatype int
Null N
N N N
(administrador / usurio padro) SENHA LOGIN Foreign Keys varchar(10) varchar(20) N Descrio da senha do usurio N Descrio do login do usurio
53 DDL Code
CREATE TABLE TCC_USUARIOS( HANDLE VINCULO NOME ADM SENHA LOGIN int varchar(20) varchar(40) char(1) varchar(10) varchar(20) NOT NULL, NOT NULL, NOT NULL, NOT NULL, NOT NULL, NOT NULL,
TCC_DISCIPLINAS
Table Name Primary Keys Columns TCC_DISCIPLINAS HANDLE
Datatype Int
Null
N Cdigo
como chave primria NOME Foreign Keys varchar(40) N Descrio do nome da disciplina
54 DDL Code
CREATE TABLE TCC_DISCIPLINAS( HANDLE NOME int varchar(40) NOT NULL, NOT NULL,
TCC_PROFESSOR_DISCIPLINAS
Table Name Primary Keys Columns TCC_PROFESSOR_DISCIPLINAS HANDLE
Datatype int
Null
Definition
int int
55 DDL Code
CREATE TABLE TCC_PROFESSOR_DISCIPLINAS( HANDLE PROFESSOR DISCIPLINA int int int NOT NULL, NOT NULL, NOT NULL,
CONSTRAINT PK19 PRIMARY KEY NONCLUSTERED (HANDLE), CONSTRAINT RefTCC_USUARIOS29 FOREIGN KEY (PROFESSOR) REFERENCES TCC_USUARIOS(HANDLE), CONSTRAINT RefTCC_DISCIPLINAS30 FOREIGN KEY (DISCIPLINA) REFERENCES TCC_DISCIPLINAS(HANDLE) )
TCC_LABORATORIOS
Table Name Primary Keys Columns TCC_LABORATORIOS HANDLE
Datatype Int
Null
Definition
NOME CAPACIDADE
varchar(40) Int
Foreign Keys
56 DDL Code
CREATE TABLE TCC_LABORATORIOS( HANDLE NOME CAPACIDADE int varchar(40) int NOT NULL, NOT NULL, NULL,
TCC_SOFTWARE
Table Name Primary Keys Columns TCC_SOFTWARE HANDLE
Datatype Int
Null
Definition
varchar(40)
57 DDL Code
CREATE TABLE TCC_SOFTWARE( HANDLE NOME int varchar(40) NOT NULL, NOT NULL,
TCC_LABORATORIO_SOFTWARES
Table Name Primary Keys Columns TCC_LABORATORIO_SOFTWARES HANDLE
Datatype Int
Null
Definition
Int Int
58 DDL Code
CREATE TABLE TCC_LABORATORIO_SOFTWARES( HANDLE LABORATORIO SOFTWARE int int int NOT NULL, NOT NULL, NOT NULL,
CONSTRAINT PK21 PRIMARY KEY NONCLUSTERED (HANDLE), CONSTRAINT RefTCC_LABORATORIOS31 FOREIGN KEY (LABORATORIO) REFERENCES TCC_LABORATORIOS(HANDLE), CONSTRAINT RefTCC_SOFTWARE32 FOREIGN KEY (SOFTWARE) REFERENCES TCC_SOFTWARE(HANDLE) )
TCC_HORARIOS
Table Name Primary Keys Columns TCC_HORARIOS HANDLE
Datatype Int
Null
Definition
varchar(20)
59 DDL Code
CREATE TABLE TCC_HORARIOS( HANDLE NOME int varchar(20) NOT NULL, NULL,
TCC_RESERVA_HORARIOS
Table Name Primary Keys Columns TCC_RESERVA_HORARIOS HANDLE
Datatype Int
Null N
Int int
N N
60 DDL Code
CREATE TABLE TCC_RESERVA_HORARIOS( HANDLE RESERVA HORARIO int int int NOT NULL, NOT NULL, NOT NULL,
CONSTRAINT PKTCC_RESERVA_HORARIOS PRIMARY KEY NONCLUSTERED (HANDLE), CONSTRAINT RefTCC_HORARIOS35 FOREIGN KEY (HORARIO) REFERENCES TCC_HORARIOS(HANDLE), CONSTRAINT RefTCC_RESERVAS41 FOREIGN KEY (RESERVA) REFERENCES TCC_RESERVAS(HANDLE) )
TCC_RESERVAS
Table Name Primary Keys Columns TCC_RESERVAS HANDLE
Datatype int
Null
Definition
N Descrio da data da reserva N Cdigo da tabela de usurios N Cdigo da tabela de disciplinas N Cdigo da tabela de softwares N Cdigo da tabela de laboratrios
61 Foreign Keys
CREATE TABLE TCC_RESERVAS( HANDLE DATA USUARIO DISCIPLINA SOFTWARE LABORATORIO int datetime int int int int NOT NULL, NOT NULL, NOT NULL, NOT NULL, NOT NULL, NOT NULL,
CONSTRAINT PK9 PRIMARY KEY NONCLUSTERED (HANDLE), CONSTRAINT RefTCC_USUARIOS25 FOREIGN KEY (USUARIO) REFERENCES TCC_USUARIOS(HANDLE), CONSTRAINT RefTCC_DISCIPLINAS26 FOREIGN KEY (DISCIPLINA) REFERENCES TCC_DISCIPLINAS(HANDLE), CONSTRAINT RefTCC_SOFTWARE27 FOREIGN KEY (SOFTWARE) REFERENCES TCC_SOFTWARE(HANDLE), CONSTRAINT RefTCC_LABORATORIOS28 FOREIGN KEY (LABORATORIO) REFERENCES TCC_LABORATORIOS(HANDLE) )