quinta-feira, 21 de junho de 2012

CLOUD COMPUTING - Introdução a computação em nuvem






1.      Introdução à “Cloud Computing” 4

2.     Objetivo. 6

3.      Comparativos dos serviços. 9

4.      Desenvolvimento. 10

5.      Segurança. 13

6.      Confidencialidade, Integridade e Disponibilidade. 14

7.      Tendências e Segurança em “Cloud Computing”. 15

8.      Conclusão. 17

9.            Referências

  18

1. Introdução à “Cloud Computing”


1.1. Como Surgiu “Cloud Computing”

Cloud Computing é um serviço de computação que vem avançando com o decorrer do tempo em nossa sociedade, devido ao avanço da tecnologia e das novas necessidades em ter todos os dados de fácil acesso.

A expressão Cloud Computing começou a ser falada em 1997 em uma palestra acadêmica ministrada por Ramnath Chellappa, porém a Nuvem foi desenvolvida a partir do ano 2000 pela empresa Salesforce na qual disponibilizou a instalação de Software no seu centro de processamento de dados para a interação com seus clientes. Depois desse surgimento, as grandes empresas começaram a investir nessa tecnologia e o desenvolvimento da computação em Nuvem se tornou um grande foco para as empresas que viriam a oferecer esse tipo de serviço.

1.2. Principais Conceitos

O principal conceito da Nuvem se baseia em armazenamento de dados e utilização de serviços oferecidos por servidores que estão interligados à Internet. Nesses servidores, alocamos um espaço para armazenarmos o que desejamos e também para instalarmos programas. Podemos acessar esses dados e programas de qualquer lugar e de qualquer dispositivo sendo apenas necessário que o mesmo esteja conectado à Internet.


1.3. Principais empresas que oferecem o Cloud Computing.
Com o decorrer do tempo a Nuvem começou a ser expandida e foi sendo aprimorada por diversas empresas, sendo a Amazon a principal, para que sua utilização fosse cada vez mais acessível e que seus serviços oferecessem maior desempenho e segurança para quem os utilizassem.
As principais empresas que oferecem os serviços da Nuvem são:
-Salesforce - A Pioneira em Cloud Computing
- Amazon - A segunda empresa a oferecer Cloud Computing e a primeira a desenvolver um serviço na Nuvem)
- Google - Disponibilizou diversos serviços na Nuvem
- IBM
- Microsoft

Para acessar os serviços completos dessas empresas é necessário pagar pelos recursos utilizados. Não somente essas empresas, mas a computação em Nuvem em si cobra por servidores alugados, serviços utilizados ou pelo tempo de utilização do espaço na Nuvem.
O Cloud Computing possui serviços que são disponibilizados aos usuários para o uso de aplicativos e para dados, sendo que os usuários podem utilizar esses serviços através de qualquer dispositivo móvel com acesso à Internet.

 
1.   Objetivo

2.1. Tecnologias Atuais
A computação em nuvem é uma evolução das novas necessidades de se tornar tarefas mais práticas ao nosso dia-a-dia. Antigamente havia a necessidade de pessoas e empresas correrem atrás de softwares e licenças para serem instaladas em sua máquina local, hoje com a evolução da Internet cada vez mais rápida, há a possibilidade de rodar estes softwares em ambientes online.
As grandes empresas de olho neste mercado em potencial, viram neste novo nicho de mercado, um potencial enorme de crescimento investindo pesado em pesquisas para desenvolverem novas tecnologias como as gigantes Microsoft, Google e Amazon, entre outros que oferecem diversos tipos de aplicativos que veremos a seguir.


2.2. Google Apps
São pacotes de serviços desenvolvidos e oferecidos pelo Google. Os famosos pacotes offices agora não precisam estar necessariamente instalados em uma máquina local. O Google oferece aplicativos como edição de texto, planilhas, apresentação, formulários é ate mesmo um editor de imagens, os chamados “Google Docs”. Ainda oferece serviços como Google Agenda, que podem ser integrados com os celulares podendo receber comunicados da agenda via SMS.

2.3. Amazon
Foi a pioneira a oferecer uma infraestrutura como serviço (IaaS).  Hoje possui diversas aplicações em ambiente "Nuvem", podendo destacar algumas delas como:

2.4. Amazon Elastic Compute Cloud (EC2)
Servidores virtuais, onde você escolhe o Sistema Operacional, softwares e os recursos que serão utilizados pelos servidores.
·       Amazon SimpleDB
Banco de dados.
·      E-COMMERCE
Loja Virtual.
·         Pagamento e Faturamento
Aplicativo para transações on-line.
·          Amazon Cloud Drive
Armazenamento de dados.
2.5. SkyDrive
É o serviço gratuito oferecido pela Microsoft.Esse serviço disponibiliza 25GB de espaço para armazenamento de arquivos. Para utilizar os serviços basta apenas ter uma conta hotmail. Além de funcionar como um “PenDrive” virtual, pode ser integrada com alguns sistemas operacionais, ou seja, no seu próprio computador há a possibilidade de criar uma pasta especificamente ligada ao seu Sky Drive.

2.6. iCloud

Visando facilitar os usuários da marca, a Apple lançou já em seus produtos junto com o Sistema Operacional, o iCloud. O aplicativo tem como objetivo integrar em seus produtos o compartilhamento de arquivos em "nuvem", tais como fotos, vídeos, músicas entre outros arquivos. Para os interessados, existe apenas a versão paga.

2.7. Microsoft Azure
É um sistema operacional em nuvem (é uma plataforma como serviços - PaaS) oferecido pela Microsoft. Com ele você consegue construir e hospedar aplicativos em múltiplas linguagens e tecnologias.
2.8. Salesforce
Empresa que oferece serviços e plataforma em nuvem. Tem como foco atender empresas e desenvolvedores que prestam serviços para outras empresas como soluções de TI. Entre os seu produtos podemos destacar:
·         Salescloud:
Software de gerenciamento de vendas.
·         Force.com e Heroku.com:
Plataforma de desenvolvimento de aplicativos para pessoas da mesma organização e clientes finais

2.9. Panda Cloud Antivírus
É o primeiro e o único antivírus free. Umas das vantagens de se ter um antivírus na "Nuvem" é de que o seu computador fique menos lento, chegando a ganhar desempenho de até 50% comparados a softwares instalados na máquina.

2.10. Dropbox
Serviços de armazenamento de dados, possui planos de contas, a versão não paga, de até 2gb e a versão paga podendo ultrapassar 1TB de acordo com a sua necessidade.
2.11. Netflix
A maior agência de locadora de vídeos nos Estados Unidos, lançaram para os assinantes do serviço um pacote de infinidades de filmes e series de televisão armazenados na "Nuvem" a serem vistos via streaming.


2.12. Aprex
Empresa brasileira que oferece um conjunto de aplicativos para empresas e profissionais como disco virtual, agenda, gerenciador de contatos, calendário, blog, apresentações, blog e muito mais, tudo online.

2.13. YouTube
Lançado em 2005, com o seu primeiro vídeo de 19 segundos, os seus criadores não imaginavam o tamanho sucesso que se iria consolidar este serviço, podendo dizer que foi um marco para o ambiente online.  Nasceu com o intuito de compartilhar vídeos entre os criadores, e hoje se tornou a principal referencia em vídeos online. Dados de 2011 mostram que a cada minuto são mais de 48hrs de vídeos novos. São mais de 3 bilhões de visualizações diárias.


2.14. Flickr
É uma rede social com foco em armazenamento e compartilhamento de álbuns de fotos ou imagens. Recentemente o Flickr anunciou também a possibilidade de enviar vídeos, mas está muito longe de disputar com o Youtube. Em 2011 a flickr registrou 6milhões de imagens armazenadas em seus servidores.

1.     Comparativos dos serviços.

3.1. Software as a Service (SaaS)
3.1.1. Armazenamento, Compartilhamento e Edição de Arquivos.
3.2. Platform as a servisse (PaaS)
3.3. Infraestrutura as a servisse (Iaas)

Amazon EC2
Locaweb
Sist. Operacionais
Linux / Unix Micro
Microsoft Windows Server
Linux
Windows
Tempo de utilização
750h / 1 ano
Ilimitado
Disco
30gb
50gb
Transferência de dados
1gb / Mês
175gb
Snapshoot
1gb
2snapshoot
Preço
Gratuito
R$ 99,00

1.     Desenvolvimento

 4.1. Tecnologia
A ideia de Clould Computing é ter todas as informações, arquivos e softwares salvos sendo executado a partir de um servidor na internet, ou seja, não haveria mais necessidades de arquivos, documentos ou qualquer tipo de informação ser salva no disco local do seu computador. Para utilização desses serviços basta que o usuário tenha um sistema operacional, um navegador e acesso a internet.
Sua infraestrutura é composta por diversas ou milhares de maquinas físicas conectada através de uma rede (como mostra a figura 5), com a mesma configuração de software, porem, podendo ser diferenciada na alocação de hardware como memória e espaço em disco.
O Clould Computing não esta limitado apenas para o uso de empresas, porém particular também. Como exemplo podemos citar a Google Docs que permite o usuário salvar todos seus dados (documentos, planilhas, fotos, etc..) em um servidor Google na internet.
4.2. Modelos de Serviços
O Cloud Computing é fornecido como um serviço aos seus usuários. Empresas como a Amazon Cloud Computing,  RackSpace, Joyent, Salesforce, Google, Microsoft e algumas centenas de outros, fornecer todos os seus vários produtos baseados na Nuvem "como serviço". Vamos dar uma olhada nas três mais comuns disponíveis hoje, como mostra a figura abaixo.

4.2.1. Software as a Service (SaaS)
Trata-se de entregar produtos de software para os usuários através de dispositivos e aplicações clientes “leves”, como Thin Clients e dispositivos móveis (p.ex. celulares e netbooks) através de navegadores de Internet. O usuário não gerencia ou controla a infraestrutura necessária para o funcionamento do serviço (rede, armazenamento, sistema operacional).
Com os softwares na web novos recursos podem ser adicionados e atualizações podem ser executadas automaticamente, além de reduzir o custo por não haver necessidade de aquisição de licença. Ex.: Gmail, Google Docs, Twitter, Facebook, entre muitos outros.


4.2.2. Plataform as a Service (PaaS)
Fornece uma infraestrutura para a instalação e disponibilização de aplicações desenvolvidas pelo o usuário, utilizando ferramentas e ambientes fornecidas pelo provedor do serviço. O usuário não gerencia ou controla os recursos de infraestrutura, como sistema operacional, rede, plataforma de execução, banco de dados e etc. Esses recursos são oferecidos de forma transparente através de APIs fornecidos pelo provedor. Mas nesse caso o cliente tem total controle da aplicação em si e geralmente de parâmetros de configuração do ambiente de execução. Exemplo: Google App Engine .

4.2.3. Infrastructure as a Service (IaaS)
Serviços oferecidos aos clientes como processamento, armazenamento, rede e outros recursos computacionais fundamentais através dos quais os usuários podem executar quaisquer tipos de aplicações. O cliente final tem total controle sobre o ambiente, desde o sistema operacional até a plataforma das aplicações. Porém, o usuário não gerencia ou controla a infraestrutura da nuvem em si, como por exemplo, em qual hardware real suas “máquinas” estarão rodando. Exemplo Amazon Web Services.

4.3. Arquitetura e Funcionamento
A arquitetura é baseada em camadas, onde uma camada é uma divisão lógica de componentes de hardware e software. Com isso podemos ter seu gerenciamento e monitoramento de forma independente das outras camadas como mostra a figura abaixo.
A camada de mais baixo nível é composta pela infraestrutura física, que contem centros de dados, clusters, desktops e outros recursos de hardware.
A camada de core Middleware é responsável por gerenciar a infraestrutura física. Estes serviços contém negociações de QoS, gerenciamento dos SLAs, serviços de cobrança, serviços para verificar aceitação de requisições baseado no QoS e preço, serviços para cálculo, serviços de gerenciamento de virtualização, entre outros.
A camada de User – level Middleware é responsável por gerenciar aplicações ou ambientes de desenvolvimento. Essa camada é utilizada pelos usuários desenvolvedores de soluções para Clould Computing.
A camada User – Level é responsável por disponibilizar os aplicativos para o usuário.


1.     Segurança

 5.1. Segurança
Por serem utilizadas pela internet, algumas questões de segurança como impedir acesso não autorizado, garantir a confiabilidade, integridade e a privacidade das informações devem ser consideras e fornecidas pelo provedor que disponibiliza o serviço.
Colocar tudo na Nuvem faz-nos pensar que a informação que nela colocamos está sujeita a intercepção. Na verdade isso é possível e tudo depende do nível de Segurança que implantamos nos Serviços que vamos usar. Como mostra a figura abaixo segue os quatros tipos de nível de segurança.


5.1.1. Nuvem Pública (Public cloud)

Uma nuvem pública é o modelo padrão de cloud computing, em que um prestador de serviços dispõe de recursos, tais como aplicativos e armazenamento, para o público em geral por meio da Web. Os serviços em nuvem pública podem ser gratuitos ou oferecidos em um modelo de pay-per-usage, isto é, pague por uso.




5.1.2. Nuvem Comunitária (Community cloud)

Nuvem comunitária compartilha a infraestrutura entre várias organizações de interesses comuns (segurança, jurisdição, conformidade, etc.), sejam administrados internamente ou por terceiros e podem ser hospedados internamente ou externamente. Os custos são distribuídos por menos usuários do que uma nuvem pública (mas mais do que uma nuvem privada), portanto, apenas alguns dos benefícios da computação em nuvem são realizados efetivamente.


5.1.3. Nuvem Híbrida (Hybrid cloud)

A nuvem Híbrida é uma composição de duas ou mais nuvens (comunidade, privada e/ou pública) que permanecem suas entidades únicas, e são unidas, oferecendo os benefícios da implantação de modelos múltiplos. Também pode ser definido como multiple cloud systems, isto é, múltiplos sistemas em nuvem.



5.1.4. Nuvem Privada (Private cloud)

Infraestrutura de nuvem privada é operada exclusivamente para uma única organização e podem ser hospedados internamente ou externamente e/ou segmentados por unidade de negócio. Para garantir ainda mais a segurança pode-se utilizar técnicas de criptografia de dados. Porem essa técnica afeta consideravelmente o desempenho das consulta de dados.



1.     Confidencialidade, Integridade e Disponibilidade


6.1 Introdução à segurança

Normalmente um computador pode ser considerado no jargão da informática quando atende a três requisitos básicos, mas que funcionam muito bem no combate às pragas virtuais. São eles: confidencialidade, integridade e disponibilidade.

O primeiro ocorre quando a informação só é disponível para aqueles devidamente autorizados; segundo item, integridade, é quando o sistema tem um bom desempenho e tem uma defesa satisfatória no que se refere a segurança dos dados. O último é a disponibilidade, que significa que o PC está, de fato, redondinho e todos os seus principais recursos de sistema estão disponíveis sempre que forem adicionados por seu usuário.



6.2. Confidencialidade

Mantém a sua privacidade e não permite que uma pessoa obtenha acesso não autorizado ao seu computador. Isso evita que um invasor possa,  por exemplo, ler todas as informações contidas em sua Declaração de Imposto de Renda, descubra suas senhas bancárias ou mesmo tenha acesso às sua fotos privadas. Nessa toada, poderíamos listar quase uma centena de outros riscos que um computador com essa característica evita.


6.3. Integridade

Esse é outro aspecto muito importante. Um PC com essa característica evita que uma pessoa possa ter acesso não autorizado ao seu sistema e altere informações, por exemplo, de sua Declaração de Imposto de Renda, momentos antes de você enviá-la à Receita Federal.


6.4. Disponibilidade

Nada melhor do que ter um computador que atenda prontamente aos seus comandos. Mas às vezes isso não ocorre quando o seu provedor, por exemplo, sofre uma grande sobrecarga de dados ou um ataque de negação de serviço e você fica impossibilitado de enviar sua Declaração de Imposto de Renda à Receita. Disponibilidade é exatamente se poder contar com seus dados, softwares e serviços a todo momento em que for necessário.



2.     Tendências e Segurança em “Cloud Computing”


O tema Cloud Computing vai ser o assunto dominante neste e nos próximos anos.  Mas, um dos seus principais questionamentos é com os aspectos de segurança, tão importante é esse aspecto que recentemente foi criada uma associação chamada “Cloud Security Alliance”, a qual, entre outras coisas, produz um relatório muito interessante. Este relatório é o “Security Guidance for Critical Areas of Focus in Cloud Computing” (Guia de Segurança para Áreas Críticas em Foco à Computação em Nuvem).

O relatório é um “Work-in-Progress”, pois Cloud Computing ainda é um conceito e um modelo computacional em evolução. Por um lado, nos obriga a estar permanentemente atentos às suas evoluções tecnológicas e conceituais. De outro, nos leva a tomar decisões de algum risco, pois nem sempre as tecnologias envolvidas estão no nível de maturidade que gostaríamos que estivessem. Mas, olhando de forma positiva, em vez de riscos, podemos ainda visualizar as oportunidades que a computação em nuvem nos abre.

 A questão de segurança é de fundamental importância. O ritmo e disseminação da computação em nuvem está diretamente relacionado com o grau de confiança no modelo e nas tecnologias envolvidas. Sem se sentir confortável com o nivel de segurança obtido, os gestores das empresas não tomarão decisões favoráveis. Assim, conhecer os múltiplos aspectos  que envolvem segurança em Cloud Computing é obrigação de todo gestor ou profissional de TI. O relatório começa com um nivelamento dos aspectos conceituais da Computação em Nuvem, seus modelos de serviço (Infrastruture-as-a-Service, Platform-as-a-Service e Software-as-a-Service) e de entrega (public ou private clouds). A partir daí descreve os aspectos críticos que se relacionam com segurança, divididos basicamente em dois domínios: o domínio da governança (incluindo fatores como riscos, “compliance”, auditoria, inoperablidade entre nuvens e assim por diante) e operacional, que inclui variáveis como operação do Data Center em Cloud, continuidade do negócio, gerenciamento de identidades de acesso, virtualização, etc.

 À medida que mais e mais experiências práticas sejam obtidas com Cloud Computing, o relatório será expandido e acrescido de mais e mais detalhamentos.

Ainda é comum ver muita gente achando que Cloud Computing vá demorar a se disseminar, principalmente porque muitos analistas da indústria fazem estimativas conservadoras de sua adoção pelo mercado. É verdade que os relatórios de analistas de indústria com estimativas em relação às tendências e perspectivas de Cloud Computing tendem a ser bem conservadoras dizendo que o mercado de Cloud Computing será de US$ 150 bilhões em 2013.

 Mas os próprios profissionais da área acreditam que este valor será muito mais alto.

Vamos começar do princípio. Von Neumann, o lendário criador da computação, fez duas importantes observações: Uma que o progresso humano é exponencial e não linear. A outra é que este crescimento exponencial começa devagar e muitas vezes passando despercebido, até que atinge um ponto critico, quando se transforma em algo explosivo e profundamente transformador.

 O que acontece é que geralmente fazemos nossas previsões baseadas na perspectiva de um crescimento linear e não exponencial. Mas o ritmo de mudanças está se acelerando. Um exemplo que descreve bem isso é que os últimos 20 anos de progresso do século XX seriam conseguidos hoje em 14 anos. Em breve em apenas 7 anos e assim sucessivamente. Em termos práticos, o século XXI terá um ritmo de progresso tecnológico pelo menos 1000 vezes maior que o que vimos no século que acabou recentemente.

Um exemplo ainda foi o crescimento da Internet. Em meados dos anos 80, como  a Internet era constituída de apenas algumas dezenas de milhares de servidores, ninguém imaginava o que ela seria hoje. Mas com um ritmo de crescimento que dobrava o numero de servidores a cada ano (eles se tornavam mais baratos e poderosos em períodos de tempo cada vez mais curtos) hoje temos centenas de milhões de máquinas interconectadas. Se considerássemos apenas o estado da arte da tecnologia de 1985, a Internet seria apenas uma pequena fração do que é hoje.




3.     Conclusão


Com as nossas pesquisas, conseguimos ver que a Computação em Nuvem é um serviço que está cada vez mais se expandindo entre as empresas e a comunidade científica.
Como as empresas e a demanda por essa tecnologia está crescendo, grandes pesquisas envolvendo esse serviço estão sendo desenvolvidas para que chegue a um nível em que as pessoas possam utilizar esse serviço sem ter nenhum tipo de problema. Empresas e comunidades científicas unidas realizando iniciativas para que essa tecnologia cresça e se desenvolva de acordo com a necessidade empresarial, e quem sabe também, pessoal.
Uma das vantagens de se utilizar a nuvem em uma empresa é que com a Nuvem a empresa consegue prestar serviços para o usuário diretamente pela internet, os funcionários conseguem acessar a dados empresarias dentro da Nuvem independente do local que a pessoa esteja e se podem utilizar serviços dentro dela.          

Não somente no uso empresarial, mas em uso pessoal podemos utilizar a Nuvem de forma muito eficiente para nós, como por exemplo, se um computador der problema e seus dados estiverem na Nuvem, seus dados permanecerão seguros e salvos, diferentes do computador que se houvesse algum problema poderia apagar os seus dados.

Um dos problemas que a Nuvem possui é a sua segurança que ainda está sendo aprimorada. Muitas pessoas e empresas possuem certo receio de colocar os seus dados na Nuvem, devido aos riscos que elas correm de terem os seus dados roubados por algum “hacker”. Também pode se dizer que é um grande problema da Nuvem, a falta de conexão com a internet. Se não existir conexão com a internet, não irá conseguir acessar os seus dados na Nuvem.

Essa é uma tecnologia que ainda está sendo desenvolvida e pesquisada, porém essa é uma tecnologia que pode ser uma das tendências mundiais devido a facilidade que ela nos trás e conforme estamos necessitando cada vez mais de nossas informações e arquivos, ela está realizando esse papel.

A computação em Nuvem é um grande passo para a evolução da informática e cada vez mais esse passo vem se ampliando e trazendo o futuro para mais próximo de nós!


4.     Referências


http://olavooneto.files.wordpress.com/2011/01/computacao_em_nuvens_visao_olavo_neto.pdf

http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_em_nuvem




TECNOLOGIA ATUAIS
Amazon:
http://aws.amazon.com/pt/ acessado em 10 maio, 2012
Skydrive:
http://windows.microsoft.com/pt-BR/skydrive/home acessado em 10 maio, 2012
iCloud:
http://www.apple.com/br/icloud/ acessado em 10 maio, 2012
Microsoft Azure:
http://www.windowsazure.com acessado em 10 maio, 2012
Panda Antivírus:
http://www.baixaki.com.br/download/panda-cloud-antivirus.htm acessado em 10 maio, 2012
Dropbox
https://www.dropbox.com/pricing acessado em 10 maio, 2012
Netflix:
https://signup.netflix.com/MediaCenter/Overview acessado em 10 maio, 2012
Youtube:
http://googlediscovery.com/2011/05/25/youtube-completa-6-anos-com-numeros-monstruosos/ acessado em 10 maio, 2012
http://www.tecmundo.com.br/youtube/5810-o-youtube-em-numeros.htm acessado em 10 maio, 2012
Flickr:
http://diogoazevedo.com/2008/03/flickr-com-videos-quem-sabe-em-breve/ acessado em 10 maio, 2012
Aprex:
http://www.aprex.com.br/home.php acessado em 10 maio, 2012


 


http://www.comunitacenacolo.it/index.asp?idlingua=7

segunda-feira, 4 de junho de 2012

Servidores Web



SERVIDORES WEB

Introdução

http://www.openbase.com.br/openbdoc/html-pb/opusweb/Ow1p2.htm - Acessado em 15/05/12

Um Servidor Web é um aplicativo responsável em aceitar solicitações HTTP feita pelos clientes web e responder fornecendo informações na forma de documentos de imagem texto, vídeos, aplicativos, serviços entre outros.

Esses servidores podem oferecer conteúdos na internet ou em uma intranet, os servidores web quando disponíveis em uma intranet ,também poderá oferecer serviços na internet dependendo das necessidades dos usuários e das configurações da rede onde ele se localiza.

Apesar de o aplicativo ser chamado de Servidor Web, ele não é um sistema operacional, mas um serviço que roda sobre uma plataforma. Essa plataforma é um sistema operacional que pode ser Unix, Linux, Windows Server, Mac, Sun, etc.

A maioria dos fabricantes disponibiliza um Servidor Web específico para os seus produtos, porém também existem Servidores Web multi plataforma e outros com várias versões que atendem diferentes sistemas operacionais.

Os servidores web mais utilizados no mercado hoje são o Apache desenvolvido pela comunidade linux, o IIS desenvolvido pela Microsoft e o IBM HTTP Server.



Introdução a Web Service

http://devedge-temp.mozilla.org/viewsource/2002/soap-overview/index_pt_br.html - Acessado em 15/05/12

Em meados dos anos 90 a Internet começou a se popularizar e as tecnologias presentes permitiam aos seus usuários acessarem sites e baixar o seu conteudo. A linguagem de programação HTML (Hiper Text Markup Language) era a linguagem utilizada na época e era através dela que as informações na internet eram apresentadas.

Com o passar do tempo novas tecnologias passaram a ser desenvolvidas, isso permitiu que diversos aplicativos e serviços passassem a ser disponíveis na rede. Diferentemente do principio, quando a internet oferecia, na sua maioria, páginas estáticas com informações, ela passou a disponibilizar sites dinâmicos que permitem a execução de diversos serviços, como sites de compras, consultas dinâmicas, serviços bancários entre outros.

Os web services ainda são acessados pelo protocolo HTTP, porém por trás disso existe uma string XML que consiste em um protocolo SOAP (Simple Object Acess Protocol), que é um padrão aberto criado em comum acordo entre a IBM, Ariba e Microsoft, com intuito de padronizar a transferência de dados entre aplicativos.



O protocolo HTTP

http://www.openbase.com.br/openbdoc/html-pb/opusweb/Ow1p2.htm Acessado em 15/05/12

O protocolo HTTP (Hypertext Transfer Protocol) permitir uma transferência rápida e eficiente de documentos na Internet, ele é baseado em um sistema de pedido (request) e resposta (response).

A transação HTTP possui uma estrutura básica que inicia com o cliente estabelecendo uma conexão com o servidor pela porta 80 (Padrão), utilizando o protocolo TCP/IP. Estabelecida a conexão o cliente envia uma mensagem ao servidor, essa mensagem é uma request, o servidor por sua vez processa o pedido respondendo ao cliente com a informação solicitada, após esse envio o servidor fecha a conexão.



Endereçamento de Sites:

Existem três tipos de endereçamento para um site:

• Enderço IP (IP Adress)

• Número da porta TCP (Port Number)

• DNS

Para que um site consiga ser publicado, pelo menos um, dentre esses três endereçamentos, precisa ser único para a máquina em que o site está hospedado.



Endereço IP: Favor colocar uma descrição



Porta TCP: Neste espaço escolhe-se o número da porta que o web site irá usar para se comunicar com os clientes. Apesar do aplicativo não impedir a escolha de um porta que já esta sendo usada, é altamente recomendado a utilização de uma que esteja livre, pois pode haver problemas de comunicação com outros serviços.

A porta 80 é a escolha padrão dos navegadores de internet sempre que tentam se comunicar com um web site. Caso outro número seja escolhido para a porta de comunicação, este terá que ser adicionado ao endereço URL do site pelos clientes.

Por exemplo: Se a porta 1200 for escolhida para o site www.vitrine.com, o usuário terá que digitar a seguinte URL para conseguir acessar esta página no servidor: www.vitrine.com:1200



DNS: É o nome que é digitado no barra de endereço do navegador. O uso do DNS permite que os sites que estão contidos no servidor tenham o mesmo número de IP e porta. Isso é muito útil quando se tem poucos números de IP disponíveis ou para economizá-los.



Porta SSL: A porta SSL permite que os dados que trafegam entre cliente e servidor sejam criptografados ou autenticados. Da mesma forma que na porta TCP, caso o número escolhido seja diferente do padrão (443), o usuário terá que digitar o número ao final do endereço do site.




O Protocolo SOAP

http://www.openbase.com.br/openbdoc/html-pb/opusweb/Ow1p2.htm - Acessado em 15/05/12

http://www.inf.ufsc.br/~bosco/old_page/ - Acessado em 15/05/12





O SOAP é um protocolo que tem como base o XML e é utilizado para troca de informação entre aplicativos. Como as Mensagens do SOAP são escritas em XML elas podem ser utilizadas em qualquer plataforma. O protocolo SOAP padroniza a arquitetura de serviços na Web, isso permite que diversas aplicações troquem mensagens, dados e serviços. Dessa forma clientes utilizando linguagens de programação diferentes em sistemas operacionais diferentes possam se conectar e compartilhar serviços web, usando o SOAP. Desta forma, torna-se possível a interoperabilidade e a comunicação entre diferentes sistemas.



A Linguagem XML



http://www.w3.org/XML/ - acessado em 15/05/12

O XML (Extensible Markup Language) é uma linguagem recomendada pelo consorcio W3C, ele se caracteriza por ser muito flexível.

No princípio ele foi criado para atender as necessidades de grande escala de publicações eletrônicas, se tornando uma ferramenta muito importante na troca de dados entre Serviços Web.

O XML utiliza sintaxe básica e pode ser combinado com outros padrões, tornando simples reutilizar o código em outras aplicações com propósitos diferentes.



A sua padronização e sintaxe básica permite que ele tenha boas características de portabilidade, pois um aplicativo pode escrever um arquivo XML e enviar para ser lindo e utilizado por outro aplicativo.



Alguns dos propósitos do XML são: auxiliar os sistemas de informação no compartilhamento de dados (especialmente via internet), codificar documentos e inserir seriais nos dados comparando o texto com o de outras linguagens baseadas em serialização.







INTERNET INFORMATION SERVICES (IIS)



IIS é um pacote de aplicativos da Microsoft para servidores Web. Este pacote inclui entre suas ferramentas o Serviço WWW.



WWW Service:

O WWW Service é um serviço para publicação e gerenciamento de Web Sites, que permite configurar informações de sites, diretórios e arquivos contidos em um servidor.

Para fazer o gerenciamento dos sites e aplicações que estão no servidor Web o IIS tem a ferramenta MMC (Microsoft Management Console). O MMC controla todos os componentes que estão instalados com o IIS.





Tela do MMC







Diretórios do Web Service:

Ao clicar na pasta Web Sites na janela esquerda do MMC tem-se a lista de todos os sites que estão no servidor. A navegação pelas janelas do MMC segue a mesma linha do Windows Explorer. Aqui também é possível ter acesso as permissões NTSF dos diretórios, porém não se pode configurar as permissões NTSF para arquivos.



Criando um site:

Vários sites podem ser criados em um servidor. Para criar um site há a opção de usar o Web Site Creation Wizard (Ajudante de criação de Web Site) ou importar um arquivo pronto.

Após o site ter sido criado, o próximo passo é definir suas configurações na Janela de Propriedades:



Endereço IP:

• Escolher um número do menu da caixa de propriedades do Web Site Indetification.

• All Unassigned: O IIS atribui automaticamente qualquer IP que não esteja sendo usado nessa máquina.

• Digitar um IP de sua escolha. Ao digitar um IP manualmente o IIS não confere se este IP está sendo usado por outro site ou se está disponível para a máquina em que o site está hospedado. Ele apenas certifica-se que o número digitado é um IP válido. É importante levar isso em consideração ao escolher um número de endereço IP manualmente.



Porta TCP: O valor 80 já vem com padrão de instalação. A escolha de outra porta TCP implicará na necessidade do cliente adicionar esse valor no endereçamento DNS.

Porta SSL: 443 é o valor padrão de instalação. Aqui a escolha de outro número também exigirá que o cliente adicione o valor escolhido ao endereço DNS.



Janela de propriedades do Web Site



DNS: Digitar o enderço DNS do site.



Janela de propriedades de identificação avançadas



Identificação dos Web Sites:

O primeiro site que aparece nas lista de diretórios é o Default Web Site. Cada site possui um número de identificação que é gerado aleatoriamente. O único site em que o identificador é sempre o número um é o Default Web Site.



Controle de Serviços de Web Sites:

Através do MMC consegue-se controlar o estado que um site se encontra na Web :

• Running (Ativo): O site está no "ar"

• Stop (Parado): O site não responde a chamadas dos clientes, ou seja, está inativo.

• Pausado (Pause): O site não aceita novas chamadas de clientes, porém as chamadas iniciadas antes dele ser pausado serão concluídas. Essa função é importante caso seja necessário tirar o site do ar sem cortar o acesso dos clientes abruptamente.





Permissões de Ações de Usuários:

As permissões são configuráveis nos níveis do Servidor Web, do site, do diretório e do arquivo.

Leitura: Permite que clientes façam download de uma página da web, leiam e baixem arquivos. Se essa opção estive habilitada, os usuários não poderão ver páginas de conteúdo estático.

Escrita: Caso esteja habilitada, os clientes poderão fazer uploads de arquivos no servidor.

http://programming4.us/security/600.aspx

Permissões de Aplicativos:

Nenhuma: Permite só paginas estáticas. Scripts não podem ser executados. Impede que qualquer aplicação que esteja no servidor possa rodar.

Scripts: É permitido que scripts, como o ASP, rodem através da extensão ISAPI. Com essa permissão ficam abertas as portas para que qualquer tipo de script funcione no servidor, o que pode gerar um problema de segurança.

Executáveis: Possibilita que qualquer tipo de arquivo seja acessado e executado. Além de scripts, arquivos como .exe, .dll e .cgi também rodem no servidor

Ao optar por habilitar só scripts ou scripts e executáveis, recomenda-se que permissão NTSF de escrita para usuários esteja desabilitada, evitando assim que pessoas possam fazer uploads e rodar arquivos executáveis e scripts maldosos no servidor.



Autenticação e Controle de Acesso

O IIS permite os seguintes tipos de autenticação:



Acesso anônimo: A pessoa que estiver acessando a página não fazer precisa fazer o logon com a senha e nome de usuário. O IIS utiliza o Internet Guest Account, que é uma conta instalada junto com o aplicativo, para autenticar o usuário.



Autenticação Básica: É a forma mais simples de autenticação. A senha e o nome do usuário são enviados pela rede em forma de texto, sem serem criptografados. A autenticação básica tem um alto nível de compatibilidade, pois utiliza-se da especificação HTTP, que é aceita pela maioria dos navegadores.

Um grande problema desse tipo de autenticação é a segurança. Além de trafegarem de forma não criptografada pela internet, o IIS guarda os dados de login do usuário em cache por um período pré-determinado, possibilitando que hackers roubem essas informações antes que elas sejam apagadas da memória.

Recomenda-se o uso nas seguintes situações:

• O usuário não precisa ter uma configuração de sistema específica. Pode utilizar qualquer sistema operacional ou navegador.

• A estrutura de rede não suporta autenticação criptografada.

Como a autenticação básica não criptografa as informações de login, é necessário utilizar a criptografia do protocolo SSL.



Digest Autenticantion for Windows Domain Servers: Este tipo de autenticação está disponível caso o Active Directory esteja sendo usado.

É mais confiável do que a autenticação básica, pois transmite e guarda as informações no servidor no formato hash MD5. Caso alguém intercepte a mensagem ou invada o servidor em que está hospeda, não consiguirá visualizar os dados do usuário.



Advanced Digest Authentication: Funciona da mesma forma que o Digest Autentication, porém com uma diferença essencial para a segurança das informações. Os dados de login dos clientes são guardados no controlador de domínio utilizando o hash MD5, o que garante uma segurança muito maior para informações.

Os pré-requisitos para usar esse tipo de autenticação são:

• Controlador de domínio e Servidor IIS precisam estar rodando no Windows Server 03

• Os usuários que estiverem usando Advanced Diggest Autentication têm que possuir o IE5 ou uma versão mais nova.

• Utilizar o Active Directory



Autenticação Integrada do Windows: É a forma mais segura de autenticação, porém só funciona em navegadores Internet Explorer. Cliente e servidor se comunicam de forma criptografada.

As formas de criptografias aceitas são:

• Kerberos V5

• NTLM



.Net Passaport Autentication: Os clientes fazem a autenticação através do Microsoft .Net Passaport. A vantagem desse tipo de solução é que as informações de login dos clientes ficam armazenadas em outro servidor cuja segurança e manutenção são de responsabilidades da Microsoft .Net Passaport. Não é necessário cria um sistema de credencias em seu servidor. Após o usuário fazer o logon no servidor do .Net passport ele é automaticamente rederecionado para página do site requisitado. Com a autenticação .Net Passport vários sites podem ser acessados com apenas um nome de usuário e senha.

Para utilizar esse serviço é preciso pagar uma taxa para a Microsoft .Net Passport.



Gerenciamento de Aplicativos:

A arquitetura do IIS oferece um sistema de isolamento de processos que garante maior segurança e desempenho para o Servidor Web. No IIS os serviços essencias de gerenciamento e publicação Web funcionam isoladamente dos aplicativos. Além disso, os aplicativos também podem ser configurados em diferentes grupos, evitando que o defeito de uma aplicação interfira em outras páginas do site.

Por exemplo, vamos supor que vc esteja testando um novo método de pagamento para um site de compras. Esse serviço deve ser configurado em um novo grupo de aplicativos, pois havendo algum problema com essa aplicação, outros diretórios, como os que guardam imagens e páginas estáticas do site, não serão afetados.

A plataforma da Microsoft para o desenvolvimento de aplicativos Web, Asp.net, é a ferramenta para criação de conteúdo dinâmico que melhor trabalha em conjunto com o IIS.

Através das extensões ISAPI e CGI, o IIS também oferece suporte a outras plataforma de desenvolvimento de aplicativos Web. Algumas delas são:

• ASP

• PHP

• Perl

• Phyton

• Ruby on Rails (Open Source que trabalha com Apache e outras Servidores Web).



Considerações finais sobre o IIS:

• O IIS é flexível, seguro e de fácil gerenciamento.

• Com uma arquitetura que isola os processos de operação e o aplicativos das funcões essenciais para o funcionamento de um site, é um Servidor Web de alta confiabilidade.

• Sua capacidade de lidar com tarefas que vão desde streming de video à aplicações web, o torna uma excelente escolha para quem deseja realizar serviços de hospedagem.







APACHE

História

O Apache foi desenvolvido por Rob McCool que na época trabalhava na NCSA (National Center of Supercomputing applications). Quando Rob deixou a empresa, o desenvolvimento foi interrompido, assim muitos desenvolvedores buscaram personalizar sua própria versão ou adicionar mais características para atender as suas necessidades. Desde então começa a história do Apache com Brian Behlendorf e Cliff Skolnick. Teve também participação da HotWired que doou um servidor como cobaia para fazerem testes, corrigir erros, adicionar recursos e também discutir ideias com hackers interessados neste projeto.

A primeira versão oficial foi a 0.6.2, lançada em abril de 95 (nesta época a NCSA retomava o desenvolvimento de seu servidor web, tendo como desenvolvedores Brandon Long e Beth Frank, que também se tornaram membros do grupo Apache). Nas versões 2.x do Apache, o servidor já foi ampliado suportando as plataformas Win32.

Segundo uma pesquisa realizada em Dezembro de 2007, foi concluído que a utilização do Apache representa 47.20% dos servidores ativos no mundo. Em maio de 2010, o Apache serviu mais de 54,68% de todos os sites e mais de 66% dos milhões de sites mais populares. É a principal tecnologia da Apache Software Foundation, responsável por dezenas de projetos envolvendo tecnologias de transmissão web.

Suas funcionalidades são mantidas através de uma estrutura de módulos, permitindo inclusive que o usuário escreva seus próprios módulos utilizando a API do software.



Algumas características do Apache:

• Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP, etc.

• Suporte a autorização de acesso podendo ser especificadas restrições de acesso separadamente para cada endereço/arquivo/diretório acessado no servidor.

• Autenticação requerendo um nome de usuário e senha válidos para acesso a alguma página/sub-diretório/arquivo

• Mensagens de erro.

• Suporte a IP virtual hosting.

• Suporte a name virtual hosting.

• Suporte a servidor Proxy ftp e http.

• Suporte a proxy e redirecionamentos baseados em URLs para endereços Internos.

• Suporte a criptografia via SSL.

• Módulos DSO (Dynamic Shared Objects) permitem adicionar/remover funcionalidades e recursos sem necessidade de recompilação do programa.



Ficha Técnica

Por default os arquivos do Apache na plataforma GNU Linux se encontram no \etc\apache.

• httpd.conf - Arquivo de configuração principal do Apache;

• srm.conf - Contém diretivas que controlam a especificação de documentos que o servidor oferece aos clientes;

• access.conf - Contém diretivas que controlam o acesso aos documentos.

OBS: As configurações também podem ser especificadas diretamente no arquivo httpd.conf. Não é obrigatório usar os arquivos srm.conf e access.conf, mas isto proporciona uma melhor organização das diretivas do servidor.



Instalação

O servidor é configurado por um arquivo mestre nomeado httpd.conf e pode haver configurações para cada diretório utilizando arquivos com o nome .htaccess, onde é possível utilizar autenticação de usuário pelo próprio HTTP utilizando uma combinação de arquivo .htaccess com o arquivo .htpasswd, guardará os usuários e senhas (criptografadas).

Antes de iniciar a instalação, convém verificar se o Apache já não está instalado no sistema. Verifique se ele está abrindo um navegador web no endereço http://127.0.0.1.

Para instalar o servidor, a primeira coisa a fazer é transferir a versão que pretendemos instalar do site oficial da Apache http://www.apache.org. Existem sempre várias distribuições disponíveis mais o melhor é usar a última versão. (No exemplo usaremos o Apache 2).



Instalação no Debian / Linux:

# apt-get update

# apt-get install apache2

Configuração:

Use o comando “whereis” para descobrir onde estão os arquivos de instalação:

# whereis apache2

Na tela irá mostrar algo como:

usr/sbin/apache2
/etc/apache2
/usr/lib/apache2
usr/share/apache2

Onde:

• usr/sbin/apache2 é o diretório do binário principal do apache;

• /etc/apache2 ficam os principais arquivos de configuração do apache;

• /usr/lib/apache2 é a biblioteca do apache2;

• usr/share/apache2 são os objetos padrões do apache.

Utiliza-se somente o diretório /etc/apache2 e o diretório /var/www/apache2-default, onde ficarão os sites armazenados no servidor apache.

Dica: Crie um link simbólico chamado apache no diretório /var/www.

# ln -s /var/www/apache2-default /var/www/apache

Isso facilita na hora de configurarmos os sites do apache.

Acessando o endereço "http://127.0.0.1", você verá uma página de boas-vindas, que indica que o servidor está funcionando. Se não houver nenhum firewall no caminho, ele já estará acessível a partir de outros micros da rede local ou da internet.



Instalação no Windows

Resolvemos instalar o Apache em uma pasta chamada Webserver na raiz do HD, ficando da seguinte forma: C:\Webserver. Após inicie o instalador do Apache, a primeira tela de instalação é semelhante a essa:







Avançando algumas telas chegamos à seguinte tela de configuração. Aqui é onde iremos fazer algumas configurações do servidor, basta preencher o primeiro campo com o valor localdomain, o segundo campo com localhost e o terceiro um e-mail próprio. É recomendável que você deixe o Apache configurado na porta 80, não é obrigatório você pode alterar caso queira.







Temos a tela que escolhemos a opção típica ou customizada se caso queira personalizar a pasta de instalação do Apache:





Por default o Apache é instalado na pasta Arquivos de Programas/Apache Software Foundation/Apache 2.2, mas vamos instalá-lo dentro da pasta Webserver, ficando então:







Após o término da instalação, veremos que apareceu um novo ícone, o Apache Monitor. Através dele temos acesso ao status do Apache, onde podemos obter informações se ele está rodando, podemos também parar o servidor, reiniciá-lo e iniciá-lo:







Testando o Apache

Abra o browser e digite o seguinte na barra de endereços: http://localhost/.







As versões mais antigas do Apache exibiam outras informações, mas a 2.2.XX mostra só isso. As páginas ficam por padrão dentro da pasta “htdocs”, no diretório onde o Apache foi instalado. No caso ela está na seguinte pasta: C:\Webserver\Apache2.2\htdocs.

Caso queira pode substituir o arquivo “index.html” pelo arquivo de outro site e também pode adicionar pastas e subpastas representando outros diretórios.

Até agora nosso servidor lê somente HTML. Porém, é diferente a forma de acesso do endereço “http://localhost/index.html” de “C:\Webserver\Apache2.2\htdocs\index.html”. No primeiro caso, o navegador solicita a página ao servidor “localhost”, recebe a página do servidor, armazena no cache, e só depois então a exibe. Como se fosse um site que estivesse realmente hospedado em algum servidor da Internet. Como o servidor do site está no próprio PC, trata-se então de uma Intranet. No segundo caso, estamos acessando o arquivo diretamente do HD. O navegador pode até armazenar algum dado no cache, mas não há nenhuma comunicação com qualquer servidor. Ele lê o arquivo como qualquer programa leria qualquer arquivo.





IBM HTTP SERVER



O IBM HTTP SERVER é uma servidor web desenvolvido pela IBM utilizando como base o Servidor Apache. A IBM se preocupou em adicionar ao sistema vários recursos, otimizando sua utilização, e permitindo novos recursos.



Recursos adicionados ao IBM HTTP SERVER:

InstallShield: É uma ferramenta utilizada para criação de instaladores de softwares, muito utilizado na plataforma Windows, ele cria uma arquivo executável para ser utilizado no computador onde o software deve ser instalado.

Componente do Servidor de Administração : Esse recurso permite que o IBM HTTP SERVER seja administrado por uma interface web, esse sistema permite que o servidor seja administrado remotamente através de qualquer sistema operacional que possua um browser.

Suporte a SSL (Secure Sockets Layer): É um padrão utilizado mundialmente que cria um canal criptografado entre o cliente web e o servidor web, permitindo uma transmissão de dados mais segura.

Suporte a FRCA (Fast Response Cache Accelerator): É um acelerador de cache de conteúdo e que também faz um cache de HTTP GET, esse recurso só é disponível para sistemas operacionais Windows. O FRCA também possui um desempenho melhor que o apache para distribuir páginas estáticas.

Geração de conteúdo dinâmico com FastCGI: Esse recurso otimiza o funcionamento de extensões CGI, PHP, entre outras. Com ela, aplicações externas rodam muito mais rápido em servidores Windows.

Suporte a idiomas: Permite a instalação do IBM HTTP Server em idiomas diferentes, esse recurso está disponível em todas as plataformas.



Suporte a autenticação de LDAP

Gerenciamento de arquivo WebDAV: Web-based Distributed Authoring and Versioning, é uma extensão do protocoloHTTP que é utilizada para transferência de arquivos.Ele permite que arquivos fiquem bloqueados quando um usuário está alterando o mesmo, impedindo que mais de um usuário altere o arquivo aomesmo tempo

Suporte de SNMP com acesso a MIB (management information base): Permite a captação, envio e o gerenciamento de informações do sistema,Apache SCOREBOARD que é um módulo de autenticação do Apache.

http://www.ibm.com/developerworks/br/data/library/techarticle/dm-1105httprestdb2/ - Acessado em 16/05/2012
http://www.comunitacenacolo.it/index.asp?idlingua=7

sábado, 5 de maio de 2012

Videos Para Incentivar a Corrida

Vídeos sobre corrida para Incentivar Eu correria até você Coisa da Boa Some Time Together - Nunca pare de correr Melhore, seja mais rápido

sexta-feira, 30 de março de 2012

Função Excel - Calcular Percentual Com Base em Metas

Vamos supor que você queira pagar percentuais diferentes, conforme as metas atingidas dos seus colaboradores.

Para quem atingir 60% da meta pagar 4%

Para quem atingir 80% da meta pagar 6%

E para quem atingir mais de 80% da meta pagar 8%

Segue a formula.

=SE(A2<=60;"0,04";SE(E(A2>60;A2<=80);"0,06";"0,08"))

Explicando:

Se a célula A2 tiver um valor menor que 60 ele atribui o valor 0,04

Caso contrário, se atingir um valor maior que 60 e menor igual que 80 ele atribui 0,06

Caso não se enquadre em nenhuma função, ele atribui 0,08



Depois basta multiplicar o valor atingido pelo resultado da formula.

quarta-feira, 28 de março de 2012

Formulas Excel - Somar ou Subtrair Horas

Basta executar uma configuração muito simples para efetuar somas de horas.

1° Selecione as células onde estão os valores das horas, com o Botão direito, selecionar "Formatar Células"



2º Na aba geral selecionar a categoria "Personalizado".



3º Escolher a opção de horas conforme a figura acima e colocar o valor "hh" entre "[ ]", [hh]:mm


4º Inserir a formula, ex.: "=soma(A1,A10)"


Ou a subtração =A1-A2...





Descubra quanto de Mata Atlântica existe em você!

Contador visitas