segunda-feira, 12 de novembro de 2007

Evolução: disquetes > CDs > Browsers > Virtual Machines

O tópico é mais especificamente para falar de uma coisa interessante que tenho visto acompanhando alguns blogs.

Há muito se diz, e até deram um nome totalmente fantasioso de "Web 2.0" para essa evolução natural da internet, prevista há muito tempo por nós desenvolvedores porque era realmente óbvio que em algum momento isso acontecesse. Precisava-se apenas que tecnologias se aprimorassem, o ambiente amadurecesse (usuários, seus conhecimentos e seus equipamentos) e um modelo de negócio fosse bem viabilizado.

As aplicações finalmente estão deixando de serem coisas que instalamos em nossos computadores, para se tornarem recursos disponibilizados por seus respectivos desenvolvedores em diversos formatos mais acessíveis, mais abrangentes e por que não dizer justa e liberal. E isso está crescendo de forma muito rápida pois as aplicabilidades não tem limites.

Dá para se definir uma linha de tempo de evolução, com exemplos:

mais ou menos em 2000

Os WebServices ou a definição do SOAP sobre o XML nos trouxe uma nova possibilidade. Não precisaríamos mais investir para reinventar a roda. Bastava utilizá-la dos bondosos que permitissem acesso às sua invenções ou alugá-las, o que mesmo tendo um custo, era muito menor do que você produzir sua própria roda.

Nas palestras que eu fazia na época (quando funcionário da Macromedia), abordando WebServices com o ColdFusion (criação e consumo de webservices), um exemplo ilustrava bem a situação:

(Vou apresentar um breve resumo. Se alguém quiser detalhes do exemplo, basta me consultar.)

Imagine uma agência de viagens que pretende disponibilizar um sistema de personalização de um pacote de viagens. A partir do seu próprio site, usando suas determinações de comunicação visual e etc, ela pode apresentar ao usuário horários de vôo de várias companhias aéreas e já permitir que o mesmo a selecionar para efetivar o pacote e no final do processo proceder com o pagamento. O que muitas agências fazem ainda hoje (porque desconhecem a possibilidade ou porque não podem investir) é simplesmente listar os vôos previamente cadastrados no sistema, o que pode gerar problemas porque no momento da efetivação pode ser que a companhia aérea não possui mais aquele vôo disponível. Fora que isso pode ocasionar a perda do cliente infringindo um outro problema sério: a incapacidade de retenção do cliente.

A solução para conseguir anexar ao site da agência as informações de vôo da companhia aérea? WebServices!

Com este recurso a companhia aérea disponibiliza as informações de vôo que qualquer agência poderá anexar ao seu site sem importar qual tecnologia a companhia aérea utilizou para desenvolver seu sistema e qual tecnologia a agência escolheu para desenvolver o seu. Neste caso, dizemos que a agência estará "consumindo" o WebService disponibilizado pela companhia aérea.

Essa foi uma grande evolução! O SOAP funciona então como um protocolo para a comunicação entre recursos de sistemas disponibilizados em diferentes plataformas e diferentes tecnologias.

Um repositório de WebServices famoso é o Xmethods:

xmethods

Tem também o Afterzed:

afterzed

Ambos com WebServices definidos em várias tecnologias e consumíveis por qualquer tecnologia que implemente esse recurso.

mais ou menos 2004

Embora baseado em uma metodologia antiga - o uso de javascript para controlar o comportamento de elementos de interface - que chamávamos de DHTML, o AJAX veio com ar e fama de "nova tecnologia" pois determinava uma padrão interessante de comunicação entre browser e servidor utilizando XML (serialização/deserialização de dados). Unindo isso aos WebServices, ganhamos os Mashups.

Junto com termo AJAX, passou a finalmente estabelecer-se os RIAs (Rich Internet Applications) que resume-se em nada mais nada menos, do que novos poderes de controle da interface por parte dos desenvolvedores de sites e aplicações (leia-se também, Sites/Aplicações que são os Web Applications).

Os Mashups então acabam constituindo-se de aplicações completas, ao invés de recursos básicos para serem implementados em outras aplicações, como é o caso mais comum do WebService, que da mesma forma podem ser consumidos por outras aplicações.

Um exemplo prático e muito comum hoje de recursos que compõem um Mashup na Web é o GoogleMaps e o YouTube. E pra não me criticarem de só falar do Google (Google! Google! Google!), cito também o YahooMaps, LiveMaps (Microsoft), Flickr (Yahoo), etc.

Um bom repositório de Mashups na web:

programmableweb

já há algum tempo e ganhando cada vez mas força dos dias de hoje

Com toda a evolução, tanto conceitual quanto comercial que havía acontecido até então, grandes investidores e empresas de TI passaram a dedicar-se a espe "pedaço de negócio" que evoluía de forma cada vez mais forte.

Veio então a definição do SOA (Service Oriented Architecture) que determinou um modelo de orientação, suporte e estrutura para os negócios nessa área.

Como evolução ainda maior veio o SaaS (Software as a Service) que é um modelo que tras não apenas uma excelente nova geração de aplicabilidade da conectividade de nossos equipamentos à internet, mas uma ótima revolução no ambiente tecnológico que tende a provocar muitas outras revoluções.

Trata-se "simplesmente" (na visão do usuário) em fazer com que o seu software não seja mais distribuído em CDs, DVDs e seus installers, mas sim através do seu navegador.

Já existem muitos negócios / empresas hoje que se valem deste tipo de solução para compor a sua arquitetura de recursos tecnológicos.

zoho Veja por exemplo, o zoho.com que oferece uma gama completa de soluções office. Você tem editor de texto, planilha, editor de apresentações e até mesmo banco de dados, e tudo padronizado para trabalhar com a importação e exportação para os formatos padrões do mercado.

Além disso, o serviço é oferecido também na forma de uma API para que você implemente os recursos da maneira que desejar em suas próprias aplicações.

Ainda não estudei o impacto em custos, mas acredito que eles venham a ser muito mais vantajosos do que os modelos de licença que temos hoje de grandes produtos comerciais desta linhagem.

microsoft_logo A própria Microsoft já parte para esta iniciativa e é infalível que ela se dê muito bem. Aliás, isso pode inclusive significar uma estratégica abertura de mercado conforme consta no post que originou essa minha matéria. Com esta possibilidade de distribuição de produtos Microsoft, pode-se ter por exemplo uma infra-estrutura de TI que optou por Sistemas Operacionais open-source para uma drástica redução de custo de propriedade em suas estações, mas por questões de produtividade e economia com treinamentos, manteve o Microsoft Office como solução de ferramentas Office.

buzzword É impossível nesse contecto não comentar sobre o Buzzword que a Adobe já colocou em fase beta-público. Trata-se de um editor de texto fantástico implementado com o FlashPlatform (Flex basicamente). E olha que não será a única investida da Adobe, pois espera-se um já anunciado Photoshop Express nas mesmas condições.

...daqui por diante... what's next?

E não podemos achar que mais um passo nesse contexto ainda está por vir. Já veio! Essas aplicações estão, na maioria dos casos (dependendo do "meio" utilizado, pois com o Adobe AIR é assim) serem transformadas em aplicações que roram em "Browsers" personalizados.

Adobe com o AIR, Microsoft com o Silverlight, Sun com o JavaFX, Google com o GoogleGears são os destinos dessas aplicações.

Enfim

O que vejo é que daqui há pouco não teremos mais os navegadores na forma como os vemos hoje. Sinceramente eu não sei ainda como isso vai ser nem como irá acontecer de forma clara para arriscar uma previsão aqui pois um acontecimento desse influi em muita coisa. Mas baseando-se no princípio de que os recursos que surgem agora começam a destacar-se dos navegadores, essa é uma transição pré-anunciada com benefícios e deficiências (também).

Mas agora já é conteúdo para um outro post. ;)

Nenhum comentário: