21 novembro 2006

A arquitetura Cliente/Servidor é hoje uma das tecnologias mais utilizadas em ambientes corporativos. Substituindo a arquitetura muito rígida que eram os sistemas envolvendo mainframes.
Em ambientes corporativos, o compartilhamento de dados era resolvido através da utilização de mainframes com vários terminais interligados à eles. Esta estruturas, além de ser muito cara, era muito rígidas.
Com o aumento do poder de processamento dos microcomputadores, os fabricantes de programas para micros começaram a desenvolver banco de redes cada vez mais poderosos, sistemas operacionais mais rápidos e flexíveis, redes locais (LANS - Local Area Networks) e redes amplas (WANs - Wide Area Networks). Esta arquitetura mostrou-se mais flexível devido a utilização dos micros em rede, cada vez mais complexos e versáteis, com o compartilhamento de recursos de cada uma das máquina.

Arquitetura Cliente/Servidor é uma arquitetura de rede, onde existem dois módulos básicos na rede: o Servidor e os Clientes. O Servidor é alguma máquina da rede que é responsável por servidor os Clientes da rede com aquilo que é solicitado. Clientes são as máquinas que solititaram informações que estarão contidas no Servidor.
É no servidor que normalmente ficam os sistemas mais pesados da rede, tais como o banco de dados. As máquinas clientes são menos poderosas, pois não rodam aplicativos que requerem tantos recursos da máquinas.
O importante em uma máquina em arquitetura Cliente/Servidor não é que todas as máquinas sejam do mesmo fabricante ou do mesmo tipo. O que realmente é importante, é o fato de todas as máquinas poderem ser interligar pela rede, com o mesmo tipo de protocolo de acesso.

20 novembro 2006

R.I.A, Rich Internet Application, ou seja, Aplicação Rica para Internet. O Macromedia Flash tem como uma utilização o RIA, que permite vantagens importantes na interação com o usuário. Seja em aplicações simples e complexas cliente-servidor.

Aplicativos "rich" para a Internet são aplicativos que utilizam a tecnologia de tal forma que amplie a interatividade e produtividade.

Principais características:

A tecnologia RIA fornece um ambiente dinâmico com capacidade de manusear aplicativos compilados através de HTTP.

Um ótimo exemplo pra explicar o RIA é a seguinte:

Uma loja virtual que você tem 5 páginas para finalizar a compra, ou seja 5 carregamentos, usando a tecnologia RIA, você poderia deixar para 1 carregamento e englobar todas as 5 páginas nesse arquivo, dispondo de animações e áudio. Sem falar que a página pode ficar muito mais leve, porque invés de ser bitmaps seriam vetores, e sabe o que o usuário necessitaria, apenas, para visualizar a página com o RIA? O Plugin do Flash.

A melhor maneira de se entender como funciona a tecnologia RIA é dar uma olhada nos exemplos abaixo, que achei excelentes:

The Broadmoor

MINI USA

Nike Running

E*TRADE

New York Stock Exchange

JENN-AIR

FootJoy

Dai Nippon

Yankee Candle

Camera Finder Demo

Mutual Fund Selector Demo

AJAX

Uma maneira de deixar a nevagação pela internet mais rápido, dinamico, criativo e interativo com o usúario tudo isso com um uso do JavaScript e o XML formando assim um tipo de tecnologia o AJAX (Asynchronous Javascript And XML).
Uma chamada Ajax é composta de 2 partes: uma parte que reside no servidor, e executa a parte “complicada” do código, por exemplo, validar um usuário, buscar algo no banco de dados, ou efetuar algum cálculo pesado, e outra parte que fica no cliente, em javascript, que executa ao servidor (para executar aquela parte mais complicada) e que também lida com a resposta vinda do mesmo, uma vez terminado o processamento. Nos bastidores ocorre um bocado de processamento de XML e utilização do objeto XmlHttpRequest, mas o bom é que isso é transparente, então você não tem que se preocupar com esses detalhes.

Vejamos alguns exemplos de novidades com Ajax:

www.gmail.com

O Gmail é uma ferramenta fácil de utilizar e muito rápida, diferenciamento de outros WebMail que em geral são mais lentas.

-----------------#-----------------

www.google.com/maps

Na imagem acima, vemos fotos tirada por satélite da cidade de São Paulo e mostradas pelo Google Maps. Você digita o endereço e ele mostra o local, seja num mapa, seja na foto.

O que todos esses exemplos tem em comum? Todos tentam melhorar a experiência do usuário diminuindo o tempo de resposta do sistema. Clicou, abriu. Alguns deles abre sem nem precisar clicar. O problema é que o usuário está acostumado a esperar pelo carregamento de uma nova página a cada vez que dá um clique. Então, se não houver uma dica visual de que algo está acontecendo ou já aconteceu, a resposta pode passar desapercebida e o usuário pode ficar se perguntando porque nada aconteceu.


15 novembro 2006

Padrões da Web

(Texto bem básico sobre Padrões da Web)

São normas criadas pelo World Wide Web Consortium que permite projetar e desenvolver web’s suportados pela maioria dos navegadores e dispositivos atuais, além de fornecer compatibilidade futura com a evolução dos padrões e dos navegadores.

A prática dos Padrões Web (WebStandards) - também conhecidas como "Tableless" - é indicada em projetos web pois traz muitas vantagens e benefícios.

Muitos dos usos da Web hoje só são possíveis por causa da utilização de padrões que permitem o compartilhamento fácil de informações e a compatibilidade de plataformas. Além disso, o futuro obviamente trará muitas outras possibilidades que só serão realizáveis se houver um certo grau de conformidade.

Mas e aí, pra que padronizar? Quais as vantagens?

- Acessibilidade tanto para deficientes quanto para usuários de dispositivos móveis como celulares, smartphones, e etc. Isso é essencial para ajudar num inclusão digital.

- O browser interpreta as informações de layout (em um arquivo CSS) de 30% a 70% mais rapidamente, o que gera uma queda considerável no download dos arquivos do site;

- Economia de banda na transmissão dos arquivos, pois com a utilização dos padrões os arquivos possuem menor tamanho;

- O código HTML se torna muito mais compacto ao se separar conteúdo, design e programação;

- Melhor visibilidade no Google e nos demais mecanismos de busca, pois os padrões utiliza a estrutura semântica simples do HTML;

- Maior facilidade de atualização e mudanças no layout.



Web Semântica

A Semântica surgi para arrumar a Web que com tanta informações se torna desorganizada e é através de uma semântica de palavras, arquivos e textos que se torna possível a localização do que um humano necessita, a Web Semântica é um método para fazer com que as máquinas possam oferecer diferentes sentidos de algo comum, é um filtro mais dinâmico, num exemplo comum a todos seria uma busca na internet por algum determinado assunto que possa ter outro sentido a maquina.

O objetivo principal da Web semântica não é, pelo menos para já, treinar as máquinas para que se comportem como pessoas, mas sim desenvolver tecnologias e linguagens que tornem a informação legível para as máquinas. A finalidade passa pelo desenvolvimento de um modelo tecnológico que permita a partilha global de conhecimento assistido por máquinas (W3C 2001). A integração das linguagens ou tecnologias (XML), Resource Description Framework (RDF), arquiteturas de metadados, ontologias, agentes computacionais, entre outras, favorecerá o aparecimento de serviços Web que garantam a interoperabilidade e cooperação.

Resumindo:

Rede semântica tem como finalidade conseguir atribuir um significado (sentido) aos conteúdos publicados na Internet de modo que seja perceptível tanto pelo humano como pelo computador.

O que é de praxe na Internet sobre Web Semantica:

A Web Semântica é um projeto dirigido por Tim Berners-Lee, criador do HTML e da World Wide Web sob os auspícios do World Wide Web Consortium (W3C). O objetivo deste projeto é melhorar as potencialidades da Web através da criação de ferramentas e de padrões que permitam atribuir significados claros aos conteúdos das páginas e facilitar a sua publicação e manutenção.

Componentes para a Web Semântica:

O projeto da Web Semântica, embora pareça uma novidade, não nasceu há tão pouco tempo. Capitaneado pelo consórcio W3C, ele é um sucessor do projeto Metadados, cujos princípios são os mesmos (incluir "informação sobre a informação" na Web), mas que trabalhava com linguagem (HTML), que não permite criar categorias semânticas.Um componente central da Web Semântica é a linguagem XML, que permite descrever semanticamente os dados e, a partir de categorias que o próprio usuário pode definir. "Um elemento XML pode ter dados declarados como sendo preço de venda, título de livro, quantidade de chuva ou qualquer outro. Uma vez que o dado é encontrado, ele pode ser distribuído pela rede e apresentado em um browser, de várias formas possíveis, ou então pode ser transferido para outras aplicações para processamento futuro e visualização".

10 novembro 2006

Web Services e Service-Oriented Architectures

Nos últimos anos o termo " Web Service " tem chamado a atenção de muitos analistas e arquitetos, principalmente dos mais fánáticos por business-to-business (B2B). O conceito foi criado, implementado e agora está começando a ser utilizado. As espectativas são grandes, altos investimentos, frameworks poderosos, ganhos em produtividade, portabilidade e em independência.
(http://www.javafree.org)


Hoje com tanta praticidade e tecnologia a internet nos oferece diversos serviços sendo que vários aplicativos diferentes se beneficiam desses serviços, isso através de uma interação chamada Web Service uma solução utilizada para integração de sistemas e para a comunicação entre os aplicativos, o Web Service permite que aplicativos desenvolvidos em plataformas diferentes uma da outra possam se comunicar e assim um aplicativo utilizar o serviço de outro aplicatico. Os Web services são componentes que permitem às aplicações enviar e receber dados em formato XML. Assim cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML ou seja os Web Services nada mais são do que chamada de métodos usando XML esse serviço é disponibilizado para o desenvolvimento dos aplicativos, seu conceito não inclui a necessidade de interface gráfica sendo somente responsavel por essa comunicação de diferentes aplicativos.

Para comunicar com o Web Service, é necessário uma implementação do protocolo SOAP (Simple Object Access Protocol). Este protocolo é o responsável pela independência que o Web Service precisa. Atualmente já encontra-se várias implementações disponíveis em várias linguagens. É só escolher uma e usar.
Um Web Service será publicado, e para que outras pessoas possam utilizá-lo é necessário definir como ele é, como deve ser acessado, e que valores ele retornará. Estas definições são descritas em um arquivo XML de acordo com a padronização Web Service Description Language (WSDL). Este arquivo deve ser construído para que os usuários do serviço possam entender o funcionamento do Web Service e, logicamente, será de acesso público.
Os Web Services também podem ser utilizados para implementar arquiteturas orientadas a serviços, as Service-Oriented Architectures (SOA). Neste modelo de arquitetura os principais requisitos viram serviços e são acessados por outros serviços, modularizando e aumentando a coesão dos componentes da aplicação.