Minhas impressões – Sun Tech Days 2009/2010 – Dia 1 (08-12-09)

Caros colegas,

Participei na última semana do Sun Tech Days 2009/2010, evento que aconteceu aqui em São Paulo, contando com a presença de grandes engenheiros da Sun e de ícones da comunidade Java do Brasil, e que tive o privilégio de me inscrever por um “golpe de sorte”, pois abriram-se entre o dia 02 e 03 de dezembro 200 inscrições gratuitas do evento, e tive sorte de me inscrever com sucesso 🙂


Vou disponibilizar para vocês agora um resumo de tudo o que aconteceu de acordo com a minha ótica.

Panorama 1: Para chegar até o local…

Para chegar até o local não foi as mil maravilhas no dia 08 de Dezembro…

Na madrugada/dia dessa data em SP choveu demais e tivemos um índice pluviométrico não esperado para o período, totalmente fora dos padrões. Portanto, vias principais congestionadas e o conseqüente problema do transporte público sobrecarregado. Levei quase 2h30 para chegar até o local (saída: 6h50 – chegada: 9h10!). Graças ao Google, GPS e Maps consegui encontrar o local, pois não conhecia a região e este foi meu primeiro Sun Tech Days 🙂

Panorama 2: Após a chegada

Presenciei uma organização/sinalização de locais/palestras/auditórios muito boa, fora a prestatividade dos envolvidos. Para pegar o crachá de conferencista não demorei muito tempo, além do espaço ser abrigador da chuva (acima de tudo…rs). De cara pude comtemplar as presenças do Marcelo Leal (SUN), Carlos Fernando Gonçalves (JavaNoroeste), Jorge Diz, Vinicius Senger e Yara Senger (Globalcode). Andando mais um pouco visualizei o mito James Gosling (!). Esperei mais 10 minutos até poder adentrar ao auditório principal. Nesse “meio tempo” fui visitar os estandes dos expositores, alguns como OpenSolaris, Oracle (é claro), Sun (é claro [2]) e Locaweb.

Após isso adentrei ao auditório principal para a primeira palestra do dia. Para saber sobre todos os palestrantes acesse esse link.

Boas Vindas ao Sun Tech Days – Luiz Fernando Maluf


Para dar as boas vindas ao pessoal do evento, o diretor para a América Latina da Sun Microsystems, Luiz Fernando Maluf, fez uma rápida apresentação mostrando o cenário no qual se encaixam os desenvolvedores Java (e usuários de tecnologias SUN) e como eles estão relacionados com o panorama do mercado, retorno profissional, técnico e financeiro, visando aproveitar as oportunidades que surgem no mercado de hoje: fim da crise, uso e expansão da plataforma Java pela linguagem Java (e outras) e abordagens acerca de novas tecnologias, como TV Digital, por exemplo. Agradeceu aos JUG leaders de comunidades, caravanas e o público do evento que estava presente.

Showcase de Tecnologia: Inspire-se! – Simon Ritter e Angela Caicedo

Antes do “pai do Java” falar sua “visão futurista” da plataforma, Simon Ritter e Angela Caicedo apresentaram alguns exemplos de aplicação das tecnologias Java e Sun do momento.  As implementações e demos foram mostradas para o público.

Simon mostrou como JavaFX pode ser produtivo, gerando animações com figuras ou vídeos, para Web ou Desktop, sem escrever uma linha de código e usando apenas uma “interface amigável de arrastar, soltar, colocar botões e etc.”. No fundo é o JavaFX Platform Suite, que pode ser usado como plugin para ferramentas pagas como Adobe Photoshop, Illustrator e etc. O objetivo era mostrar a produtividade da ferramenta com o objetivo de criar aplicações RIA com pouco “trabalho” (vulgo escrita de código).

Angela Caicedo mostrou uma tecnologia que achei bem interessante: uma “lousa mágica” usando JavaFX. Se trata de uma lousa de vidro, transparente, que por trás dela havia um projetor multimídia (projetando um quadro negro, lousa) com um Wii Remote em cima captando sinais de movimento e toque feitos com uma luva (a qual ia tocando a lousa ou “escrevendo” na mesma). As respostas eram enviadas via bluetooth para um notebook que processava as coordenadas e passava para uma aplicação JavaFX. Com isso era possível relacionar na aplicação o ponto tocado e a significância disso: se era um botão ativado da aplicação que deveria abrir uma paleta de cores, se era para limpar o quadro e etc.

Esse exemplo mostrou a sinergia de algumas tecnologias, além de Java e soluções SUN, que podem gerar modelos inteligentes tão bons quanto o apresentado.

O que está acontecendo com o Java? – James Gosling


Após o showcase James Gosling subiu ao palco para o frissom dos presentes, que puderam comtemplar o “mito”. O overview de James Gosling estava relacionado com as novidades da plataforma Java: mais de um assunto foi abordado, como JavaFX, NetBeansGlassfishJava EE6 e etc.

Sobre o Glassfish foi mantido o discurso de ser o servidor de aplicação mais rápido, baixado e performático do mercado (lógico…rs). Foram mostrados “gráficos e informações comprovando”. O mesmo está a muito tempo na versão V2, mas a versão V3 (lançada no dia 10/12) terá suporte a Java EE 6. Gosling fez algumas demos mostrando um menor tempo de redeploy para as aplicações, quase instantâneo, evidenciando uma melhoria na capacidade de criação e manutenabilidade de projetos via Glassfish.

Uma das novidades mostradas pelo mesmo foi o lançamento da JavaStore, que no momento está disponível apenas para o público americano, mas que tem previsão de abrangência maior e sair da fase beta no ano de 2010.

Gosling e Tim Boudreau, especialista em Java Card, fizeram uma demo mostrando o novo suporte para contenção de aplicações Web, http e https, embarcados (um servidor web dentro de um chip!).

O NetBeans foi citado como IDE padrão e está na sua versão 6.8 com suporte a Java EE6 também (Gosling indica “jogar no lixo” o EmacsViEclipse, inclusive…rs).

No final da apresentação, e de praxe para eventos da Sun, muitos brindes foram jogados para o público (Camisas da Sun e “Dukes“).

Glassfish V3: O servidor de aplicativos de última geração – Sang Shin


Sang é um velho conhecido do Brasil e de Sun Tech Days: essa foi a sua oitava viagem ao Brasil. Ao olhar para o mesmo sabia que conhecia ele de algum lugar. Voilá! Me veio a lembrança de já ter visto um vídeo no youtube dele “dançando” em uma das edições do Sun Tech Days. Confiram abaixo e tirem suas conclusões…rs.

Alguns pontos a ressaltar da apresentação

  • O objetivo do Glassfish V3 é ser o melhor servidor de aplicações do mercado: é compatível com Java EE 6, modularizado (baseado em OSGi e usando Apache Felix), sem limites de containeres e pode rodar containeres Java ou não-Java;
  • Glassfish tem suporte a mais de 200 bundles OSGi e podem ser desenvolvidos outros mais;
  • Existem 3 tipos de bundles: relacionados a kernel, containeres ou serviços;
  • Monitoramento e gerenciamento através de console web e asadmin;
  • Facilidades de um ambiente composto por Netbeans 6.8 + Glassfish v3 + Java EE 6, tendo-se desenvolvimento e deploy de aplicações “sem dor” e com muito mais rapidez. O deploy/redeploy automático mantém sessões e informações existentes de sua aplicação, mesmo após restart do servidor.

Os demos executados durante a apresentação, e que embasavam a teoria passada, se encontram no site mantido pelo próprio Sang Shin, o javapassion.com (não acessar java.passion.com…é NSFW…rs.). Eis alguns abaixo:

No final de sua apresentação Sang convidou para subir ao palco Jerome Dochez, principal engenheiro da Sun no desenvolvimento do Glassfish, para responder algumas perguntas do público e apresentar o seu overview da nova versão.


Para os interessados, a apresentação de Sang se encontra disponível para download por este link.

JDK7: O futuro da plataforma Java – Simon Ritter


Simon Ritter trouxe um overview para o público com as novidades do JDK7. Os pontos mais relevantes escrevo abaixo:

  • JDK7 está pronto, aberto e em constante desenvolvimento pela comunidade, o JSE7 ainda não está pronto e precisa de alguns pontos para ser resolvido (no JCP);
  • Sobre a linguagem as mudanças são: annotations on java types (JSR308); Project coin e modularidade (JSR294). Vale lembrar que todas as mudanças estão aprovadas;
  • Sobre o core: Projeto Jigsaw (a JSR294 impacta tanto no core quanto na linguagem. Modularidade = Jigsaw); atualização em concorrência e collections (JSR166); novas API’s a respeito de IO (NIO2);
  • Suporte a linguagens dinamicas (da vinci machine project) e Garbage G1 são bem importantes e de grande relevância também;
  • Uma das mudanças interessantes foi o uso de números binários de forma declarativa (int b = 0b01010101, binary b = 0X09AB), separação de grupos de números long por underscore (Long l = 9_938_827_122) e Switch usando string;
  • Gerenciamento automático de recursos: cláusulas try/catch que sempre precisam de um finally para fechar algum recurso (alguma_coisa.close) agora não mais precisam. A JVM gerencia isso (!);
  • Multi catch (2 cláusulas de exceção com o mesmo tratamento): talvez possa voltar no JDK7;
  • Invoke Dynamic bytecode (JSR292).

Sobre o projeto Jigsaw, em particular:

  • O JDK é grande, muito grande (só no JDK6 temos 47 pacotes toplevel e mais de 4000 classes), um problema em relação a tempo de download de pacotes e tempo de startup de algumas aplicações, por se usar bibliotecas demais;
  • Há dificuldade de se criar uma “plataforma fina, concisa e leve”, principalmente para dispositivos mobile dos dias de hoje, por exemplo. Para isso foi criado o projeto Jigsaw.
  • Já existe um projeto  de OpenJDK baseado no JigSaw;
  • A intenção de “código modular” é criar código limpo e bem direcionando para uso, criando uma não dependência de código e uso de bibliotecas entre programadores (commiters) ou código implantado em cliente, não dando propósito a erro. Os módulos terão versionamento, portanto você poderá definir no seu código qual a versão do módulo que você vai querer usar na sua aplicação.

Nessa versão foi bastante pensado nas mudanças a serem feitas, para não cair no erro do assert (java 1.4) e enum  (java 1.5), fato que “quebrou muitos códigos” antigamente. Simon reiterou que “trabalhar mudando e adaptando java é realmente pesado”.

O Lançamento final do JDK está marcado para Setembro de 2010. A plataforma Java tende a fica mais poderosa e abrangente, sem dúvida.

Ginga, Lwuit, JavaDTV e você – Dimas Oliveira & Tamir Shabat


Dimas Oliveira é um grande conhecido da comunidade Java no Brasil quando o assunto é TV Digital. Referência, esteve presente no Profissão Java, Java@TV Digital e OpenTDCTamir Shabat, especialista em desenvolvimento com Lwuit e TV Digital foi palestrante no Java@TV Digital. Em todos esses eventos eu estive presente e vocês podem acompanhar os posts pelos links anteriores (o Java@TV Digital ainda hei de escrever). Nesse Sun Tech Days a apresentação de ambos foi um “compilado” do que já tinha sido apresentado nesses eventos. Abaixo algumas informações dessa apresentação:

  • Perspectiva de no próximo ano termos 25 milhões de tv’s ligadas ao sinal digital, ou seja, é uma oportunidade palpável e direta para desenvolvedores gerarem aplicações, sendo que no ano que vem o Ginga estará mais maduro e a disponibilidade de set-up-boxes tende a ser maior;
  • Histórico da TV Digital não é de hoje: desde 2005 há desenvolvimento;
  • Para que já conhece Java é preciso aprender cerca de 8% a mais de Java para desenvolver para TV Digital;
  • TV interativa = TV + aplicações (não é simplesmente um browser com acesso a internet na TV);
  • Locais de estudo: Forum SBTVDjavatv-developers.


No final da apresentação Tamir mostrou uma demo, usando NetBeans + Lwuit (for TV Digital), de uma aplicação interativa para TV Digital baseada em uma aplicação real que a Rede Globo estaria disposta a usar. Um set-up-box foi usado para demostrar ao vivo os exemplos de interatividade desta aplicação.

Ajuste no desempenho do GC – Simon Ritter


Simon baseou-se para sua apresentação em 4 pontos:

  • Opções para a JVM da Sun;
  • Garbage collector;
  • Garbage first;
  • Dicas para tunning do GC.

No início foi exposta a evolução do gerenciamento de recursos, onde antigamente o desenvolvedor era responsável por alocar e desalocar memória (em C: malloc and free; em C++: new and delete). Hoje no Java só é preciso criar os objetos (“new”). A JVM se encarrega de gerenciar a memória (Garbage Collector).

Basicamente temos 3 tipos de opções, quando gerenciamos o GC:

  • Standard options:  todas plataformas;
  • -X options: não são aplicáveis a todas as plataformas;
  • -XX options: -não são aplicáveis a todas as plataformas e podem precisar de privilégios adicionais para usá-las.

Para maiores detalhes, favor consultar a documentação da Sun.

As dicas mais importantes passadas pelo Simon foram:

  • multi processos e cores criam objetos novos (todos tentam acessar o eden ao mesmo tempo): Solução: -XX:TLABSize=size-in-bytes ou -XX:ResizeTLAB;
  • Serial: indicado para maioria das aplicações para desktop;
  • Paralelo: indicado para maquinas com multiplos cores e bastante memória;
  • “JVM ergonomics”: comece usando -XX:+UseParallelGC e -XX:+UseAdaptiveSizePolicy;
  • Rode a opção -server;
  • As opções -XX:MaxGCPauseMillis=n e -XX:GCTimeMillis=n podem performar, mas não são garantidas;

Sobre GC e escolhas de Design:

  • Serial (-XX:+UseSerialGC);
  • Paralelo (-XX:+UseParallelGC). Para Tuning: -XX:UseParNewGC  e -XX:ParallelGCThreads=n, onde n é o número de CPU’s;
  • Concurrent (-XX:+UseConcMarkSweepGC). Para Tuning: -XX:ParallelCMSThreads=n, onde n é um quarto do número de CPU’s ; -XX:CMSInitiatingOccupancyFraction; -XX:+CMSIncrementalMode (off); -XX:+CMSIncrementalDutyCycle=n% (indicado n=50));
  • Stop the world;
  • Compacting (-XX:+UseParallelOldGC);
  • Non compacting;
  • Coping.

Sem dúvidas o G1 terá melhorias consideráveis para performance e foram mostrados exemplos de diagramas de alocação de memória com as respectivas legendas. Para saber mais, faça o dowload de um paper da Sun sobre o G1, por esse link.

Programação JavaFX para dispositivos móveis – Angela Caicedo


A apresentação foi bastante técnica e com muitos exemplos de código e demos. Foi uma sessão voltada para desenvolvedores que já conhecem a plataforma JavaFX e a plataforma de desenvolvimento de dispositivos móveis. Em resumo foi passado:

  • Introdução a MIDlets, MSA e JavaFX Mobile;
  • Conceitos de Mobile RIA , MVC, “stage e scene” e construção de UI’s;
  • Migrando aplicações de JavaFX desktop para JavaFX mobile;
  • Melhores práticas de performance;
  • Mobile samples e adição de mídias;
  • Demos.

A idéia central é: existem várias aplicações e modos de aplicar JavaFX para mobile devices, e essa é uma tendencia do mercado.

É preciso saber trabalhar com Java Micro Edition,  MIDP e aplicações e Wireless Toolkit (JavaME SDK). Algumas API’s de Java são essenciais: java.lang e java.io, além das específicas para desenvolvimento mobile: java.microedition. Com isso você consegue criar, editar, compilar, debugar, empacotar, testar e fazer deploy de aplicações (ou seja, tudo…rs).

O ambiente indicado para isso: Netbeans 6.8 + WTK (Wireless Toolkit) 2.5.2/JavaMe SDK 3.0.


Em termos de desenvolvimento:

  • Java ME MSA platform (JSR248 – Mobile Service Architechture). Essa é a base e dá suporte a tudo: audio, vídeo, camera, SIP, bluetooth, etc;
  • Para construir aplicações  de UI no MSA use API de alto nível (MIDP 2.0 widgets): é fácil, rápido e tem a beleza nativa de UI;
  • Há outras API’s disponíveis: JSR226 (SVG Tiny 1.1), JSR184 (3d graphics API) e OpenGL, por exemplo;
  • JavaFX mobile cria RIA para mobile;
  • Ao invés de trabalhar com aplicações de media (gimp, photoshop), passar as imagens para o MIDP  e só depois portar para o celular, agora você pode usar qualquer ferramenta de media (gimp, photoshop, adobe), passar pelo editor de media do JavaFX e portar isso para JavaFX mobile direto ou trabalhar via Netbeans para depois portar;
  • Modelo MVC pode ser implementado: Model (dados e sua lógica), View (Rich UI) e Controller (regras de processamento).

Para maiores detalhes e exemplos: http://javafx.com/samples

Linguagens de criação de scripts: opções para a JVM – Simon Ritter


Finalizando o primeiro dia (ufa!) o lema foi: Languages everywhere. Para o JDK7 é imprescindível saber o poder das linguagens dinâmicas e as mudanças que elas trarão. No caso são 4 que se destacam, ou melhor, são as que realmente são levadas em conta: Groovy, Ruby, Scala e Clojure.

Mas porque o número excessivo de linguagens? Liberdade de escolha e diferentes linguagens resolvem problemas de tipos diferentes. Java + todas elas + JVM : muitos poderes! (domain specific languages).

Abaixo um resumo de cada uma delas:

GROOVY

  • Linguagem OO;
  • Sintaxe é muito similar a Java, além de ser compacta e concisa;
  • Groovy herda classes Java e implementa interfaces Groovy ;
  • Permite closure e sobrecarga de operadores (-, +, * ou /), uma “máxima” das linguagens de script;
  • Integração com Java via JSR223;
  • Use groovy quando precisar de novas features que Java não tem pois os códigos se aproximam muito;
  • Meta object protocol – MOP (provê comportamento dinâmico para groovy);
  • Livro indicado: Groovy in Action (Dierk Konig).

RUBY

  • Imperativo, funcional e reflexivo (suporta muitos paradigmas programacionais);
  • Excelente suporte a metaprogramação e reflexão;
  • Suporte a continuação (“congela” um ponto e pode voltar a um anterior);
  • Tudo em ruby é objeto;
  • Tudo é chamada de método (obj.fred é o mesmo que obj.send(:fred));
  • Métodos podem ser invocados com ou sem parênteses.

SCALA

  • Puramente orientada a OO e tudo é objeto;
  • Scala não permite overload do operador true;
  • Array index é acessado por () e não [];
  • Não tem pré ou pós incremento (i++ ou ++i);
  • Arrays são mutáveis (ao contrário de Java);
  • Scala não suporta membros staticos (usar singletons no caso!);
  • Scala não requer construtor (pode ser definido implicitamente num código anonimo e se quiser fazer overload pode usar this).

CLOJURE

  • Modelada em Lisp;
  • Linguagem functional;
  • Funções são stateless;
  • Todos os dados são imutáveis;
  • Tem algumas complicações pois é uma linguagem onde se deve conhecer “onde se colocar as chaves, parênteses, ou chaves”.

A “sacada” é estar por dentro do JDK7 que vai dar suporte a linguagens dinâmicas de forma mais aberta (InvokeDynamic bytecode – JSR292).

Conclusão do dia 1

Como não podia deixar de ser, uma “avalanche” de informação…rs. Apesar de já ter visto muitos dos termos apresentados em outros eventos, sempre é bom revê-los por outras pessoas e com outras explicações. O primeiro dia foi de bom grado para mim, até uma camisa da Sun eu ganhei 🙂 . E a volta para casa mais tranqüila…rs.

Amigos leitores, essa foi a primeira parte do meu relato desse evento. Agradeço desde já os que deram uma passada por aqui e publicarei o mais breve possível a parte 2 da história.

Até logo!

Lançamento – Java EE 6, Glassfish V3 e Netbeans 6.8

Após o Sun Tech Days 2009/2010, ocorrido nos dias 08 e 09/12 e que estive presente (aguardem os posts com meus relatos do evento), a Sun disponibilizou ao público, neste dia 10/12,  o Glassfish V3, Java EE6 e NetBeans 6.8.

Em várias palestras foi ressaltado o poder do trio NetBeans 6.8 + Glassfish V3 + Java EE6 para desenvolvimento/deploy com facilidade e poder de fogo. Abaixo coloco o link para algumas matérias:

Sobre o Java EE6: matéria retirada do blog Globalcoders.

Conforme planejado saiu hoje (10/dez) a versão final oficial do Java EE 6!

O anúncio da data já tinha sido feito pelo Mike Keith durante o TDC 2009, onde ele brincou que fez um lobby para que o lançamento fosse hoje, já que também é seu aniversário.

Happy Birthday Mike Keith
from Globalcode team and community.

O anúncio oficial pode ser visto na seção “What’s New” do site da Sun http://java.sun.com/javaee/

Um overview das novidades também pode ser visto em http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview.html

Esse lançamento inclui as novas versões de tecnologias como Servlets (3.0) , JSF (2.0), EJB (3.1) e JPA (2.0). Se você quer se atualizar com as novidades aguarde boas notícias no site e boletim da Globalcode de semana que vem!

Sobre o Glassfish V3:

Sobre o NetBeans 6.8: matéria retirada do site JavaFree.org.

O NetBeans 6.8 não é mais beta e está disponível para download!

Você pode baixar a nova versão clicando aqui.

Para mais informações sobre esta versão, confira esta notícia do lançamento da versão 6.8 beta.

Link: http://netbeans.org/community/news/show/1449.html

Suporte para MySQL 5.0 está acabando

Notícia importante retirada do site InfoOnline, e que deve ser levada em conta para muitos desenvolvedores de software, membros da comunidade Open Source e usuários desse poderoso Banco de Dados. Leia abaixo:

Suporte para MySQL 5.0 está acabando

Campanha de Retake via Web – Relâmpago!!!!

Recebi o email hoje da Sun…

Campanha de Retake via Web
Comprando seu voucher pela web de 03 de Novembro à 11 de Dezembro de 2009, você terá direito à segunda chance gratuitamente, caso não obtenha êxito na primeira tentativa !

 

Para adquirir é simples:

  1. Acesse http://www.sun.com.br/edu, no tópico “Procurar por tipo de Produto” clique em “Certificações”;
  2. Identifique a certificação que você deseja obter com base em seus objetivos profissionais e de desenvolvimento pessoais;
  3. Preencha corretamente o formulário e assegure que todos os campos estejam corretos;
  4. Clique em “Confirmar e enviar pedido”;
  5. Aguarde o recebimento do boleto bancário, em até 15 dias úteis, no endereço de email cadastrado no formulário de compra;
  6. Após a confirmação do pagamento, os vouchers serão enviados fisicamente para o endereço cadastrado no formulário de compra.

Dê os próximos passos, aprimore suas habilidades e avance em sua carreira!

Se tiver alguma dúvida ou desejar fornecer feedback, envie uma mensagem para sun.education@sun.com.

Atenciosamente,
Serviços Educacionais Sun
sun.education@sun.com
www.sun.com.br/edu

Termos e Condições
a. Validade da Campanha: das 08:00hs do dia 03/11/2009 às 18:30hs do dia 11/12/2009; b. Campanha válida para todas as certificações publicadas no site da Sun Microsystems, exceto para os produtos de código 310-252A, 310-252R, 310-300A, 310-300R, 310-301A e 310-301R; c. Campanha exclusiva para compras efetuadas pela web. Solicitações feitas por telefone não serão processadas dentro da campanha; d. O boleto bancário será enviado para o endereço de e-mail cadastrado no formulário de compras em até 15 dias úteis, desde que o endereço fornecido esteja correto; e. Os vouchers serão postados fisicamente, após análise de cadastro do cliente e confirmação de pagamento antecipado via boleto bancário, em até 15 dias úteis, desde que o endereço fornecido esteja correto; f. Caso o candidato não compareça ao primeiro exame, perderá automaticamente o direito à segunda tentativa; g. Os vouchers tem validade de 10 a 12 meses e não são prorrogáveis; h. O candidato deverá aguardar 72 horas para agendar o segundo exame gratuito e pelo menos 14 dias úteis para realizá-lo a contar da data do primeiro exame; i. Para esclarecimento de qualquer dúvida sobre a campanha, entre em contato com a Central de Negócios pelo telefone 0800 55 7863.

A Sun Microsystems, Inc. respeita sua privacidade.
Você está recebendo este e-mail em mestrecapablanca@gmail.com porque optou por receber comunicações gerais da Sun Microsystems, Inc.

Privacidade | Marcas comerciais | Gerenciar assinaturas | Actualizar o meu perfil | Cancelar assinatura

Não responda a este e-mail. Em vez disso, contacte o editor.

Sun Microsystems do Brasil, R. Alexandre Dumas, 2.016. São Paulo/SP 04717-004

© 2009 Sun Microsystems, Inc. Todos os Direitos Reservados.

Lançamento da Sun Java Programmer Plus Beta é adiada (SCJP Plus Beta)

Recebi o email abaixo hoje:

Update!
Sun Java Programmer Plus Certification Beta.

Dear Rodrigo,

Thank you for your interest in the Sun Java Programmer Plus Certification – Sun’s first performance based Java Certification exam.

We wanted to inform you that the full beta for the new Sun Java Programmer Plus Certification has been delayed to later in this year based on the results from initial beta testing and to align more closely with the upcoming release of JDK 7. We will get back in touch with you as soon as we have revised dates for the full beta test.

If you have any questions or feedback, please send a message to sunlearninglink@sun.com

Thank you,
Sun Microsystems

Eu já esperava que o novo modelo para aplicação da prova fosse baseado no Java7, mantendo as provas SCJP da versão 5 e 6 no mesmo “estilo” (questões de múltipla escolha e “drag-and-drop”), fora as outras que aplicam fases semelhantes.

Mas ficam questões a serem respondidas:

  • Será que surgirão mais vagas para fazer a prova beta, pois só foram abertas 200 para a “primeira chamada” ?
  • O novo modelo agradará os futuros e atuais programadores?
  • A priori é esperado que este modelo seja somente aplicado as provas SCJP e SCJD, mas quem afirma que não irá se extender para as demais certificações?

Além do programador ter de responder as perguntas de múltipla escolha e “arrastar” no drag-and-drop, agora é preciso que sejam implementadas linhas de código (solução) para resolução de um “caso real”. Acredito que isso venha a dar mais qualidade a certificação e valor para os novos certificados, pois o futuro programador deve demonstrar mais capacidades.

Mas, isso só o tempo dirá. Vamos aguardar.

Fique de olho nas novidades por aqui!

Sun lança o MySQL 5.4

Notícia retirada do site Linux Magazine Online:

A Sun Microsystems anunciou hoje o lançamento do MySQL 5.4, nova versão do banco de dados de código aberto mais popular do mundo, projetado para oferecer melhorias significativas de desempenho e escalabilidade para aplicações.

Logo Sun+MySQL

O MySQL 5.4 inclui melhorias de desempenho e escalabilidade e permite que dispositivos de armazenamento InnoDB sejam expandidos para servidores x86 de até 16 processadores ou CMT (arquitetura chip multi-threading da Sun) com até 64 processadores, mais do que o dobro da capacidade anterior. O software também inclui, segundo o anúncio, otimizações de subqueries e tempo de resposta 90% melhor para certas consultas no banco de dados, além de novos algoritmos que aprimoram o funcionamento em cluster, avanços nas stored procedures e um melhor suporte à poderosa ferramenta DTrace dos sistemas Solaris e OpenSolaris.

De acordo com Eramir Fernandes, líder da prática de Softwares da Sun Microsystems do Brasil, o MySQL 5.4 “é mais adequado para expandir as implementações de sistemas SMP, em que mais de um processador compartilha o processamento de tarefas”.

A versão preview do MySQL 5.4 Community Edition já está disponível no site do MySQL.

Livro – Virtualização for Dummies: Sun e AMD

Elias Nogueira, um dos ícones mais atuantes do cenário de Qualidade de Software e bastante conhecido por sua larga experiência na área, divulgou em seu blog uma novidade interessante a respeito de virtualização.

Sun e AMD estão disponibilizando em conjunto o livro “Virtualization for Dummies – Sun and AMD Especial Edition” de forma gratuita! Clique no link e faça o download.

Virtualização para uso em testes é cada vez mais necessário para acelerar o processo e criar um maior número de cenários. Indispensável!

Java vs .NET

Uma “eterna” discussão. Mais uma vez prevalece a máxima: qual a melhor? A que melhor se adequa a sua realidade. Um post bem escrito e esclarecedor. Merece leitura. Retirado do site JavaFree.org.

Escrito por Paulo Krieser:

Prosseguindo com a sequência de colunas sobre as comparações entre linguagens de programação, neste artigo vamos comparar o Java ao .NET.

Antes que sigam as críticas, cabe esclarecer que o .NET não é uma linguagem, e sim uma plataforma da Microsoft que permite a utilização de diversas linguagens, como C#, Visual Basic, J# e ASP. Vamos focar então a comparação na construção de aplicações web, utilizando J2EE e o framework ASP NET da Microsoft, que é onde as duas linguagens mais competem.

Comecemos pela questão das licenças de uso, que influenciam diretamente no TCO (para referência aos fatores sendo comparados, consultar na minha coluna Fatores para Escolha da Linguagem de Programação). Apesar da Sun deter a marca Java, a mesma tornou a linguagem open source, permitindo aos usuários efetuar alterações convenientes. Para a plataforma .NET, existem algumas iniciativas free, como os projetos Mono e DotGNU. Porém, para se aproveitar todo o potencial da plataforma, é praticamente necessário se adquirir o servidor Microsoft juntamente com o ambiente de desenvolvimento Visual Studio. Sem estas ferramentas, além de não se aproveitar tudo o que se tem, a velocidade de desenvolvimento fica fortemente prejudicada. Além disto, nada na Microsoft é open source.

No item escalabilidade, as implementações das duas plataformas provêem mecanismos de balanceamento de carga, permitindo habilitar um cluster de máquinas para servir às cargas dos usuários que forem aumentando ao longo do tempo. A grande diferença entre o J2EE e o .NET é que desde que o .NET suporta apenas Win32, um número maior de máquinas se faz necessário, comparando ao J2EE, devido às limitações dos processadores.

Em um fator de extrema importância, como velocidade de desenvolvimento, o .NET leva grande vantagem. A sua IDE proprietária, o Visual Studio, é baseado em RAD (Rapid Application Development), aumentando a agilidade na construção de aplicações. O Visual Studio .NET inclui várias ferramentas interessantes em termos de produtividade, como por exemplo o Web Forms. Estima-se que um projeto criado do zero, leve-se de 10% a 20% menos tempo para entrar em produção quando desenvolvido em .NET.

O Microsoft .NET oferece independência de linguagem, permitindo os componentes serem escritos em VB.NET, C# e J#, por exemplo. Para fazer isto funcionar, o código-fonte nestas diferentes linguagens é traduzido para um código intermediário (análogo aos bytecodes do Java) chamado Microsoft Intermediate Language, abreviado IL. O Common Language Runtime (CLR), análogo ao JRE (Java Runtime Enviroment) do Java, interpreta o IL e traduz em código de máquina.

Com um conjunto de linguagens rodando sobre a plataforma .NET, os desenvolvedores diminuem a habilidade de compartilhar as melhores práticas, diminuindo a assertividade do compartilhamento de informações. Assim, especula-se que um conjunto de linguagens rodando em CLR pode levar a uma combinação de código espaguete que fica difícil de manter. Com a liberdade para se utilizar diversas linguagens, a aplicação torna-se mais complexa, necessitando de experts em diferentes linguagens, o que também faz aumentar o TCO e a entropia do sistema.

As duas tecnologias apresentam uma curva de aprendizado parecida, com a diferença de que o Java possui mais material para aprendizado na internet do que o .NET, que é proprietário e a principal fonte de conteúdo é o MSDN.

Analisando o último quesito, portabilidade, praticamente não há o que comparar. Como já dito na coluna anterior, o Java segue o princípio write once, run anywhere, permitindo executar as aplicações na virtual machine em praticamente qualquer ambiente. O .NET roda apenas no Windows, no seu hardware suportado, e no ambiente .NET. Há algumas implementações adicionais do .NET que rodam em outras plataformas, porém que não permitem o uso de todo o potencial do framework.

Concluindo a análise, a plataforma J2EE, possuindo uma interoperabilidade melhor, permite mais facilmente integrações com o legado através de web services e JCA (Java Connector Architecture) e uma maior facilidade de portabilidade, podendo rodar em qualquer sistema operacional. A grande vantagem do .NET é a sua incrível ferramenta de desenvolvimento, que incrementa bastante a velocidade na construção de aplicações. Porém, esta vantagem apresenta o custo das licenças de uso e de se ter uma plataforma proprietária e fechada, seguindo a iniciativa monopolística da Microsoft.

Para a escolha de qual tecnologia utilizar, deve-se analisar o que já se tem de legado e os skills da equipe que irá trabalhar no projeto, aproveitando os conhecimentos já existentes nas linguagens.

O que Significa para o Java a Aquisição Planejada da Sun pela Oracle

Artigo traduzido retirado do InfoQ.

Embora a Sun Microsystems e Oracle estão celebrando a compra da Sun pela Oracle como um enorme impulso para o Java, muitos na comunidade não estão seguros, pensando que tipo de controle a Oracle vai buscar a exercer sobre a plataforma.

“Java é uma das marcas mais conhecidas e a tecnologia mais implantada da indústria da computação, e é o software mais importante que a Oracle adquiriu,” disse a companhia ao anunciar a aquisição. “Oracle Fusion middleware, o mais rápido crescimento de negócios da Oracle, foi construído no topo da linguagem Java e software da Sun. A Oracle pode agora assegurar inovação continuada e investimento na tecnologia Java para o benefício dos clientes e a comunidade Java.”

Dana Gardner, Principal Analista da Interarbor Solutions, concorda:

“Vencedores do negócio incluem o próprio Java na acepção mais ampla e completa. Oracle e IBM são os principais vendedores de Java, e a força da IBM (e clientes e desenvolvedores) no mercado irão forçar a Oracle a manter o Java aberto e vibrante, enquanto a inclinação da Oracle para controle e sucesso comercial manterão o Java seguro e singular.”

Também parece provável que a Oracle possa resolver alguma das longas disputas na comunidade Java. Mike Milinkovich, o Diretor executivo da Fundação Eclipse, vê OSGi como um vencedor igualmente, contando a InfoQ:

“A aquisição da Sun e o Java pela Oracle segura alguma promessa real para resolver uma das disputas na comunidade Java. Nomeadamente, a direção técnica da modularidade no Java. OSGi está por perto por alguns anos e tem demonstrado sua utilidade como uma boa solução de arquitetura na modularidade Java em domínios desde mobile até enterprise middleware. OSGi foi adotado pelas maiores empresas que licenciam o Java, incluindo a Oracle.Durante alguns anos atrás, parecia que a Sun estava no caminho de reinventar a roda. Com a Oracle dirigindo existe uma chance que a plataforma Java será movida para frente com OSGi como um modelo padronizado para modularidade.”

No espaço empresarial muitos comentaristas parecem concordar que o Java está razoavelmente seguro com a Oracle. Certamente eles ofereceram por um bom tempo suporte ao Java EE e estão envolvidos fortemente em várias JSRs incluindo aquelas para JSF e EJB. E mesmo se eles não manterem o investimento, argumenta Rod Johnson da SpringSource, isso não deve significar muito:

“…inovação em volta da plataforma Java há muito tempo tem sido dirigida por desenvolvedores, através do open source – não por mega vendors. Inovação da comunidade tem transformado produtividade e propulsionado o enterprise Java para fora da era das pedras da arquitetura J2EE da Sun.”

Os efeitos a curto prazo, no entanto são susceptíveis a ser prejudicados. Alex Miller espera ver Java 7 atrasado:

“Integração a uma nova empresa é um processo doloroso e envolve tempo para formular estratégias, reorganizar linhas de negócios e times, possibilidade de demisões e quase certamente pessoas saindo por sua própria conta, trocando para novo IT, HR, e outros sistemas. Tudo que significa tempo de contruir software e a meta para Java 7 já parecia apertado para mim. Eu posso imaginar que esse tempo escorregue de 3 a 6 meses.”

Existe também uma preocupação real sobre outras partes do ecossistema Java – browsers, telefones mobile, smartcards e outros sistemas embutidos. Escrevendo no Ars Technica Paul Ryan colocou o ponto:

“O valor do Java para a Oracle é confinado quase inteiramente no mercado de servidor, então parece extremamente improvável que a Oracle vai querer seguir com os esforços da Sun em restaurar as relevâncias do Java no browser com projetos como JavaFX que tem por objetivo competir com o Framework Flash da Adobe.

Similarmente, o impulso renovado da Sun para o Java em dispositivos mobile podem também potencialmente ser visto como supérfluo pela Oracle. A tendência de toolkits nativos e frameworks no espaço mobile está fazendo Java ME um anacronismo. Java ME não está realmente competindo com a experiência do iPhone, o qual todos os vendors da plataforma mobile estão tentando imitar agora. O Java só está em vantagem no ambiente mobile em se tratando de consistências entre dispositivos, o qual não está realmente bom na prática.”

A Oracle, no entanto, estará interessada em ver um rápido retorno sobre seu investimento. Um grande mito da mordomia da Sun no Java é que ele falhou em fazer qualquer retorno financeiro da tecnologia. De fato, ignorando receitas de serviços, a Sun escreveu em torno de $220 milhões da receita do Java para o ano fiscal de 2008 e $34m para os primeiros quatro meses de 2009. Muito disso é gerado pela licença da empresa ISVs e manufaturas de dispositivos, particularmente aqueles mobile handsets que continua sendo formentente suportado pelo Java ME apesar das pressões do iPhone e Android do Google. Embora mais comumente posicionado como concorrente do Flash da Adobe e Silverlight da Microsoft para navegadores PC, JavaFX é tão importante como uma maneira de proteção ao domínio do Java para o telefone mobile e mercados embutidos. Nessa visão, a Oracle pode ver o investimento continuado aqui como mérito. Além disso, a Oracle nunca foi tímida em levantar custos de licenças e pode usar essa receita estabilizada como uma maneira de aumentar rapidamente o valor da licença da plataforma Java. Nesse contexto será fascinante ver o que a Oracle faz com respeito à disputa com Apache Harmony, desde que Harmony representa um pequeno time que ameaça as receitas do licenciamento do Java. Se a Oracle é capaz de executar a estratégia da Sun e transferir a maior parte da taxa da licença da marca Java para JavaFX, Harmony tem muito menos de um problema para eles, e pode mesmo ser visto como uma oportunidade. Stephen Colebourne, que tem blogado extensivamente no assunto, permanece cético:

“…nós temos uma indicação clara de Dezembro de 2007 que a Oracle esteve ativamente suportando o ASF na disputa com a Sun.

É claro, pode ter sido um movimento competitivo contra a Sun. Agora que a Oracle tem o poder, ele pode escolher usar o poder muito diferentemente.”

O mais problemático ainda é o resto da pilha do software da Sun orientado à Java. A Oracle tem se comprometido publicamente a favor do Eclipse ao invés do NetBeans, o qual faz o suporte deles ao NetBeans mais do que um pouco duvidoso. GlassFish tem estabilizado uma boa reputação entre os desenvolvedores como uma alternativa ao JBoss e a parte do mercado tem crescido rapidamente, mas tem ainda um longo caminho atrás da propriedade da Oracle chamada WebLogic e pode ter o investimento puxado. É uma história similar para os dois portais oferecidos (BEA Portal Server e Sun Portal Server respectivamente). Em algumas formas a questão mais intrigante é que acontece com JRocket e Hotspot. Alex Miller faz o ponto que essas duas implementações da JVM são muito diferentes e existe provavelmente lugar para ambos, mas se somente uma vai sobreviver, como uma referência de implementação, Hotspot parece ser mais provável.

Outra área de preocupação é a gestão global do Java através do JCP. Alex Miller suspeita que a Oracle vai buscar manter o status “quo” embora com eles agora no controle:

“IBM e Oracle claramente tem vedado o mesmo território e apostar na mesma linguagem. Certamente a Oracle irá querer deduzir todos valores estratégicos que podem da aquisição e subsequente controle da JCP. Eu não posso imaginar que eles estariam dispostos a desistir do controle da JCP em favor de uma organização mais aberta.”

James Staten da Forrester Research adiciona. Citado na BusinessWeek ele argumenta que enquanto muitos dos softwares da IBM estão correntemente baseados em Java, a Oracle poderia impor restrições nesse uso da linguagem do rival em produtos futuros. Isso parece um pouco rebuscado. Se a Oracle busca impor muito controle no Java eles iriam correr um risco de minar um dos princípios ativos de quem eles estão buscando adiquirir. James Gosling iria certamente ter cautela contra isso. Falando sobre sua própria regra de Computer Business Review ele comentou:

“Eu tento e influencio coisas na direção certa, mas existe uma comunidade tão grande de pessoas que ninguém poderia controlar. Se alguém tentou isso iria estragar tudo.”