3.1 Login Universal
Hoje em dia uma pessoa tem vários login com sua respectiva senha para diversos sites existente na internet. Ao passar do tempo haverá serviços (sites) que não serão utilizados diariamente, com conseqüência o internauta acabará esquecendo a senha ou ate mesmo o login. Já para prevenir isso, tem sites que envia uma frase escrita pelo o próprio usuário para tentar lembrar a senha ou manda a própria senha para o correio eletrônico, algumas vezes nem adianta muito, pois pode mandar para um correio eletrônico que não se usa mais.
Nas grandes empresas que possui vários sistemas o internauta ter apenas um login e uma senha, ou seja, só precisa efetuar apenas uma vez o cadastrado na empresa, com isso, pode ter acesso a todas as ferramentas disponíveis dessa empresa e também a facilidade de não ter que fazer vários cadastrados toda a vez que deseja utilizar um novo sistema disponível. Isso pode ser visto nas empresas Google, Yahoo! e na Microsoft, todas elas tem seus serviços gratuitos e pagos porem o internauta precisa apenas ter um login e só precisar se identificar uma vez em qualquer sistema que os demais reconhecerá também. Mesmo assim, você deverá ter um login para cada empresa, e não só existem essas 3 empresas, são milhares no mesmo ramo.
O ideal seria que só precisasse de se cadastrar apenas uma vez e que pudesse ser reconhecido por qualquer empresa, qualquer site. Bem, já existe um projeto com esse intuito, o OpenID (http://openid.net). Um projeto que facilita a vida do usuário final com todas as finalidades já citada acima, de ter apenas um ID para a WEB. Todos os sites que suportarem esse sistema de autenticação, o usuário não precisar se cadastrar novamente, só irá precisar fazer a autenticação com o seu login e sua senha do OpenID. Porem esse projeto não é recomendado para registros com informações confidenciais (sigilosas) como por exemplo sistemas bancários ou comércios eletrônicos.
De acordo com alguns sites, esse projeto já esta sendo testado pela Yahoo!, Window Live, Google, I-names, CNN e outros.
3.2 API’s livres
“API, de Application Programming Interface (ou Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões estabelecidos por um software para utilização de suas funcionalidades por programas aplicativos -- isto é: programas que não querem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.”
- http://pt.wikipedia.org/wiki/API
API são funções liberadas para os programadores desenvolver em cima de um componente já feita, de tal modo que poderá ser desenvolvidos novos serviços usando a mesma base. A grande vantagem de utilizar API criadas por terceiros é de não ter o trabalho de criar um mecanismo que tem disponível, com isso, o projeto tem mais tempo de desenvolvimento. Um exemplo de API é do GOOGLE MAPS, um sistema de mapeamento mundial com fotos de satélites com teoria dos grafos (pontos interligados por arestas por onde da pra saber qual é a melhor rota de um ponto A até B). A empresa Google fornece essas API desse sistema para outras empresas desenvolva outros sistemas utilizando como base o GOOGLE MAPS. Podemos citar como exemplo de projetos que implementa esse API o APONTADOR (http://www.apontador.com.br/) e o WIKI MAPIA (http://wikimapia.org/). Outro exemplo de API livre para desenvolvimento é do FACEBOOK, que disponibiliza a criação de novas ferramentas para rede social, ou seja, as criações dessas novas ferramentas disponibilizam novos atrativos para o site sem que os próprios desenvolvedores do site tenha feito ou imaginado, ganhando assim mais visitas (cadastrados) no site pelas pessoas que desejam desenvolver alguma ferramenta ou aqueles que desejam ver as mais de 15 mil ferramentas que foram desenvolvidas por terceiros no site.
Não existem só essas duas API’s, a lista abaixo são alguns sites que também disponibilizam suas API’s para desenvolvimento:
1. MySpace Development Platform (ActionScript Library)
2. Facebook F8 Platform (ActionScript API)
3. Amazon S3 (ActionScript Library)
4. eBay Platform (ActionScript Library)
5. Flickr (ActionScript Library)
6. YouTube (ActionScript Library)
7. Yahoo! ASTRA (ActionScript Libraries)
8. Web Map Services (Google, Microsoft VE and Yahoo) (ActionScript API)
9. Twitter Life Stream (ActionScript 3 API) ( SWX Twitter API )
10. Pownce ( ActionScript 3.0 library )
11. Digg (Flash Kit)
12. Last.fm Music (ActionScript Library)
3.3. “Software” na WEB
Quando escutamos a palavra SOFTWARE logo vem em mente um programa que tem uma função especifica, que precisar ser instalada na máquina e que tem uma configuração mínima para funcionar corretamente. Muitos SOFTWARE’s não estão disponíveis para todos os sistemas operacionais, por exemplo, o programa Corel Draw X3 tem para Windows porem não tem para Linux, com isso, o usuário tem que procurar um software semelhante para poder fazer a mesma tarefa, fazendo com que ele perca tempo, e isso eles não querem.
Um site ao contrario de um software, não precisar ser instalado e que pouquíssimas vezes requer uma configuração mínima (exemplo de velocidade de conexão ou instalação de algum plugin, exemplo, Flash da Adobe), porem suas funções são muitos limitadas. Sua grande vantagem é de não ter especificação de sistema operacional, ou seja, independente do sistema operacional que você esteja usando poderá ter acesso a qualquer site disponível na internet.
O que seria “software” na web? Os sistemas desenvolvidos para web eram muito limitados a só mostrar informação (mostrar texto, foto ou vídeo), não tinha muita interação com o usuário, sem muitas funcionalidades diferentes. Porem com o tempo foi surgindo novas tecnologias e as que já existiam foram sendo aprimoradas, ou seja, novos tipos de sistemas podem ser desenvolvidos com mais interação com o usuário. E no que isso resultou? Sistemas antes que só poderiam ser desenvolvidos como software (ser instalado na máquina), agora esta sendo desenvolvida para web, ou seja, a qualidade e a interação de um software com as vantagens de um sistema para web. Veja a lista abaixo com alguns exemplos:
- Google Maps (http://maps.google.com/)
é um serviço de pesquisa e visualização de mapas com fotos de satélite, tão bom quanto o Google Earth, mas funciona direto pela na internet, sendo muito mais útil. Nele você encontra mapas para as todas as capitais e várias cidades do Mundo e do Brasil com nomes das ruas e sentido de direção.
- Movavi Online (http://online.movavi.com/)
Oferece conversão de arquivos de vídeo de até 100 MB em mais de 10 formatos, como MPEG, AVI, MP4, MOV e FLV e algumas de suas variações mais comuns. Tudo que você precisa fazer é carregar o arquivo na página, selecionar o formato desejado e informar um email válido para receber o link para download do seu arquivo quedo ele estiver pronto.
Como isso é possível, um sistema de WEB fazer funções antes de programas que deveria ser instalados no PC? As linguagens de programação como JAVA e PYTHON tem extensão para programação de desktop e tem também para WEB, com isso, quase todas as API, framework e ferramentas que são disponíveis para uma plataforma também esta para outra. O que irá mudar então? A forma de interação com o usuário que deverá utilizar outras tecnologias (FLASH, HTML e Javascript) e de obter os dados.
3.4 Unificação de serviços
No inicio da internet por existirem poucos sistemas disponíveis para o usuário, eram muito comum que fossem muito específicos, por exemplo, o sistema era desenvolvido só para bate-papo ou era só pra gerenciar correios eletrônicos. Com o passar do tempo, o numero de serviços foram aumentando e o usuário passou a acessar muitos sistemas simultaneamente. Tendo que se lembrar de todos os login referente a cada sistema alem de lembrar os endereços. Observando isso, algumas empresas uniram seus sistemas, veja alguns exemplos:
Gmail + Talk: um correio eletrônico com o chat via web;
FLICKRS + MAPS: um sistema de foto no qual a pessoa pode procurar no mapa mundial as pessoas que usam o serviço;
A unificação de serviços é uma tendência a ser seguida pelo fato da comodidade do usuário de não precisar decorar vários endereços, de fazer várias autenticações e alem de ter varias paginas abertas, ou seja, esses sistemas têm mais adeptos do que fossem 2 separados.
Como fazer que dois sistemas diferentes se comuniquem entre si? A utilização do XML é muito freqüente neste caso ou pode liberar uma API (como já foi dito) com as principais funções, com isso, você criar outro sistema que mescle os dois com os melhores recursos de cada.