EJB 3: Dead Or Alive? (em inglês), artigo por Adam Bien, 2008-08-22, em Javalloby DZone. Veja também Absolute Beginner EJB 3 / JPA Series - the Essential Bootstraps And Background Information, no Weblog de Adam Bien.

Why you should consider Tapestry 5 (em inglês), artigo por Joshua Java, 2008-08-21. Veja também a discussão do artigo em TheServerSide.COM. A versão 5.0.14 do framework open source de apresentação web Tapestry foi recentemente lançada e o Tapestry 5 está quase atingindo o nível de release estável (GA). A nova geração do Tapestry, criado e mantido pelo contundente Howard Lewis, vem se mostrando cada vez mais sólida e madura, buscando superar algum criticismo contra as mudanças profundas e quebras de compatibilidade retroativa introduzidas na evolução pelas versões 3, 4 e 5 do Tapestry.

JavaFX is Dead, Long Live JavaFX (em inglês), por Per Olesen, 2008-08-22, impressões sobre o Java FX Preview SDK, disponível para download gratuito.

CodeGear promove encontros on-line para desenvolvedores Java (em português), notícia por Paula Zaidan, 2008-08-20, em JavaFree. Durante dois dias (21 e 28 de agosto) de sessões on-line, gratuitas e em português, especialistas da companhia apresentam as novas funcionalidades do JBuilder 2008, no JBuilder Day América Latina. A divisão CodeGear pertencia à Borland e foi recentemente comprada pela Embarcadero.

Four harmful Java idioms, and how to fix them (em inglês) - Rewrite convention and optimize your code for maintainability. Artigo por John O’Hanley, 2008-07-29, em JavaWorld.com.

Spring Recipes: A Problem-Solution Approach, crítica de livro escrita por Meera Subbarao, 2008-08-21, em Javalobby DZone.

OpenXava 3.0.3: JPA Application Engine (em inglês), notícia por Javier Paniza, 2008-08-19. Veja mais sobre o OpenXava no site do projeto.

Jt - Java Pattern Oriented Framework (Jt 2.7), TheServerSide.COM. Veja também Jt Framework project em java.net.

Presentation: Future Directions for Agile, por David Anderson, 1h 32min;
Presentation: 10 Ways to Screw Up with Scrum and XP, por Henrik Kniberg, 1h 28min; ambas em inglês, em InfoQ, filmagem de apresentações realizadas durante o evento Agile Conference 2008.

7 Principles Of Clean And Optimized CSS Code (em inglês), artigo por Tony White, 2008-08-18, em Smashing Magazine.

13 hand-picked Vertical and horizontal CSS Menus (em inglês), por Developer Fox, 2008-08-20. Veja também Usando CSS para criar uma barra de abas, por Márcio d’Ávila, 2004-01-07, e referências em Componentes e Bibliotecas JavaScript e AJAX - Menu e Treeview HTML Dinâmico em JavaScript.

Vulnerabilidades, configurações e atualizações com correções de segurança dos servidores web Apache HTTPd e Java Apache Tomcat foram a pauta das atualizações de hoje no artigo Tutorial Tomcat - Instalação e Configuração Básica (revisão 31) e na página de referências sobre Entidades e Centros de Segurança - Centros de Informação de Segurança de Empresas - Apache Software Foundation.

Confira nos links acima.

Cloud computing, ou computação em nuvem (computação nas nuvens, para os mais românticos) é o termo que vem sendo adotado para o seguinte conceito e tendência: uso de recursos computacionais e serviços baseados na Internet (chamada “a Nuvem”, “the Cloud”). Segundo Reuven Cohen, a explicação mais simples para cloud computing pode ser descrita como ’software centrado na Internet’.

Isso engloba o uso maciço de software como serviço (software as a service - SaaS) através da Internet — o exemplo típico são as aplicações de escritório do Google Docs disponíveis e utilizadas através da Internet, utilizando-se um simples navegador/browser Internet no computador do usuário. Também inclui a tendência de desenvolvimento de aplicações que incorporam serviços e funcionalidades disponibilizadas através da Internet, chegando até o desenvolvimento de software e serviços usando uma plataforma computacional disponibilizada pela Internet, como mostra o artigo A short introduction to cloud platforms — An Enterprise-oriented view [pdf] de David Chappel, agosto 2008.

Atualmente, empresas como Google e IBM encabeçam a promoção e a pesquisa do uso de cloud computing, muitas vezes alardeado como o futuro da informática, como mostra a reportagem Google prepara, hoje, o futuro da informática [vídeo] da Rede Globo, apresentada no Jornal da Globo de 6 de maio de 2008.

Embora profetizado como grande tendência futura para os próximos anos, cloud computing enfrenta também o ceticismo e a crítica, como por exemplo se vê no ensaio do cronista de tecnologia americano John C. Dovorak (reprodução comentada por Antonio Passos), em sua coluna publicada na revista INFO Exame de junho de 2008. Já para o especialista visionário Nicolas Carr, autor do best-seller Does IT Matter (2004) e do livro recente “A grande virada: reconectando o mundo, de Edison a Google” (do inglês The Big Switch: the World from Edison to Google), cloud computing é uma forte previsão, mas a adoção nas grandes empresas não vai acontecer do dia para noite, ainda levará de uns cinco a dez anos para as grandes corporações migrarem em peso sua TI para cloud.

Cloud computing não deve ser confundido porém com grid computing, ou computação em grade/grelha. Este último consiste no modelo computacional do uso de um conjunto ou agrupamento de computadores em rede (mas com baixo acoplamento) para computação distribuída de aplicações e serviços, se comportando como uma espécie de super computador virtual, permitindo a realização de tarefas em larga escala.

A utilização de plataformas cloud computing — ou seja, a formação de um grid de computadores disponibilizados através da Internet — é uma forma possível de implementação de grid computing. O caso mais comum atual de grid computing, porém, ainda é a agregação de um conjunto de servidores dentro do ambiente de datacenter de uma corporação, aproveitando o investimento em servidores de pequeno e médio porte para produzir o processamento e a disponibilização de serviços de grande porte.

A definição de Dennis Byron, analista da Research 2.0, apresentada no blog Carreira e Certificações em TI no artigo Computação em nuvem: Microsoft, Google e tempestade à vista, apresenta uma relação objetiva entre os dois conceitos:

O cloud é, basicamente, uma combinação de grid computing, que tratava basicamente de potência de processamento bruta, e software como serviço. Na realidade, cloud é virtualização de rede.

Para saber mais sobre cloud computing:

Para saber mais sobre grid computing:

No contexto de arquitetura de software, ambos os termos técnicos Tier e Layer em inglês podem ser traduzidos para português como Camada, em geral relativo a sistemas multi-camadas. Mas cuidado para não haver equívoco ou ambiguidade, pois os dois termos não são meros sinônimos, têm significados distintos.

  • Layer se refere a Camada Lógica de organização dos componentes do sistema ou aplicação.
  • Tier se refere a Camada Física ou Estrutural dos componentes de infra-estrutura (hardware, sistema operacional e serviços/servidores).

Eis as principais camadas lógicas (layers), segundo Martin Fowler in: Patterns of Enterprise Application Architecture (Addison-Wesley, 2003, ISBN-13 978-032112742-6, 560 p.), Capítulo 1 - Layering, The Three Principal Layers:

Camada Lógica Responsabilidades
Apresentação Interação com usuário (exibição de informações, validação de entrada), provisionamento de serviços.
Domínio / Negócio Lógica específica particular ao sistema ou aplicação.
Acesso a Dados Comunicação com bancos de dados, EIS, sistemas de mensagens, monitores de transação.

Uma boa prática que se prega no projeto da arquitetura de software é que cada camada lógica só deve interagir com a(s) camada(s) imediatamente adjacente(s), visando a maior separação de atribuições (coesão) e o baixo acoplamento.

As camadas físicas (tiers) caracterizam a infra-estrutura sobre a qual o sistema ou aplicação executa. As camadas físicas podem variar de acordo com a plataforma e o ambiente tecnológicos específicos que se utiliza. Um modelo canônico de camadas físicas em ambiente web pode ser resumido como a seguir.

Camada Física Caracterização
Cliente Navegador (browser) web, páginas DHTML (HTML, JavaScript, CSS, DOM), componentes/plug-ins adicionais RIA (Flash, Applet Java, JavaFX, ActiveX, XUL etc.), outros objetos MIME (dados, documentos e arquivos em outros formatos).
Rede e Serviço Web Servidor web, protocolo HTTP sobre TCP/IP, processamento de requisição-resposta do cliente web, encaminhamento e integração com servidor de aplicações.
Serviços de Componentes e Aplicação Servidores de aplicação (plataformas mais comuns: Java EE e Microsoft .NET), servidor de objetos distribuídos (EJB, COM+, CORBA etc.).
Serviços de Dados e Integração Servidores de bancos de dados (SGBD), sistemas de mensageria, mecanismos de integração/interação com outros sistemas (EIS).

 

Tipicamente, as camadas lógicas são mapeadas em uma ou mais fatias da camada física da arquitetura. Para exemplificar um mapeamento típico de camadas lógicas em camadas físicas no ambiente web, a apresentação em geral abrange o cliente web, o servidor web e os mecanismos MVC do servidor de aplicação; o domínio ou negócio se concentra no servidor de aplicação; e o acesso a dados se concentra nos servidores de bancos de dados e outros eventuais componentes na camada física de dados e integração.

Para saber mais:

Nos últimos anos, a Borland vem se especializando em produtos e soluções para gerenciamento de projetos e dos processos do ciclo de vida do desenvolvimento de software, e não mais nas ferramentas e ambientes (IDEs) de codificação em si. Passou a focar mais em produtos como o Together e StarTeam, em detrimento das antigas vedetes como Delphi e JBuilder.

Com esse foco, a Borland criou em 2006 a divisão CodeGear e migrou para essa marca suas linhas de produtos de IDE: C++ Builder, Delphi, JBuilder, InterBase. E colocou à venda essa divisão. No passado (1998) a Borland já tinha feito essa mesma jogada, na época com a marca Inprise, quando a empresa estava em uma maré baixa financeira e de mercado (estilo “dando tiro pra todo lado”).

Dessa vez porém a estratégia achou comprador. Em maio de 2008 a Embarcadero Technologies anunciou a aquisição da CodeGear, concluindo o processo de compra neste último 1º de julho.

A Embarcadero é conhecida por suas ferramentas de produtividade para projeto, desenvolvimento e gerenciamento de aplicações em bancos de dados (Oracle, SQL Server, DB2, Sybase, MySQL etc.), com produtos como ER/Studio, Rapid SQL, PowerSQL, DBArtisan.

O Borland Delphi, que já foi Inprise Delphi e CodeGear Delphi, agora deve se tornar Embarcadero Delphi. Na década de 90, o Delphi disputava com o Microsoft VisualBasic a liderança do mercado de ambientes de desenvolvimento rápido de aplicações (RAD) para Windows. O Delphi está na sua versão 2007, com variantes para Windows (Win32), .NET e PHP. Também faz parte da suíte RAD Studio, que integra Delphi Win32, Delphi .NET e C++ Builder.

O JBuilder também foi por vários anos um dos mais fortes IDEs para Java, competindo com IBM/Rational Studio e JetBrains IntelliJ IDEA. Sua plataforma base chegou a ser licenciada para a Oracle, que construiu a partir dela o IDE JDeveloper. Mas a Borland/CodeGear perdeu mecardo rapidamente nos últimos anos para Rational e IDEs livres como Eclipse e NetBeans. A partir do JBuilder 2007, a CodeGear decidiu abandonar sua plataforma proprietária, passando a adotar o Eclipse como base.

Para saber mais:

- Próxima Página »