segunda-feira, novembro 20, 2006

O que é XML?

Vemos rapidamente o que é o mundo XML e suas possibilidades.

XML é uma tecnologia na verdade muito simples que tem ao seu redor outras tecnologias que a complementam e a fazem muito maior e com possibilidades muito mais amplas. Vamos ver ao longo de vários capítulos uma introdução ao mundo XML, ou seja, à linguagem assim como às tecnologias que trabalham com ela, seus usos, vantagens e modos de realizar as tarefas.

XML, com todas as tecnologias relacionadas, representa uma maneira distinta de fazer as coisas, mais avançada, cuja principal novidade consiste em permitir compartir os dados com os quais se trabalha a todos os níveis, por todas as aplicações e suportes. Sendo assim, o XML tem um papel importantíssimo neste mundo atual, que tende à globalização e à compatibilidade entre os sistemas, já que é a tecnologia que permitirá compartir a informação de una maneira segura, confiável e fácil. Ademais, XML permite ao programador e aos suportes dedicar seus esforços às tarefas importantes quando trabalha com os dados, já que algumas tarefas trabalhosas como a validação destes ou o percorrido das estruturas corre a cargo da linguagem e está especificado pelo padrão, de modo que o programador não tem que se preocupar por isso.

Vemos que XML não está só, e sim com um mundo de tecnologias ao redor dele, de possibilidades, maneiras mais fáceis e interessantes de trabalhar com os dados e, definitivamente, um avance na hora de tratar a informação, que é na verdade o objetivo da informática em geral. XML, ou melhor dizendo, o mundo XML não é uma linguagem, e sim várias linguagens, não é uma sintaxe, e sim várias e não é uma maneira totalmente nova de trabalhar, e sim uma maneira mais refinada que permitirá que todas as anteriores se possam comunicar entre si sem problemas, já que os dados cobram sentido.

XML é interessante no mundo da Internet e do e-bussiness, já que existem muitos sistemas distintos que têm que se comunicar entre si, porém, como se pode imaginar, interessa igualmente a todos os ramos da informática e o tratamento de dados, já que permite muitos avances na hora de trabalhar com eles.

CriarWeb

Tableless vs Web Standards

Tableless
O termo “tableless” (do inglês “sem tabelas“) foi criado em contrapartida a uma técnica antiga (e utilizada até hoje, na verdade) para estruturar os sites utilizando-se tabelas para conseguir controlar a aparência dos elementos em um site. Em meados da década de 90, quando os browsers ainda não haviam implementado nada de CSS, todo o posicionamento dos elementos e a aparência deles era toda controlada através de marcação e delarações inline. A técnica de spacer (o uso de um gif transparente para empurrar elementos e deixá-los em um local específico) era amplamente utilizada. Naquela época, era compreensível a utilização destas técnicas, devido a ausência de implementações de CSS nos browsers, considerando que o nível 1 do CSS foi publicado em 1996 e o nível 2 somente em 1998.

Antes disso então, todas as técnicas hoje consideradas sujas, eram verdadeiros macetes (e não gambiarras) para se alcançar o sucesso na web. Mesmo que desde o início o HTML não tivesse sido criado com estes propósitos, a necessidade e demanda por sites com design mais elaborado acabou fortalecendo muito a utilização dessas técnicas por muito tempo. Até as ferramentas de desenvolvimento foram aos poucos se adequando à esta metodologia de desenvolvimento, o que acabou ficando conhecido como WYSIWYG.

Passados os anos, e após praticamente todos os browsers em uso já tivessem implementado boa parte de CSS, os desenvolvedores continuaram por um tempo a criar sites como faziam anos atrás. O termo “tableless”, então, surge em oposição à esta visão de desenvolvimento que utiliza tabelas (e não CSS) para estruturar e controlar a aparência de um site.
Web standards

Web standards é um termo mais amplo que refere-se aos padrões web como um todo e não somente às linguagens de marcação e CSS. Outra coisa importante é que “web standards” não é um termo de oposição como é o termo tableless, até mesmo porque ninguém defende racionalmente algo do tipo “não aos padrões web”.

A organização responsável por estes padrões é a famosa W3C e segui-los (web standards), nada mais é do que construir sites que sigam as especificações por eles propostas e implementada por desenvolvedores e pela indústria mundial que está ao redor da web. Se você ainda está na fase de questionar a necessidade de “padrões” leia o texto “seguindo os padrões” do Diego Eis.

Este conceito de web standards envolve a utilização das diferentes tecnologias que constituem a web, de forma que garanta a interoperabilidade da própria web como um todo. Isso envolve portanto um amplo conjunto de boas práticas para o desenvolmento web em diversas áreas que envolve linguagens de marcação (XML, HTML, XHTML), linguagens de apresentação (CSS), semântica (RDF), linguagens de comportamento (DOM), acessibilidade (WAI), protocolos (HTTP), mobile (MWI) dentre outras. Em resumo, um site que segue os web standards preza pelos vários aspectos que o constitui e não somente o aspecto estrutural sobre usar
ou no desenvolvimento de um site.

Tableless vs Web Standards

Acho que é neste ponto em que as diferenças se acentuam. E espero que você entenda a diferença entre os dois termos antes de qualquer avaliação dessa discussão. Algumas perguntas retóricas de exemplo vão demonstrar melhor essas diferenças.

Um profissional inexperiente que, nos dias de hoje, sem conhecimentos mínimos de semântica, mas que consegue a façanha de converter seu site feito em tabelas para algo cheio de divs (o cara consegue fazer uma convenção internacional de divs em uma única página) e utilizando CSS, significa que este site segue os padrões? Significa que ele é “tableless” simplesmente pelo fato de não utilizar tabelas para estruturar um site? Será que somente pelo fato do cara não utilizar tabelas mas coloca uma div com uma classe em cada cantinho do site dele, significa que este segue os web standards?
Seguindo os web standards muito além do tableless

Referência: Imasters

O que é Javascript

Uma introdução meramente conceitual à potente linguagem de script do lado do cliente.

Javascript é uma linguagem de programação utilizada para criar pequenos programinhas encarregados de realizar ações dentro do âmbito de uma página web.

Trata-se de uma linguagem de programação do lado do cliente, porque é o navegador que suporta a carga de processamento. Graças a sua compatibilidade com a maioria dos navegadores modernos, é a linguagem de programação do lado do cliente mais utilizado.

Com Javascript podemos criar efeitos especiais nas páginas e definir interatividades com o usuário. O navegador do cliente é o encarregado de interpretar as instruções Javascript e ejxecutá-las para realizar estes efeitos e interatividades, de modo que o maior recurso, e talvez o único, com que conta esta linguagem é o próprio navegador.

Javascript é o seguinte passo, depois do HTML, que pode dar um programador da web que decida melhorar suas páginas e a potência de seus projetos. É uma linguagem de programação bastante simples e pensado para fazer as coisas com rapidez, às vezes com leveza. Inclusive as pessoas que não tenham uma experiência prévia na programação poderão aprender esta linguagem com facilidade e utiliza-la em toda sua potência com somente um pouco de prática.

Entre as ações típicas que se podem realizar em Javascript temos duas vertentes. Por um lado os efeitos especiais sobre páginas web, para criar conteúdos dinâmicos e elementos da página que tenham movimento, mudem de cor ou qualquer outro dinamismo. Por outro lado, Javascript nos permite executar instruções como resposta às ações do usuário, com o que podemos criar páginas interativas com programas como calculadoras, agendas, ou tabelas de cálculo.

Javascript é uma linguagem com muitas possibilidades, permite a programação de pequenos scripts, mas também de programas maiores, orientados a objetos, com funções, estruturas de dados complexas, etc. Ademais, Javascript coloca à disposição do programador todos os elementos que formam a página web, para que este possa acessar a eles e modifica-los dinamicamente.

Com Javascript o programador, que se converte no verdadeiro dono e controlador de cada coisa que ocorre na página quando a está visualizando o cliente.

Referência: Imasters

Web Standarts - Conscientize-se!

Hoje vamos falar sobre eles, os tão famosos e ovacionados Web Standarts ou simplesmente Padrões Web. Aliás, antes de você continuar sua leitura, em respeito a você, já vou avisando que não há neste artigo nenhuma menção à parte prática da coisa, mas posso adiantar que as tão esperadas dicas e macetes virão nos próximos artigos.

É fato (e todo mundo já está careca de saber) que a Internet em nosso país tupiniquim cresceu de forma assustadora, e solidificou-se não apenas como um dos principais (ou o principal?) veículos de comunicação, mas também como um grande gestor de oportunidades para que as pessoas possam defender "o leitinho das crianças", e este é um dos pontos que eu quero citar neste artigo: a profissionalização! (ué, o tema não era Web Standarts? - Calma que eu já chego lá.)

O mercado de Internet está recheado de carreiras: programadores de interface, engenheiros de software, arquitetos de informação, analistas de sistema/processos, diretores de arte, designers, redatores, revisores, gerentes de negócios...

Consegue perceber o nível onde chegamos? Notou o número de carreiras agregadas a nossa área? Estamos falando de um mercado maduro, auto-sustentável e extremamente atrativo a qualquer profissional, mas que acima de tudo exige, além de estudo (atualização) constante, conhecimento apurado por parte destes profissionais (não é para qualquer um, está me entendendo?), isto é, principalmente quando falamos da galera que lida diretamente com TI, aquele pessoal tachado como "malucos" nas agências e/ou produtoras, que ficam horas e horas digitando códigos e mais códigos, muita vezes (e quase sempre) enigmático para muitas pessoas. É desse pessoal (do qual eu orgulhosamente faço parte) que eu vou falar agora.

Eu considero que existe, hoje, um grande divisor de águas entre os profissionais de TI (programadores web, designers que saibam codificar suas páginas manualmente, etc) e os que se dizem o tal (os famosos sobrinhos).

E neste momento você deve estar se perguntando: Mas qual seria este divisor? E eu então eu lhe respondo: Sim, são eles, é claro, os Web Standarts.

O negócio funciona mais ou menos assim, AWS e DWS! Não entendeu nada né!? Deixa eu explicar:

AWS (Antes dos Web Standarts) - todo mundo aqui pelo menos já ouviu falar e até se aventurou com editores WYSWYG (what you see is what you get - o que você vê é o que você tem), como o abominável Frontpage (da nossa querida Micro$oft) e até mesmo o Dreamweaver (ex-Macromedia, agora Adobe). Naquele tempo não havia preocupação alguma com a qualidade, nem do código gerado por esses programas e muito menos com o modo que a informação iria se disseminar na web. O que importava mesmo era: quantas tabelas dentro de outras tabelas seriam necessárias para construir aquele layout todo transado ou quantos arquivos "spacer.gif" seriam utilizados para fazer aquele ajuste ultra-ninja no posicionamento de um ou mais elementos... isto sem contar toda a magia dos behaviours (comportamentos) com códigos ilegíveis mas muito fáceis de inserir nas páginas.

Eram necessários apenas alguns poucos cliques nas caixas de diálogo das extensions (extensões) e recursos extraordinários estavam ali, na ponta dos dedos. Tudo muito fácil, rápido e mágico!

DWS (Depois dos Web Standarts) - iniciou-se então uma nova era, uma nova geração de profissionais. Esta agora muito mais madura e preocupada, que passou a dar importância à simplicidade, sabendo diferenciar bem cada uma das camadas existentes em um projeto web (informação, estilo e comportamento). Que conseguiu "pôr fim" na utilização dos ambientes de produção visuais (citados anteriormente), passando a valorizar a cultura da qualidade na codificação das páginas (feita agora totalmente na unha) e principalmente a forma com que as marcações - ou tags (x)html - definem as informações veículadas através web (olha a semântica ai gente!).

É também a era da confecção dos sites sem utilização das antigas tabelas (metodologia que recebeu por aqui o termo de tableless), que eram utilizadas no passado de forma errônea para organizar os elementos nas páginas... e a era da morte dos "spacers.gif", e de mais de um montão de outras porcarias que nem vale mais a pena citar neste artigo.

Agora que você conhece estas novas terminologias (acabei de inventá-las! rs), nesta altura do campeonato em que já estamos no segundo semestre do ano de 2006, eu pergunto para você (que conseguiu chegar até este ponto do artigo sem cochilar):

- Meu caro, sinceramente, em que lado da força você está? Pense um pouco e responda: Você é da era AWS ou DWS?

Tic... tac... tic... tac... tic... tac... Tempo esgotado!

Bom, em análise à sua resposta seguem abaixo a resolução das perguntas (e algumas dicas):

Se você respondeu AWS e...

é novato (na área): meus pêsames, mas você já começou mal, pra não dizer morto! Minha recomendação é procurar um outro curso ou perguntar onde está errando para o melhor professor que conheço: o tio Google!

é veterano (na área): é hora de tomar vergonha nessa cara (desculpe-me se fui um pouco rude) e atualizar-se! Pode perguntar pro tio citado anteriormente, e até mesmo dar uma olhada geral no conteúdo deste site, isto certamente poderá te ajudar!

Se você respondeu DWS e...

é novato (na área): Começou bem! Por favor, indique a seus amigos este curso legal que está fazendo ou suas fontes de estudo (para os auto-didatas)...

é veterano (na área): Ok! Você está do lado do bem da força. Continue trilhando seu caminho! Compartilhe seus conhecimentos! De uma forma ou outra você certamente será bem recompensado por isto.

Moral da História: Junte-se a nós! Vamos formar uma comunidade de desenvolvedores melhores e mais bem preparados, dando valor e maior relevância ao principal fundamento da web: a informação! Tudo isto por uma web melhor, e por que não dizer também por um mundo melhor!?

Saia do lado mal e venha para o lado do bem! Conscientize-se e, principalmente, evolua!

Referência: Imasters

Web Semântica: "A Internet do Futuro"

Todos nós sabemos, que o desenvolvimento de websites vai alem, muito alem do fator: "manipulação de softwares para desenvolvimento". Existem outros inúmeros fatores que estruturam esta plataforma chamada web tornando-a mais segura, útil e acessível.

Questões tais como Web Standards, Acessibilidade, Usabilidade, Teoria do Design, Web Semântica... Ainda não tão em pratica na maioria dos desenvolvedores vem tomando forma e crescendo sua utilização nas paginas atuais
Web Semântica! Que tal uma internet "inteligente"?

Atualmente a estrutura de informação na Web atual dos recursos primários esta em linguagem natural, de modo que somente nós os seres humanos conseguimos compreende-la, onde podemos chamar de: "Web Sintática". Um exemplo pratico do efeito colateral desta web, é quando deparamos com uma busca em algum dispotivos, como o Google.

Vamos ao Google e buscar por "Jogadores de Futebol". O resultado desta busca alem de informações sobre jogadores de futebol, também traz informações a jogadores de outros esportes e futebol de modo geral, não somente dentro do contexto que você procura!

A Web Semântica propõe então a informação de modo que nós conseguimos entende-la e formatada de modo a permitir o processamento automático das fontes de informação por partes dos computadores!

Resultando em uma "Web Inteligente", exatidão nas tarefas solicitadas.

"A Web Semântica é uma extenção da Web Atual, na qual é dada a informação um SIGNIFICADO bem definido, permitindo que os computadores e as pessoas trabalhem em cooperação." Berners-Lee.

Como funciona a Web Semântica? Vejamos alguns dos fatores:

Metadados
Metadados são dados sobre informações, servem para indexar paginas e sites na web semântica. Seria organizar por categorias, em supertipos e subtipos, uma das formas sugeridas.

Ontologias
Ontologias são especificações formais e explicitas de conceitualizações compartilhadas. São modelos conceituais que capturam e explicitam o vocabulário utilizado nas aplicações semânticas.

Linguagens da Web Semântica
É necessário disponibilizar linguagens de codificação que permitam a publicação de Ontologias em um formato que capacite os computadores a processar sua informação automaticamente.

Web Semântica em Pratica!

Seria uma internet altamente polivalente! Onde teríamos a simplicidade de poucos cliques para termos a nossa disposição exatamente a informação que desejamos!

Os agentes iriam fazer o trabalho de seleção e filtração da informação de acordo com o contexto que desejamos! Isso graças à informação devidamente classificada e organizada por quem a disponibiliza na rede.

Imagine que você precisa de uma consulta odontológica. Vai em agentes de busca, onde você gostaria de encontrar profissionais qualificados, próximos de sua região onde os horários disponíveis para o agendamento da consulta se bata com seus horários.

Possível na Web atual filtrar este tipo de informação? Creio que não... Na semântica os agentes iriam pesquisar por profissionais na área, filtraria somente os que ficam na região a sua residência, qualificaria os bons profissionais de acordo com o agente disponível na pagina do sindicato da categoria, iria realizar uma comparação dos horarios livre daqueles profissionais com os seus e enfim lhe entregar uma lista! Isso claro, contanto que todos os envolvidos trabalhem de forma semântica!
Web Semântica seria IA? (Inteligência Artificial)

Jamais devemos confundir! Pois o conceito de documentos compreensíveis por maquinas não implica uma inteligência artificial!

Se o intuito da IA é construir um agente de software que mostre inteligencia do nível humano(ou superior), o objetivo da Web Semântica é auxiliar os humanos com suas tarefas diárias na rede!" - Antoniou e Harmelen

Referência: MXStudio

sábado, novembro 11, 2006

Adobe doa código de Flash à Mozilla

A Adobe aproveitou a conferência Web 2.0 Summit, em andamento em São Francisco, Califórnia, para anunciar oficialmente que está doando o engine de scripts do Flash para a Fundação Mozilla.

Na realidade, trata-se da ActionScript Virtual Machine, base do Flash Player 9, mais recente versão do produto, que traz melhor performance. Nas mãos da Mozilla, se transformará em um projeto open source chamado "Tamarin", que implementará o ECMAScript Edition 4 (ES4), que provê a base do JavaScript; do JScript, da Microsoft e também do ActionScript, da Adobe.

O código é a maior contribuição para a Mozilla desde que esta foi fundada, em 2003, e ajudará a acelerar o desenvolvimento da linguagem e promoverá a criação de aplicações multimídia para Web, além de permitir que estas rodem com maior estabilidade no Firefox.

O projeto Tamarin deve ser integrado no chamado SpiderMonkey, o engine JavaScript que roda por trás do navegador open source Firefox, o que não deve acontecer antes do primeiro semestre de 2008.

"Agora os desenvolvedores terão uma virtual machine de alta performance open source para criar e depurar aplicações interativas pelo Adobe Flash Player e pelo navegador Firefox. Estamos entusiasmados com a parceria entre a Adobe e as comunidades Mozilla pelo avanço do ECMAScript", declarou Brendan Eich, CTO da Fundação Mozilla.

A Microsoft ainda não fez qualquer declaração a respeito da novidade, porém a Adobe indicou que gostaria que o navegador concorrente Internet Explorer também incorporasse o ActionScript.

Referência: Geek

Intel lançará pacote Web 2.0

A fabricante Intel anunciou que lançará um pacote de aplicativos chamado SuiteTwo, voltada para escritórios que queiram adotar ferramentas colaborativas online.

Criada em parceria com a desenvolvedora de produtos open source SpikeSource, o pacote trará uma série de aplicações Web 2.0, todas sob uma mesma marca, tentando ganhar a atenção de empresas que ainda não se deram conta da importância destas ferramentas online.

Por ser acessada através de um navegador, a SuiteTwo funcionará independente de sistema operacional, podendo ser operada através de Windows, Linux e Macs. Através de apenas uma tela de login, os usuários terão acesso completo ao que a Intel chama de "interface rica de usuário".

A SuiteTwo consistirá de quatro aplicações, com novas adições no futuro: Socialtext, Newsgator, SimpleFeed e Movable Type, aplicativos para criação de blogs, wikis (ferramentas de edição de textos colaborativos), leitura de RSS e publicação.

A Intel afirma que através da ferramenta SocialText, por exemplo, as companhias poderão agilizar projetos e reduzir em até 30% o volume de emails nas caixas da empresa.

"SuiteTwo demonstra os benefícios de unir produtos individuais Web 2.0 em uma solução para escritórios", declarou Renee James, gerente geral do grupo Software and Solutions da Intel e vice-presidente corporativa.

Ainda não foram anunciados preços oficiais, no entanto algumas fontes dizem que deve ser algo em torno de US$ 15 por usuário ao mês.

Avisos a respeito da pré-venda da SuiteTwo, assim que esta estiver disponível, serão feitos a pessoas cadastradas através do site oficial.

Referência: Geek

sexta-feira, novembro 10, 2006

Web Services e Java

Classes e aplicações Java existentes podem ser encapsuladas usando a API Java para RPC baseado em XML (JAX-RPC) e expostas como Web services. JAX-RPC usa XML para fazer chamadas remotas de procedimentos (RPC) e expõe uma API para empacotar/desempacotar parâmetros e valores de retorno e para transmitir e receber chamadas de procedimentos.

Com J2EE, serviços escritos como Enterprise JavaBeans são encapsulados e expostos como Web services. O invólucro resultante é um Web service SOAP que obedece a interface WSDL baseada nos métodos do EJB original.

A arquitetura de Web services J2EE é um conjunto de frameworks baseados em XML, fornecendo infra-estruturas que permitem que empresas integrem serviços de negócio que estavam anteriormente expostos como interfaces proprietárias. Atualmente, J2EE suporta Web services via Java API for XML Parsing (JAXP). Esta API permite que desenvolvedores efetuem qualquer operação de Web service analisando manualmente documentos XML.

Para especificação 2.1 de EJBs, que está na versão final draft, uma das maiores modificações é o suporte a Web services. Além das interfaces local e remota já existentes, será possível criar uma interface de web service. Stateless session beans e message-driven beans poderão ser expostos como Web services, tornando-os acessíveis a qualquer cliente compatível com o SOAP 1.1. Por exemplo, utilizando SOAP será possível invocar métodos de um stateless session bean de outras plataformas de Web services como .NET, Perl e muitas outras linguagens e plataformas.

Referência: Fundão

Web Services

O setor de tecnologia tem sido, nos último tempos, um inigualável criador de siglas, tendências, modelos de negócio etc. A insaciável necessidade de inovação (e conseqüente geração de receitas) do setor faz com que a vida dos executivos de TI e, em certa medida dos demais executivos da organização, esteja sempre repleta de dúvidas e de decisões que, em muitos casos, têm pouco a ver com o negócio em si.

Assim sendo, é natural que as novidades do setor sejam sempre encaradas com alto grau de desconfiança e ceticismo. Esse cenário não é diferente com os chamados Web Services.

De um lado têm-se fornecedores vendendo essa nova tecnologia como a solução mágica para todos os problemas. No outro extremo, usuários que se julgam vacinados contra os movimentos dos fabricantes e acreditam que tudo não passa de puro marketing.

Como em muitos casos, o atual estágio dessa tecnologia está em algum ponto entre os extremos e merece uma análise mais aprofundada.

Como ponto de partida, tem-se alguns fatores que motivam o desenvolvimento dessa tecnologia:

- Demanda por computação distribuída: A necessidade de sistemas interconectados e em tempo real implica na comunicação entre máquinas. Essa comunicação deve ser feita não só dentro da empresa mas também entre diferentes sites. Esse requisito, todavia, impõe restrições à utilização de tecnologias já difundidas para computação distribuída.

- Necessidade de integração de diferentes plataformas: A multiplicidade de plataformas e linguagens de desenvolvimento impõe que seja criado um padrão neutro e que permita aos diferentes sistemas comunicarem entre si.

Nesse sentido, foi criado o SOAP (Simple Object Access Protocol), o protocolo básico para a construção dos Web Services. Baseada em XML e nos protocolos de transporte da Internet (notadamente HTTP), essa tecnologia apresenta grande simplicidade e padronização.

No estágio atual, grande tem sido o esforço dos fabricantes para disseminar a tecnologia. A Microsoft, por exemplo, a adotou como base de sua plataforma .NET. IBM. Oracle e SUN, entre outros, também não ficam atrás no lançamento de produtos e soluções para essa tecnologia.

Assim, Web Services é definitivamente um item que está em pauta e que deve ser avaliado com critério pelas empresas. Trata-se de um mecanismo para expor diferentes funcionalidades de um sistema qualquer na WEB, permitindo que pessoas e aplicativos possam se comunicar.

Contudo, é necessário ressaltar que se trata de uma tecnologia em desenvolvimento e, portanto, em fase de amadurecimento.

Alguns pontos ainda estão em aberto:

- Embora exista um grande esforço em andamento, ainda não existe um padrão para segurança (autenticação e autorização de operações) em web services.
- Não está claro ainda qual a classe de problemas melhor se adapta aos web services. Os mais críticos dizem que a sua excessiva simplicidade implica em uma categoria de problemas menos sofisticados (atualmente não se tem, por exemplo, o conceito de transação).

- A infra-estrutura das empresas pode ainda não estar preparada para os web services. Atualmente os sites suportam interações entre usuários e máquinas. Com a adoção dos web services as interações serão entre máquinas, implicando em um padrão de tráfego totalmente diferente.

- A tecnologia padronizou todo o mecanismo para troca de informações, contudo para se ter uma verdadeira integração global, será necessário que se tenha uma padronização da semântica dessas informações.

Web services é um tópico relevante e que deve ser analisado com atenção, Atualmente já resolve, principalmente no âmbito da organização, uma série de problemas de integração mas tem ainda pela frente alguns obstáculos antes de atingir a sua maturidade.

Referência: Terra

Arquitetura Cliente/Servidor

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.

Conceitos

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 (TCP/IP, NetBEUI)

Web 2.0

Mas o que é a Web 2.0?

Bom, o que não falta são explicações diferentes para o que ela é. O termo foi criado por Dale Dougherty para esta mesma "conferência". A idéia era baseada em que a Web estava mudando. Depois que houve o estouro da bolha, a Web continuou importante e surgiram ainda mais sites e aplicações. Estes novos sites e aplicações invadiram e conquistaram os usuários. O que eles tinham de diferente do que havia antes? Foi inevitável a comparação de quem estava no topo antes e agora. Coisas como: cobrar por pageviews versus a cobrar por clique, Ofoto versus Flickr ou sites pessoais versus blogs provavam que as coisas estavam mudando.

A empresa referência desta nova Web é o Google. Quando o Gmail foi lançado, várias empresas viram que era possível ter aplicações desktop inteiras pela internet. Depois disto vimos o Google Maps, o Google AdSense e várias novidades pipocaram revolucionando o jeito de se usar a internet. As outras empresas perceberam e começaram a correr atrás.

Os componentes da Web 2.0

Esta Web 2.0 tem algumas palavras-chave. Uma das principais é a colaboração. Vivemos a internet colaborativa que caminha para a inteligência coletiva de Pierre Levy. Sejam nos wikis, nas redes P2P, sites de relacionamento ou bookmarks coletivos são as pessoas que decidem o que querem e gostam. É a folksonomia. As pessoas "etiquetam" as coisas, diferente da taxinomia, onde precisam se encaixar em classificações. Não é você que se adapta a Web, mas a Web que se adapta a você.

Na mesma linha vem a simplicidade. Esqueça longas curvas de aprendizado. O usuário comum passou a usar a Web. Não é necessário saber HTML, CSS ou qualquer outra tecnologia para publicar uma página na Internet. Blogs, gerenciadores de conteúdo (CMS), wikis permitiram uma liberdade sem igual. Os aplicativos para internet voltaram ao KISS (Keep It Simple Stupid). Foco no objetivo.

Outro componente é o AJAX. AJAX significa Asynchronous JavaScript and XML. Ele é um conjunto de tecnologias que servem para criar aplicações ricas para Internet. Ele é baseado em XHTML e CSS para conteúdo e apresentação, DOM (Document Object Model) para apresentação dinâmica e interação, XMLHttpRequest para recuperação assíncrona de dados, XML e javascript para unir tudo. Ele é a peça chave por traz do Gmail. Para que você tenha uma idéia do que esperar, segue uma lista de sites que fazem uso da tecnologia:

Netvibes
Writely
Planzo
Voo2do

A lista de componentes pode ser bem grande. Apenas para citar mais alguns, esta nova fase da Web conta com separação do conteúdo da apresentação, Web Standards, Web como plataforma, "conteúdo é rei" e outros.

Conclusão

Pode ser que não se saiba ao certo o que é a Web 2.0, mas é um modo novo de se ver e fazer as coisas na Web. Veja se o que você produz hoje já tem esta marca. O profissional de internet tem que estar sempre atualizado, pois para nós surgem novidades a cada segundo.

Referência: Imasters

Samsung SPH-P9000

Samsung arebentou apenas o planeta inteiro com seu brinquedo mais atrasado! Se você pensar Sony teve algo fresco com seu UX90, bem, pensa outra vez! Estão aqui o SPH-P9000 MITs Deluxe, um PC dado forma como um PDA, com Windows XP, um disco 30GB duro, 256MB da RAM, uns 5” exposição, um processador central 1GHz, WiMAX, CDMA EV-DO, e uma câmera 1.3Mpix. Mede 143x94x29mm e torna mais pesado 580g. Aquele é ele, eu declaro oficialmente agora que Japão deixou cair para baixo ao nível de Europa e dos EUA, nos termos do geekiness. Coreia transformou-se o país almighty! Para a prova: estão aqui 9 fotos!

Seoul, novembro 07 2006 (Coreia Newswire)-- Samsung Electronics Co. Ltda um líder global em sistemas da rede de telecomunicação e monofones, unveiled o mais avançado no dispositivo móvel da convergência, o SPH-P9000 MITs Deluxe no Summit móvel 2006 de WiMAX. O SPH-P9000 é o dispositivo verdadeiro da convergência capaz de transmissões de dados da voz e dos multimedia com a tecnologia móvel de WiMAX.

O SPH-P9000 é o companheiro ideal para que os usuários da era nova da tecnologia móvel da convergência. O crescimento previsto de serviços móveis de WiMAX resultará em uma demanda crescente para dispositivos multi-functional. O SPH-P9000 é um dispositivo PDA-baseado que utiliza o connectivity móvel de WiMAX e de CDMA EV-DO. Os usuários terão o acesso wireless ao Internet que utiliza conectividade móvel de WiMAX. Simultaneamente, a tecnologia de CDMA EV-DO fornece a conexão de telefone móvel para uma comunicação de voz. Com o Microsoft Windows XP, os usuários encontrarão os índices e as aplicações familiares e fáceis de usar-se para o trabalho e o jogo.

O SPH-P9000 vem com um teclado QWERTY para datilografar e surfing de Internet painless, quando a função do jogador MP3, os VOD, e a função da câmera fornecerem um acesso rápido ao entretenimento de mídia. Tela de 5" WVGA está preparada para a visão do filme, e disponível 30GB de armazenamento de música, os filmes. Todas estas características originais são combinadas em um dispositivo que pesa dentro em um pouco sobre uma libra. O SPH-P9000 é verdadeiramente um dispositivo móvel original e versátil.

Os Lee de Kitae, presidente do negócio da rede de telecomunicação em Samsung Electronics, dizem que “nosso SPH-P9000 novo é apenas um de poucos dispositivos móveis da convergência de WiMAX a ser introduzidos ao mundo. Samsung expandirá nosso portfolio de dispositivos móveis da convergência, como nós esperamos expandir globalmente nossos serviços móveis de WiMAX. “Adiciona, “Samsung dirigirá continuamente o mercado abrindo caminho a tecnologia e os serviços da telecomunicação. Samsung encontrar-se-á com as demandas de serviços móveis de WiMAX e dispositivos da convergência entregando a combinação direita da tecnologia e do projeto.”

O SPH-P9000 será lançado ao primeiro meio de Coreia de 2007.

Referência: Akihabara News

quinta-feira, novembro 09, 2006

Ajax - Visão Geral

Olá a todos! Vamos abordar, a partir desta matéria, um assunto muito abrangente e que tem ganhado certo destaque atualmente. Trata-se da metodologia de programação Ajax.

Já não é de hoje que utilizamos em nossas aplicações/páginas recursos para deixar a interação com o usuário, cada vez mais atraente. Usamos para tal recursos de linguagens client-side, como o JavaScript. Com a adoção destas linguagens, podemos fazer validação de formulários, manipulação de DIVs, habilitar/desabilitar campos, alterar textos existentes, entre outros, sem que haja a necessidade de submeter a página ao servidor.

E o que fazer quando precisamos submeter a página para executar determinada ação? Simples: o servidor web irá processar as informações desejadas e retornará uma página HTML com os dados necessários. Para tanto, levará certo tempo até que cheguem as informações desejadas ao usuário final, pois será necessária uma nova renderização (carregar novamente o conteúdo) do browser, mostrando provavelmente, neste intervalo uma tela branca.

Podemos utilizar artimanhas para contornar o problema acima, tal como a utilização de um iframe oculto. Exemplo:
Neste exemplo, o formulário será submetido para uma página qualquer e seu destino será nosso iframe oculto.

Assim, não teremos o problema do novo carregamento da página. Após o processamento, podemos utilizar comandos JavaScript para o preenchimento do formulário:Com isso, aparentemente contornamos nosso problema, que era pesquisar o código digitado e retornar o nome sem que a página fosse carregada novamente. Porém, a manutenção deste tipo de situação é uma tarefa árdua, já que teríamos em todas as páginas iframes ocultos, o que poderia deixar a aplicação mais complexa inutilmente.

Bom, após termos em mente um dos problemas que enfrentamos atualmente, vem a alternativa, que é a utilização de um “canal separado” para fazer essa manipulação.

AJAX, cujo significado é Asynchronous JavaScript+CSS+DOM+XMLHttpRequest, ou simplesmente Asynchronous JavaScript and XML, é a técnica que nos permite solucionar o problema em questão sem ‘gambiarras’. Para isso, utilizamos a classe XMLHttpRequest (estudaremos detalhadamente na próxima matéria), implementada no navegador Internet Explorer a partir da versão 5. Essa classe tem a funcionalidade de fazer o canal entre o cliente e o servidor, permitindo assim que invoquemos os métodos remotamente sem a necessidade de processar novamente a página.

Mas e os outros navegadores? Classes equivalentes foram implementadas, permitindo assim que sua aplicação rode em diversos navegadores sem problemas.

Como observou anteriormente, você precisará dominar alguma linguagem que faz o processamento no servidor, como ASP, PHP, Java etc. O foco não será o estudo dessas linguagens e sim a técnica de manipulação dos dados entre o cliente e o servidor.

Referência: Imasters

quarta-feira, novembro 08, 2006

Quem? RIA

Olá Galera! Vou falar sobre o que acredito ser o futuro da internet, visto que estamos presenciando uma evolução em termos de tecnologia com a Web 2.0.

O termo RIA (Rich Internet Application) que ao pé da letra seria "Aplicações Ricas para a Internet", foi usado pela primeira vez em 2001 pela Macromedia (Adobe). Trata-se basicamente de desenvolver uma Aplicação Web com características e funcionalidades similares as Aplicações Desktop.

Antes do seu surgimento, as Aplicações Web utilizavam de "refresh's" na página sempre que fizesse necessário um acesso ao servidor, isto limitava muito o desenvolvedor e não era nada satisfatório ao usuário. Com as aplicações ricas isto não ocorre mais, pois é possível trabalhar com determinadas áreas da aplicação, atualizando-as se necessário, fazendo assim um acesso ao servidor de uma forma muito mais dinâmica dando uma sensação bastante intuitiva para o usuário. Resumidamente, o RIA nada mais é do que uma aplicação comum com acesso a banco de dados, criação de arquivos no servidor e etc., só que com dinamismo para dar ao usuário a sensação de estar usando uma aplicação em seu próprio computador.

Hoje em dia, as tecnologias mais utilizadas para desenvolver aplicações ricas são o Ajax (tão comentando dentre os desenvolvedores) e o Flash (aclamado por muitos e criticado por tantos outros). Quero deixar bem claro que meu intuito aqui não é defender aquela ou essa tecnologia, mas sim entusiasmá-los a desenvolverem dentro desses moldes de aplicações ricas, pois assim a Internet só tem a ganhar.

Para um entendimento mais lúcido do que seria uma aplicação rica, vou deixar alguns exemplos desenvolvidos com Ajax e Flash. Vale ressaltar que a programação no lado do servidor continua independente, salvo alguns cuidados que veremos em próximos artigos.

Dentre os exemplos, quero dar uma atenção especial ao
Google, pois ele vem sendo hoje a maior empresa “popularizadora” de RIA e gostaria de ressaltar algumas aplicações como o GMail e o Google Docs e Spreadsheets.

Outro exemplo muito interessante é o Meebo, também desenvolvido com Ajax.

Em contrapartida, temos alguns exemplos de aplicações utilizando Flash, a saber, http://www.templatesoft.com/ (Loja Virtual) e um álbum de fotos (http://www.garyrgilbert.com/dev/photoalbum/). Navegando nestes exemplos, é muito notável a diferença de aplicações ricas para as aplicações usuais da internet de hoje. A navegação é prazerosa e o que o usuário pensa em fazer, normalmente é o que a aplicação faz. Então o que estamos esperando? Vamos logo começar a desenvolver aplicações ricas e contribuir para a evolução da internet.

Bom, por hoje é isso. Espero que tenha sido do agrado de todos. Críticas, sugestões, ou somente um contato são bem-vindos!