XIX. Hardware e Software Hardware 1. Servidores 2.Storage Area Networks (SANs 3. Tipos de Redes quanto à dimensão 4. Meios de Comunicação 5. Tipos de Tecnologia de Transmissão Software 1. Hipertexto 2. Padrões Web 3. Browsers 4. Banco de Dados A. Hardware
1. Servidores O funcionamento da Internet é baseado em computadores (clientes) ligados a outro mias potente, chamado de servidor, que tem a função de conectar os computadores isolados formando uma rede. Os computadores que se conectam ao sites ou banco de dados de outros computadores são os cientes e o computador que fornece a informação ou dados é o servidor, também chamado de hospedeiro ou host. Servidores Computadores, com grande capacidade de armazenamento, que ficam permanentemente ligados à Internet, por meio de uma linha telefônica dedicada ou de uma rede.
Servidores A função dos servidores é enviar serviços para os clientes, e no caso de sites, enviar páginas para os clientes.. Os sites devem ficar armazenados em servidores, muitas vezes chamados de host. Para poder enviar páginas, o servidor deve ter um software específico instalado, conhecido como web server, que faz com que o computador entenda as solicitações de páginas que ele recebe da Internet e as envie para os usuários Servidores Um servidor proxy é um servidor que recebe pedidos de computadores ligados à sua rede e, caso necessário, efetua os pedidos ao exterior dessa rede, usando como identificação o seu próprio endereço IP e não o endereço IP do computador que requsitou o serviço.
2. Storage Area Networks (SANs) As companhias produzem grandes volumes de dados, com uma complexidade cada vez maior e manutenção mais difícil. Uma Storage Area Network (SAN) fornece alta capacidade e confiabilidade na armazenagem de dados, além de sua disponibilidade em uma rede. Os dispositivos SAN armazenam grandes volumes de dados e podem fornecer serviços de backup e recuperação. 3. Tipos de Redes quanto à dimensão LAN: Local Area Network WAN: Wide Area Network
4. Meios de Comunicação Um meio de comunicação é o hardware que conecta computadores e outro equipamento digital. Medida do meio de comunicação: largura de banda: indica quantos dados podem ser transferidos durante certo tempo pelo meio. Unidade: bps: bits por segundo kbps: kilobits por segundo Mbps; Megabits por segundo Gbps:Gigabits (1 bilhão de bits) por segundo Tbps: Tetrabits (1 trilhão de bits) por segundo Largura de banda altas permitem a passagem de maior fluxo de dados por segundo Meios de Comunicação Meios através dos quais os dados são transmitidos: Par trançado( Copper Wires) Cabo Coaxial: (Insulated Copper Wires) Fibras óticas Wireless sem Fio Rede Elétrica - APN
Meios de Comunicação Fios Par trançado Fios de cobre torcidos em pares Sistema telefônico Cabo Coaxial Fio de cobre isolado Capacidade de transmissão maior do que o par trançado TV a cabo Meios de Comunicação Fibras Óticas Milhares de fios finíssimos de fibra de vidro transparente Pode transmitir até 1,7 gigabits por segundo Transmissão Full Duplex
Meios de Comunicação Microondas Transmitem sinais de alta frequência pela atmosfera. Sinais de micoondas se propagam em linha reta? necessidade de posicionar estações terrestre de transmissão a cada 40/50 Km? aumento de custo Meios de Comunicação Satélites de Órbita Baixa Podem receber, ampliar e retransmitir sinais de microonda Funcionam com estação de retransmissão para microondas terrestre Pode ocorrer demora nos dados enviados a milhares de quilômetros. São apropriados para transmissão de grandes informações de uma só vez.
Meios de Comunicação Rede Elétrica Meios de Comunicação Transmissão sem fio 802.11.a, 802.11b, 802.11.g Poucos segmentos de tecnologia despertam tanto otimismo como o mercado de wireless. Trata-se de um setor cujo valor gerado da venda de equipamentos deve praticamente triplicar de R$ 23 milhões, em 2002, para R$ 61 milhões, em 2007, apenas no Brasil, de acordo com o IDC. Foram vendidas 15 milhões de unidades em 2002, que movimentaram US$ 2,2 bilhões. Para 2007 a previsão é que esse número chegue à casa dos 50 milhões de unidades com um faturamento de US$ 3,5 bilhões.
Meios de Comunicação Transmissão sem fio 802.11.a, 802.11b, 802.11.g Uma rede sem fios (Wireless ou WLAN) é um meio flexível de comunicação de dados implementado como uma extensão de, ou alternativa a, uma rede cabeada LAN dentro de um edifício ou campus. Usando ondas eletromagnéticas, as redes sem fios transmitem e recebem dados sobre o ar, minimizando a necessidade de ligações físicas por cabo. Assim, estas redes combinam conectividade de dados, com mobilidade dos usários através de configurações simplificadas permitem LAN móveis 5. Tipos de Tecnologia de Transmissão Redes de Difusão Apenas um canal de comunicação, compartilhado por todas as máquinas. Redes ponto-a-ponto Muitas conexões entre pares individuais de máquinas Embora haja algumas exceções, geralmente as redes menores tendem a usar os sistemas de difusão e as maiores, os sistemas ponto a ponto.
B. Software 1. Hipertexto A informação é armazenada nos textos convencionais, como o caso em de um livro ou revista, em uma estrutura linear; para acessar a página 20, é preciso antes passar por todas as 19 páginas anteriores, mesmo que de uma só vez. A informação é armazenada nos páginas da web,, em uma estrutura não linear, isto é, em hipertexto. Para acessar uma determinada página não é necessário antes passar pelas páginas anteriores; através de links, pode-se navegar sem ser linearmente
Hipertexto Página 1 Página 2 Página 3 Página 4 Página 5 Página 6 Página 7 Página 8 Página 9 Página 10 2. Padrões Web Muitos web sites não obedecem aos padrões definidos por organizações públicas, como o W3Cou IETF. Um padrão é composto de elementos e estruturas, em muitos casos alguns elementos são usados no contexto errado, ou as estruturas são estendidas sem levar em conta as restrições do padrão particular. Aderindo aos padrões, é possível maximizar a acessibilidade para o alcance mais amplo das aplicações.
Padrões Web Os padrões Web são projetados para ser compatíveis com o passado e o futuro ao mesmo tempo. O código-fonte mais antigo deve sempre funcionar em novas aplicações, e o código-fonte novo deve também funcionar nas aplicações antigas. O uso de extensões que não são parte do padrão forçará esta compatibilidade e a interoperabilidade entre um conjunto de aplicações que utilizam a mesma entrada (por exemplo, arquivos HTML). 3. Browsers Um browser é um programa que tem por objetivo exibir para os usuários os documentos dos websites 1993: o estudante Marc Andreessen cria o Mosaic 1995: o recém graduado Marc Andreessen funda a Netscape Communications Corporation e lança o Browser Netscape Agosto de 1995: Bill Gates lança o Micrososft Explorer com uma estratégia de marketing agressiva pois embute gratuitamente o ME no Windows.
Browsers O Mercado de Browser www.upsdell.com/browsernews/browsers.htm apresenta informações sobre os principais browsers usados. www.memestreams.net/awstats.html apresenta estatísticas coletadas na Internet. Browsers Exemplos de Browsers Netscape Communicator Internet Explorer Opera Lynx Amaya HotJava
Browsers Netscape Communicator Disponível para várias plataformas O JavaScript é entendido pelo Netscape melhor do que qualquer outro browser. Afinal o Netscape foi inventado e é desenvolvido ativa-mente pela Netscape. Código- fonte aberto e livre. Suporta versões mais recentes do Java. Browsers Internet Explorer Vem com qualquer versão Windows comprada. Pode ser usado com MacOS, HP-UX e Solaris. Suporta JavaScript e Java. Suporta Active X e VBScript da própria Microsoft. Uma edição reduzida do Outlook é também instalada, chamada de Outlook Express.
Browsers Opera O Opera exige aproximadamente (apenas) 1 Mb. Não suporta Java e nem Active-X. Suporta plug-ins. Usa os padrões recomendados pela Internet. Plataformas: Windows, Linux, Amiga OS e Mac OS. Browsers Lynx É o menor browser do mercado e tem aproximadamente 500 Kbytes. É baseado em texto, não suportando imagens. Não suporta JavaScript, Java, ActiveX e áudio.
Browsers Amaya Desenvolvido pelo World Wide Web Consortium (W3C). É desenvolvido no padrão HTML. É uma ferramenta útil para desenvolvedores testarem as páginas Web. É software gratuito e disponível para várias plataformas além de Windows. Browsers HotJava Desenvolvido pela Sun, usando a linguagem de programação Java. A Sun quis desenvolver um browser que executasse em todos os dispositivos habilitados para a rede, de dispositivos como telefone móvel até um servidor da rede. É considerado um browser lento pois foi escrito em Java.
Browsers Browsers Off-Line Os browsers off-line carregam o site completa-mente, permitindo assim ler o conteúdo off-line. A vantagemprincipal é que se pode ver as páginas sempre que necessitar sem necessidade de ficar on- line. Desvantagem: pode carregar páginas em que não se está interessado. Exemplos: Off-line Explorer e WebZIP Browsers O Impacto nos Negócios A aplicação de browser tem um impacto enorme nos negócios na Internet. É a parte preferida de software para acessar serviços on-line, tais como shopping e banking on-line. Embora existam outras formas de fazer negócios na Internet, o browser permitiu a qualquer pessoa fazê-lo, porque o uso é simples e muito intuitivo.
Browsers Browsing no Futuro Os browsers devem integrar serviços na Internet, em vez de apenas oferecê-los. O código-fonte precisa ser disponível. Comunicação em tempo real: bate-papos ao vivo se tornam mais importantes. O tamanho dos browsers deve ser pequeno. O browser precisa ser rápido. Os padrões Web precisam ser implementados corretamente. 4. Banco de Dados Conjunto de registros ou objetos (informações), logicamente afins, referentes a um propósito específico. Uma disposição desordenada dos dados não pode ser referenciada como um banco de dados; Os dados armazenados em um BD são independentes dos programas aplicativos que os utilizam e do tipo de dispositivos de armazenamento secundário nos quais estão armazenados.
Banco de Dados Sistemas de Banco de Dados BD + SGBD + Aplicação SBD Software SGBD programas/consultas da aplicação Sofware para processar programas/consultas Sofware para acessar dado armazenado Software que facilita o gerênciamento do BD Definição do BD armazenado (metadado) BD armazenado Conjunto de itens de dados interrelacionadosque podem ser processados por um ou mais sistemas de aplicação Banco de Dados Sistema de Gerenciamento de Bancos de Dados SGBD Software de gerenciamento de bancos de dados. É um conjunto de programas de computador que controla a criação, manutenção e uso dos bancos de dados por uma organização e seus usuários finais. Funciona como uma interface de software entre usuários e bancos de dados. Permite que os dados sejam armazenados em um só lugar, tornando-os disponíveis para diversos aplicativos.
Banco de Dados Características dos Sistemas de Banco de Dados Separação entre programas e dados Abstração de dados Suporte a múltiplas visões Compartilhamento de dados Processamento multiusuário de transações Armazenamento, no BD, de sua própria descrição (esquema) Independência de dados Banco de Dados Tipos de Banco de Dados Cliente Bancos de Dados Distribuídos Banco de Dados do Cliente Servidor de Rede Data Warehouse Banco de Dados Operacional Baseado no livro Sistemas de Informação, Leite, J.C.S.P. e Leal Ferreira, S.M.B.
Banco de Dados Banco de Dados Distribuídos Muitas organizações reproduzem e distribuem cópias ou partes de BDs para servidores de rede em uma multiplicidade de locais. Esses bancos de dados distribuídos podem residir em servidores de rede na WWW, em intranets ou extranets, ou em outras redes da empresa. Os BDs distribuídos podem ser cópias qualquer tipo de banco de dados. A reprodução e distribuição de bancos de dados é feita para melhorar o desempenho e a segurança do banco de dados Banco de Dados DataWareHouse Armazena dados de um ano e de anos anteriores, extraídos dos vários bancos de dados de uma organização. Os dados são guardados com perspectivas temporais Os dados, construídos a partir de diversas e heterogêneas fontes de dados, foram classificados, editados, padronizados e integrados de forma a serem usados para uma multiplicidade de formas de análise empresarial, pesquisa de mercado e apoio à decisão. Podem ser subdivididos em mercados de dados (data marts), que guardam subconjuntos específicos de dados a partir do warehouse (Ex: Data Mark de estoque, data Mark de vendas etc.)
Banco de Dados Formas de Utilização do Data Warehouse Suportar atividades que envolvam tomada de decisão, como: Aumento do foco no cliente; Gerenciamento de portifólio de produtos; Análise de operações; Gerenciamento do relacionamento com clientes. Base de integração de sistemas heterogêneos, gerando base de dados única cujo acesso seja mais fácil e barato. Problemas com integração de bases de dados diferentes; DW é atualizado constantemente. DW pode armazenar e integrar informações históricas e suportar queries multidimen-sionais. Banco de Dados Banco de Dados Operacionais Armazenam dados necessários para apoiar as operações da organização como um todo. São chamados bancos de dados de transações e bancos de dados de produção. Exemplos:bancos de dados de clientes, bancos de dados de pessoal, bancos de dados de estoque e outros bancos de dados contendo dados gerados pelas operações empresariais
5. Linguagens e Protocolos Linguagens e Protocolos Bloco de Construção O HTMLé o bloco de construção fundamental da WWW. O HTML é um formato não proprietário, desenvolvido pelo World Wide Web Consortium. O HTML não é uma linguagem de programação, mas uma linguagem de marcação. Somente descreve a estrutura lógica de um documento, em lugar da apresentação do documento.
Linguagens e Protocolos Layout da Página Web Uso de tags <title> </title> <body> </body> <h1> </h1> <font> </font> Exemplo 1 Exemplo 2 Exemplo 3 Linguagens e Protocolos HTML 4.0 Em 1997, o World Wide Web Consortium lançou o HTML 4.0. O novo padrão HTML fornece um modo de os autores embutirem objetos e documentos, e suporta folhas de estilo em seus documentos. Formulários eletrônicos foram atualizados. Permite a definição de frames. Exemplo
Linguagens e Protocolos Relevância para Negócios On-Line O HTML é a tecnologia básica para exibir conteúdo em um browser Web. O HTML é fácil de ser aprendido e implementado, podendo ser usado por qualquer empresa para apresentar-se em uma forma multimídia muito interativa. O HTMLpode reduzir custos de modo significativo. A empresa pode disponibilizar informações para os seus clientes na Web. Linguagens e Protocolos Páginas Dinâmicas Páginas estáticas: a única parte do software que precisa funcionar é o servidor Web; a única ação que o servidor Web tem de executar é localizar a página Web no disco rígido e passá-la para o browser Web. Páginas dinâmicas: permite vincular as páginas Web às bases de dados. As páginas dinâmicas são um conjunto completo mais flexível e útil que as páginas estáticas, embora possam consumir um pouco mais de recursos no servidor Web.
Linguagens e Protocolos Páginas Dinâmicas Exemplo de uso de página dinâmica: loja on-line com venda de milhares de produtos. Com páginas estáticas, seria necessário criar uma página para cada produto. Através do uso de páginas dinâmicas, as empresas podem criar um layout padrão, que é salvo em um local separado à parte dos dados. Isto permite que os sites sejam alterados sem ter de alterar o conteúdo. Linguagens e Protocolos Cascading Style Sheets Exemplo As CSS servem para auxiliar o HTML a descrever a estrutura lógica de um documento. As CSS permitem que se controle a transmissão de elementos em uma página Web sem comprometer sua estrutura. Fontes, cores, tipos e outros aspectos de estilo são definidos nas CSS. Diferentemente do layout HTML, o layout com CSS parecerá o mesmo em todos os browsers Web.
Linguagens e Protocolos HTML Dinâmico Embora seja possível criar páginas Web dinâmicas no servidor, significando que o conteúdo é recuperado junto no momento de carregá-las, a maioria das páginas Web são estáticas, uma vez que são exibidos no browser, o que significa que o conteúdo ou o layout não podem ser mudados sem voltar ao servidor. DHTML (HTML Dinâmico) = HTML + CSS + JavaScript. Linguagens e Protocolos Common Gateway Interface A Interface comum de gateway (CGI) é um protocolo estabelecido para uma aplicação de servidor Web receber dados de um browser e preparar dados antes de desenvolver para o cliente. Os programas CGI são capazes de tratar pedidos de informação e retornar o documento apropriado ou gerar um documento dinâmico. Eles podem agir como um gateway entre as bases de dados e browsers Web que entendem somente HTML, mas não SQL, por exemplo.
Linguagens e Protocolos Java É uma linguagem independente de hardware executada em todas as maiores plataformas. Java no cliente: applets. Java no servidor: é independente do browser, mais fácil de manter. Linguagens e Protocolos Plataforma Java 2, Edição Padrão (J2SETM Java 2 Platform, Standard Edition) voltada para o desenvolvimento de aplicações cliente-servidor; Plataforma Java 2, Edição Empresa (J2EETM - Java 2 Platform, Enterprise Edition) voltada para o desenvolvimento de aplicações empresariais; Plataforma Java 2, Edição Micro (J2METM - Java 2 Platform, Enterprise Edition) voltada para o desenvolvimento de aplicativos a serem usados em pequenos dispositivos como, por exemplo, cartões magnéticos inteligentes.
Linguagens e Protocolos Linguagens e Protocolos JavaScript O JavaScript do servidor precisa ser compilado e pode então ser usado pelo Netscape Enterprise Server, de modo semelhante aos programas CGI. O JavaScript do cliente é aceito por todos os principais browsers.
Linguagens e Protocolos Perl Perl = Practical Extraction and Report Language. É a linguagem de programação de servidor mais popular. Perl é uma linguagem de programação regular que pode ser usada de forma geral, além de ser uma linguagem CGI. Linguagens e Protocolos Python É uma boa linguagem para programação de servidor Web. É uma linguagem de programação interpretada e interativa, baseada no paradigma de orientação a objeto. O código-fonte está disponível gratuitamente.
Linguagens e Protocolos Server Side Includes - SSI SSI são comandos que estão incluídos nas páginas HTML e são executados antes de a página Web ser enviada para o cliente. A vantagem é que os desenvolvedores Web não precisam aprender nenhuma linguagem nova, mas somente adicionar alguns comandos à pagina Web. Exemplo: definir uma variável que é substituída com o nome de um cliente identificado pelo endereço IP. Linguagens e Protocolos JavaServer Pages - JSP A tecnologia JSP oferece uma forma fácil e poderosa para construir páginas Web com conteúdo gerado dinamicamente. Aplicações independentes de servidor e plataforma. A lógica de aplicação reside nos recursos baseados no servidor que a página acessa com tags do tipo HTML.
Linguagens e Protocolos Servidores de Aplicação Web Os serviços de Web são normalmente baseados em uma arquitetura three-tier: servidor de Web, servidor de base de dados e servidor de aplicações Web. O browser não é considerado parte da arquitetura. Com esta arquitetura é mais fácil acessar dados e serviços que residem em sistemas legados sem conexão direta com a Internet. O servidor de aplicações Web cria um sistema de mensagens unificado, que permite a cada aplicação que é conectada trocar informações. Linguagens e Protocolos Produtos de Aplicação Web A escolha do servidor de aplicação Web depende principalmente da base instalada de software e hardware. Exemplos: Avenida Web Server Bea WebLogic Enterprise Cold Fusion Zope
Linguagens e Protocolos Problemas Comuns da Web O HTML não foi projetado para fazer nada além de apresentar documentos em um browser Web. O negócio eletrônico precisa que documentos sejam exibidos, processados, reorganizados, armazenados, enviados, trocados, criptografados, assinados, etc. Linguagens e Protocolos Problemas Comuns da Web A definição de tipo de documento (DTD) precisa ser mais flexível para suportar as necessidades dos negócios eletrônicos. O DTD precisa se tornar parte do documento e não parte do browser.
Linguagens e Protocolos Problemas Comuns da Web Os instrumentos de busca normalmente só indexam um conjunto de palavras, títulos de documentos, URLs e metamarcas, mas não conhecem nada sobre a estrutura do documento (se é um artigo, uma tese, uma revista de fofocas, etc). Muitas vezes é difícil identificar as outras partes de uma coleção de páginas (como expressar o inter-relacionamento entre as páginas?) Linguagens e Protocolos Mudando para XML XML é extensível porque é uma metalinguagem que permite a alguém escrever uma definição de tipo de documento (DTD) como HTML e definir as regras da linguagem, então o documento pode ser interpretado pelo receptor. A vantagem é que qualquer aplicação que entenda XML entenderá um documento, porque a aplicação pode aprender as regras carregando o DTD.
Linguagens e Protocolos Vantagens do XML sobre o HTML O XML deve substituir o HTML no mundo dos browsers. O HTML não desaparecerá, mas se tornará somente uma das muitas possibilidades de documentos XML. A informação deverá ficar mais acessível e reutilizável devido à flexibilidade do XML. Provedores e autores de documentos podem criar seus próprios tipos de documento usando XML, e não estão restritos ao conjunto de marcação em HTML. Linguagens e Protocolos Localização de Documentos XML O XML pode ser processado em qualquer browser (ou qualquer outra aplicação de cliente) ou em um servidor Web. Processamento no servidor: permite compartilhar dados entre organizações, criar conteúdo dinâmico em um servidor Web, etc. Processamento no cliente: o browser (ou outro aplicativo) é responsável pela exibição do documento, é possível transformar XML em HTML no browser, etc.
Linguagens e Protocolos Aplicações XML Padrões criados pela W3C para simplificar o processamento de documentos: XSL (Extensible Style Language)? estilo. para definir folhas de SMIL (Synchronized Multimedia Integration Language)? para sincronizar qualquer tipo de mídia. RDF (Resource Description Framework)? foi especialmente desenvolvido para facilitar a troca de informações na Web. Linguagens e Protocolos Padrões de Estrutura XML O problema é que todas as organizações de padrões estão desenvolvendo diferentes padrões para as mesmas áreas. Portais que tentam definir padrões para o XML: www.xml.org? desenvolvido pela Oasis e voltado para fabricantes de software como IBM, Sun, Novell e Oracle. www.microsoft.com/biztalk? voltado para fabricantes de software de ERP, software de comércio eletrônico e provedores de serviço.
Linguagens e Protocolos Plug-ins Aos plug-ins são adições nos programas para browsers Web, que podem interagir com o browser, páginas Web, recursos na Internet e recursos locais. A razão pela qual os plug-ins se tornaram tão populares é que é uma forma fácil para estender a funcionalidade do browser Web, sem a necessidade de carregar um novo browser. Exemplos: Adobe Acrobat Reader, Macromedia Shockwave, Apple Quicktime, etc. Linguagens e Protocolos JavaScript Exemplo 1 Exemplo 2 É uma linguagem scripting muito compacta, orientada a objeto, independente de plataforma, dirigida a evento, e interpretada, que pode ser usada para desenvolver aplicações de Internet, aos quais podem residir no servidor ou no cliente. JavaScript foi desenvolvida pela Netscape.
Linguagens e Protocolos VisualBasic Scripts Foi desenvolvido pela Microsoft e é somente suportado pelo Internet Explorer. A maior vantagem do VBScript é a grande integração com o sistema operacional da Micro-soft, permitindo criar aplicações Web altamente sofisticadas. Linguagens e Protocolos JavaScript versus JScript O JavaScript foi desenvolvido pela Netscape. O JScript foi desenvolvido pela Microsoft. O JavaScript é o mais popular na Web. Existem diferenças entre as duas linguagens de scripting que podem causar problemas. Por exemplo, o JavaScript não é sensível, a letras minúsculas e maiúsculas para padrões de nomes de função, o JScript é.
Linguagens e Protocolos Introdução a ECMAScript Para solucionar o problema com a variedade de implementações JavaScript, ECMAScript foi desenvolvido como o novo padrão para scripting de browser. ECMAScript é baseado em várias tecnologias de scripting: JavaScript da Netscape e JScript da Microsoft. Pode ser executado no cliente e no servidor. Aprovado como padrão ISO/IEC 16262. Linguagens e Protocolos O Futuro do JavaScript O JavaScript nunca foi projetado para ser uma linguagem de programação de funções gerais. Sua força permanece na rápida execução de fonte, tornando-a uma linguagem viável para ser distribuída embutida nas páginas Web. Todas as novas características a serem imple-mentadas precisam manter a linguagem com-pacta e flexível.
Linguagens e Protocolos A (R)Evolução do E-business. Capítulos 3. Daniel Amor. Makron Books. 2000.