Mesa redonda sobre plataforma Java, segundo trimestre de 2010

Força a definição do futuro do segmento de mercado de Java

A plataforma Java™ é estável, e sua comunidade, vibrante, mas isso não significa que a tecnologia Java não precisa mais evoluir. A aquisição da Sun Microsystems pela Oracle é somente a mais recente de uma série de mudanças fundamentais que estão redefinindo o segmento de mercado de Java. Em vez de sentar e ficar esperando, a editora do setor de tecnologia Java, Jenni Aloi, realizou uma mesa redonda de developerWorks — nove pensadores líderes da comunidade Java — para uma conversa franca sobre o estado atual e o que está surgindo em relação à tecnologia, à cultura e ao segmento de mercado de Java.

Jenni Aloi, Java zone editor, IBM  

Jenni AloiJenni Aloi gerencia o setor de Java do developerWorks desde novembro de 2000. Antes disso, ela já foi editora-chefe do Web Publishing Inc. do IDG; editora sênior do JavaWorld.com; editora no Coriolis Group Books; e editora no ComputerPrep, desenvolvendo manuais de treinamento. Embora sempre reclame (sobre praticamente tudo), ela está feliz em já ter dedicado quase 20 anos a fazer o que sabe fazer melhor: criar de gatos.



Athen O'Shea, Technology editor and writer, Freelance

Photo of Athen O'SheaAthen O'Shea escreve e edita textos sobre alta tecnologia e já foi editor do JavaWorld.com. Como freelancer, ele já colabora com o developerWorks desde 2001.



05/Mai/2010

Desde que a Oracle anunciou a sua intenção no ano passado de adquirir a Sun Microsystems, a comunidade de desenvolvedores Java começou a debater o que a mudança no comando significaria em termos práticos e como ela afetaria o futuro da plataforma Java.

De fato, a evolução da tecnologia Java tem sido uma questão de preocupação e debate há vários anos agora, com algumas pessoas pessimistas a ponto de declarar a tecnologia "morta" antes do seu 15° aniversário. Por isso, muitos ficaram surpresos com o ressurgimento do interesse pela plataforma Java e suas bibliotecas, à medida que desenvolvedores corporativos começaram a abordar de fato as questões de confiabilidade e escala.

Com a aquisição da Oracle finalizada e Java 7 programada para lançamento formal mais para frente neste ano, chegou a hora de realizar uma mesa redonda com os líderes da comunidade Java — desenvolvedores, arquitetos e analistas (corporativos, independentes e similares) — e observar as suas perspectivas sobre o estado atual e o que está surgindo em relação à tecnologia, à cultura e ao segmento de mercado de Java.

As respostas variaram entre o que já era esperado e coisas surpreendentes e refletiram o trabalho abrangente e a experiência dos membros do painel com relação à plataforma Java. Os sinceros agradecimentos aos participantes da mesa redonda: Dan Allen, Neal Ford, Andrew Glover, Richard Hightower, Mik Kersten, Christopher J. Mackie, Alex Miller, Ted Neward, J. Steven Perry. Saiba mais sobre o histórico abrangente de nossos colaboradores, incluindo seus trabalhos publicados no developerWorks e em todos os outros lugares.

Observação: Os pontos de vista e os comentários dos membros do painel não representam os pontos de vista da IBM. Para mais informações sobre as atividades atuais da IBM com relação à plataforma Java, consulte "Java technology, IBM style: A new era in Java technology", de Chris Bailey, que apresenta um dos principais aprimoramentos presentes na especificação Oracle Java 7, bem como os aprimoramentos de valor agregado adicionais da IBM. Trent Gray-Donald, líder técnico no IBM SDK for Java 7, também fala sobre as informações que estão por vir em um podcast preciso e conveniente.

Tecnologia Java em 2010

Para iniciar a discussão, perguntamos aos membros do painel o que viram como o desafio mais importante para os desenvolvedores baseados em Java hoje em dia e sua maior oportunidade. Embora com respostas variadas, o tema mais comum foi a complexidade: a complexidade da plataforma Java e as estruturas de aplicativo da Web associadas, visto que isso vai contra os desafios inerentes do desenvolvimento de software de hoje em dia.

"Um aplicativo da Web Java típico usa 15 ou 20 MB de estruturas antes até mesmo de se iniciar a escrita do código!", disse Alex Miller. "Começar com essa coisa é desanimador para mim, e eu tenho uma década de experiência em desenvolvimento em Java".

Mik Kersten concordou: "O tamanho dos sistemas em que trabalhamos continua crescendo, ao passo que a capacidade de nossos cérebros não".

Enquanto isso, de acordo com Dan Allen, a pressão por resultados é intensa. "Os desenvolvedores não têm tempo a perder desenvolvendo linhas de códigos que não contribuem para a', ele disse lógica de negócios de um aplicativo, especialmente se o código resolver problemas que já foram resolvidos", disse.

A maioria dos membros do painel concordou que a forma de eliminar a complexidade — e garantir a sobrevivência da plataforma Java — depende da inovação em estruturas, ferramentas e linguagens baseadas em Java.

O que você acha?

Fizemos aos nossos estimados membros do painel algumas perguntas importantes para essa mesa redonda, e gostaríamos de sua colaboração também. Você concorda com as perspectivas apresentadas aqui? Acha que algo está errado? Tem uma visão totalmente diferente do segmento de mercado de Java? Participe da mesa redonda e divida suas opiniões sobre as forças que formam o segmento de mercado de Java atualmente.

"Para que Java continue viável, ele deve ser vista como uma plataforma que permite implementação rápida de aplicativos em operação", disse Andrew Glover. Ele citou Grails como exemplo de uma base corporativa simplificada criada com base na plataforma Java.

"Com estruturas como Grails, é possível criar aplicativos da Wem em operação com extrema rapidez, assim como Rails", disse.

Outras tecnologias que dão suporte à evolução da plataforma Java, disseram os membros do painel, incluem a estrutura Spring, Eclipse, tecnologias de virtualização e nuvem baseadas em Java, bancos de dados de armazenamento de valores/principais e o próprio Java EE 6.

A tecnologia não resolverá todos os problemas que os desenvolvedores Java enfrentam; entretanto, a cultura da programação em Java também está sobre pressão para mudar.

"Os desenvolvedores Java parecem ter o estereótipo de criar um fetiche em torno da complexidade", disse Neal Ford. "Nós, como desenvolvedores, devemos ficar atentos ao equilíbrio para resolver problemas sem criar outros".

Steve Perry concordou. "A inovação é excelente, e eu adoro mudança, mas o desenvolvimento de software precisa realmente crescer", disse. "O mundo está cada vez mais dependente de softwares. Se a forma como os desenvolvemos não for aprimorada, vamos ter sérios problemas".

De acordo com Chris Mackie, o movimento de atividades de desenvolvimento de softwares fora das empresas está impulsionando a evolução da tecnologia e da cultura Java. "Os fornecedores de serviços terceirizados, ramo em que as vagas de trabalho estão crescendo, são tipos de firmas diferentes com necessidades de codificação e culturas organizacionais diferentes", ele disse. Até mesmo "desenvolvedores Java extremamente capacitados e experientes podem achar a transição para os novos ambientes desafiadora".


Tecnologia Oracle e Java

Após meses de litígio, a Oracle agora é responsável pelo futuro de Java. Perguntamos aos membros do painel o que era mais importante sobre a nova propriedade e o que gostariam que mudasse ou ficasse igual sob o comando da Oracle.

A maioria, como Rick Hightower, não anteviu muita mudança na tecnologia. "A Oracle não vai mudar a sua forma de dificultar as coisas para os desenvolvedores Java", afirmou.

Alguns participantes demonstraram preocupação sobre o JCP e esperança de que ele continue, ou talvez se torne mais robusto, sob o comando da Oracle. "Eu adoraria ver a Oracle eliminar as restrições de campo de uso que Apache contesta há anos e eliminar o logjam JCP que atrapalha Java 7 JSR", disse Alex Miller.

"Minha esperança é que as promessas da Oracle de manter o JCP vivo e fazer com que tenha maior participação se tornem realidade", acrescentou Steve Perry. "Vai ficar mais caro para que as empresas participem? E quando à participação individual?"

Falando sobre IDEs, Mik Kersten considerou a opção de JDeveloper como a primeira entre as igualmente problemáticas, "dada a liderança de Eclipse em termos de recursos, extensibilidade e integrações disponíveis de Java".

"Espero ver a Oracle reconhecer a importância de Eclipse para o sucesso de Java", afirmou.

"No longo prazo, será interessante ver se a Oracle leva Java para mais perto das empresas ou se empurra Java para fora da nuvem", disse Chris Mackie. "Eu acho que um foco em uma nuvem mais forte seria benéfico para a comunidade, mas fico imaginando se a Oracle enxerga isso como prioridade".

"Usar a nuvem também torna uma mudança de hardware menos estimulante, o que coloca a Oracle em uma posição interessante como empresa de hardware (com Solaris)", disse Andrew Glover.

Na questão do que é mais importante para a tecnologia Java — a mudança na propriedade corporativa ou o surgimento de alternativas de software livre — o pessoal do painel ficou dividido.

"Para mim, a força em torno de Java não está relacionada à propriedade, mas à comunidade como um todo e suas contribuições para o software livre", disse Glover. Mas, disse Dan Allen, o que importa é que "a empresa responsável por Java finalmente saiba o que fazer com ela".

"Temos agora novas pessoas com intenções diferentes no comando e isso pode mudar apenas o modo como Java e o JCP (via suporte de controle da Oracle) evoluirão", disse Alex Miller. "Eu acho que a Oracle irá misturar as coisas nos produtos Sun Java e fazer um trabalho melhor de converter isso em dinheiro".

Parece claro que o modelo de negócios voltado ao lucro da Oracle transformará alguns aspectos da cultura Java.

"Muitos desenvolvedores Java vão ficar loucos da vida quando começarem a ver que as coisas que costumavam ser livres e gratuitas sumirão do mapa", disse Ted Neward. "E, francamente, eu acho que essa mudança já estava para vir há um bom tempo".


Java 7: Closures e simultaneidade

Há mais de três anos sendo preparado, o Java 7 está atualmente programado para ser lançado no final de 2010. Perguntamos se ainda vale a pena falar dos closures e se JDK 7 vai muito além para vencer desafios como a simultaneidade.

Alguns questionaram a relevância do Java 7 para o desenvolvimento de aplicativos em campo. "Eu ainda lido com clientes que estão no Java 1.3 devido a contratos com empresas comerciais que fornecem servidores de aplicativos", disse Andrew Glover. "Realidades comerciais como essas tornam a adoção de Java 7 parecer distante de alguma forma do mundo Java".

Java 4 e Java 5 trouxeram recursos empolgantes, disse Steve Perry, "Mas com Java 7, não muito". Entretanto, segundo ele, trabalhar com tecnologias estabelecidas e estáveis atende aos seus interesses como consultor.

Alguns dos trabalhos mais interessantes sobre simultaneidade estão ocorrendo de forma independente de Java 7, observou Glover, como com a estrutura Kilim baseada em Java de software livre e as linguagens funcionais como Scala.

"JSR 203 é um grande acréscimo para NIO. JSR 166 tem um grupo de excelentes atualizações de simultaneidade e espero manter a esperança de que JSR 310 ainda fará isso dentro da reformulação de prazo", disse Alex Miller.

Miller também viu bons acréscimos à JVM, com "com excelente trabalho em andamento para invokedynamic e o que parece ser um excelente e novo coletor de lixo, G1".

Com relação aos closures, disse Miller, "ainda vale a pena falar deles e estou contente que estão de volta ao mix".

Dan Miller's quote on the success of Groovy

Entre outras coisas, os closures fornecerão "um formato de bytecode padrão comum para comunicação" entre as várias linguagens JVM, disse Neal Ford. "Agora, Scala usa uma representação interna diferente em relação a JRuby, Clojure e Groovy; todos eles têm seu próprio formato anunciado". Segundo ele, ter um formato interno permitirá que todas as linguagens baseadas em Java sejam resolvidas para a mesma representação interna.

"O sucesso de Groovy é um indicador muito bom de que as pessoas querem closures em Java", disse Dan Allen. Ele também mostrou desapontamento com a falta de propriedades e referências diretas a campo/método em Java, o que, de acordo com ele, leva a desperdício e/ou violação de segurança.

"Muitas informações de linguagem se perdem no momento da compilação, as quais de outra forma seriam extremamente úteis para desenvolvedores de estrutura", disse Allen. "Um exemplo é o nome dos parâmetros de método e as diversas informações do tipo genérica, que são perdidos quando movidos de Java para bytecode".

"Embora as anotações sejam brilhantes, elas apenas esboçam a superfície dos metadados que precisam ser suportados", afirmou.

Entretanto, no final das contas, "os designers de linguagem Java devem apenas congelar Java na versão 7", disse Ford. "A linguagem Java ficará como a linguagem assembly da JVM: um local para se visitar em busca de acesso de baixo nível porque você está escrevendo uma biblioteca de baixo nível, e para manutenção".

Mesmo na linha de frente da plataforma, disse Miller, "Java não está em um ponto no ciclo de vida em que uma mudança revolucionária pode ou irá ocorrer — vai ficar principalmente como está e fazer o que você espera. E, para a empresa, essa é uma coisa boa".


Projeto Jigsaw

O argumento de que o JDK deve ser modularizado remete a meados dos anos 90, mas o interesse na modularidade de Java — ou talvez a esperança de uma solução concebível — explodiu nos últimos anos. Project Jigsaw, parte do projeto OpenJDK, é o esforço da Sun de modularizar o JDK no release Java 7.

Perguntamos aos membros do painel o que achavam do Projeto Jigsaw em relação a OSGi e se poderia atender à necessidade de um modelo de programação e de uma plataforma Java modularizada.

"Eu suspeito de que não exista nenhuma "solução de modularidade certa" para Java", disse Chris Mackie. "É fácil casos de uso muito diferentes presentes por trás de várias posições relacionadas ao tipo "certo" de modularidade".

Com relação às diversas JSRs na modularização, Alex Miller observou: "Eu acho que todo o processo em torno do JSR 294, 277 e do Projeto Jigsaw é uma confusão desde o princípio". Ele prossegue dizendo que as pessoas envolvidas são universalmente inteligentes e bem intencionadas, embora tenha pouca esperança de que o resultado final seja algo que ele queira usar.

"Eu acho que OSGi é uma excelente tecnologia, mas não acho que seja a única resposta possível", afirmou.

O que precisamos é de um "recurso que permita acompanhar a versão, algum suporte de tempo de execução e tempo de compilação para verificação de dependência de versão e um sistema de metadados aberto para componentes", disse Ted Neward. Em vez disso, o Projeto Jigsaw "se transformou ainda em outro filho bastardo de engenheiros malucos de OSGi e Maven", afirmou.

"Isso é uma vergonha porque eu acho que a visão que Mark Reinhold e Alex Buckley vêm mostrando com relação à modularidade é na verdade muito atraente", disse Miller. "A noção de integrar definição de módulo, gerenciamento de dependência e implementação de modo coeso poderá permitir sistemas como CPAN, Ruby Gems ou Groovy Grape e dar início a uma forma totalmente nova de construir e implementar software Java".

Todavia, a modularização da plataforma Java tem seus lados negativos e detratores.

"Eu não posso aceitar isso com relação ao Projeto Jigsaw", disse Steve Perry. "O que eles propuseram resolve casos de uso com os quais eu mal me preocupo".

"O fato de as soluções de modularidade serem aprimoradas somente agora sugere que uma grande parte dos aplicativos Java existentes, embora se beneficiem com a modularidade, não têm nenhuma necessidade essencial disso", disse Mackie. Para muitos aplicativos, "a modularidade tem muito mais probabilidade de trazer dores de cabeça do que ganhos".

Entretanto, a modularidade poderá ser essencial no desenvolvimento de Java para ambientes móveis, segundo ele. "É difícil de enxergar como, por exemplo, Java prosperará no smartphone sem ele".

Os aplicativos móveis "simplesmente não precisam de toda a bagagem que a JVM traz", disse Dan Allen. "A divisão Android e Java ME poderia não ter ocorrido, se a Sun tivesse feito a abertura para a modularização do JDK antes".


Java e a VM multilinguagem

A JVM precisa de "uma linguagem verdadeira"?

Assim como a própria comunidade Java, os membros do painel ficaram divididos quanto à necessidade de uma linguagem JVM principal, visto que menos linguagens revolucionam.

De acordo com Neal Ford, Java está morta e não tem mais volta. Mas o futuro da programação poliglota parece brilhante, segundo ele. Pegando o desenvolvimento de Swing como exemplo, "é possível usar DSL em JRuby (Swiby) ou Groovy (SwingBuilder) para construir a interface do usuário, criar partes de segurança de encadeamento críticas em uma linguagem funcional de ponta como Clojure e manter todas as suas bibliotecas Java acrescentadas no decorrer dos anos para conversar com mainframes".

Entretanto, para Steve Perry, esse cenário parecia mais trabalhoso, sem um benefício comercial tangível. "Como consultor, eu tento ficar indiferente à revolução da tecnologia e entro em algo quando ele realmente chama a minha atenção", afirmou.

Dan Allen, enquanto isso, classificou a JVM como uma sandbox perfeita. "Quando uma linguagem excelente é descoberta, os desenvolvedores podem realmente migrar para ela sem se livrar de tudo que sabem e em que investiram", disse. O sucesso de Groovy e Scala prova que a abordagem da sandbox é viável, mas nenhuma linguagem é "a tal". Ambas "têm atributos que me fazem acreditar que ainda há por aí algo melhor".

A era de "uma linguagem JVM verdadeira" passou ou o caso é que ainda não encontramos a linguagem certa? Diga-nos o que acha!

Por algum tempo agora, certas autoridades da comunidade Java (muitas das quais escrevem para o developerWorks) vêm debatendo se a linguagem Java está morta ou não ou morta como COBOL (ver Recursos). A questão mais profunda hoje é se a morte ou a sobrevivência da linguagem Java importa, visto a abundância de linguagens agora residentes na JVM.

A VM multilinguagem "torna o argumento de que "Java está morta" menor e menos interessante", disse Andrew Glover. "Java é uma plataforma! Se a linguagem Java não tiver alguns recursos de que preciso (ou vejo em outra linguagem), as chances são de que alguma linguagem JVM alternativa os tenha".

"O verdadeiro gênio em Java era a separação clara da linguagem da máquina virtual", disse Neal Ford. A robustez da JVM permite aos desenvolvedores "misturar linguagens e fazer a correspondência delas, usando cada um de seus pontos fortes", disse.

A VM multilinguagem (conforme constatado pelo projeto OpenJDK Da Vinci Machine) apenas criará oportunidades para desenvolvedores Java, disse Alex Miller, "impulsionando mais trabalho na interoperabilidade da linguagem, nos protocolos de metaobjetos e em outras coisas boas".

Miller e outros concordaram que continuaremos vendo investimentos pesados em Java de grandes empresas de software corporativo.

"Java é uma linguagem muito fácil de entender e muito boa para o desenvolvedor corporativo", disse Dan Allen. O desafio é evoluir a linguagem e fazer isso de maneira agressiva. "Novos recursos de linguagem precisam surgir, os recursos de linguagem antigos precisam ser reprovados, e as reprovações precisam ser eliminadas! Ninguém que use a anotação Java 5 ainda usa código reprovado de Java 1.1".

Ted Neward também convocou os designers de linguagem Java a "observar outras linguagens em seu nicho rudimentar — C++, C# e Visual Basic para começar — e descobrir um conjunto de novos recursos que poderão tornar Java empolgante e interessante".

"Java nos dá uma excelente base em termos de linguagem de programação orientada a objeto", disse Mik Kersten. "Ela está pronta, funciona e sua evolução contínua usará etapas incrementais. Mas, como uma comunidade, precisamos nos certificar de que uma inovação adicional possa ocorrer na JVM".


O que vem a seguir para Spring?

Uma das plataformas de desenvolvimento mais conhecidas e robustas de Java trocou de mão em 2009, quando a VMWare comprou a SpringSource. Perguntamos aos membros do painel como eles viam o Spring Portfolio evoluindo sob VMWare.

Pareceu haver um consenso geral de que Spring, sob VMWare, mudará para a computação em nuvem. Spring "se tornará a plataforma para fazer desenvolvimento em nuvem e consequentemente continuará oferecendo suporte ao desenvolvimento corporativo para o qual vem oferecendo suporte até agora", disse Ted Neward.

Mik Kersten concordou. "CloudFoundry da SpringSource é um vislumbre do futuro, em que os desenvolvedores implementam, depuram e gerenciam seus aplicativos na nuvem, tudo a partir de seu IDE", disse.

Segundo Steve Perry, a partir de uma perspectiva do desenvolvedor de aplicativo comercial, o Spring pode estar tentando fazer muita coisa, e "acabar tendo um tamanho gigantesco". Os desenvolvedores não deveriam ter que atualizar sua implementação do Spring a cada três meses, de acordo com ele.

Rick Hightower também viu o Spring Portfolio "crescendo com enorme velocidade em todas as direções". "Spring Roo e Spring STS são grandes exemplos de coisas feitas "à moda Spring"".

Os produtos do Spring Portfolio que estão surgindo podem estar voltando às raízes do Spring na programação orientada a aspecto, ele acrescentou. "Se você não tiver feito isso ainda, será preciso ignorar os seus livros AspectJ".


OpenJDK e Apache Harmony

A decisão de tornar a plataforma Java uma plataforma de software livre foi bem-vinda e resultado, pelo menos em parte, de pressão intensa e contínua da comunidade de desenvolvedores Java. Apache Harmony surgiu primeiro, mas o OpenJDK teve o peso da Sun por trás dele. Com as duas implementações em andamento, perguntamos aos membros do painel se o ecossistema Java se beneficia com as duas implementações de plataforma Java de software livre.

"Implementações diferentes apresentam uma chance maior de encontrar uma solução ideal para o problema ou uma solução que atenda a uma necessidade especializada", disse Dan Allen. "Por exemplo, uma JVM pode ser mais rápida para inicializar, enquanto outra pode manter um baixo consumo de memória em longo prazo".

"Existe um senso de que temos uma estratégia de nicho perfeita", reconheceu Chris Mackie. Mas, com o tempo, "fica mais difícil de justificar projetos parcialmente competitivos — não para seus criadores, mas para o número cada vez maior de usuários de ambos os projetos que não necessariamente compartilham as paixões ou os interesses próprios dos criadores".

Segundo ele, o que usamos para compartilhar é um "interesse de maximizar o retorno do investimento".

Ted Neward's quote on OpenJDK and Apache Harmony

Para alguns, Apache Harmony e OpenJDK resumem o que funciona e o que não funciona sobre o software livre.

Segundo Ted Neward, "é uma excelente ideia ter a origem Java disponível e eu, pessoalmente, estou muito contente que se esforçaram para fazer isso. Mas, não nos deixemos enganar — os dois por cento da comunidade de desenvolvedores Java que se preocupam com isso não estão fazendo muita coisa com ela de modo livre".

"O software livre é uma coisa bonita", disse Andrew Glover, "especialmente quando você é pago para oferecer suporte a ele e inová-lo. Os projetos que têm apoio comercial da maioria parecem prosperar e crescer mais rapidamente do que aqueles que contam com voluntários verdadeiros".

Do ponto de vista da tecnologia, disse Rick Hightower, "OpenJDK e Apache Harmony são como dois portos seguros. Fico contente que ambos existam; espero não ter que usar nunca nenhum deles. Espero que a Oracle seja uma boa administradora da plataforma Java e que não tenhamos que contar com um plano de backup".


Computação em nuvem

Com empresas influentes enfocando computação significativa e recursos de marketing na nuvem, perguntamos aos membros do painel a sua perspectiva em campo sobre o estado da computação em nuvem.

"A nuvem em 2010 é igual ao que a virtualização foi em 2008, o que a grade foi em 2007 e os serviços da Web foram em 2005", disse Ted Neward. "É insignificante, difícil de sustentar e, apesar de aparentemente sólido, não faz sentido."

"'Computação em nuvem' é um jargão no ciclo de alarde", concordou Alex Miller, "mas a tecnologia relacionada é real e útil agora. Praticamente todo desenvolvedor que conheço está usando ou observando a infraestrutura da nuvem em nuvens privadas ou públicas", afirmou.

Alex Miller's quote on cloud computing

"A abordagem óbvia agora é usar algo como a EC2 da Amazon para testes", disse Andrew Glover. "Não é preciso gastar dinheiro antecipadamente para testar o hardware da infraestrutura se é possível pagar por isso no decorrer do processo".

Miller concordou: "A maioria dos grupos parece começar a realizar testes de escalabilidade e desempenho ou implementar aplicativos interno à medida que se eles se familiarizam com os prós e os contras", disse.

"Fornecer um servidor representa um enorme custo adicional e mantê-lo se torna um ônus", disse Dan Allen. "Se tudo isso puder ser abstraído do IDE e controlado a partir dele [...] o desenvolvedor poderá voltar o seu foco para a lógica comercial".

Alguns mostraram a preocupação de que os desenvolvedores e as organizações podem subestimar o trabalho envolvido de abrigar aplicativos em uma nova infraestrutura de nuvem.

"Se eu tiver um cliente que queira uma nuvem, pegarei alguns livros, darei uma lida neles e os criarei", disse Steve Perry. "Mas até isso acontecer, eu fico fora da nuvem".

"Não queremos forçar os desenvolvedores a explorar suas plataformas, estruturas e ferramentas de forma que elas sejam executadas na nuvem", disse Allen.

Chris Mackie concordou. "Ressaltar os aplicativos corporativos mais recentes na EC2 é algo mais fácil de falar do que de fazer", disse. O que significa, claro, que os desenvolvedores conhecedores de nuvem "têm probabilidade de encontrar demanda no curto prazo".


Tecnologia Java em novos segmentos de mercado

A IBM e outras corporações estão investindo pesadamente na ideia de que uma tecnologia melhor é essencial para se construir um planeta mais inteligente. É uma premissa simples, mas os desenvolvedores de software sabem melhor do que nunca que novas iniciativas também trazem novos desafios. Perguntamos aos membros do painel sobre o trabalho pesado que será necessário para levar a tecnologia mais inteligente a novos segmentos de mercado e também quais serão os segmentos de mercado mais beneficiados com uma infusão de soluções de software inteligentes.

"Dois segmentos de mercado vieram à mente imediatamente: saúde e finanças, especialmente o bancário", disse Steve Perry. "Eu acredito que normas mais rígidas significarão que precisaremos de métodos de software melhores em ambos os segmentos de mercado", afirmou.

Dan Allen também citou a falta de infraestrutura de tecnologia no segmento de mercado de saúde. "Pessoas de qualquer parte do mundo podem compartilhar o que estão comendo no café da manhã (graças ao Twitter), embora, após mais de um mês, o consultório do médico de minha esposa não tenha ainda conseguido localizar os raios X no laboratório", afirmou. "A chave aqui é simples, serviços da Web leves como REST".

Allen e Andrew Glover enxergaram espaço para expansão na tecnologia móvel. "Móvel é a forma de ir", disse Glover. "Um planeta mais inteligente aproveitará a computação móvel para melhores eficiências e melhor compartilhamento de informações".

Para desenvolvedores Java, "abraçar e apoiar Android será a saída", disse Allen. "Mas isso significa abordar e padronizar o problema de multimídia em Java".

Chris Mackie apontou outra área em que a tecnologia Java poderá fazer a diferença. "Um dos recursos de maior diferenciação no setor de entidades sem fins lucrativos atualmente é que ele é o único setor econômico principal remanescente em todo o mundo que não percebeu completamente os ganhos de produtividade das tecnologias de geração atual", disse. "Apenas levar a tecnologia atual a essas entidades é discutivelmente o maior ganho de potencial do momento".

Alguns alertaram contra a expansão em novos segmentos de mercado antes "da correção de falhas básicas dentro de nossa própria casa", como Ted Neward colocou.

Projetar um software de qualidade exige tempo e atenção, o que, atualmente, o segmento de mercado de software não possui, disse Steve Perry. "Queremos alta produtividade, e isso, em minha opinião, quase sempre resulta em baixa sustentabilidade".

Para que o software seja de uso real fora da empresa, não só a qualidade, mas a usabilidade precisará melhorar, de acordo com Neward. A maioria dos softwares atualmente "requer um compromisso direto consideravelmente sólido — seja na instalação de outros elementos necessários, na sua construção desde a origem, ou na instalação dos bits necessários para se instalar os bits obrigatórios, de maneira ilimitada — antes que eles comecem a dar retorno", ele disse.

"Conseguir construir, alterar e implantar a tecnologia com mais rapidez do que o seu concorrente é crucial", disse Alex Miller, deixando a maioria dos segmentos de mercado suscetíveis a impactos. Mas, segundo ele, "gerenciar a complexidade é crucial para facilitar a abordagem de Java".


Software livre: Onde está o dinheiro?

Poucos desenvolvedores Java podem imaginar um mundo sem a abundância de bibliotecas de softwares livres e gratuitos, estruturas e ferramentas essenciais a muitos aplicativos Java criados atualmente. Mas o enigma financeiro do desenvolvimento de software livre às vezes faz os especialistas questionarem sua viabilidade de longo prazo. Perguntamos aos membros do painel sobre o futuro do software livre e sobre o que funciona e o que não funciona para desenvolvedores e organizações que procuram ganhar a vida com software livre e não apenas distribuir software de graça.

A maioria dos membros do painel concordou que o software livre continuará viável no futuro próximo. Os fornecedores continuarão ganhando dinheiro principalmente com suporte e treinamento relacionados aos seus produtos, junto com as versões corporativas fechadas de ferramentas também disponíveis gratuitamente.

"IBM Rational® conseguiu tornar Eclipse a plataforma de ferramentas de software livre e continuar vendendo produtos inovadores com base nessa plataforma", disse Mik Kersten.

Os projetos de software livre que quiserem dar certo deverão ter um "movimento de crescimento sustentável", disse Andrew Glover. Nem todos os modelos de negócios de software livre dão certo. "O produto subjacente precisa de uma comunidade diversificada e ampla para oferecer suporte à oferta de uma entidade comercial", disse Glover.

Mik Kersten's quote on Rational and Eclipse

Maturidade também é essencial, segundo Chris Mackie. "O software livre é uma proposta de valor incrível para mercados de software de verticais maduros de que não existe praticamente nenhuma chance de que ele desaparecerá". De fato, Mackie observou a tendência de inovações iniciais e proprietárias de "dar lugar, com o tempo, a alternativas duráveis de software livre".

Segundo ele, os fornecedores de software podem ser mais ágeis e concentrar capital mais rápido e com mais eficiência. Mas o software livre tem a vantagem do capital humano, que é usado "em quantidades muito maiores do que qualquer fornecedor de mercado vertical proprietário pode imaginar".

"Se quiser ganhar dinheiro com software livre, descubra como vai fazer dinheiro e como o software livre pode ajudá-lo", disse Ted Neward. "Seguir no caminho inverso ainda não funcionou".

Ele citou a aquisição da Sun pela Oracle como prova de que "as empresas que adotam um caminho de adoção mais lento para o software livre — como Microsoft e Oracle — têm tido um sucesso melhor ao descobrir onde e como o software livre ajudará seus negócios em vez de prejudicá-los".

"A IBM ganhou bilhões e também investiu bastante no software livre", disse Rick Hightower. "É o retrato de como fazer dinheiro com software livre e como dar um retorno para a comunidade".

"Espero que vejamos mais empresas como Oracle e VMWare zelando pela tecnologia [de software livre]", acrescentou Steve Perry.


Conclusão

A tecnologia Java tem quase 20 anos e está claramente na ponta de uma nova era em sua evolução. A tutela da Oracle tem um papel importante no futuro da tecnologia Java, assim como a determinação e a criatividade das comunidades de desenvolvimento em Java e de software livre.

A Java Community Process surgiu como um tópico de real preocupação com muitos desenvolvedores imaginando se — e exatamente como — a Oracle manterá sua promessa de manter e revitalizar o JCP. Muitos esperam que o modelo de software livre e gratuito mude sob o comando da Oracle — seja sutil ou radicalmente — e essas alterações afetarão o modo como os desenvolvedores de Java se relacionam com a tecnologia e suas próprias contribuições para ela.

À medida que a tecnologia Java amadurece, a cultura da programação em Java também amadurece. O impulso para a inovação não acabou, mas está equilibrado por um reconhecimento cada vez maior — nas trincheiras de programação e entre CTOs e gerentes comerciais — de que o código deve ser escrito com a sustentabilidade em mente.

Outra força que forma o futuro da plataforma Java é o mercado exigindo novas tecnologias enquanto permanece, de algumas formas, voltado para formas e pensamentos ultrapassados de fazer as coisas. Isso deve mudar para que a plataforma Java evolua e acompanhe as necessidades do mercado.

Se existe uma mensagem dessa mesa redonda, ela é a de que o futuro da tecnologia Java é estimulante — e também desafiador. Para os desenvolvedores Java que conseguem se sobressair no espaço onde a tecnologia que evolui rapidamente (como computação móvel e em nuvem) atende a um segmento de mercado específico (como saúde e finanças), o futuro parece brilhante e repleto de serviço.

É a sua vez: Dê sua opinião sobre essa mesa redonda que abordou as forças que formam o futuro do segmento de mercado Java.

Recursos

Aprender

  • "Podcast com Trent Gray-Donald" (developerWorks, abril de 2010): O líder técnico do IBM SDK for Java 7 fala com o developerWorks sobre o Java 7 e o valor agregado ao IBM SDK.
  • "Java technology, IBM style: A new era in Java technology" (Chris Bailey, developerWorks, abril de 2010): Saiba como a IBM agregará ainda mais energia ao lançamento de Oracle Java 7 no final de 2010.
  • "OTN Tech Cast LIVE: Justin Kestelyn Interviews Mark Reinhold" (Blog diário do editor, Java.net, fevereiro de 2010): Uma sinopse da entrevista completa sobre Tech Cast com o engenheiro-chefe de Java SE Mark Reinhold, sobre o tópico do que há de novo no Java 7.
  • "Oracle and the Future of the JCP" (Mitchell Pronschinske, Javalobby, fevereiro de 2010): Membros do comitê executivo de JCP dividem suas opiniões sobre a intenção anunciada da Oracle de tornar o JCP mais participativo.
  • Pure Danger Tech: Java 7: Listagem abrangente de Alex Miller de recursos propostos para Java 7 e informações sobre eles.
  • "Dead like COBOL?" (Ted Neward, developerWorks, março de 2008): Ted Neward levanta a questão de a plataforma Java estar morrendo ou não e, em caso afirmativo, o que a substituirá.
  • Java development 2.0 (Andrew Glover, developerWorks): Uma série de artigos que enfoca as tecnologias que redefinem o desenvolvimento em Java, incluindo a computação em nuvem, a programação poliglota e novas abordagens para a simultaneidade (como Kilim).
  • "Linguagem, expressividade e design, Parte 1" (Neal Ford, developerWorks, julho de 2009): Neal Ford reformula quatro padrões clássicos da Gang of Four usando Groovy, uma linguagem dinâmica para a JVM. Parte da série do developerWorks de Ford, Arquitetura Evolucionária e Design Emergente.
  • "The case for Java modularity" (Jeff Hanson, JavaWorld.com, agosto de 2008): Um engenheiro de Java explica por que a modularidade é uma etapa de evolução importante para a plataforma Java.
  • Java Specification Requests: Uma listagem completa de JSRs, incluindo as destinada para o release em Java 7.
  • Colaboradores da mesa redonda sobre a plataforma Java: A mesa redonda foi enriquecida pela qualidade de seus colaboradores, todos eles participantes ativos e líderes influentes da comunidade Java na evolução da tecnologia, da cultura e do segmento de mercado Java.
  • Procure na livraria tecnológica livros sobre esses e outros tópicos técnicos.
  • Zona de tecnologia Java do developerWorks: Encontre centenas de artigos sobre todos os aspectos da programação Java.
  • Zona de computação em nuvem do developerWorks: Uma coletânea de recursos do developerWorks para orientá-lo em cada estágio do desenvolvimento em nuvem, ajudando-o a conhecer as habilidades principais e a resolver problemas.

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Tecnologia Java
ArticleID=487613
ArticleTitle=Mesa redonda sobre plataforma Java, segundo trimestre de 2010
publish-date=05052010