Livros e informação sobre SOA

Na página de referências de Livros sobre Engenharia e Arquitetura de Software, acrescentei quatro indicações de livros sobre Arquitetura Orientada a Serviços (SOA):

  • Enterprise SOA: Service-Oriented Architecture Best Practices
    Dirk Krafzig; Karl Banke; Dirk Slama. Prentice Hall, novembro 2004, 408 p. ISBN-13: 978-0131465756.
  • Enterprise Service Bus
    David A. Chappell (vice presidente e CTO para SOA na Oracle). O’Reilly Media, junho 2004, 274 p. ISBN-13: 978-0596006754.
  • Understanding SOA with Web Services
    Eric Newcomer (CTO na IONA); Greg Lomow. Addison-Wesley Professional, dezembro 2004, 480 p. ISBN-13: 978-0-321-18086-5.
  • SOA: Principles of Service Design
    Thomas Erl. Prentice Hall, julho 2007, 608 p. ISBN-13: 978-0132344821.

Meu site de referências já possuía uma seção geral sobre Arquitetura Orientada a Serviços (SOA).

Se você, caro leitor, conhece estes ou outros livros sobre SOA, por favor deixe aqui seus comentários e opiniões. Obrigado!

Relatório de Segurança Symantec

A empresa de segurança Symantec divulgou em setembro seu XII Relatório de Ameaças à Segurança na Internet, publicação semestral que fornece uma atualização do cenário mundial de ameaças virtuais. Ele inclui a análise de ataques em redes, um resumo das vulnerabilidades conhecidas e de códigos maliciosos. Também avalia tendências nas atividades de phishing scam (fraudes “pega-bobos”) e spam (mala-direta/lixo em massa por e-mail).

Informações e resumos sobre o relatório estão disponíveis em Inglês, Português e Espanhol, mas o relatório completo é só em inglês. Essa é a décima-segunda edição semestral do relatório, publicado pela Symantec desde 2002. Na página Internet Security Threat Report (em inglês) estão disponíveis mais informações e todas as edições anteriores do relatório.

Eis os pontos de destaque do XII Relatório Symantec, disponíveis em documentos de resumo em português:

  • Introdução
  • Dados mundiais:
    • Crescente profissionalização e comercialização de atividades maliciosas
    • Ameaças cada vez mais feitas sob medida para certas regiões
    • Número crescente de ataques em múltiplos estágios
    • Criminosos exploram sites confiáveis para atingir vítimas
    • Convergência dos métodos de ataque
  • América Latina:
    • Principais ataques
    • Principais países-fonte
    • Número de computadores infectados por Bot em cada país
    • As 10 principais amostras de códigos maliciosos
    • Spam

Outra empresa de segurança que divulga relatórios periódicos similares é a Modulo Security, principal empresa brasileira especializada em gestão de riscos e segurança da informação. Desde 1994, a Modulo realiza anualmente Pesquisas Nacionais sobre Segurança da Informação, focadas no Brasil.

Para saber mais:

Monte seu Eclipse 3.3 ou 3.2

Já estava pronto há um mês, mas só hoje fiz a revisão final e divulgação do meu artigo Monte seu Eclipse 3.3 ou 3.2.

O artigo é grande uma atualização e ampliação daquele que escrevi em 2005/2006 para o Eclipse 3.1. O novo artigo cobre o recente lançamento Eclipse 3.3 Europa (2007) e também o lançamento anterior Eclipse 3.2 Callisto (2006), abordando os seguintes tópicos:

  • Opções de distribuição e instalação
  • Eclipse Callisto e Europa
  • Eclipse em Português
  • Distribuições Eclipse independentes: Red Hat Developer Studio, EasyEclipse, IBM developerWorks, Lomboz, Tiny Eclipse
  • Plugins independentes de terceiros
  • Catálogos de Plug-ins
  • Ambientes para Outras Linguagens e Tecnologias
  • Distribuições comerciais

Notas diversas

Dia 25 foi anunciada a versão oficial jMaki 1.0 no blog de Greg Murray, arquiteto Ajax da Sun e um dos líderes do projeto. Parte da comunidade Glassfish, jMaki é um framework para aplicações cliente-servidor com AJAX, que provê um modelo para criação de aplicações ricas centradas em JavaScript baseado em modelo de componentes, capaz de interagir de forma neutra com external RESTful web services e tecnologias servidoras como Java (servlet/JSP/JSF), Ruby, PHP e Phobos. jMaki agrega bibliotecas de componentes Ajax/JavaScript populares como Dojo, Yahoo, Google, Scriptaculous, Spry.

Veja também Projeto jMaki em java.net, About jMaki e o blog de Greg Murray (em inglês). Mais referências em Tecnologias Web Java EE.


Depois de quatro anos, em outubro de 2007 sai a Segunda Edição do livro “Tomcat: The Definitive Guide” (ISBN 10: 0-596-10106-6, ISBN 13: 9780596101060), pela editora O’Reilly. Em 528 páginas, o livro é uma grande atualização do guia de referência para administradores e webmasters do popular servidor de aplicações Java para web Apache Tomcat. A primeira edição, de 2003, tinha 320 páginas.


Imagens inusitadas do Google Earth: imagens pitorescas encontradas no programa Google Earth, como uma montanha em forma de “índio com headphone”, um avião pousado em um estacionamento e outros apanhados curiosos.

Feliz Aniversário Google

Google 9th Birthday

Há nove anos atrás, eu inocentemente duvidava que algo fosse capaz de superar a tecnologia força-bruta do mecanismo de pesquisa AltaVista, criado em 1995 por cientistas do laboratório de pesquisa da Digital Equipment Corporation, em Palo Alto, Califórnia, EUA.

O AltaVista foi a primeira base de dados pesquisável por texto de toda as páginas HTML da World Wide Web, com sua tecnologia de armazenamento de todas as palavras de todas as páginas HTML da Internet em um índice de pesquisa rápida.

Mal sabia eu que, naquela época, os estudantes Larry Page e Sergey Brin, colegas da Universidade de Stanford, EUA, já estavam preparando a idéia que iria alavancar uma nova era de tecnologia em serviços interativos na Internet: o Google.

O mecanismo de pesquisa do Google, primeira empreitada dos estudantes que se tornariam donos de uma megacorporação de tecnologia, explorava idéias inovativas para ranking dos resultados — envolvendo fatores — como o número de links apontando para a página, relevância e qualidade do conteúdo da página destino e das que a referenciam — em uma composição complexa mas brilhantemente eficaz.

A grande vantagem foi resumida por um colega de trabalho que me apresentou e fez começar a usar o Google — até hoje, nunca mais parei –: “Os resultados vêm em ordem inteligente, geralmente um dos primeiros é exatamente o que você procura!”

Com o talento de seus criadores como empreendedores, despontaram os sucessos em cascata do Google. A corporação Google foi tem sido pioneira em explorar os recursos de interatividade Web 2.0. Emplaca um sucesso atrás do outro: Google Mail (gmail), Google Calendar, Google Maps, Google Earth, Google Video, Google Docs… A lista inclui o Orkut, que no Brasil se tornou tamanha febre a ponto dos brasileiros liderarem seu uso.

Tão fantástico quanto os serviços do Google é o seu modelo de negócios: todos os serviços são gratuitos! Quase toda a captação financeira vem de veiculação de propaganda on-line, outro segmento em que o Google atingiu domínio mundial.

Feliz aniversário, Google!

Para saber mais:

Conheça o mundo em que vive

Em 2004, a agência de publicidade Foote Cone & Belding (FCB) de Lisboa, Portugal, fez uma campanha publicitária fantástica para a revista portuguesa Grande Reportagem. A campanha, intitulada “Bandeiras”, apresentava bandeiras de algumas nações, usando a proporção das cores que preenchem a bandeira como infográfico de algum dado estatístico — uma mazela social — local, acrescido do slogan “Conheça o mundo em que vive.”

A campanha foi tão bem sucedida que levou a FCB a ser premiada com um Leão de Ouro no Festival Internacional de Publicidade de Cannes em 2005.

Eis a peça publicitária que tem a bandeira do Brasil como tema (clique na imagem para ampilar):

[photopress:bandeira_brasil.jpg,full,centered]
Legenda: Verde – Pessoas que vivem com menos de 10 dólares por mês
Amarelo – Pessoas que vivem com menos de 100 dólares por mês
Azul – Pessoas que vivem com menos de 1000 dólares por mês
Branco – Pessoas que vivem com mais de 100.000 dólares por mês

O conjunto de oito bandeiras que compõem a campanha publicitária pode ser visto em Consciência.Net, 2004. As mesmas imagens estão também reproduzidas com legenda em texto no blog Issamu, em O mundo em que vivemos, Maringá, Brasil, 2007-05-21. Eis a lista de bandeiras e o respectivo fato ilustrado:

  • Angola (endemias/saúde)
  • Brasil (má distribuição de renda)
  • Burkina Faso (mortalidade infantil)
  • China (trabalho infantil)
  • Colômbia (tráfico de drogas)
  • Estados Unidos (guerra no Iraque)
  • Somália (mutilação genital feminina)
  • União Européia (escassez de petróleo)

Como não podia deixar de ser, as imagens das bandeiras começaram a circular em correntes por e-mail, na forma de uma lenda urbana, no seguinte boato, obviamente inventado e falso:

O diplomata norueguês Charung Gollar foi incumbido de apresentar, na ONU, um gráfico mostrando os principais problemas que preocuparam o mundo no decorrer de 2005.

Apresentou oito gráficos, intitulado ‘O Poder das Estrelas’. Foi aplaudido de pé! E seu trabalho foi indicado a concorrer para o prêmio Nobel em Marketing político… Vejam os gráficos!

As duas coisas são incríveis pela sua criatividade: a campanha publicitária da FCB e a lorota mirabolante do boato!

Para saber mais:

Mais software Java para fechar a semana

Dia 20 foi lançada a versão 5.2.4 do Javolution, biblioteca para desenvolvimento de sistemas tempo-real (realtime) e embarcados (embedded).

Javolution provê um conjunto de classes de alto desempenho e com comportamento altamente tempo-determinístico, para conformidade com ambiente tempo-real, coleções e estruturas fundamentais, manipulação de texto, E/S e XML. Traz também as classes Struct e Union para maior correspondência com aplicações C/C++. Introduz Contextos específicos (para logging, performance, concorrência, persistência, segurança etc.) para separação de aspectos de programação.

Há distribuições da biblioteca Javolution para as plataformas Java ME CLDC 1.0+ e CLDC 1.1+, Java SE 1.4, 5 e 6, e gcj (GNU Compiler for Java). Javolution é software de código aberto distribuído sob licença BSD.

Para saber mais: Referências sobre APIs Java.


JRapidSOA é um framework de desenvolvimento voltado para implementação rápida de lógica de aplicação para realizar serviços de negócio na filosofia SOA (Service Oriented Architecture – Arquitetura Orientada a Serviços), seja para Java EE em conjunto com frameworks MVC (Struts etc.) ou em aplicações desktop.

JRapidSOA, recentemente anunciado no Javalobby, teve a versão 1.0b lançada em 11 de agosto. Binários, Documentação da API (JavaDoc) e código fonte completo estão disponíveis para baixar.


Nem só de Java e C/C++ vive o IDE Eclipse. Dia 18 foi anunciado o lançamento oficial do PDT 1.0, projeto Eclipse PHP Development Tools (PDT) para o desenvolvimento de aplicações PHP.

Eclipse PDT é um projeto por iniciativa da Zend, empresa que encabeça a evolução e o desenvolvimento da tecnologia PHP. Yossi Leon, da Zend Technologies, é líder do projeto PDT e também gerente de produto do IDE comercial Zend Studio para PHP.


Dia 21 houve o anúncio do lançamento do Oracle Coherence versão 3.3.1, que pode ser baixado na OTN. Oracle Coherence é uma solução de cache e grid de dados para aplicações em cluster e servidores de aplicação, conformante com JCache.


Dia 17 foi lançado GratePic 0.9. GratePic é uma aplicação utilitária multi-plataforma para se postar, comentar e pontuar fotos em Flickr.

Não é uma ferramenta de desenvolvimento, e sim uma aplicação, em ambiente gráfico desktop, para usuários em geral do serviço de compartilhamento de fotos Flickr.

Escrito em Java, GratePic roda em qualquer sistema (Windows, Linux, Solaris, Mac OS X) com Java SE 6 instalado. Projeto de software livre em SourceForge, distribuído sob licença GNU General Public License (GPL).

NetBeans 6 Beta1, Glasfish V2, Firefox 2.0.0.7 e RAD Studio 2007

A semana começou cheia de lançamentos de software.

NetBeans 6 Beta1

Agora é para valer: Ontem, dia 17, foi lançado o tão esperado NetBeans 6 Beta1. Apesar de ter sido lançado rigorosamente conforme o planejado, a expectativa da comunidade estava grande desde o dia 13, quando alguns desenvolvedores descobriram o endereço oculto de download da versão preliminar do Beta1.

A razão da expectativa é a variedade de novidades interessantes em recursos que o NetBeans 6 vem trazendo, desde os últimos Milestones. Veja o “resumo” em dez tópicos:

  • O editor de código traz diversas melhorias: completamento de código mais esperto — mais rápido, traz as opções mais prováveis no topo e provê sugestões também para palavras-chave, campos e variáveis –; e recursos já conhecidos dos usuários do Eclipse: highlight automático que destaca e marca na barra de erros todas as ocorrências do termo corrente, recurso Surround With — envolver bloco de código com if, while, try-catch etc. –, dicas de código [1], e o utilíssimo indicativo de erro no navegador de pacotes [1].
  • Suporte à linguagem Ruby (incluindo JRuby e Ruby on Rails), concorrendo cabeça-a-cabeça com o Eclipse no Ruby IDE do DLTK e no RDT.
  • Simplicidade na unificação dos mecanismos de instalação (permite instalar Packs adicionais) e de atualização (Update Center e Module Manager fundidos no Gerenciador de Plugins [1]).
  • No desenvolvimento de interface gráfica (GUI) Swing, usa Beans Binding (JSR 295) e Java Persistence API (JPA) para facilitar o desenvolvimento de aplicações desktop interagindo com banco de dados, além de suporte a Swing Application Framework (JSR 296).
  • NetBeans Profiler melhorou um pouco e se tornou parte integrante do NetBeans 6, e não mais um pacote separado como no 5.5. Inclui comparação de snpshots de memória, gráfico de detalhamento drilldown, naveagador do Heap [1], integração com JMeter e anexação dinâmica em JDK 6.
  • Em Web e Java EE, o template Visual Web JSF foi incorporado ao template padrão de aplicação web, melhor suporte a JavaScript, CSS e Web services — incluindo suporte a JAX-RS para RESTful Web Services (JSR 311) [1], melhor edição visual JAX-WS e o navegador de serviços que permite inclusão drag-n-drop em páginas web e testar métodos diretamente [1] –, os componentes inclusos JSF do Projeto Woodstock trazem mais suporte a Ajax.
  • SOA: Artefatos para composição e montagem, com os editores gráficos visuais Composite Application Service Assembly (CASA), BPEL Designer (WS-BPEL 2.0), WSDL e XSLT. Suporte a vinculação (binding) de componentes File, HTTP e JMS, e o projeto Java EE Web Service que implementa interfaces de servidor ou cliente de serviço pode ser adicionada a uma aplicação como JBI Service Unit e se comunicar com outras unidades de serviço usando JBI Normalized Message Router (NMR).
  • UML: o editor de diagramas UML agora suporta geração de código personalizável baseada em templates FreeMarker, para Engenharia Direta, tem melhor gerenciamento de coleções e permite de alinhamento de elementos no diagrama e duplicar um diagrama com Save As.
  • Para aplicações móveis (Java ME), o Mobility Pack traz nova interface de usuário integrada para desenvolvimento CLDC/MIDP e CDC. Também novos: game builder com suporte a MIDP 2.0 Game API; Visual Mobile Designer (VMD); componentes adequados para navegação de arquivos, SMS, tela de login, PIM e controle de fluxo. Design Analysis identifica componentes não utilizados para removê-los. Código gerado está mais fácil de modificar. Compilador de stub JSR-172 reescrito com suporte a tipo Base64 e capaz de interpretar documentação de métodos. Nova interface do assistente de projeto melhorou a configuração.
  • Há também melhorias para desenvolvimento C/C++ e na API da Plataforma NetBeans. Veja a página NetBeans IDE 6.0 Beta 1 Information e (muito) mais em Milestones New and Noteworthy.

Anúncio NetBeans IDE 6.0 Beta 1 Now Available, 2007-09-17.
NetBeans IDE 6.0 Beta 1 Download.
O NetBeans 6 final está previsto para final de novembro.

[1] Série NetBeans 6.0 – Novidades, por Dyego Souza Dantas Leal, no blog go-java.com – “Controverso eu?”.

Glassfish V2

GlassFish V2 Released: versão 2 do servidor Java EE Glassfish, projeto de software livre patrocinado pela Sun que é implementação de referência de Java EE 5 e serve de base para o servidor de aplicação Sun Java System Application Server 9.1.

No portal NetBeans também consta anúncio do Glassfish V2 de 17 de setembro.

Firefox 2.0.0.7

Hoje dia 18 foi lançada versão de atualização de segurança do Firefox. Veja o Firefox 2.0.0.7 Release Notes, que resolve apenas uma vulnerabilidade crítica em links de mídia QuickTime (MFSA 2007-28).

Obtenha o Firefox em Português do Brasil, para Windows, Linux ou Mac OS X.

Em sua sétima pronta atualização de segurança desde o lançamento da versão 2.0 em outubro de 2006, o Firefox continua sendo o mais seguro navegador web.

Não bastasse suportar os mais modernos padrões e recursos, o Firefox se mostra uma excelente ferramenta de desenvolvimento e testes para web. Cada vez descubro mais Extensões para o navegador Firefox, práticas, úteis, inovadoras e interessantes.

CodeGear RAD Studio 2007

Para finalizar, a CodeGear, divisão de ferramentas de desenvolvimento da Borland, anunciou o RAD Studio 2007, ambiente de desenvolvimento rápido que integra Delphi para Win32, C++ Builder e o novo Delphi .NET 2.0. É o estilo de ambiente integrado multi-linguagem para aplicações Windows no estilo do Microsoft Visual Studio.

Manipular CSV em Java

Kasper B. Graversen lançou dia 12 de setembro a versão 1.0 da biblioteca Super CSV, para manipulação do formato de dados/arquivo Comma-separated values (CSV — Valores separados por vírgula) em Java.

O CSV é um formato de dados simples para gravação de listas ou linhas de dados em um formato de arquivo texto. É freqüentemente utilizado como um formato de exportação de dados de planilhas, tabelas ou conjuntos de registros de banco de dados, ou qualquer outra listagem no formato tabular simples linhas × colunas.

O princípio do formato CSV é simples: cada registro é armazenado em uma linha de texto, e as colunas ou campos na linha/registro são separados entre si por vírgula. Ainda não é um padrão, mas há uma especificação CSV como tipo MIME na RFC 4180.

Alguns programas (como a planilha Microsoft Excel) e bibliotecas suportam não só o formato CSV, mas também outros tipos de lista em formato texto, um registro por linha, com campos separados por delimitadores (vírgula, ponto-e-vírgula, tabulação/TAB etc.) ou de tamanho fixo.

Bibliotecas software livre para gravação e leitura do formato CSV, em Java:

Produtos comerciais:

  • CSV Manager, leitura e escrita de arquivos CSV. Por Ricebridge.
  • StelsCSV, driver JDBC tipo 4 que permite realizar consultas SQL e outras operações JDBC em arquivos texto (CSV/comma-separated, delimiter-separated, fixed-length etc). Por J-Stels Software.

Para saber mais (em inglês):

Ubuntu 7.04 Feisty Fawn

Instalei hoje o Ubuntu versão 7.04 — codinome Feisty Fawn — a partir do CD que solicitei e recebi, gratuitamente, em algumas semanas (a postagem veio lá dos Países Baixos). Também é possível obter a instalação por download.

Dando boot pelo live CD do Ubuntu 7.04, escolhi a opção de instalação. Estranhei, porém, que a instalação do CD não ofereceu opção para atualizar a versão anterior 6.06 LTS que eu já possuía instalada. Através de download, eu já havia realizado anteriormente uma atualização de versão de Ubuntu em outro computador e foi uma brisa.

Como eu não mantinha nada crítico na partição raiz, optei por formatar as partições ext3 e swap preexistentes e fazer uma nova instalação do zero.

A instalação foi tranquila e sem problemas.

As telas de inicialização e de finalização ficaram mais limpas, no estilo “Windows XP”, apresentando apenas a barra de progresso e não mais a lista de recursos e serviços que vai sendo ativada/desativada. Apesar disso ser mais amigável para iniciantes, eu senti falta das informações, que me faziam sentir mais “controle” do que estava acontecendo.

Logo após a primeira inicialização na nova versão do Ubuntu, o sistema solicitou baixar um caminhão de mais de 120 MB em atualizações de pacotes instalados (previsível, na primeira atualização). A distribuição já veio com pacote OpenOffce.org 2.2, navegador Firefox 2.0, editor de imagens Gimp 2.2 e mais uma vasta seleção de pacotes disponíveis para instalar.

Após a instalação, precisei fazer as mesmas configurações adicionais que havia feito para o Ubuntu 6.06 LTS:

  • Codificação de caractere e o Ubuntu pt_BR, passando a codificação de caractere padrão de UTF8 para ISO-8859-1.
  • MP3 no Linux, instalando o pacote gstreamer0.10-plugins-ugly e bibliotecas adicionais relacionadas.
  • Flash para Firefox em Linux, essencial para navegar em sites com conteúdo Flash. Bastou instalar o pacote flashplugin-nonfree (v9.0.48.0), para som e vídeo do Flash Player 9 funcionarem no Firefox 2, sem qualquer configuração adicional.
  • Mouse multi-botões no Linux, para suportar os botões adicionais do meu mouse Logitech MX700.

Logo na instalação das bibliotecas para MP3 e do Flash, observei que os repositórios Universe e Multiverse (software livre não certificados pelo Ubuntu, e Software não livre restrito por copyright ou problemas legais, respectivamente) já vêm ativados por padrão, de forma que bastou simplesmente escolher, no gerenciador de pacotes Synaptic, os novos itens desejados. Aproveitei para instalar o Sun Java 6 JDK, também disponível pelos repositórios Multiverse.

Por enquanto, ainda é muito cedo para qualquer impressão além da instalação. O Ubuntu continua sendo uma ótima e fácil distribuição Linux para desktop.