Maio de 2007


Para quem foi “criado” na cultura do Unix, como eu, aprendi a usar e fiquei fascinado com aquele terrível mas fantástico editor de texto vi (pronuncia-se como as letras em inglês: vi-ai).

O vi é um editor surgido na década de 70 no Unix, possui modos separados de entrada de texto e de comandos, onde infindas sopas de letrinhas fazem loucuras com o texto. Numa época onde predominavam mainframes, o vi inovou ao evoluir do editor de linha (como ed, sed e AWK) para um editor visual (daí o nome!) onde o texto aparecia na tela inteira, que evolução! :-) Contudo, o vi ainda preservou recursos e conceitos oriundos dos processadores de linha.

Desde a explosão da Internet e do Windows (década de 90 até hoje), o mundo se acostumou com alta interatividade e visual rico. Por isso, a filosofia do vi soa nos tempos atuais totalmente enigmática, anti-natural e, portanto, terrível.

Apesar disso, o vi trazia desde nascença um recurso surgido no próprio Unix e que até hoje é fantástico para a busca e substituição de texto: as expressões regulares. Isso, mais a forma de execução programática de comandos de linha, permite manipulações mirabolantes no texto. Acredito que essas características me fizeram apaixonado e saudosista pelo vi.

Lembro disso porque hoje, depois de um ano sem novas versões, foi lançada a versão 7.1 do Vim, o “Vi Improved” (Vi melhorado), clone melhorado do VI original do Unix, desenvolvido como software livre e enriquecido com inúmeros recursos. O Vim é o “vi” do Linux e está atualmente disponível para quase todas as plataformas, em versão modo-texto puro ou gráfica (gVim), inclusive Windows.

Outro editor surgido no mundo Unix e inspirado nos velho WordStar (”WS”, para os íntimos, dá época do CP/M e MS-DOS) é o Emacs, já nascido software livre pelo projeto GNU. Muito amadurecido ao longo do tempo, a última versão estável é a 21.4 de fevereiro de 2005. Costumava existir uma guerra apaixonada entre os adoradores de VI e os de Emacs.

Mas hoje em dia deixo a paixão de lado e admito que o vi é antigo e complicado e, por isso, muitas vezes anti-produtivo. Além do mais, bons editores de texto avançados — em geral usados para editar código-fonte, em linguagens de programação e formatos de conteúdo/dados em texto como HTML e XML — atualmente já incorporam recursos de busca e substituição com suporte a expressões regulares e oferecem facilidades que permitem o mesmo poder do vi, porém com bem mais facilidade e usabilidade.

Um bom exemplo é o Notepad++, software livre para Windows baseado no poderoso componente editor Scintilla. Rápido, ágil, cheio de recursos e fácil de usar.

Para saber mais:

Finalmente, as opções de IDE Java gratuitos estão ficando realmente atrativas, principalmente no desenvolvimento Java EE com web.

É difícil conseguir viabilizar e justificar pesado investimento financeiro em um ambiente de desenvolvimento Java, como o completo IBM Rational Developer — o Software Architect 6.0 foi eleito Melhor IDE Java pela revista InforWorld em 2006 — (R$5.635 por um usuário RAD 7.0) ou o famoso IntelliJ IDEA (US$249 individual ou US$499 comercial/usuário 6.0).

Até pouco tempo atrás, restava à grande maioria dos desenvolvedores Java lidar com o quebra-cabeças do Eclipse mais “trocentos” plug-ins, para ter um ambiente robusto e razoavelmente produtivo, ou se contentar com os recursos incipientes do NetBeans para obter um ambiente mais fácil e promissor.

Atualmente, porém, há três ótimas opções de ambientes de desenvolvimento Java EE gratuitos: Exadel Studio Pro 4 (futuro Red Hat Developer Studio) baseado no Eclipse 3.2 (3.3 a caminho), NetBeans 5.5 (6.0 a caminho) e Oracle JDeveloper 10g (11g a caminho). Vejamos cada uma.

Eclipse

O Eclipse é uma robusta plataforma de software livre para desenvolvimento de aplicações em Java. O projeto Eclipse surgiu e mantém sua força da doação e envolvimento da IBM para manter como código aberto uma base para suas ferramentas IBM/Rational. O projeto, ao longo dos anos, ganhou o apoio e participação de grandes empresas e instituições, como Borland, BEA, JBoss e Oracle.

O grande problema é que o foco central do projeto Eclipse não é ser um ambiente de desenvolvimento pronto, mas sim uma plataforma — ampla, sólida e aberta — sobre a qual se pode desenvolver um efetivo ambiente de desenvolvimento.

Vasto e complexo, o projeto Eclipse se divide em vários sub-projetos. O “parto” de integrar os produtos de todos estes projetos ao montar um ambiente de desenvolvimento reduziu substancialmente com o Callisto, um esforço de integração dos 10 maiores projetos componentes do Eclipse.

Contudo, o desenvolvedor iniciante que conhece o Eclipse em geral fica assustado com a dificuldade em atingir dois objetivos básicos:

  1. Instalar o Eclipse.
  2. Ter um ambiente pronto para usar no desenvolvimento Java EE.

O primeiro problema, atualmente, é muito facilitado com a existência da distribuição Callisto oferecida pela IBM (outras distribuições Eclipse independentes envolvem atualizações ou produtos pagos). Basta escolher a Distro Callisto IBM mais completa (Enterprise project bundle), baixar e descompactar o pacotão ZIP em um diretório do computador e iniciar o executável do Eclipse. Ainda não há o “luxo” de um instalador, mas pelo menos é um processo simples.

Mas mesmo quem inicia o Eclipse com o pacote Callisto mais completo ainda pode se decepcionar com a falta de ferramentas profissionais de produtividade e eficiência em tarefas como editar um JSP, utilizar componentes JSF, ou criar um web-service.

Aí entra a solução para o segundo problema. O Exadel Studio Pro, um ótimo ambiente de desenvolvimento produtivo/profissional baseado no Eclipse — como o MyEclipse IDE e o hors-concurs IBM Rational –, foi recentemente tornado open source através de uma parceria com a JBoss/Red Hat. Brevemente teremos o Red Hat Developer Studio como software livre. Até lá, a avaliação do Exadel Studio Pro pode ser usada gratuitamente e sem limitações.

A versão 3.3 do Eclipse em desenvolvimento promete ainda mais melhorias quanto a facilidade e praticidade de uso.

Download

  • Plataforma principal: IBM Callisto bundle, opção Enterprise project bundle (ZIP, basta descompactar) - inclui web (WTP), Profiling (TPTP) e GUI desktop (GMF); ou a opção mais “econômica” Java EE project bundle - inclui apenas WTP e seus requisitos.
  • Pacote adicional independente (de terceiros): Exadel Studio Pro (ZIP, veja instruções para instalação manual) - Java EE com suporte avançado a JSF, Struts, Spring, Hibernate, editor visual HTML/JSP.
  • Traduções para o português: IBM doou traduções para Eclipse 3.2.1; deve-se seguir os diversos links e baixar o Language Pack 1 (NLpack1, que contém Português do Brasil) de cada projeto, descompactando um por um na pasta principal de instalação do Eclipse.

NetBeans

O NetBeans, projeto fortemente patrocinado pela Sun, vem evoluindo rapidamente, ainda mais desde as versões 4.1 e 5.0. Diferente do Eclipse, o resultado objetivado pelo projeto NetBeans sempre foi um ambiente de desenvolvimento integrado (IDE) Java completo e bem acabado.

A Sun também usa o projeto livre NetBeans como base para suas ferramentas comerciais de desenvolvimento Sun Java Studio, assim como a IBM/Rational faz com o Eclipse. Como os produtos da Sun não firmaram força própria (como têm as tradicionais ferramentas IBM Rational), a Sun acabou disponibilizando suas ferramentas comerciais gratuitamente. Os recursos mais poderosos e sofisticados destas ferramentas estão sendo integrados ao NetBeans 5.5 e 6.0.

Assim, os recursos de desenvolvimento web visual do Sun Java Studio Creator se tornaram o NetBeans Visual Web Pack. Além disso, o NetBeans 5.5 incorporou do antigo Sun Java Studio Enterprise ferramentas de Profiling, desenho UML e outras. Também incorporou rapidamente compatibilidade com os recursos do Java Enterprise Edition 5, em sintonia com o projeto do servidor Java EE 5 open source Glassfish, também patrocinado pela Sun.

O NetBeans na atual versão 5.5 já se tornou um ambiente muito completo e robusto para o desenvolvimento Java EE, ao mesmo tempo que é amigável e fácil de instalar e usar.

Uma grande crítica que se ouve sobre o NetBeans, principalmente dos adeptos do Eclipse, é que o editor Java e as ferramentas de refactoring do NetBeans precisam melhorar para fazer frente ao que o Eclipse já oferece. Creio que este é um dos alvos da nova versão 6.0, em estágio avançado de desenvolvimento — Milestone 9.

Download

  • Plataforma básica: NetBeans IDE (instalador), preferencialmente o Java EE Bundle; há distribuição em Português do Brasil.
  • Principais pacotes adicionais: Enterprise Pack (instalador) - Java EE - XML Schema, WSDL, BPEL, Secure WS, UML; Visual Web Pack - edição visual de JSP, JSF e Ajax; Mobility Pack (instalador) - Java ME, CLDC ou CDC. Para distribuições em Português, escolha opção Other Systems and Languages.

JDeveloper

Saindo das duas principais opções open source, uma terceira boa opção existe desde que a Oracle tornou seu IDE JDeveloper totalmente gratuito.

Some-se a isso o fato que a Oracle tornou open source dois frameworks de desenvolvimento Java: o mecanismo de persistência Oracle TopLink (se tornou a base da implementação de referência JPA do Glassfish) e os componentes JavaServer Faces (JSF) Oracle ADF Faces, parte do Oracle Application Development Framework. São dois ótimos recursos e o seu uso no desenvolvimento está totalmente integrado e suportado no Oracle JDeveloper.

O Oracle JDeveloper é assim uma opção gratuita abrangente e amadurecida para o desenvolvimento Java corporativo, principalmente em ambientes onde produtos Oracle já são utilizados (Database Server, BI, Application Server, Portal).

A nova versão 11g foi anunciada no JavaOne 2007, o Technical Preview está disponível e brevemente a versão oficial estará lançada, com mais recursos e melhor suporte a Java EE 5 e ao framework Spring 2.0.

Download

Para saber mais:

Sun apresenta JavaFX, Oracle traz prévia de JDeveloper e OC4J 11g e anuncia ADF Faces Rich Client livre, no evento JavaOne 2007, que ocorre de 8 a 11 de maio em San Francisco, EUA.

Sun

Dia 8 de maio, na conferência JavaOne 2007, a Sun apresentou prévia da tecnologia JavaFX, para a criação de conteúdo e aplicações ricas — Rich Internet Applications (RIA) — em ambiente Java (JRE) cliente, voltada tanto a dispositivos móveis e aparelhos eletrônicos quanto a desktop e navegadores web.

Há por enquanto dois componentes principais: JavaFX Script, uma linguagem de script radicalmente simples rodando em Java SE, destinada a desktop e web/RIA, e JavaFX Mobile, um sistema de software completo para dispositivos móveis.

JavaFX parece uma mistura de Applet, Flash e Javascript e com uma interface de programação amigável. A tecnologia JavaFX vem concorrer com outras tecnologias RIA como Adobe Flash e Microsoft Silverlight, além do AJAX que vem impulsionando a Web 2.0. O Flash da Adobe (que incorporou a Macromedia em 2005) é base para novas soluções como o emergente projeto Apollo e o IDE/framework Flex. Já o Microsoft Silverlight é codinome do Windows Presentation Foundation/Everywhere (WPF/E), em Beta.

Para saber mais (em inglês):

Oracle

Dia 9 também no JavaOne, a Oracle anunciou a disponibilidade do Oracle Development Kit for Spring, com suporte a Spring Framework 2.0 e integração com o IDE gratuito Oracle JDeveloper, e revelou a próxima geração da Arquitetura para o Oracle Fusion Middleware, sua infra-estrutura integrada e cada vez mais abrangente para computação em Grid, Service-Oriented Architecture (SOA), e Event-Driven Architecture (EDA).

O componente fundamental do Fusion Middleware é o Oracle Application Server. Seu release 10g recentemente superou IBM WebSphere e BEA WebLogic e foi o melhor na avaliação de servidores single-node em plataforma x86, nos Benchmarks SPECJAppServer2004.

A Oracle também anunciou novidades em ferramentas Java: Technical Preview do IDE Oracle JDeveloper 11g, do Oracle Containers for Java EE (OC4J) 11g e do framework de persistência Oracle TopLink 11g; e a doação dos componentes ADF Faces Rich Client para o Projeto Apache, mais uma parte do Oracle Application Development Framework (ADF) que se torna software livre.

OC4J e JDeveloper 11g trazem compatibilidade com Java EE 5 — incluindo suporte a EJB 3, JPA, JAX-WS, JSF 1.2 e WS-Policy (para Web services seguros) –, plataforma de persistência Oracle TopLink melhorada e integração com Spring e Java Transaction Service (JTS).

Oracle ADF Faces Rich Client inclui mais de 80 componentes ricos com suporte a AJAX e RIA baseados em JSF 1.2 e Java EE 5, além de melhor suporte a Web Services.

Para saber mais (em inglês):

Maio mal começou e já temos neste mês várias atualizações críticas da Microsoft para o Windows e o Internet Explorer, de “costumeiras” correções de vulnerabilidades de segurança a erros críticos de sistema.

De acordo com o Resumo de Boletins de Segurança Microsoft para Maio 2007, versão 1.0 publicado em 8 de maio, já são sete as falhas de segurança descobertas e corrigidas no mês em software Microsoft, todas vulnerabilidades permitindo execução remota de código: três no Office/Word/Excel (MS07-023 a -025), uma no Exchange (MS07-026), uma no Internet Explorer (MS07-027; veja Atualização Cumulativa de Segurança IE - KB931768), uma no Windows (MS07-029) e uma — pasmem! — no Cryptographic API Component Object Model (CAPICOM) (MS07-028), um componente dos recursos de segurança/criptografia disponibilizados pela Microsoft para aplicações Windows.

Além disso, as atualizações críticas de hoje ainda incluem uma correção de erro crítico no sistema de arquivos NTFS do Windows XP e a atualização mensal da Ferramenta de Remoção de Software Mal-Intencionado do Microsoft Windows Vista/2003/XP/2000.

Para proteger e manter atualizado seu computador que roda Windows em meio a tantas falhas, deixe sempre ativado o recurso de atualizações automáticas via Internet (na Central de Segurança do Windows).

Por: Cristina Vidigal, repórter
Fonte: Agência Senado

senador Eduardo Azeredo (PSDB-MG) O senador Eduardo Azeredo (PSDB-MG) pediu apoio nesta quarta-feira (2) para o texto substitutivo aos Projetos de Lei do Senado (PLS) 76/00 e (PLS) 137/00 e ao Projeto de Lei da Câmara (PLC) 89/03, em análise na Comissão de Constituição, Justiça e Cidadania (CCJ), que tipifica e estabelece punição para crimes cometidos na Internet. O senador - relator dos projetos na CCJ - argumenta que esse tipo de crime vem aumentando significativamente nos últimos anos, com 197 mil ocorrências no país em 2006, um crescimento de 53%.

O senador exemplificou com um caso recente ocorrido em Brasília e evitado a tempo pela polícia civil do Distrito Federal, em que um grupo de adolescentes teria planejado o assassinato de outro adolescente por meio da Internet. Mencionou ainda outros dois casos ocorridos em Jacutinga, interior de Minas Gerais, e Petrolina, em Pernambuco, em que teria sido utilizado o site de relacionamentos Orkut para agredir com mensagens alguns cidadãos.

- Trata-se de problema sério e que precisa ser enfrentado pela legislação brasileira -defendeu o parlamentar.

Azeredo reforçou a necessidade de aprovação da medida argumentando que os países de vanguarda mundial - como os integrantes da União Européia e outros, como Estados Unidos, Canadá, África do Sul e Japão - já adotaram medidas acompanhando a Convenção de Budapeste, Convenção Internacional sobre o Cibercrime.

O senador afirmou que o número de fraudes, de acordo com o site do Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil (www.cert.br) teria subido de 27,3 mil tentativas de fraudes em 2005 para 41,8 mil em 2006, número que, segundo ele, poderia ser bem maior, pois os dados consideram apenas as denúncias dos usuários.

O parlamentar por Minas Gerais esclareceu ainda que a proposta em análise na CCJ não tem o objetivo de cercear a liberdade de expressão ou invadir a privacidade das pessoas, mas visa a combater uma série de crimes como a clonagem de cartões de crédito e de celulares, entre outros cometidos com o auxílio da Internet.

Azeredo informou também que os dados do cadastramento do usuário serão mantidos pelo provedor por um prazo de três anos e o acesso a eles só será possível com autorização da Justiça, em casos de investigações ou auditorias, quando o provedor puder colaborar com a apuração de denúncias, fornecendo “elementos probatórios essenciais”.

Veja também:

« Página Anterior - Próxima Página »