sábado, 16 de outubro de 2010

IBM e Oracle se unem para bombar o Java

A Oracle e a IBM anunciaram nesta semana uma parceria para colaboração no projeto OpenJDK, implementação de código aberta da linguagem de programação Java.

A intenção é fazer do OpenJDK o principal ponto para desenvolvimento do Java Standard Edition (Java SE), o Java Development Kit (JDK) e o Java SE Runtime Environment (JRE).

“A colaboração entre IBM, Oracle e outros integrantes da comunidade Java no OpenJDK vai acelerar a inovação na plataforma Java”, disse Rod Smith, vice-presidente de tecnologias emergentes da IBM.

Em nota, a Oracle informa que o Java Community Process (JCP) continuará a ser o principal órgão normativo para o trabalho de especificação de Java e será aprimorado pelas duas empresas continuamente.

O recém-anunciado roadmap (plano de ação) de desenvolvimento do OpenJDK, que acelera a disponibilidade do Java SE em toda a comunidade de código aberto, será mantido.

Java é uma linguagem de desenvolvimento de software para uso geral, especificamente criada para ser aberta e permitir que os desenvolvedores "escrevam uma vez e executem em qualquer lugar."

A linguagem é usada mais amplamente em aplicativos empresariais, móveis e da web. As aplicações possíveis vão de jogos a softwares para cálculo de impostos.

Segundo a Oracle, a plataforma Java já atraiu mais de 6,5 milhões de desenvolvedores de software e está presente em mais de 4,5 bilhões de dispositivos, incluindo PCs (800 milhões), portáteis, como celulares (2,1 bilhões), além de cartões inteligentes (3,5 bilhões) e outros dispositivos, como impressoras, webcams e até terminais lotéricos.

Diovane Monteiro

Crowd computing: a revolução da computação colaborativa

Surge um conceito que, segundo especialistas, representa um complemento à nuvem e é baseado no uso de inteligências coletiva e artificial. Para o pesquisador da UFF Carlos Nepomuceno, a abordagem marca a utilização de ferramentas que vão revolucionar o modo como o ser humano interage com a informação.

Não é apenas o conceito de cloud computing que está em evidência. Defendido recentemente pelo docente Srini Devadas, do Michigan Institute of Technology, o termo batizado de "crowd computing" traz uma nova abordagem para o universo da tecnologia. Segundo Devadas, a "crowd computing" é um complemento à computação em nuvem e é descrita como bilhões de humanos ligados à internet, analisando, sintetizando e criando diversos dados por meio da relação máquina cerebral e computadores. No Brasil, o novo conceito ainda não está tão difundido como o de cloud computing, mas já vem despertando o interesse dos estudiosos.

"O termo 'crowd' significa multidão, e 'crowd computing' representa uma produção em massa por meio da colaboração. Dentro desse conceito, temos algumas vertentes de interpretação e aplicação", explica o pesquisador da Universidade Federal Fluminense (UFF) Carlos Nepomuceno.

"Tivemos, até hoje, três revoluções da informação, a primeira foi a fala, a segunda foi a criação da escrita, e a terceira foi a chegada do computador. Todas elas modificaram a forma como nos relacionamos com a informação. A próxima revolução informacional é a que estamos começando a experimentar, e ela traz a interação entre pessoas e robôs que serão capazes de decidir sozinhos a partir do que aprenderem com os humanos", enfatiza Nepomuceno, que também é professor do MBA de Gestão de Conhecimento do Centro de Referência em Inteligência Empresarial (Crie) do Instituto Alberto Luiz Coimbra de Pós-graduação e Pesquisa de Engenharia (Coppe) da Universidade Federal do Rio de janeiro (UFRJ).

A proposta da "crowd computing" não é substituir as pessoas por máquinas, mas unir inteligências artificial e humana para criar soluções facilitadoras para a vida moderna. Entre as práticas ou produtos, alguns já aplicáveis e outros ainda em estudo, estão os programas capazes de responder e-mails e de criar padrões sofisticados de busca de acordo com o estipulado por cada usuário; os sistemas computacionais que abrem e fecham acostamentos de estradas de acordo com o fluxo de veículos; e a criação de planos de evacuação e socorro a vítimas de desastres naturais com base apenas em diálogos entre internautas e no grande número de dados disponíveis na nuvem.

Abordagem ampla
O conceito aplica-se ainda a outras vertentes. "O uso de plataformas que sustentam comunidades online de troca de conhecimento também pode ser chamado de 'crowd computing'. As diversas redes sociais, por exemplo, são espaços que estimulam a inteligência coletiva", acrescenta Carlos Nepomuceno, que também é consultor em projetos de implantação de redes sociais para diferentes instituições, entre elas, a Petrobras.

E a aplicação do conceito não termina aí. A "crowd computing" também é utilizada para denominar o uso compartilhado de memórias de computadores. "Você disponibiliza arquivos na sua máquina e, a partir de um servidor que identifica onde estão os arquivos de todos, outras pessoas podem fazer uma busca, entrar dentro da sua máquina e baixar aquela informação que você liberou", explica Nepomuceno.

"Outra possibilidade é o uso coletivo dos processadores. Quando alguém precisa de um processamento muito grande para determinada atividade, que só um supercomputador poderia fazer, outras pessoas podem ceder partes do processamento de suas máquinas, quando elas não estiverem sendo utilizadas e, assim, essa soma de computadores executam a atividade que aquela primeira pessoa precisava processar", completa o professor.

Crowd computing e inclusão digital
Ao se refletir sobre "crowd computing", uma computação descrita para atender e conectar bilhões de pessoas, uma pergunta inevitavelmente entra em questão: como falar em robôs e em uma multidão conectada à internet quando a maioria dos cidadãos ainda estão excluídos do universo digital?

"Temos hoje no mundo sete bilhões de habitantes, sendo que apenas 1 bilhão usa ou já usou alguma vez a internet. Ou seja, temos seis bilhões de pessoas que não têm acesso ao computador. Toda vez que temos uma revolução da informação, quanto mais a pessoa não usa as novas ferramentas que essa revolução traz, mais ela fica excluída, sem chances de avançar, trocar informações e ampliar seus senso crítico e poder de decisão", enfatiza Carlos Nepomuceno. "Alguns chamam essa revolução, que está começando a aparecer, de web 4.0, web inteligente, ou web dos robôs. Independente da denominação que se dê, essa mudança representa um novo momento muito importante para a humanidade. E é por isso que precisamos rever outros conceitos, como o de democracia. Não há democracia se houver excluídos", conclui Nepomuceno.

O que é OpenSocial?

OpenSocial é um conjunto de API's, mantido pelo Google e por outros sites, cujo objetivo principal é poder desenvolver aplicativos que interagem com redes sociais.

A grosso modo, com o OpenSocial é possível incrementar um site. Por exemplo, jogos em flash no seu orkut. Ou ainda, um msn no seu Ning.

Algumas redes sociais abertas às tecnologias OpenSocial são hi5, LinkedIn, MySpace, Ning, orkut... entre outras.

sexta-feira, 15 de outubro de 2010

Atualização Ruby on Rails corrige vunerabilidade

Os desenvolvedores do Ruby on Rails lançaram as versões 3.0.1 e 2.3.10 do framework para corrigir uma vulnerabilidade que travava alguns atributos, especificamente o uso do accepts_nested_attributes_for.

O problema permitia que um invasor manipulasse formulários de entrada e fizesse mudanças arbitrárias nos registros do sistema. Os desenvolvedores alertam que todos usuários que estejam utilizando um release afetado devem realizar a atualização imediatamente.

Caso um aplicativo não utilize o accepts_nested_attributes_for ou utilize uma versão do Rails anterior à 2.3.9, ele não é afetado pelo problema.

A versão 2.3.10 é um release regular da série 2.3 do Rails, e a 3.0.1 contém apenas uma correção de segurança. Usuários que não conseguirem atualizar imediatamente podem acessar pacotes neste link.

Diovane Monteiro