SlideShare una empresa de Scribd logo
1 de 125
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital Thiago Prado de Campos Aula 1 21/maio/2011
Programa Conceitos de Padrões, Padrões Abertos e Padrões Fechados. Entidades Padronizadoras de Tecnologias de Internet e Conteúdo Web. Arquitetura de Internet e Navegadores Padrões de Conteúdo de Documentos da Web HTML, XML, RSS, Sitemap, PNG, GIF, JPEG, SVG.
PADRÕES, LICENÇAS E ENTIDADES Introdução aos Padrões Web e Tecnologias para o Ambiente Digital
O que são Padrões? Padrão é um documento aprovado por um organismo reconhecido que provê, pelo uso comum e repetitivo, regras, diretrizes ou características de produtos, processos ou serviços cuja obediência não é obrigatória. Existem inúmeros exemplos de padrões em uso, cobrindo todas as áreas, desde a estabilidade térmica de fluidos hidráulicos até o tamanho de CDs ou DVDs.
Padrões Abertos Não há uma interpretação única para Padrões Abertos, mas em geral, costuma significar: Disponível publicamente para acesso e implementação; Não dependente de royalties ou quaisquer taxas; Costumam ser definidos por ampla participação de empresas, instituições e profissionais do mercado.
Padrões Abertos Algumas especificações podem estar disponíveis sob alguns termos contratuais restritivas quanto ao seu uso, definidos pela organização que detêm os direitos autorais sobre elas. Neste caso, dizemos que o padrão é parcialmente aberto. Exemplos: JPEG, DDR SDRAM, H.264
Padrões Abertos Exemplos de Padrões Abertos: Arquitetura da WWW http://www.w3.org/TR/webarch/ Peripheral Component Interconnect (PCI)  Especificação da Intel para conexão de computadores tipo IBM-PC. Formato de Documentos: ODF, OOXML, PNG, PDF Linguagens de Programação: C#, ANSI C
Padrões Abertos “os padrões abertos são importantes para ajudar a criar soluções interoperáveis e acessíveis para todos. Eles também promovem concorrência sadia através do campo técnico ao nível de todos os players de mercado. Isto significa baixo custo para as empresas e, finalmente, para o consumidor.” Erkki Liikanen, União Européia
Padrões Fechados Encontra-se na literatura também os termos “Padrões Proprietários” ou “Sistemas Fechados”. Possui aceitação pública generalizada mas não cumpre os requisitos para ser aberto. Podem ser formatos cujas especificações não estão publicamente disponíveis ou cobram royalties para implementação.
Padrões Fechados Software licenciado sob direito exclusivo do detentor do copyright. Ao titular da licença é dado o direito de usar o software sob certas condições, mas restrito de outros usos, tais como a modificação, distribuição complementar, ou engenharia reversa. Em geral são desenvolvidos por empresas privadas sem a participação da sociedade ou mercado.
Padrões Fechados Exemplos de Padrões Fechados Softwares: Microsoft Windows, Adobe Flash Player, Apple iTunes, MacOS, WinRAR, MySQL, Skype protocol
Padrões Fechados iTunes Music Store da Apple tem sido um padrão de fato no negócio da música online, ultrapassando em 2008 a Wal-Mart. É uma plataforma proprietária da Apple, em que baseia a sua oferta de meios de comunicação.
E Open Source (Código Aberto)? Descreve a prática de software desenvolvido de forma que permita que qualquer pessoa tenha acesso ao código do programa, mas seu desenvolvedor determina suas condições de uso. O acesso ao código fonte nem sempre significa que é permitido cópia, modificação e redistribuição.
E Open Source (Código Aberto)? Exemplos: Linguagens de Programação: PHP, Python Sistemas Operacionais: Linux, FreeBSD Aplicações para Web: Apache, Tomcat, MediaWiki, Drupal, Joomla, Wordpress, Moodle, Mozilla Firefox, OpenOffice.org, 7-ZIP Contra-Exemplo: Symbian http://symbian.nokia.com/blog/2011/04/04/not-open-source-just-open-for-business/
E Open Source (Código Aberto)? Vantagem do open source Facilita a compreensão do funcionamento do software e pode permitir contribuir com melhorias e correções.
E Software Livre? Software livre (free software) é um conceito de extrema importância no mundo da computação. Para estar nesta condição, o software precisa ter características atreladas a aspectos de liberdade. Pode-se dizer, portanto, que o software livre é um movimento social, que defende uma causa.
E Software Livre? A ideia começou a tomar forma em 1983, pelas mãos de Richard Stallman, que na época criou o GNU e, cerca de dois anos depois, fundou a Free Software Foundation (FSF).
Fundamentos do Software Livre Liberdade de executar o programa, para qualquer propósito; estudar como o programa funciona e adaptá-lo às suas necessidades (exige open source) distribuir cópias de forma que você possa ajudar ao seu próximo; liberdade de melhorar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie  (exige open source)
Software Livre vs. Open Source Todo Software Livre é open source. Nem todo programa open source é Software Livre. Exemplos: Mozilla Firefox é open source mas não é software livre. Ele usa a “Mozilla Public License” que diz que se um software teve fonte alterado terá que ser distribuído com outro nome.
Freeware (Software Gratuito) É um software que é disponibilizado sem custo. Não necessariamente é open source ou software livre.
Licenças Quando um software é criado, o desenvolvedor o associa a um documento que determina quais ações o utilizador pode ou não executar. Esta é a licença de software. Licenças: Copyright GNU Copyleft Creative Commons
Copyright © Também denominado direito autoral ou direitos de autor. São termos que definem as restrições  sobre acesso, uso e reprodução de obras literárias, artísticas ou científicas. Além do documento específico aplica-se o disposto na legislação em vigor a respeito.
Copyleft No caso, a palavra "left" faz alusão a um contexto mais generoso: enquanto o copyright dá mais foco nas restrições, o copyleft se baseia nas permissões.
GNU Public License (GPL) Licença criada pela FSF baseada nas liberdades que ela defende.  A GPL surgiu em 1989 e foi revisada em 1991 e 2007, estando atualmente na versão 3: http://www.gnu.org/licenses/gpl.html Um programa não necessita obrigatoriamente de uma licença GPL para ser um software livre. É possível o uso de outras licenças, desde que compatível com as liberdades em questão.
Creative Commons Idealizadas para permitir a padronização de declarações de vontade no tocante ao licenciamento e distribuição de conteúdos culturais em geral (textos, músicas, imagens, filmes e outros), de modo a facilitar seu compartilhamento e recombinação. http://creativecommons.org/licenses/?lang=pt
Creative Commons As licenças são disponibilizadas em 3 camadas: licença jurídica, legível por humanos e legível por máquinas. Isto é, o conteúdo é o mesmo mas com público diferente em cada formato.
Exercício Acesse e responda o questionário disponível em: http://bit.ly/pitagoras01
Organizações que criam/gerenciam padrões Existem organizações que através de processos bem definidos gerem a criação, disponibilização e continuidade de padrões. No contexto de Internet é importante conhecer algumas destas organizações, que trabalham para padronizar as tecnologias envolvidas com a grande rede mundial.
ISO – www.iso.org A Organização Internacional para Padronização (em inglês: InternationalOrganization for Standardization) aglomera os grêmios de padronização/normalização de 158 países.  Fundada em 23 de Fevereiro de 1947, em Genebra, Suíça, a ISO aprova normas internacionais em todos os campos técnicos, exceto na electricidade e eletrônica, cuja responsabilidade é da InternationalElectrotechnicalCommission (IEC).
ISO  - Exemplos ,[object Object]
 ISO 1000 Unidades SI e recomendações para o uso de seus múltiplos e de algumas outras unidades
 ISO 216 Formatos e dimensões de papel - série A e B
 ISO 639 Códigos para representação de nomes de línguas
 ISO 2108 ISBN - Sistema internacional de identificação de livros
 ISO 3166 Códigos de países e subdivisões
 ISO 4217 Códigos de moeda
 ISO 5218 Convenção numérica para representação de sexos
 ISO 8601 International Standard Date and Time Notation
 ISO 8859 Codificação de caracteres em fontes, as quais incluem o ASCII
 ISO 8879 Standard Generalized Markup Language (SGML)
 ISO 9000 Sistema de gestão da qualidade em ambientes de produção
 ISO 9899 A linguagem de programação C
 ISO 10006 Gestão da qualidade (aplicada em gestão de projetos)
 ISO 10646 Universal Character Set (equivalente ao Unicode)
 ISO 14000 Normas de gestão do ambiente em ambientes de produção
 ISO 14772 Virtual Reality ModellingLanguage VRML
 ISO 15930 Portable Document Format (PDF),[object Object]
IEEE – exemplos IEEE 802 - Os padrões IEEE 802 são referentes às redes locais e redes metropolitanas.  IEEE 1394 – Firewire  IEEE 829 — Software Test Documentation  IEEE 1284 — Parallel port  IEEE P1363 — Public key cryptography  IEEE 12207 — Information Technology – Ciclo de vida de um software
IEC - www.iec.ch A International Electrotechnical Commission ou Comissão Eletrotécnico Internacional (IEC) é uma organização internacional de padronização de tecnologias elétricas, eletrônicas e relacionadas.  Alguns dos seus padrões são desenvolvidos juntamente com a ISO.
IEC - Exemplos  ISO/IEC 12207 é a norma que define processo de desenvolvimento de software  ISO/IEC 15445 padroniza a descrição e processamento de documentos HTML  ISO/IEC 15504 também conhecida como SPICE, é uma evolução da ISO/IEC 12207  ISO/IEC 15948 define o PNG  ISO/IEC 16262 define o ECMAScript (javascript)  ISO/IEC 17799 é uma norma de Segurança da Informação  ISO/IEC 19501 define a Unified Modeling Language (UML)  ISO/IEC 23270 define a Linguagem de Programação C#  ISO/IEC 26300 define o OpenDocument (ODF)  ISO/IEC 27001 é um padrão para sistema de gerência da segurança da informação  ISO/IEC 29500 define o Office Open XML File (OOXML)
IETF – www.ietf.org A Internet Engineering Task Force é uma comunidade internacional ampla e aberta técnicos, agências, fabricantes, fornecedores, pesquisadores Missão: identificar e propor soluções a questões/problemas relacionados à utilização da Internet, além de propor padronização das tecnologias e protocolos envolvidos.  As recomendações da IETF são usualmente publicadas em documentos denominados RFCs (Request for Comments).
IETF – Exemplos RFC 793 - Transmission Control Protocol      RFC-822   Standard for ARPA Internet text messages  RFC-2045 MIME Part 1: Format of Internet Message Bodies  RFC-2046 MIME Part 2: Media Types  RFC-2047 MIME Part 3: Header Extensions for Non-ASCII Text  RFC-2048 MIME Part 4: Registration Procedures  RFC-2049 MIME Part 5: Conformance Criteria and Examples  RFC-2110 MIME E-mail Encapsulation of Aggregate Documents, such as HTML  RFC-2616 Hypertext Transfer Protocol -- HTTP/1.1  RFC-2821 Simple Mail Transfer Protocol  RFC-2854 The 'text/html' Media Type  RFC 3986 Uniform Resource Identifiers (URI)
Outros ABNT – www.abnt.org.br A  Associação Brasileira de Normas Técnicas (ABNT) é o órgão responsável pela normalização técnica no Brasil, fornecendo a base necessária ao desenvolvimento tecnológico brasileiro. A ABNT é a única e exclusiva representante no Brasil das entidades internacionais ISO e IEC. IANA – www.iana.org A Internet Assigned Numbers Authority é a organização mundial que funciona como a máxima autoridade na atribuição dos "números" na Internet. Entre os quais estão os números das portas e os endereços IP. Ela mantém uma estreita ligação com o IETF no cumprimento desta função.
W3C – www.w3c.org O World Wide Web Consortium é um consórcio de empresas de tecnologia, atualmente com cerca de 500 membros.  Fundado por Tim Berners-Lee em 1994 para levar a Web ao seu potencial máximo. O W3C desenvolve padrões para a criação e a interpretação dos conteúdos para a Web.
W3C – www.w3c.org As recomendações do W3C são desenvolvidas por grupos de trabalho formados por membros do Consórcio e experts convidados.  Os grupos de trabalho criam esboços e propostas de recomendações , baseados em um consenso comum de companhias e organizações interessadas na criação de aplicações Web. Estas são então submetidas à apreciação dos membros do W3C e seu diretor para aprovação formal como uma Recomendação.
W3C – Ciclo de Vida Recommendation Proposed to Recommendation Candidate for Recommendation Last Call for Working Draft Working Draft http://www.w3.org/Consortium/Process/
W3C – Ciclo de Vida Cria-se um Working Group para discussão sobre um assunto. O grupo propõe uma recomendação, através de um Working Draft O Working Draft pode sofrer alterações conforme contribuições recebidas. Quando o grupo achar conveniente, publica um Last Call for Working Draft, como sendo última oportunidade de opinar sobre o rascunho Após todos darem suas últimas contribuições o documento é convertido para Candidate Recommendation.  É uma versão estável do WD. Ela é proposta para a comunidade experimentar sua implementação e dar feedbacks. Aqui acontece o Call for Implementation, para apresentação das implementações Após os feedbacks e experiência, o documento passa ao status de Proposed Recommendation e é submetido a um comitê consultivo para revisão. Após aprovação pelo comitê, finalmente, o documento é então publicado como Recommendation.
W3C – Outros Docs A W3C, através dos Working Groups e colaboradores também publica outros tipos de documentos: Artigos – podem ser do tipo Quality Assurance (ex.: My Web site is standard! And yours?), FAQs (Ex.: HTML and XHTML Frequently Answered Questions) ou informativos diversos. Interest Group Note – tutoriais (Ex.: Tableless layout HOWTO), guias e diretrizes (Ex.: HTML 4.0 Guidelines for Mobile Access), etc.
Exercício Acesse e responda o questionário publicado em: http://bit.ly/pitagoras02
Infraestrutura de internet e navegadores Introdução aos Padrões Web e Tecnologias para o Ambiente Digital
Internet / Início Militar A Internet é uma rede antiga, com quase 40 anos.  Até o ex-presidente de Cuba, Fidel Castro teve importante papel no seu surgimento. Na década de 60, os Estados Unidos tinham uma real possibilidade de ataque nuclear através de Cuba. Desta forma, a interligação das bases militares em rede foi a principal estratégia norte-americana para se defender de um possível ataque. Na hipótese de uma base ser atingida, a comunicação entre as demais permaneceria possível. Essa rede era a ARPANET (AdvancedResearch Project Agency Network). A rede interligou várias computadores de bases militares, universidades e centros de pesquisas envolvidos.
Internet / Amadurecimento acadêmico A principal utilidade da Arpanet era a troca de mensagens de correio eletrônico e arquivos. Isso despertou o interesse dos demais departamentos das universidades e a rede foi se expandindo. Na década de 80, a NSFNET (rede nacional de pesquisa dos EUA) também se conectou à Arpanete outras cinco grandes centros regionais de supercomputação. A NSFNET e a ARPANET seriam os dois primeiros backbones da Internet. Outras redes foram então se conectando, como a USENET, a Bitnet, a EARN e diversas redes BBS. Acessar e operar os recursos da Internet nesta época era algo restrito à acadêmicos e exigiam muito conhecimento de Unix, shells e comandos de e-mail e ftp.
Internet / Expansão Comercial Em 1992, num laboratório de Física, em Genebra na Suíça, Tim Berners-Lee criou o World Wide Web. O modelo inicialmente foi aplicado no CERN (Centre European pour la Recherche Nucleaire) que possuía laboratórios distribuídos por  várias cidades em 19 países da Europa. A informação, que se perdia diariamente foi organizada e distribuída através de documentos hipertexto. O primeiro navegador gráfico foi o X-Mosaic, desenvolvido no NCSA (Centro Nacional de Supercomputação da Universidade de Illinois), inicialmente para Unix. Depois, portado para Windows e Macintosh, onde então se popularizou para mais usuários.
Internet / Expansão Comercial Nesta época, a NSFNET já tinha se entregue à iniciativa privada e provedores de acesso e informação comerciais se multiplicaram, oferecendo às pessoas comuns o mesmo acesso que antes só tinham as grandes organizações e o meio acadêmico. Os criadores do Mosaic (entre eles Marc Andreesen), deixaram a universidade e fundaram uma empresa: a Netscape. Daí por diante, a Web evoluiu e o próprio movimento do mercado propiciou sua expansão através de grandes, médias, pequenas empresas e profissionais autônomos.
Internet / Explosão Social No século XXI, com a invasão da Internet nas casas, muita gente mergulhou de cabeça na grande rede mundial. O surgimento de novas aplicações e conteúdos  atraentes à todas as faixas etárias (principalmente crianças e jovens) formaram uma cultura na qual a comunicação através da Internet já é adotada de forma comum pela nova geração.  Estamos num ponto onde a Internet já passa a fazer parte do dia-a-dia das pessoas: pesquisa de trabalhos escolares, comunicação com amigos e parentes, diversão, trabalho, obrigações sociais e interoperabilidade com outras tecnologias são exemplos de fatores que trouxeram a Internet para um ponto no qual não há mais regresso.
Arquitetura Cliente/Servidor Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores.  Cada instância de um cliente pode enviar requisições de dados para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponíveis pode aceitar tais requisições, processá-las e retornar o resultado para o cliente.
Características do Cliente ,[object Object]
Inicia requisições
Espera para receber respostas
Normalmente, conecta-se à um número pequeno de servidores ao mesmo tempo
Comumente Interage diretamente com usuário final usando uma interface gráfica,[object Object]
É passivo (escravo)
Espera por requisições dos clientes
Após receber requisições, processa e então envia respostas
Normalmente aceita conexões de um grande número de clientes
Comumente não interage diretamente com usuários finais,[object Object]
Cliente-Servidor / Exemplos
Serviços de Internet Web não é Internet! A Internet possui diversos serviços. A World Wide Web (conhecido também como Web) é o nome do serviço mais popular da Internet. Por esse motivo, é freqüentemente confundida com a própria Internet. Internet é o nome dado ao conjunto de computadores, provedores de acesso, satélites, cabos e serviços que formam uma rede mundial baseada em uma coleção de protocolos de comunicação conhecidas como TCP/IP.
Serviços de Internet PROTOCOLOS É através de protocolos de comunicação que um computador pode se comunicar com outro através de uma linha telefônica ou placa de rede sem que o usuário precise se preocupar em saber qual o meio físico que está sendo utilizado. TCP/IP é um conjunto de protocolos padrão que foi adotado como ‘língua oficial’ da Internet.
Como Funciona o TCP/IP servidor cliente mensagem segmento datagrama quadro/frame
Como Funciona o TCP/IP Camada 4 – Protocolos de Aplicação oferecem serviços de acesso remoto (telnet), e-mail (POP e SMTP), transferência de arquivos (FTP), serviço de nomes (DNS), serviço web (HTTP), entre outros. Lidam com a comunicação aparente entre duas aplicações rodando em computadores diferentes. Camada 3 – Protocolos de Transporte realiza a transferência dos dados organizados em pacotes de uma máquina para outra. Pode ser confiável (TCP) ou não confiável (UDP).
Como Funciona o TCP/IP Camada 2 – Protocolos de Nível de Internet identificam as máquinas e pacotes através de endereços IP de origem e destino.  Camada 1 – Protocolos de Camada Rede/Física interfaceia e realiza a transmissão dos dados através da linha telefônica, placas e cabos de rede, etc.
Endereço de Internet (IP) O Protocolo IP (Internet Protocol) é um dos mais importantes no TCP/IP. Ele define a forma de endereçamento que permite a localização de um computador na Internet, através de um conjunto de dígitos chamado de endereço IP.  Qualquer máquina acessível através da Internet tem um endereço IP exclusivo, podendo ser temporário ou permanente.
Endereço de Internet (IP) Computadores que hospedam páginas Web e que oferecem outros serviços de internet precisam de um endereço IP, para que você possa localizá-los a qualquer hora.  O endereço IP do site da UTFPR (www.utfpr.edu.br) é 200.19.73.171. O endereço IP do servidor que hospeda o site www.thiagotpc.com é 201.76.50.86.
Serviço de Nomes de Domínio (DNS) Para facilitar o acesso aos computadores da Internet e evitar a necessidade de se decorar números IP é que foi criado o DNS.  Este serviço guarda tabelas que associam o nome de uma máquina ou de uma rede à um endereço IP. Quando você digita o nome de uma máquina no seu navegador, o browser primeiro tenta localizá-lo consultando uma outra máquina (cujo IP o navegador já conhece) que oferece o serviço de nomes. Se esse serviço de nomes falhar, o navegador não conseguirá o número IP que precisa e assim não localizará a máquina correspondente.
Portas Uma mesma máquina pode oferecer vários serviços, desde que em portas diferentes, como um prédio de escritórios. As portas são identificadas por números e para facilitar, várias portas para determinados serviços foram padronizadas. Para ter acesso a um serviço, é preciso que a aplicação cliente saiba conversar na língua de uma aplicação servidora.  Como são portas padronizadas, um cliente muitas vezes só precisa saber o nome ou endereço IP da máquina que tem determinado serviço. É o que ocorre com os navegadores.
Web A World Wide Web é um serviço TCP/IP baseado no protocolo de nível de aplicação HTTP (HyperText Transfer Protocol – Protocolo de Transferência de Hipertexto).  É o meio virtual formado  pelos servidores HTTP (servidores web),  clientes HTTP (navegadores) e  protocolo HTTP (regras de comunicação entre cliente e servidor).
Hipertexto É uma forma não-linear de publicação de informações onde palavras que aparecem no texto podem levar a outras seções de um documento, outros documentos ou até outros sistemas de informação, fugindo da estrutura linear original de um texto simples.  O hipertexto baseia-se em ligações entre dois pontos, chamados de âncoras. As ligações entre as âncoras são chamadas de vínculos (links).  Para Web, escolheu-se como linguagem declarativa de hipertextos o HTML (HyperText Markup Language).
Hipertexto
Servidor Web O serviço HTTP funciona de forma semelhante ao serviço FTP (File Transfer Protocol – protocolo de transferência de arquivos), oferecendo aos seus clientes um conjunto de arquivos e recursos que podem ser transferidos para seus programas clientes que o interpretam e exibem ao usuário. Servidores Web mais comuns:  APACHE (para Linux) e  IIS (para Windows)
URI - UniformResourceIdentifier É um endereço que sintaticamente representa um recurso presente na Internet. Contém duas informações essenciais: COMO transferir o objeto (o protocolo) e  ONDE encontrá-lo (máquina, porta e caminho virtual) Sintaxe: protocolo://maquina:porta/caminho/recurso Exemplos: http://www.thiagotpc.com/arquivos/curriculo.pdf http://intranet:8081/pedidos ftp://usuario:senha@maquina.com/pub/arquivo.doc mailto:contato@thiagotpc.com
Protocolo HTTP - códigos Toda requisição HTTP recebe um cabeçalho de resposta, que contém um Código e uma Frase, pelo menos. O elemento Status-Code é um código de inteiro de 3 dígitos do resultado da tentativa do servidor em entender e processar a requisição (request).  Estes códigos são definidos em detalhes na seção 10 da RFC 2616. A Reason-Phrase visa fornecer uma breve descrição textual do Status-Code. O Status-Code é voltado para a interpretação automatizada (programa cliente) e a Reason-Phrase é voltada para o usuário humano. O cliente HTTP não precisa necessariamente examinar ou exibir a Reason-Phrase.
Protocolo HTTP - códigos O primeiro dígito do Status-Code define a classe da resposta. Os 2 dígitos finais definem um significado específico.  1xx: Informacional - Requisição recebida, processo continua; 2xx: Sucesso - recebida, compreendida e aceita com sucesso; 3xx: Redirecionamento (Transitório) - Deve haver ação consecutiva para que a requisição seja completada; 4xx: Erro Cliente - A requisição enviada pelo cliente contém sintaxe errada ou não pode ser atendida; 5xx: Erro Servidor - O servidor falhou em atender requisição aparentemente válida. Erros e exceções em programas (Java, .NET, PHP etc.) e servidores são casos típicos destes erros.
Protocolo HTTP - códigos 100 - Continue  101 - Switching Protocols  200 - OK 201 - Created 202 - Accepted 203 - Non-Authoritative Information  204 - No Content 205 - Reset Content  206 - Partial Content  300 - Multiple Choices  301 - Moved Permanently 302 - Found, Moved Temporarily 303 - See Other  304 - Not Modified 305 - Use Proxy  307 - Temporary Redirect  400 - Bad Request 401 - Unauthorized 402 - Payment Required  403 - Forbidden 404 - Not Found 405 - Method Not Allowed  406 - Not Acceptable  407 - Proxy Authentication Required  408 - Request Time-out  409 - Conflict  410 - Gone  411 - Length Required  412 - Precondition Failed  413 - Request Entity Too Large  414 - Request-URI Too Large  415 - Unsupported Media Type  416 - Requested range not satisfiable 417 - Expectation Failed  500 - Internal Server Error 501 - Not Implemented 502 - Bad Gateway 503 - Service Unavailable 504 - Gateway Time-out  505 - HTTP Version not supported
Navegador (browser) É um programa que serve de interface universal a todos os serviços que podem ser oferecidos via Web. Ele é um cliente HTTP. A principal função do navegador é ler e exibir o conteúdo de uma página. Navegadores podem ser usados para abrir páginas armazenadas localmente no computador. Neste caso, não estão atuando como clientes HTTP e sim como interpretadores de arquivos hipertexto.
Navegador (browser) precisam interpretar vários tipos de arquivos que são enviados para ele pelo servidor web: arquivos em formato de texto, como HTML, XML, CSS, XSL, SVG, Javascript etc.;  arquivos binários, como imagens GIF, JPG, PNG, e programas Java, Flash, dentre outros.  Quando envia o arquivo o servidor web informa ao navegador o tipo MIME do arquivo. Código ASP, PHP, .net, Java, Python, ColdFusion não é interpretado pelo navegador.
Nestcape Navigator Início: 15/dez/1994 Dominou o marketshare de navegadores nos anos 90 e praticamente sucumbiu em 2002. Sua última versão foi o Netscape Navigator 9, lançado em 2007.  Em Dez/2007, foi anunciado o fim do projeto. O suporte ao navegador foi prestado pela AOL até Fev/2008.
Internet Explorer Início: ago/1995 Domina atualmente o marketshare de navegadores. A última versão estável é a 9 (fev/2011). Atualmente a versão 10 está em desenvolvimento.
Firefox Início: 9/nov/2004 Baseado no motor open-source Gecko desenvolvido pela fundação Mozilla. Hoje tem a segunda colocação do marketshare de navegadores. A última versão estável é a 4.0.
Opera Início: 1996 É um dos navegadores mais aderentes aos padrões web e popular em dispositivos móveis (OperaMini). Proprietário. A última versão estável é a 11.1.
Safari Início: 23/jun/2003 Baseado no motor KHTML opensource, é desenvolvido pela Apple e tem grande uso no sistema operacional Mac, no iPad, iPod e iPhone.  A última versão estável é a 5.0.
Chrome Início: Set/2008 É o navegador  mantido pelo Google. O mais caçula dentre eles. Sua atual versão é a 11.0.
Market share de Navegadores http://gs.statcounter.com/#browser-ww-monthly-200812-201105
Exercício Acesse e responda o questionário disponível em http://bit.ly/pitagoras03
Camadas e tecnologias de conteúdo para web Introdução aos Padrões Web e Tecnologias para o Ambiente Digital
Desenvolvimento Web SERVIDOR CLIENTE CLIENTE CLIENTE CLIENTE
Desenvolvimento Web Sistema Operacional Windows, Linux, FreeBSD Servidor Web IIS, Apache, Tomcat Banco de Dados SQL Server, Oracle, MySQL, PostgreSQL Linguagem de Programação Perl, ASP, ASP.NET, PHP, Java, Python, Ruby, Coldfusion
Sistema Operacional Plataforma que será utilizada no servidor que hospedará o site. É ele que permite utilização do servidor web, de banco de dados e linguagem de programação. Opções: Linux: software livre Windows: software proprietário
Servidor Web Servidor que se comunicará com os clientes web (navegadores) atendendo as solicitações de páginas e envio de informações por formulários. Opções mais comum: Apache (para Linux e Windows), Software Livre IIS (somente Windows), Proprietário Tomcat (Linux e Windows), Software Livre
Banco de Dados Serviço que armazenará tabelas com registros de informações sobre o site, como usuários, produtos, pedidos, etc. Opções mais comuns: MySQL, opensource, Windows e Linux PostgreSQL, Software Livre, Window s e Linux MS SQL Server, proprietário, somente Windows
Linguagem de Programação Tecnologia que irá tratar as informações enviadas pelos navegadores podendo armazená-las ou recuperá-las do banco de dados, enviar e-mails, etc. Opções disponíveis: Java, PHP, Python, Ruby, Perl - livres C# (.net) – open source VBScript (ASP), Visual Basic.net  - proprietárias
Linguagem de Programação Linguagens de programação mais populares e mais utilizadas no mundo: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html http://langpop.com/
Desenvolvimento Web Conteúdo HTML, XML, JSON, SVG, ..., Imagens (JPEG, GIF, PNG) Apresentação CSS, Imagens (JPEG, GIF, PNG) Comportamento Javascript Tudo em 1 Flash, Silverlight, Java, Objective-C
Desenvolvimento Web
Desenvolvimento em Camadas Conteúdo Camada responsável pela informação. A mais importante. Formatos: HTML, XML, SVG, MATHML, etc. Apresentação Camada responsável por apresentar o conteúdo ao usuário, através do navegador, impressora ou leitor de tela. Formato: CSS Comportamento Responsável em controlar o comportamento do conteúdo e da apresentação conforme interação realizada pelo usuário. Formato: Ecmascript (javascript) HTML, CSS e EcmaScript são livres e interpretados por qualquer navegador. 92
Tudo em 1 Java (applets), Flash Movie, Silverlight, Objective-C Prós: Geralmente possuem um bom ambiente de desenvolvimento (IDE); Contra: Não são padrões livres; Não provém boa acessibilidade. Necessita de algo a mais no navegador. 93
Conteúdo para Web A camada de conteúdo É A MAIS IMPORTANTE! A principal tecnologia utilizada na camada de conteúdo é a HTML, que estudaremos com maiores detalhes a seguir.
HTML HyperTextMarkupLanguage HTML é a linguagem para descrever a estrutura de páginas web. Possibilita aos autores: Publicar documentos on-line com títulos, texto, tabelas, listas, fotos, etc. Recuperar informação on-line através de links de hipertexto, com o clique de um botão. Criar formulários para a realização de transações com serviços remotos, para uso em busca de informações, fazer reservas, encomenda de produtos, etc Incluir planilhas, clips de vídeo, clips de som e outras aplicações diretamente em seus documentos. Com a HTML, os autores descrevem a estrutura das páginas usando a marcação. Os elementos da linguagem são rótulo de conteúdo, tais como “parágrafo", "lista", “tabela", e assim por diante. 95
LinguagemMarcação versus Programação Criada para expressar uma computação que pode ser executada por uma máquina, particularmente, um computador. São usadas para criar programas que controlam o comportamento de uma máquina. Python, PHP, Java, Javascript Criada para transformar texto puro em um documento estruturado. Também pode ser usada para transformar dados em objetos estruturados, como imagens, músicas, espaços 3D, etc. HTML, SVG, VRML, MathML, RTF, LaTex 96
Versões da HTML para hoje! HTML 1 – criado entre 1990-1991, por Tim Berners Lee HTML 2 – lançada em 1995 pela IETF HTML 3 – não foi aprovada HTML 3.2 – lançada em 1997 pela W3C HTML 4 – em 1999, pela W3C XHTML 1 – em 2000, trata-se do HTML4 em XML XHTML 1.1 – recomendação somente em nov/2010 XHTML 2 – abandonada em 2009 HTML 5 – em desenvolvimento desde 2007. 97
Versões da HTML para hoje! HTML 1 – criado entre 1990-1991, por Tim Berners Lee HTML 2 – lançada em 1995 pela IETF HTML 3 – não foi aprovada HTML 3.2 – lançada em 1997 pela W3C HTML 4 – em 1999, pela W3C XHTML 1 – em 2000, trata-se do HTML4 em XML XHTML 1.1 – recomendação somente em nov/2010 XHTML 2 – abandonada em 2009 HTML 5 – em desenvolvimento desde 2007. 98
HTML 5 Descontente com o que estavam acompanhando no WorkingGroup do XHTML2, fabricantes de navegadores se reuniram em 2004 e fundaram a WHATWG (Apple, Mozilla, Opera). Adobe e Microsoft inicialmente ficaram de fora. O objetivo do HTML5 é tornar os navegadores capazes de rodar aplicativos sob plataforma web. Mas envolve também solução para outros problemas: Áudio e Vídeo sem necessidade de plugins Banco de dados local
Os Players desta Guerra Microsoft ($ 39 bi / 93 mil empregados) Detêm 60% do mercado de usuários de browsers com o Internet Explorer Possui tecnologia proprietária, Silverlight, concorrente do Flash Atualmente apóia HTML5 e diz implementar no IE9 7% do mercado de smartphones Google ($ 36 bi / 20 mil empregados) Parceiro no Webkit, no qual baseia-se o Chrome (7%) Apóia HTML 5 desde o início 10% do mercado de smartphones
Os Players desta Guerra Apple ($ 31 bi / 34 mil empregados) Parceira majoritária no Webkit, fonte para iPhone e Safari (5%). 15% do mercado de smartphones Apóia HTML5 por estar envolvida no Webkit Recentemente “ficou de mal” com a Adobe/Flash Adobe ($ 4 bi / 8.600 empregados) Não produz navegador, mas usa o WebKit para renderizarAdobeAIR Produz o Flash (fechado, proprietário), multiplataforma Mas que consome muitos recursos no MacOS
Os Players desta Guerra Opera ($ 1 bi / 750 empregados) Desenvolve o Opera Browser (3% - PCs + Mobile) Foco principal: browser para smartphones, compatível com Iphones, Android, Windows Mobile (mini), Symbian (44%) e Blackberry (19%) Mozilla Corporation (< $ 1bi / 250 empregados) Produz o Firefox (24%) Apóia HTML5 desde o início

Más contenido relacionado

La actualidad más candente

Open Source Vantagens E Beneficios - By Softelabs
Open Source   Vantagens E Beneficios - By SoftelabsOpen Source   Vantagens E Beneficios - By Softelabs
Open Source Vantagens E Beneficios - By SoftelabsFrancisco Gonçalves
 
Software Livre e Open Source
Software Livre e Open SourceSoftware Livre e Open Source
Software Livre e Open SourceMarcelo Lira
 
Acessibilidade em Aplicações Web
Acessibilidade em Aplicações WebAcessibilidade em Aplicações Web
Acessibilidade em Aplicações WebSofia Costa
 
Ficha de trabalho_1_bruno_crespim
Ficha de trabalho_1_bruno_crespimFicha de trabalho_1_bruno_crespim
Ficha de trabalho_1_bruno_crespimcrespim89
 
Como escolher um CMS Open-Source?
Como escolher um CMS Open-Source?Como escolher um CMS Open-Source?
Como escolher um CMS Open-Source?Simples Consultoria
 
Ficha de trabalho1 software_open_sorce
Ficha de trabalho1 software_open_sorceFicha de trabalho1 software_open_sorce
Ficha de trabalho1 software_open_sorcebaglungekanchi
 
Flisol 2011 O Mercado e a Revolução do Software Livre
Flisol 2011 O Mercado e a Revolução do Software LivreFlisol 2011 O Mercado e a Revolução do Software Livre
Flisol 2011 O Mercado e a Revolução do Software LivreKleber Silva
 
Software livre e Empresas
Software livre e EmpresasSoftware livre e Empresas
Software livre e Empresasvascomcgalvao
 
Software livre: por que usar? (oficial)
Software livre: por que usar? (oficial)Software livre: por que usar? (oficial)
Software livre: por que usar? (oficial)José Nascimento
 
Web 2 0 - Apresentação de Slides UCPEL
Web 2 0 - Apresentação de Slides UCPELWeb 2 0 - Apresentação de Slides UCPEL
Web 2 0 - Apresentação de Slides UCPELggmello
 
Modelos de negocio em Open Source
Modelos de negocio em Open SourceModelos de negocio em Open Source
Modelos de negocio em Open SourceCezar Taurion
 

La actualidad más candente (19)

Open Source Vantagens E Beneficios - By Softelabs
Open Source   Vantagens E Beneficios - By SoftelabsOpen Source   Vantagens E Beneficios - By Softelabs
Open Source Vantagens E Beneficios - By Softelabs
 
Ficha de trabalho_1
Ficha de trabalho_1Ficha de trabalho_1
Ficha de trabalho_1
 
Software Livre e Open Source
Software Livre e Open SourceSoftware Livre e Open Source
Software Livre e Open Source
 
slidesuab
slidesuabslidesuab
slidesuab
 
Acessibilidade em Aplicações Web
Acessibilidade em Aplicações WebAcessibilidade em Aplicações Web
Acessibilidade em Aplicações Web
 
Trabalho Do Open Source
Trabalho Do Open SourceTrabalho Do Open Source
Trabalho Do Open Source
 
Ficha de trabalho_1_bruno_crespim
Ficha de trabalho_1_bruno_crespimFicha de trabalho_1_bruno_crespim
Ficha de trabalho_1_bruno_crespim
 
Como escolher um CMS Open-Source?
Como escolher um CMS Open-Source?Como escolher um CMS Open-Source?
Como escolher um CMS Open-Source?
 
Software open source
Software open sourceSoftware open source
Software open source
 
Ficha de trabalho1 software_open_sorce
Ficha de trabalho1 software_open_sorceFicha de trabalho1 software_open_sorce
Ficha de trabalho1 software_open_sorce
 
Flisol 2011 O Mercado e a Revolução do Software Livre
Flisol 2011 O Mercado e a Revolução do Software LivreFlisol 2011 O Mercado e a Revolução do Software Livre
Flisol 2011 O Mercado e a Revolução do Software Livre
 
Software livre e Empresas
Software livre e EmpresasSoftware livre e Empresas
Software livre e Empresas
 
Software Livre nas Empresas
Software Livre nas EmpresasSoftware Livre nas Empresas
Software Livre nas Empresas
 
Ficha de trabalho 1
Ficha de trabalho 1Ficha de trabalho 1
Ficha de trabalho 1
 
Aula Ciberjornalismo 3b
Aula Ciberjornalismo 3bAula Ciberjornalismo 3b
Aula Ciberjornalismo 3b
 
Software livre: por que usar? (oficial)
Software livre: por que usar? (oficial)Software livre: por que usar? (oficial)
Software livre: por que usar? (oficial)
 
Web 2 0 - Apresentação de Slides UCPEL
Web 2 0 - Apresentação de Slides UCPELWeb 2 0 - Apresentação de Slides UCPEL
Web 2 0 - Apresentação de Slides UCPEL
 
Modelos de negocio em Open Source
Modelos de negocio em Open SourceModelos de negocio em Open Source
Modelos de negocio em Open Source
 
Open Source
Open SourceOpen Source
Open Source
 

Similar a Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 01 - 21-05-2011

Fundamentos da Linguagem Digital - Módulo 01
Fundamentos da Linguagem Digital - Módulo 01Fundamentos da Linguagem Digital - Módulo 01
Fundamentos da Linguagem Digital - Módulo 01midiasdigitais
 
O Que E Software Livre
O Que E Software LivreO Que E Software Livre
O Que E Software LivreFreedom DayMS
 
Trabalho De Informatica
Trabalho De InformaticaTrabalho De Informatica
Trabalho De Informaticaguest77321e
 
Software livre: Por que usar?
Software livre: Por que usar?Software livre: Por que usar?
Software livre: Por que usar?UNIEURO
 
Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open SourceDiogo Silva
 
Resenha Producao de Software: Software Livre / Código Aberto
Resenha Producao de Software: Software Livre / Código AbertoResenha Producao de Software: Software Livre / Código Aberto
Resenha Producao de Software: Software Livre / Código Abertoantonio sérgio nogueira
 
Pequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivrePequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivreMauro Tapajós
 
Oficina inpe sadeck
Oficina inpe sadeckOficina inpe sadeck
Oficina inpe sadeckLuis Sadeck
 
Engenharia de software categorias de software
Engenharia de software   categorias de softwareEngenharia de software   categorias de software
Engenharia de software categorias de softwareFernando Gomes Chaves
 
Ficha de trabalho [1] - Software open source
Ficha de trabalho [1] - Software open sourceFicha de trabalho [1] - Software open source
Ficha de trabalho [1] - Software open sourcenunesgilvicente
 
Ficha de trabalho so 1 m4 resolução
Ficha de trabalho so 1 m4  resoluçãoFicha de trabalho so 1 m4  resolução
Ficha de trabalho so 1 m4 resoluçãofilipereira
 
APRESENTAÇÃO TRABALHO II
APRESENTAÇÃO TRABALHO IIAPRESENTAÇÃO TRABALHO II
APRESENTAÇÃO TRABALHO IIguest0f20e6
 
Apresentação sobre Software Livre
Apresentação sobre Software LivreApresentação sobre Software Livre
Apresentação sobre Software Livreguest6855c7
 
Apresentação sobre Software Livre
Apresentação sobre Software LivreApresentação sobre Software Livre
Apresentação sobre Software Livreguest6855c7
 
Juventude conectada pspb
Juventude conectada pspbJuventude conectada pspb
Juventude conectada pspbOsvaldo Filho
 
Desenvolvendo com Java Open Source
Desenvolvendo com Java Open SourceDesenvolvendo com Java Open Source
Desenvolvendo com Java Open Sourcearmeniocardoso
 

Similar a Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 01 - 21-05-2011 (20)

Fundamentos da Linguagem Digital - Módulo 01
Fundamentos da Linguagem Digital - Módulo 01Fundamentos da Linguagem Digital - Módulo 01
Fundamentos da Linguagem Digital - Módulo 01
 
O Que E Software Livre
O Que E Software LivreO Que E Software Livre
O Que E Software Livre
 
Trabalho De Informatica
Trabalho De InformaticaTrabalho De Informatica
Trabalho De Informatica
 
Software livre: Por que usar?
Software livre: Por que usar?Software livre: Por que usar?
Software livre: Por que usar?
 
O que é Software Livre
O que é Software LivreO que é Software Livre
O que é Software Livre
 
Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open Source
 
Resenha Producao de Software: Software Livre / Código Aberto
Resenha Producao de Software: Software Livre / Código AbertoResenha Producao de Software: Software Livre / Código Aberto
Resenha Producao de Software: Software Livre / Código Aberto
 
cbg_03-2014_softlivre
cbg_03-2014_softlivrecbg_03-2014_softlivre
cbg_03-2014_softlivre
 
Pequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivrePequena Apostila sobre Software Livre
Pequena Apostila sobre Software Livre
 
Oficina inpe sadeck
Oficina inpe sadeckOficina inpe sadeck
Oficina inpe sadeck
 
Engenharia de software categorias de software
Engenharia de software   categorias de softwareEngenharia de software   categorias de software
Engenharia de software categorias de software
 
Ficha de trabalho [1] - Software open source
Ficha de trabalho [1] - Software open sourceFicha de trabalho [1] - Software open source
Ficha de trabalho [1] - Software open source
 
Apresentação Software Livre
Apresentação Software LivreApresentação Software Livre
Apresentação Software Livre
 
Ficha de trabalho so 1 m4 resolução
Ficha de trabalho so 1 m4  resoluçãoFicha de trabalho so 1 m4  resolução
Ficha de trabalho so 1 m4 resolução
 
APRESENTAÇÃO TRABALHO II
APRESENTAÇÃO TRABALHO IIAPRESENTAÇÃO TRABALHO II
APRESENTAÇÃO TRABALHO II
 
Apresentação sobre Software Livre
Apresentação sobre Software LivreApresentação sobre Software Livre
Apresentação sobre Software Livre
 
Apresentação sobre Software Livre
Apresentação sobre Software LivreApresentação sobre Software Livre
Apresentação sobre Software Livre
 
Juventude conectada pspb
Juventude conectada pspbJuventude conectada pspb
Juventude conectada pspb
 
Software livre
Software livre Software livre
Software livre
 
Desenvolvendo com Java Open Source
Desenvolvendo com Java Open SourceDesenvolvendo com Java Open Source
Desenvolvendo com Java Open Source
 

Más de MBA em Marketing Digital e Gestão de Projetos Web

Más de MBA em Marketing Digital e Gestão de Projetos Web (20)

Aula 02 - Planejamento de Marketing Digital e Tópicos de Mobile Marketing - t...
Aula 02 - Planejamento de Marketing Digital e Tópicos de Mobile Marketing - t...Aula 02 - Planejamento de Marketing Digital e Tópicos de Mobile Marketing - t...
Aula 02 - Planejamento de Marketing Digital e Tópicos de Mobile Marketing - t...
 
Aula 01 - Planejamento de Marketing Digital e Tópicos de Mobile Marketing - t...
Aula 01 - Planejamento de Marketing Digital e Tópicos de Mobile Marketing - t...Aula 01 - Planejamento de Marketing Digital e Tópicos de Mobile Marketing - t...
Aula 01 - Planejamento de Marketing Digital e Tópicos de Mobile Marketing - t...
 
Logistica aplicada ao e-business - aula 1 - turma 01 e 02
Logistica aplicada ao e-business - aula 1 - turma 01 e 02Logistica aplicada ao e-business - aula 1 - turma 01 e 02
Logistica aplicada ao e-business - aula 1 - turma 01 e 02
 
Cibercultura e redes sociais - aula 04 - turma 03
Cibercultura e redes sociais - aula 04 - turma 03Cibercultura e redes sociais - aula 04 - turma 03
Cibercultura e redes sociais - aula 04 - turma 03
 
Cibercultura e redes sociais - aula 03 - turma 03
Cibercultura e redes sociais - aula 03 - turma 03Cibercultura e redes sociais - aula 03 - turma 03
Cibercultura e redes sociais - aula 03 - turma 03
 
Comércio Eletrônico e Métodos de pagamento on line - aula 03 - turma 01 e 02
Comércio Eletrônico e Métodos de pagamento on line - aula 03 - turma 01 e 02Comércio Eletrônico e Métodos de pagamento on line - aula 03 - turma 01 e 02
Comércio Eletrônico e Métodos de pagamento on line - aula 03 - turma 01 e 02
 
Cibercultura e redes sociais - aula 02 - turma 03
Cibercultura e redes sociais  - aula 02 - turma 03Cibercultura e redes sociais  - aula 02 - turma 03
Cibercultura e redes sociais - aula 02 - turma 03
 
Cibercultura e Redes sociais - aula 01 - turma 03
Cibercultura e Redes sociais - aula 01 - turma 03Cibercultura e Redes sociais - aula 01 - turma 03
Cibercultura e Redes sociais - aula 01 - turma 03
 
Comércio Eletrônico e Métodos de pagamento on line - Aula 02
Comércio Eletrônico e Métodos de pagamento on line - Aula 02Comércio Eletrônico e Métodos de pagamento on line - Aula 02
Comércio Eletrônico e Métodos de pagamento on line - Aula 02
 
Comércio Eletrônico e Métodos de pagamento on line - Aula 01
Comércio Eletrônico e Métodos de pagamento on line - Aula 01Comércio Eletrônico e Métodos de pagamento on line - Aula 01
Comércio Eletrônico e Métodos de pagamento on line - Aula 01
 
Comportamento do consumidor online e gestão de marcas 4
Comportamento do consumidor online e gestão de marcas 4Comportamento do consumidor online e gestão de marcas 4
Comportamento do consumidor online e gestão de marcas 4
 
Comportamento do consumidor online e gestão de marcas 3
Comportamento do consumidor online e gestão de marcas 3Comportamento do consumidor online e gestão de marcas 3
Comportamento do consumidor online e gestão de marcas 3
 
Comportamento do consumidor e gestão de marcas aula 1 e 2
Comportamento do consumidor e gestão de marcas aula 1 e 2 Comportamento do consumidor e gestão de marcas aula 1 e 2
Comportamento do consumidor e gestão de marcas aula 1 e 2
 
Planejamento de Marketing Digital - Parte 5
Planejamento de Marketing Digital - Parte 5Planejamento de Marketing Digital - Parte 5
Planejamento de Marketing Digital - Parte 5
 
Planejamento de Marketing Digital - Parte 4
Planejamento de Marketing Digital - Parte 4Planejamento de Marketing Digital - Parte 4
Planejamento de Marketing Digital - Parte 4
 
Planejamento de Marketing Digital - Parte 3
Planejamento de Marketing Digital - Parte 3Planejamento de Marketing Digital - Parte 3
Planejamento de Marketing Digital - Parte 3
 
Planejamento de Marketing Digital - Parte 2
Planejamento de Marketing Digital - Parte 2Planejamento de Marketing Digital - Parte 2
Planejamento de Marketing Digital - Parte 2
 
Planejamento de Marketing Digital - Parte 1
Planejamento de Marketing Digital - Parte 1Planejamento de Marketing Digital - Parte 1
Planejamento de Marketing Digital - Parte 1
 
Métodos e técnicas de Pesquisa
Métodos e técnicas de PesquisaMétodos e técnicas de Pesquisa
Métodos e técnicas de Pesquisa
 
Kanban e Scrum: obtendo o melhor de ambos
Kanban e Scrum: obtendo o melhor de ambosKanban e Scrum: obtendo o melhor de ambos
Kanban e Scrum: obtendo o melhor de ambos
 

Último

PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxMARIADEFATIMASILVADE
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosLucianoPrado15
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeitotatianehilda
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAssuser2ad38b
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 

Último (20)

PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 

Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 01 - 21-05-2011

  • 1. Introdução aos Padrões Web e Tecnologias para o Ambiente Digital Thiago Prado de Campos Aula 1 21/maio/2011
  • 2. Programa Conceitos de Padrões, Padrões Abertos e Padrões Fechados. Entidades Padronizadoras de Tecnologias de Internet e Conteúdo Web. Arquitetura de Internet e Navegadores Padrões de Conteúdo de Documentos da Web HTML, XML, RSS, Sitemap, PNG, GIF, JPEG, SVG.
  • 3. PADRÕES, LICENÇAS E ENTIDADES Introdução aos Padrões Web e Tecnologias para o Ambiente Digital
  • 4. O que são Padrões? Padrão é um documento aprovado por um organismo reconhecido que provê, pelo uso comum e repetitivo, regras, diretrizes ou características de produtos, processos ou serviços cuja obediência não é obrigatória. Existem inúmeros exemplos de padrões em uso, cobrindo todas as áreas, desde a estabilidade térmica de fluidos hidráulicos até o tamanho de CDs ou DVDs.
  • 5. Padrões Abertos Não há uma interpretação única para Padrões Abertos, mas em geral, costuma significar: Disponível publicamente para acesso e implementação; Não dependente de royalties ou quaisquer taxas; Costumam ser definidos por ampla participação de empresas, instituições e profissionais do mercado.
  • 6. Padrões Abertos Algumas especificações podem estar disponíveis sob alguns termos contratuais restritivas quanto ao seu uso, definidos pela organização que detêm os direitos autorais sobre elas. Neste caso, dizemos que o padrão é parcialmente aberto. Exemplos: JPEG, DDR SDRAM, H.264
  • 7. Padrões Abertos Exemplos de Padrões Abertos: Arquitetura da WWW http://www.w3.org/TR/webarch/ Peripheral Component Interconnect (PCI) Especificação da Intel para conexão de computadores tipo IBM-PC. Formato de Documentos: ODF, OOXML, PNG, PDF Linguagens de Programação: C#, ANSI C
  • 8. Padrões Abertos “os padrões abertos são importantes para ajudar a criar soluções interoperáveis e acessíveis para todos. Eles também promovem concorrência sadia através do campo técnico ao nível de todos os players de mercado. Isto significa baixo custo para as empresas e, finalmente, para o consumidor.” Erkki Liikanen, União Européia
  • 9. Padrões Fechados Encontra-se na literatura também os termos “Padrões Proprietários” ou “Sistemas Fechados”. Possui aceitação pública generalizada mas não cumpre os requisitos para ser aberto. Podem ser formatos cujas especificações não estão publicamente disponíveis ou cobram royalties para implementação.
  • 10. Padrões Fechados Software licenciado sob direito exclusivo do detentor do copyright. Ao titular da licença é dado o direito de usar o software sob certas condições, mas restrito de outros usos, tais como a modificação, distribuição complementar, ou engenharia reversa. Em geral são desenvolvidos por empresas privadas sem a participação da sociedade ou mercado.
  • 11. Padrões Fechados Exemplos de Padrões Fechados Softwares: Microsoft Windows, Adobe Flash Player, Apple iTunes, MacOS, WinRAR, MySQL, Skype protocol
  • 12. Padrões Fechados iTunes Music Store da Apple tem sido um padrão de fato no negócio da música online, ultrapassando em 2008 a Wal-Mart. É uma plataforma proprietária da Apple, em que baseia a sua oferta de meios de comunicação.
  • 13. E Open Source (Código Aberto)? Descreve a prática de software desenvolvido de forma que permita que qualquer pessoa tenha acesso ao código do programa, mas seu desenvolvedor determina suas condições de uso. O acesso ao código fonte nem sempre significa que é permitido cópia, modificação e redistribuição.
  • 14. E Open Source (Código Aberto)? Exemplos: Linguagens de Programação: PHP, Python Sistemas Operacionais: Linux, FreeBSD Aplicações para Web: Apache, Tomcat, MediaWiki, Drupal, Joomla, Wordpress, Moodle, Mozilla Firefox, OpenOffice.org, 7-ZIP Contra-Exemplo: Symbian http://symbian.nokia.com/blog/2011/04/04/not-open-source-just-open-for-business/
  • 15. E Open Source (Código Aberto)? Vantagem do open source Facilita a compreensão do funcionamento do software e pode permitir contribuir com melhorias e correções.
  • 16. E Software Livre? Software livre (free software) é um conceito de extrema importância no mundo da computação. Para estar nesta condição, o software precisa ter características atreladas a aspectos de liberdade. Pode-se dizer, portanto, que o software livre é um movimento social, que defende uma causa.
  • 17. E Software Livre? A ideia começou a tomar forma em 1983, pelas mãos de Richard Stallman, que na época criou o GNU e, cerca de dois anos depois, fundou a Free Software Foundation (FSF).
  • 18. Fundamentos do Software Livre Liberdade de executar o programa, para qualquer propósito; estudar como o programa funciona e adaptá-lo às suas necessidades (exige open source) distribuir cópias de forma que você possa ajudar ao seu próximo; liberdade de melhorar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (exige open source)
  • 19. Software Livre vs. Open Source Todo Software Livre é open source. Nem todo programa open source é Software Livre. Exemplos: Mozilla Firefox é open source mas não é software livre. Ele usa a “Mozilla Public License” que diz que se um software teve fonte alterado terá que ser distribuído com outro nome.
  • 20. Freeware (Software Gratuito) É um software que é disponibilizado sem custo. Não necessariamente é open source ou software livre.
  • 21. Licenças Quando um software é criado, o desenvolvedor o associa a um documento que determina quais ações o utilizador pode ou não executar. Esta é a licença de software. Licenças: Copyright GNU Copyleft Creative Commons
  • 22. Copyright © Também denominado direito autoral ou direitos de autor. São termos que definem as restrições sobre acesso, uso e reprodução de obras literárias, artísticas ou científicas. Além do documento específico aplica-se o disposto na legislação em vigor a respeito.
  • 23. Copyleft No caso, a palavra "left" faz alusão a um contexto mais generoso: enquanto o copyright dá mais foco nas restrições, o copyleft se baseia nas permissões.
  • 24. GNU Public License (GPL) Licença criada pela FSF baseada nas liberdades que ela defende. A GPL surgiu em 1989 e foi revisada em 1991 e 2007, estando atualmente na versão 3: http://www.gnu.org/licenses/gpl.html Um programa não necessita obrigatoriamente de uma licença GPL para ser um software livre. É possível o uso de outras licenças, desde que compatível com as liberdades em questão.
  • 25. Creative Commons Idealizadas para permitir a padronização de declarações de vontade no tocante ao licenciamento e distribuição de conteúdos culturais em geral (textos, músicas, imagens, filmes e outros), de modo a facilitar seu compartilhamento e recombinação. http://creativecommons.org/licenses/?lang=pt
  • 26. Creative Commons As licenças são disponibilizadas em 3 camadas: licença jurídica, legível por humanos e legível por máquinas. Isto é, o conteúdo é o mesmo mas com público diferente em cada formato.
  • 27. Exercício Acesse e responda o questionário disponível em: http://bit.ly/pitagoras01
  • 28. Organizações que criam/gerenciam padrões Existem organizações que através de processos bem definidos gerem a criação, disponibilização e continuidade de padrões. No contexto de Internet é importante conhecer algumas destas organizações, que trabalham para padronizar as tecnologias envolvidas com a grande rede mundial.
  • 29. ISO – www.iso.org A Organização Internacional para Padronização (em inglês: InternationalOrganization for Standardization) aglomera os grêmios de padronização/normalização de 158 países. Fundada em 23 de Fevereiro de 1947, em Genebra, Suíça, a ISO aprova normas internacionais em todos os campos técnicos, exceto na electricidade e eletrônica, cuja responsabilidade é da InternationalElectrotechnicalCommission (IEC).
  • 30.
  • 31. ISO 1000 Unidades SI e recomendações para o uso de seus múltiplos e de algumas outras unidades
  • 32. ISO 216 Formatos e dimensões de papel - série A e B
  • 33. ISO 639 Códigos para representação de nomes de línguas
  • 34. ISO 2108 ISBN - Sistema internacional de identificação de livros
  • 35. ISO 3166 Códigos de países e subdivisões
  • 36. ISO 4217 Códigos de moeda
  • 37. ISO 5218 Convenção numérica para representação de sexos
  • 38. ISO 8601 International Standard Date and Time Notation
  • 39. ISO 8859 Codificação de caracteres em fontes, as quais incluem o ASCII
  • 40. ISO 8879 Standard Generalized Markup Language (SGML)
  • 41. ISO 9000 Sistema de gestão da qualidade em ambientes de produção
  • 42. ISO 9899 A linguagem de programação C
  • 43. ISO 10006 Gestão da qualidade (aplicada em gestão de projetos)
  • 44. ISO 10646 Universal Character Set (equivalente ao Unicode)
  • 45. ISO 14000 Normas de gestão do ambiente em ambientes de produção
  • 46. ISO 14772 Virtual Reality ModellingLanguage VRML
  • 47.
  • 48. IEEE – exemplos IEEE 802 - Os padrões IEEE 802 são referentes às redes locais e redes metropolitanas. IEEE 1394 – Firewire IEEE 829 — Software Test Documentation IEEE 1284 — Parallel port IEEE P1363 — Public key cryptography IEEE 12207 — Information Technology – Ciclo de vida de um software
  • 49. IEC - www.iec.ch A International Electrotechnical Commission ou Comissão Eletrotécnico Internacional (IEC) é uma organização internacional de padronização de tecnologias elétricas, eletrônicas e relacionadas. Alguns dos seus padrões são desenvolvidos juntamente com a ISO.
  • 50. IEC - Exemplos ISO/IEC 12207 é a norma que define processo de desenvolvimento de software ISO/IEC 15445 padroniza a descrição e processamento de documentos HTML ISO/IEC 15504 também conhecida como SPICE, é uma evolução da ISO/IEC 12207 ISO/IEC 15948 define o PNG ISO/IEC 16262 define o ECMAScript (javascript) ISO/IEC 17799 é uma norma de Segurança da Informação ISO/IEC 19501 define a Unified Modeling Language (UML) ISO/IEC 23270 define a Linguagem de Programação C# ISO/IEC 26300 define o OpenDocument (ODF) ISO/IEC 27001 é um padrão para sistema de gerência da segurança da informação ISO/IEC 29500 define o Office Open XML File (OOXML)
  • 51. IETF – www.ietf.org A Internet Engineering Task Force é uma comunidade internacional ampla e aberta técnicos, agências, fabricantes, fornecedores, pesquisadores Missão: identificar e propor soluções a questões/problemas relacionados à utilização da Internet, além de propor padronização das tecnologias e protocolos envolvidos. As recomendações da IETF são usualmente publicadas em documentos denominados RFCs (Request for Comments).
  • 52. IETF – Exemplos RFC 793 - Transmission Control Protocol RFC-822 Standard for ARPA Internet text messages RFC-2045 MIME Part 1: Format of Internet Message Bodies RFC-2046 MIME Part 2: Media Types RFC-2047 MIME Part 3: Header Extensions for Non-ASCII Text RFC-2048 MIME Part 4: Registration Procedures RFC-2049 MIME Part 5: Conformance Criteria and Examples RFC-2110 MIME E-mail Encapsulation of Aggregate Documents, such as HTML RFC-2616 Hypertext Transfer Protocol -- HTTP/1.1 RFC-2821 Simple Mail Transfer Protocol RFC-2854 The 'text/html' Media Type RFC 3986 Uniform Resource Identifiers (URI)
  • 53. Outros ABNT – www.abnt.org.br A Associação Brasileira de Normas Técnicas (ABNT) é o órgão responsável pela normalização técnica no Brasil, fornecendo a base necessária ao desenvolvimento tecnológico brasileiro. A ABNT é a única e exclusiva representante no Brasil das entidades internacionais ISO e IEC. IANA – www.iana.org A Internet Assigned Numbers Authority é a organização mundial que funciona como a máxima autoridade na atribuição dos "números" na Internet. Entre os quais estão os números das portas e os endereços IP. Ela mantém uma estreita ligação com o IETF no cumprimento desta função.
  • 54. W3C – www.w3c.org O World Wide Web Consortium é um consórcio de empresas de tecnologia, atualmente com cerca de 500 membros. Fundado por Tim Berners-Lee em 1994 para levar a Web ao seu potencial máximo. O W3C desenvolve padrões para a criação e a interpretação dos conteúdos para a Web.
  • 55. W3C – www.w3c.org As recomendações do W3C são desenvolvidas por grupos de trabalho formados por membros do Consórcio e experts convidados. Os grupos de trabalho criam esboços e propostas de recomendações , baseados em um consenso comum de companhias e organizações interessadas na criação de aplicações Web. Estas são então submetidas à apreciação dos membros do W3C e seu diretor para aprovação formal como uma Recomendação.
  • 56. W3C – Ciclo de Vida Recommendation Proposed to Recommendation Candidate for Recommendation Last Call for Working Draft Working Draft http://www.w3.org/Consortium/Process/
  • 57. W3C – Ciclo de Vida Cria-se um Working Group para discussão sobre um assunto. O grupo propõe uma recomendação, através de um Working Draft O Working Draft pode sofrer alterações conforme contribuições recebidas. Quando o grupo achar conveniente, publica um Last Call for Working Draft, como sendo última oportunidade de opinar sobre o rascunho Após todos darem suas últimas contribuições o documento é convertido para Candidate Recommendation. É uma versão estável do WD. Ela é proposta para a comunidade experimentar sua implementação e dar feedbacks. Aqui acontece o Call for Implementation, para apresentação das implementações Após os feedbacks e experiência, o documento passa ao status de Proposed Recommendation e é submetido a um comitê consultivo para revisão. Após aprovação pelo comitê, finalmente, o documento é então publicado como Recommendation.
  • 58. W3C – Outros Docs A W3C, através dos Working Groups e colaboradores também publica outros tipos de documentos: Artigos – podem ser do tipo Quality Assurance (ex.: My Web site is standard! And yours?), FAQs (Ex.: HTML and XHTML Frequently Answered Questions) ou informativos diversos. Interest Group Note – tutoriais (Ex.: Tableless layout HOWTO), guias e diretrizes (Ex.: HTML 4.0 Guidelines for Mobile Access), etc.
  • 59. Exercício Acesse e responda o questionário publicado em: http://bit.ly/pitagoras02
  • 60. Infraestrutura de internet e navegadores Introdução aos Padrões Web e Tecnologias para o Ambiente Digital
  • 61. Internet / Início Militar A Internet é uma rede antiga, com quase 40 anos. Até o ex-presidente de Cuba, Fidel Castro teve importante papel no seu surgimento. Na década de 60, os Estados Unidos tinham uma real possibilidade de ataque nuclear através de Cuba. Desta forma, a interligação das bases militares em rede foi a principal estratégia norte-americana para se defender de um possível ataque. Na hipótese de uma base ser atingida, a comunicação entre as demais permaneceria possível. Essa rede era a ARPANET (AdvancedResearch Project Agency Network). A rede interligou várias computadores de bases militares, universidades e centros de pesquisas envolvidos.
  • 62. Internet / Amadurecimento acadêmico A principal utilidade da Arpanet era a troca de mensagens de correio eletrônico e arquivos. Isso despertou o interesse dos demais departamentos das universidades e a rede foi se expandindo. Na década de 80, a NSFNET (rede nacional de pesquisa dos EUA) também se conectou à Arpanete outras cinco grandes centros regionais de supercomputação. A NSFNET e a ARPANET seriam os dois primeiros backbones da Internet. Outras redes foram então se conectando, como a USENET, a Bitnet, a EARN e diversas redes BBS. Acessar e operar os recursos da Internet nesta época era algo restrito à acadêmicos e exigiam muito conhecimento de Unix, shells e comandos de e-mail e ftp.
  • 63. Internet / Expansão Comercial Em 1992, num laboratório de Física, em Genebra na Suíça, Tim Berners-Lee criou o World Wide Web. O modelo inicialmente foi aplicado no CERN (Centre European pour la Recherche Nucleaire) que possuía laboratórios distribuídos por várias cidades em 19 países da Europa. A informação, que se perdia diariamente foi organizada e distribuída através de documentos hipertexto. O primeiro navegador gráfico foi o X-Mosaic, desenvolvido no NCSA (Centro Nacional de Supercomputação da Universidade de Illinois), inicialmente para Unix. Depois, portado para Windows e Macintosh, onde então se popularizou para mais usuários.
  • 64. Internet / Expansão Comercial Nesta época, a NSFNET já tinha se entregue à iniciativa privada e provedores de acesso e informação comerciais se multiplicaram, oferecendo às pessoas comuns o mesmo acesso que antes só tinham as grandes organizações e o meio acadêmico. Os criadores do Mosaic (entre eles Marc Andreesen), deixaram a universidade e fundaram uma empresa: a Netscape. Daí por diante, a Web evoluiu e o próprio movimento do mercado propiciou sua expansão através de grandes, médias, pequenas empresas e profissionais autônomos.
  • 65. Internet / Explosão Social No século XXI, com a invasão da Internet nas casas, muita gente mergulhou de cabeça na grande rede mundial. O surgimento de novas aplicações e conteúdos atraentes à todas as faixas etárias (principalmente crianças e jovens) formaram uma cultura na qual a comunicação através da Internet já é adotada de forma comum pela nova geração. Estamos num ponto onde a Internet já passa a fazer parte do dia-a-dia das pessoas: pesquisa de trabalhos escolares, comunicação com amigos e parentes, diversão, trabalho, obrigações sociais e interoperabilidade com outras tecnologias são exemplos de fatores que trouxeram a Internet para um ponto no qual não há mais regresso.
  • 66. Arquitetura Cliente/Servidor Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Cada instância de um cliente pode enviar requisições de dados para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponíveis pode aceitar tais requisições, processá-las e retornar o resultado para o cliente.
  • 67.
  • 70. Normalmente, conecta-se à um número pequeno de servidores ao mesmo tempo
  • 71.
  • 74. Após receber requisições, processa e então envia respostas
  • 75. Normalmente aceita conexões de um grande número de clientes
  • 76.
  • 78. Serviços de Internet Web não é Internet! A Internet possui diversos serviços. A World Wide Web (conhecido também como Web) é o nome do serviço mais popular da Internet. Por esse motivo, é freqüentemente confundida com a própria Internet. Internet é o nome dado ao conjunto de computadores, provedores de acesso, satélites, cabos e serviços que formam uma rede mundial baseada em uma coleção de protocolos de comunicação conhecidas como TCP/IP.
  • 79. Serviços de Internet PROTOCOLOS É através de protocolos de comunicação que um computador pode se comunicar com outro através de uma linha telefônica ou placa de rede sem que o usuário precise se preocupar em saber qual o meio físico que está sendo utilizado. TCP/IP é um conjunto de protocolos padrão que foi adotado como ‘língua oficial’ da Internet.
  • 80. Como Funciona o TCP/IP servidor cliente mensagem segmento datagrama quadro/frame
  • 81. Como Funciona o TCP/IP Camada 4 – Protocolos de Aplicação oferecem serviços de acesso remoto (telnet), e-mail (POP e SMTP), transferência de arquivos (FTP), serviço de nomes (DNS), serviço web (HTTP), entre outros. Lidam com a comunicação aparente entre duas aplicações rodando em computadores diferentes. Camada 3 – Protocolos de Transporte realiza a transferência dos dados organizados em pacotes de uma máquina para outra. Pode ser confiável (TCP) ou não confiável (UDP).
  • 82. Como Funciona o TCP/IP Camada 2 – Protocolos de Nível de Internet identificam as máquinas e pacotes através de endereços IP de origem e destino. Camada 1 – Protocolos de Camada Rede/Física interfaceia e realiza a transmissão dos dados através da linha telefônica, placas e cabos de rede, etc.
  • 83. Endereço de Internet (IP) O Protocolo IP (Internet Protocol) é um dos mais importantes no TCP/IP. Ele define a forma de endereçamento que permite a localização de um computador na Internet, através de um conjunto de dígitos chamado de endereço IP. Qualquer máquina acessível através da Internet tem um endereço IP exclusivo, podendo ser temporário ou permanente.
  • 84. Endereço de Internet (IP) Computadores que hospedam páginas Web e que oferecem outros serviços de internet precisam de um endereço IP, para que você possa localizá-los a qualquer hora. O endereço IP do site da UTFPR (www.utfpr.edu.br) é 200.19.73.171. O endereço IP do servidor que hospeda o site www.thiagotpc.com é 201.76.50.86.
  • 85. Serviço de Nomes de Domínio (DNS) Para facilitar o acesso aos computadores da Internet e evitar a necessidade de se decorar números IP é que foi criado o DNS. Este serviço guarda tabelas que associam o nome de uma máquina ou de uma rede à um endereço IP. Quando você digita o nome de uma máquina no seu navegador, o browser primeiro tenta localizá-lo consultando uma outra máquina (cujo IP o navegador já conhece) que oferece o serviço de nomes. Se esse serviço de nomes falhar, o navegador não conseguirá o número IP que precisa e assim não localizará a máquina correspondente.
  • 86. Portas Uma mesma máquina pode oferecer vários serviços, desde que em portas diferentes, como um prédio de escritórios. As portas são identificadas por números e para facilitar, várias portas para determinados serviços foram padronizadas. Para ter acesso a um serviço, é preciso que a aplicação cliente saiba conversar na língua de uma aplicação servidora. Como são portas padronizadas, um cliente muitas vezes só precisa saber o nome ou endereço IP da máquina que tem determinado serviço. É o que ocorre com os navegadores.
  • 87. Web A World Wide Web é um serviço TCP/IP baseado no protocolo de nível de aplicação HTTP (HyperText Transfer Protocol – Protocolo de Transferência de Hipertexto). É o meio virtual formado pelos servidores HTTP (servidores web), clientes HTTP (navegadores) e protocolo HTTP (regras de comunicação entre cliente e servidor).
  • 88. Hipertexto É uma forma não-linear de publicação de informações onde palavras que aparecem no texto podem levar a outras seções de um documento, outros documentos ou até outros sistemas de informação, fugindo da estrutura linear original de um texto simples. O hipertexto baseia-se em ligações entre dois pontos, chamados de âncoras. As ligações entre as âncoras são chamadas de vínculos (links). Para Web, escolheu-se como linguagem declarativa de hipertextos o HTML (HyperText Markup Language).
  • 90. Servidor Web O serviço HTTP funciona de forma semelhante ao serviço FTP (File Transfer Protocol – protocolo de transferência de arquivos), oferecendo aos seus clientes um conjunto de arquivos e recursos que podem ser transferidos para seus programas clientes que o interpretam e exibem ao usuário. Servidores Web mais comuns: APACHE (para Linux) e IIS (para Windows)
  • 91. URI - UniformResourceIdentifier É um endereço que sintaticamente representa um recurso presente na Internet. Contém duas informações essenciais: COMO transferir o objeto (o protocolo) e ONDE encontrá-lo (máquina, porta e caminho virtual) Sintaxe: protocolo://maquina:porta/caminho/recurso Exemplos: http://www.thiagotpc.com/arquivos/curriculo.pdf http://intranet:8081/pedidos ftp://usuario:senha@maquina.com/pub/arquivo.doc mailto:contato@thiagotpc.com
  • 92. Protocolo HTTP - códigos Toda requisição HTTP recebe um cabeçalho de resposta, que contém um Código e uma Frase, pelo menos. O elemento Status-Code é um código de inteiro de 3 dígitos do resultado da tentativa do servidor em entender e processar a requisição (request). Estes códigos são definidos em detalhes na seção 10 da RFC 2616. A Reason-Phrase visa fornecer uma breve descrição textual do Status-Code. O Status-Code é voltado para a interpretação automatizada (programa cliente) e a Reason-Phrase é voltada para o usuário humano. O cliente HTTP não precisa necessariamente examinar ou exibir a Reason-Phrase.
  • 93. Protocolo HTTP - códigos O primeiro dígito do Status-Code define a classe da resposta. Os 2 dígitos finais definem um significado específico. 1xx: Informacional - Requisição recebida, processo continua; 2xx: Sucesso - recebida, compreendida e aceita com sucesso; 3xx: Redirecionamento (Transitório) - Deve haver ação consecutiva para que a requisição seja completada; 4xx: Erro Cliente - A requisição enviada pelo cliente contém sintaxe errada ou não pode ser atendida; 5xx: Erro Servidor - O servidor falhou em atender requisição aparentemente válida. Erros e exceções em programas (Java, .NET, PHP etc.) e servidores são casos típicos destes erros.
  • 94. Protocolo HTTP - códigos 100 - Continue 101 - Switching Protocols 200 - OK 201 - Created 202 - Accepted 203 - Non-Authoritative Information 204 - No Content 205 - Reset Content 206 - Partial Content 300 - Multiple Choices 301 - Moved Permanently 302 - Found, Moved Temporarily 303 - See Other 304 - Not Modified 305 - Use Proxy 307 - Temporary Redirect 400 - Bad Request 401 - Unauthorized 402 - Payment Required 403 - Forbidden 404 - Not Found 405 - Method Not Allowed 406 - Not Acceptable 407 - Proxy Authentication Required 408 - Request Time-out 409 - Conflict 410 - Gone 411 - Length Required 412 - Precondition Failed 413 - Request Entity Too Large 414 - Request-URI Too Large 415 - Unsupported Media Type 416 - Requested range not satisfiable 417 - Expectation Failed 500 - Internal Server Error 501 - Not Implemented 502 - Bad Gateway 503 - Service Unavailable 504 - Gateway Time-out 505 - HTTP Version not supported
  • 95. Navegador (browser) É um programa que serve de interface universal a todos os serviços que podem ser oferecidos via Web. Ele é um cliente HTTP. A principal função do navegador é ler e exibir o conteúdo de uma página. Navegadores podem ser usados para abrir páginas armazenadas localmente no computador. Neste caso, não estão atuando como clientes HTTP e sim como interpretadores de arquivos hipertexto.
  • 96. Navegador (browser) precisam interpretar vários tipos de arquivos que são enviados para ele pelo servidor web: arquivos em formato de texto, como HTML, XML, CSS, XSL, SVG, Javascript etc.; arquivos binários, como imagens GIF, JPG, PNG, e programas Java, Flash, dentre outros. Quando envia o arquivo o servidor web informa ao navegador o tipo MIME do arquivo. Código ASP, PHP, .net, Java, Python, ColdFusion não é interpretado pelo navegador.
  • 97. Nestcape Navigator Início: 15/dez/1994 Dominou o marketshare de navegadores nos anos 90 e praticamente sucumbiu em 2002. Sua última versão foi o Netscape Navigator 9, lançado em 2007. Em Dez/2007, foi anunciado o fim do projeto. O suporte ao navegador foi prestado pela AOL até Fev/2008.
  • 98. Internet Explorer Início: ago/1995 Domina atualmente o marketshare de navegadores. A última versão estável é a 9 (fev/2011). Atualmente a versão 10 está em desenvolvimento.
  • 99. Firefox Início: 9/nov/2004 Baseado no motor open-source Gecko desenvolvido pela fundação Mozilla. Hoje tem a segunda colocação do marketshare de navegadores. A última versão estável é a 4.0.
  • 100. Opera Início: 1996 É um dos navegadores mais aderentes aos padrões web e popular em dispositivos móveis (OperaMini). Proprietário. A última versão estável é a 11.1.
  • 101. Safari Início: 23/jun/2003 Baseado no motor KHTML opensource, é desenvolvido pela Apple e tem grande uso no sistema operacional Mac, no iPad, iPod e iPhone. A última versão estável é a 5.0.
  • 102. Chrome Início: Set/2008 É o navegador mantido pelo Google. O mais caçula dentre eles. Sua atual versão é a 11.0.
  • 103. Market share de Navegadores http://gs.statcounter.com/#browser-ww-monthly-200812-201105
  • 104. Exercício Acesse e responda o questionário disponível em http://bit.ly/pitagoras03
  • 105. Camadas e tecnologias de conteúdo para web Introdução aos Padrões Web e Tecnologias para o Ambiente Digital
  • 106. Desenvolvimento Web SERVIDOR CLIENTE CLIENTE CLIENTE CLIENTE
  • 107. Desenvolvimento Web Sistema Operacional Windows, Linux, FreeBSD Servidor Web IIS, Apache, Tomcat Banco de Dados SQL Server, Oracle, MySQL, PostgreSQL Linguagem de Programação Perl, ASP, ASP.NET, PHP, Java, Python, Ruby, Coldfusion
  • 108. Sistema Operacional Plataforma que será utilizada no servidor que hospedará o site. É ele que permite utilização do servidor web, de banco de dados e linguagem de programação. Opções: Linux: software livre Windows: software proprietário
  • 109. Servidor Web Servidor que se comunicará com os clientes web (navegadores) atendendo as solicitações de páginas e envio de informações por formulários. Opções mais comum: Apache (para Linux e Windows), Software Livre IIS (somente Windows), Proprietário Tomcat (Linux e Windows), Software Livre
  • 110. Banco de Dados Serviço que armazenará tabelas com registros de informações sobre o site, como usuários, produtos, pedidos, etc. Opções mais comuns: MySQL, opensource, Windows e Linux PostgreSQL, Software Livre, Window s e Linux MS SQL Server, proprietário, somente Windows
  • 111. Linguagem de Programação Tecnologia que irá tratar as informações enviadas pelos navegadores podendo armazená-las ou recuperá-las do banco de dados, enviar e-mails, etc. Opções disponíveis: Java, PHP, Python, Ruby, Perl - livres C# (.net) – open source VBScript (ASP), Visual Basic.net - proprietárias
  • 112. Linguagem de Programação Linguagens de programação mais populares e mais utilizadas no mundo: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html http://langpop.com/
  • 113. Desenvolvimento Web Conteúdo HTML, XML, JSON, SVG, ..., Imagens (JPEG, GIF, PNG) Apresentação CSS, Imagens (JPEG, GIF, PNG) Comportamento Javascript Tudo em 1 Flash, Silverlight, Java, Objective-C
  • 115. Desenvolvimento em Camadas Conteúdo Camada responsável pela informação. A mais importante. Formatos: HTML, XML, SVG, MATHML, etc. Apresentação Camada responsável por apresentar o conteúdo ao usuário, através do navegador, impressora ou leitor de tela. Formato: CSS Comportamento Responsável em controlar o comportamento do conteúdo e da apresentação conforme interação realizada pelo usuário. Formato: Ecmascript (javascript) HTML, CSS e EcmaScript são livres e interpretados por qualquer navegador. 92
  • 116. Tudo em 1 Java (applets), Flash Movie, Silverlight, Objective-C Prós: Geralmente possuem um bom ambiente de desenvolvimento (IDE); Contra: Não são padrões livres; Não provém boa acessibilidade. Necessita de algo a mais no navegador. 93
  • 117. Conteúdo para Web A camada de conteúdo É A MAIS IMPORTANTE! A principal tecnologia utilizada na camada de conteúdo é a HTML, que estudaremos com maiores detalhes a seguir.
  • 118. HTML HyperTextMarkupLanguage HTML é a linguagem para descrever a estrutura de páginas web. Possibilita aos autores: Publicar documentos on-line com títulos, texto, tabelas, listas, fotos, etc. Recuperar informação on-line através de links de hipertexto, com o clique de um botão. Criar formulários para a realização de transações com serviços remotos, para uso em busca de informações, fazer reservas, encomenda de produtos, etc Incluir planilhas, clips de vídeo, clips de som e outras aplicações diretamente em seus documentos. Com a HTML, os autores descrevem a estrutura das páginas usando a marcação. Os elementos da linguagem são rótulo de conteúdo, tais como “parágrafo", "lista", “tabela", e assim por diante. 95
  • 119. LinguagemMarcação versus Programação Criada para expressar uma computação que pode ser executada por uma máquina, particularmente, um computador. São usadas para criar programas que controlam o comportamento de uma máquina. Python, PHP, Java, Javascript Criada para transformar texto puro em um documento estruturado. Também pode ser usada para transformar dados em objetos estruturados, como imagens, músicas, espaços 3D, etc. HTML, SVG, VRML, MathML, RTF, LaTex 96
  • 120. Versões da HTML para hoje! HTML 1 – criado entre 1990-1991, por Tim Berners Lee HTML 2 – lançada em 1995 pela IETF HTML 3 – não foi aprovada HTML 3.2 – lançada em 1997 pela W3C HTML 4 – em 1999, pela W3C XHTML 1 – em 2000, trata-se do HTML4 em XML XHTML 1.1 – recomendação somente em nov/2010 XHTML 2 – abandonada em 2009 HTML 5 – em desenvolvimento desde 2007. 97
  • 121. Versões da HTML para hoje! HTML 1 – criado entre 1990-1991, por Tim Berners Lee HTML 2 – lançada em 1995 pela IETF HTML 3 – não foi aprovada HTML 3.2 – lançada em 1997 pela W3C HTML 4 – em 1999, pela W3C XHTML 1 – em 2000, trata-se do HTML4 em XML XHTML 1.1 – recomendação somente em nov/2010 XHTML 2 – abandonada em 2009 HTML 5 – em desenvolvimento desde 2007. 98
  • 122. HTML 5 Descontente com o que estavam acompanhando no WorkingGroup do XHTML2, fabricantes de navegadores se reuniram em 2004 e fundaram a WHATWG (Apple, Mozilla, Opera). Adobe e Microsoft inicialmente ficaram de fora. O objetivo do HTML5 é tornar os navegadores capazes de rodar aplicativos sob plataforma web. Mas envolve também solução para outros problemas: Áudio e Vídeo sem necessidade de plugins Banco de dados local
  • 123. Os Players desta Guerra Microsoft ($ 39 bi / 93 mil empregados) Detêm 60% do mercado de usuários de browsers com o Internet Explorer Possui tecnologia proprietária, Silverlight, concorrente do Flash Atualmente apóia HTML5 e diz implementar no IE9 7% do mercado de smartphones Google ($ 36 bi / 20 mil empregados) Parceiro no Webkit, no qual baseia-se o Chrome (7%) Apóia HTML 5 desde o início 10% do mercado de smartphones
  • 124. Os Players desta Guerra Apple ($ 31 bi / 34 mil empregados) Parceira majoritária no Webkit, fonte para iPhone e Safari (5%). 15% do mercado de smartphones Apóia HTML5 por estar envolvida no Webkit Recentemente “ficou de mal” com a Adobe/Flash Adobe ($ 4 bi / 8.600 empregados) Não produz navegador, mas usa o WebKit para renderizarAdobeAIR Produz o Flash (fechado, proprietário), multiplataforma Mas que consome muitos recursos no MacOS
  • 125. Os Players desta Guerra Opera ($ 1 bi / 750 empregados) Desenvolve o Opera Browser (3% - PCs + Mobile) Foco principal: browser para smartphones, compatível com Iphones, Android, Windows Mobile (mini), Symbian (44%) e Blackberry (19%) Mozilla Corporation (< $ 1bi / 250 empregados) Produz o Firefox (24%) Apóia HTML5 desde o início
  • 126. Os Players desta Guerra Nokia ($ 15 bi / 125 mil empregados) Celulares com Symbian e MAEMO (45% mercado) Nokia Browser baseado no WebKit RIM ($ 7bi / 12 mil empregados) Produz os Blackberrys (19% do mercado de smartphones) com SO e navegador próprios.
  • 127. Browsers e Versões da HTML 104
  • 128. Documento HTML Um documento HTML 4 é composto por duas partes distintas: 1. um cabeçalho com uma seção declarativa 2. um corpo contendo o atual conteúdo do documento Os espaços em branco (espaços, mudanças de linha, tabulações e comentários) poderão aparecer antes ou depois de cada seção. As seções deverão ser delimitadas pelo elemento HTML. 105
  • 129. Documento HTML Eis aqui o exemplo de um documento HTML simples: <html> <head> <title>O meu primeiro documento HTML</title> </head> <body> <p>Olá Mundo!</p> </body> </html> 106
  • 130. Documento HTML Agora, informando qual versão do HTML queremos que o navegador interprete. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>O meu primeiro documento HTML</title> </head> <body> <p>Olá Mundo!</p> </body> </html> 107
  • 131. Alguns elementos da HTML Títulos: <h1>, <h2>, ... <h6> Parágrafos e Texto: <p>, <strong>, <em>, <abbr>, <a> Listas: <ul>, <li>, <ol>, <dl>, <dt>, <dd> Contato: <address> Estrutura da Página: <header>, <footer>, <article>, <aside>, <section> Embutir mídia: <img>, <object>, <audio>, <video>, <canvas>, <svg>, <math>
  • 132. Exercício Vamos criar um documento HTML para entender a lógica de estruturação de uma linguagem de marcação. Tema: um currículo pessoal
  • 133. Exercício Seu Nome Um parágrafo com uma breve biografia/apresentação Experiência Profissional Formação Acadêmica Capacitação/Atualização Contato
  • 134. XML XML resumidamente é uma maneira de escrever documentos de marcação. A HTML pode seguir estas regras de sintaxe que a permite ser chamada de XHTML. Algumas outras linguagens seguem a sintaxe XML mas possuem propósito ligeiramente diferente da HTML: RSS, MathML, SVG, Sitemap, etc.
  • 135. Filosofias da XML Separar conteúdo da formatação Simplicidade e Legibilidade, tanto para humanos quanto para computadores Possibilidade de criação de tags sem limitação Criação de arquivos para validação de estrutura (DTDs ou XML Schema) Interligação de bancos de dados distintos Concentração na estrutura da informação, e não na sua aparência
  • 136. Regras de Sintaxe da XML Deve possuir um único elemento raiz. Ou seja, a mesma tag deve iniciar e encerrar o documento. O elemento raiz pode ser precedido por uma opcional declaração XML. <?xml version="1.0" encoding="UTF-8"?> Dentro do elemento raiz podem haver quantos elementos forem necessários.
  • 137. Regras de Sintaxe da XML A sintaxe básica de um elemento é:<nome atributo=“valor”> Conteúdo </nome> Os valores de atributos devem estar entre aspas (simples ou duplas) e cada atributo deve aparecer somente uma vez num elemento. Os elementos na XML devem estar corretamente encaixado. Ou seja, o último elemento iniciado é o primeiro a ser fechado. Ex.:<pessoa><nome>Thiago</pessoa></nome><pessoa><nome>Thiago</nome></pessoa>
  • 138. Regras de Sintaxe da XML Nomes de elementos são CASE-SENSITIVE. Ou seja: Nome é diferente de nome. Ex.:<nome> ... </nome><Nome> ... </nome><NOME> ... </nome>
  • 139. Distribuição de Informação com RSS RSS É um formato de distribuição de informações (como notícias) pela Internet. Com ele você fica sabendo quando uma informação do seu interesse foi publicada, sem que você tenha de navegar até o site. A abreviatura do RSS é usada para se referir aos seguintes padrões: Rich Site Summary (RSS 0.91) RDF Site Summary (RSS 0.9 e 1.0) ReallySimpleSyndication (RSS 2.0) Também existe o formato Atom 1.0.
  • 140. Distribuição de Informação com RSS O RSS é amplamente utilizado pela comunidade dos blogs para compartilhar as suas últimas novidades ou artigos completos e até mesmo arquivos multimídia. No ano 2000, o uso do RSS difundiu-se para as maiores empresas de notícias como a Reuters, CNN, e a BBC. Estas empresas permitiam que outros websites incorporassem suas notícias e resumos através de vários acordos de uso. O RSS é usado agora para muitos propósitos, incluindo marketing, bug-reports, e qualquer outra atividade que envolva atualização ou publicação constante de conteúdos.
  • 141. Feeds RSS O termo Feed vem do verbo em inglês "alimentar“. Os feeds RSS oferecem conteúdo Web ou resumos de conteúdo juntamente com os links para as versões completas deste conteúdo e outros metadados. Esta informação é entregue como um arquivo XML. Um tipo de programa conhecido como "feedreader" ou agregador verifica periodicamente os documentos RSS publicados e informam os usuários se houverem atualizações.
  • 142. Feeds RSS Os agregadores podem ser programas independentes, extensões de navegadores ou correio-eletrônicos ou ainda aplicações web. Nas páginas web os feeds RSS são tipicamente indicados por um retângulo laranja, com as letras XML ou RSS.
  • 143. Estrutura de um arquivo RSS channel title link description item title link description Author item title link description author
  • 144. Exercício Crie uma conta em algum dos seguintes agregadores de feeds: Google Reader Bloglines Netvibes Feedingo
  • 145. Sitemap (mapa de site) Em 16 de novembro de 2006 Google, Yahoo! e Microsoft formaram uma aliança para estabelecer um padrão comum de um sitemap que facilita a indexação de sites independente do motor de busca envolvido. Sitemap é um arquivo XML com informações de um site que são relevantes para motores de busca, otimizando os resultados de um procura feita por alguém.
  • 146. Sitemap Última atualização, freqüência da alterações, relevância em relação a outros URLs, etc. Um arquivo de sitemap pode ter até 50 mil URLs e 10 MB. http://sitemaps.org/
  • 147. Exemplo de Sitemap <urlsetxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.pevermelho.net/thiago/</loc> <lastmod>2008-06-25T15:09:03+00:00</lastmod> <changefreq>daily</changefreq> <priority>1.0</priority> </url> <url> <loc>http://www.pevermelho.net/thiago/politica/eleicoes-2008-para-prefeito-de-londrina/</loc> <lastmod>2008-06-25T15:09:03+00:00</lastmod> <changefreq>weekly</changefreq> <priority>0.3</priority> </url> (...) </urlset>
  • 148. Referências Esta apresentação contém citação de marcas, imagens de logomarcas que podem possuir direitos de propriedade. Aqui foram usados unicamente para fins didáticos. O conteúdo destes slides foram baseados em documentos publicados nos seguintes sites: http://www.infowester.com/ http://pt.wikipedia.com/ http://www.w3.org/ http://sitemaps.org/ http://cyber.law.harvard.edu/rss/rss.html