Jazz

Eu tenho acompanhado o projeto Jazz, essa solução de ALM (Application Lifecycle Management) que a IBM criou. Agora a IBM criou um produto baseado no Jazz chamando de RTC (Rational Team Concert) dentro do brand Rational. Um otima artigo que descreve o RTC, é o artigo do José Papo sobre Rational Team Concert – Detalhes da nova solução de ALM da IBM Rational.

Kleber Rodrigo de Carvalho

developerWorks podcasts

Sem dúvida umas das minhas sérias preferidas sobre podcast é o developerWorks podcasts. Embora não seja só sobre Java como o Java Posse, no developerWorks podcast sempre encontro assuntos interessantes.

Eu já havia comentado sobre o developerWorks podcast, em dois artigos anteriores meu, o Grady Booch no Software Engineering Radio e Desenvolvimento ágil com Scott Ambler.

Ao escutar o ultimo podcast sobre o New teaching resources for BPM, Enterprise Computing, and Rational, onde Kevin Faughnan, Diretor do IBM Academic Initiative, e Dan Griffin, Program Manager for WebSphere and SOA participation dentro do Academic Initiative, falam sobre o novo programa de ensino e como estudantes e professores a usar tecnologias IBM.

Através de um comentário no New teaching resources for BPM, Enterprise Computing, and Rational, eu cheguei a este artigo Computer Science Enrollments: The Real News, um artigo que discute o interesse de estudantes em SCE (computer science & engineering), ciência da computação e engenharia da computação.

Cheguei a este artigo Why Choose CSE?, que possui uma coleções de videos da Universidade Washigton, para mostrar o que alunos de ciência da computação e engenharia da computação vão trabalhar depois da graduação.

Para fechar passei na página SkillPROOF, que procura fazer uma pesquisa sobre skill e jobs em demanda nos EUA.

Realmente esse links valem ouro.

Kleber Rodrigo de Carvalho

IBM reverse

I watched a wonderful documentary how IBM becomes leader as outsourcing and service provider to IT companies around the world. The documentary in portuguese Brazil shows the history of IBM Brazil being the first IBM’s main office outside from US. It shows also how IBM Brazil( mainly IBM Hortolandia) is important in service and outsourcing area to IBM worldwide.

Kleber Rodrigo de Carvalho

A reviravolta da IBM

Já mencionei anteriormente que o Mundo S/A é um dos meus programas preferidos.

Assisti uma excelente documentário sobre como a IBM se tornou uma das maiores empresas de serviços do mundo. O documentário A reviravolta da IBM, mostras aspectos interessantes que transformaram a IBM de uma empresa de Hardware e Software, para umas das lideres mundial no setor de serviços e outsourcing. Também mostra que a IBM Brasil faz parte dessa historia de sucesso, sendo a primeira filial da IBM fora dos EUA, e agora no outsourcing, a IBM Hortolândia está cada vez mais tornando uma importante braço no setor de serviços para a IBM no mundo.

Kleber Rodrigo de Carvalho

Java o passado e o futuro

Hoje em dia se tem falado muito do futuro do Java. Será que o Java está em declínio ? Será que vale a pena aprender Java ainda ? Ou seja, várias perguntas surgem na cabeça do desenvolvedor e principalmente naqueles que iniciaram agora na area de desenvolvimento de Software.

O Cesar Taurion escreveu no blog dele o artigo Java hoje e amanhã, assim como já tinha indicado um artigo Java é o novo Cobol, falando exatamente sobre o futuro do Java. Isso sem citar outros milhões de posts e fóruns que discutem exatamente isso. Para nós entendermos o que está acontecendo com o Java hoje, é importante olharmos o passado um pouco, afinal de contas, como dizia um professor de História da Ciência e da Técnica, na univeridade, quando eu perguntei porque um curso de história era importante em um cursos de ciência da computação, ele me respondeu o seguinte: “A historia nós faz analisar o que já aconteceu no passado”. Dai eu extraio uma frase, que sempre repito na minha vida, os inteligentes aprendem com os próprios erros, os sábios com erros dos outros.

Voltando a historia, em 1996 quando eu me formei do meu colégio Técnico em Processamento de Dados, eu fiz uma analise do Mercado na área de desenvolvimento de Software. O mercado era mais ou mesmo assim. As Universidade ensinam linguagem tipo C/C++, Pascal etc, mas os profissionais na grande maioria quando entravam no mercado de trabalho, trabalhavam como Clipper, Visual Basic e Delphi. Existiam realmente poucas oportunidade e sistemas que eram desenvolvidos na área comercial usando essa linguagens que as universidades ensinavam. Os alunos estudavam linguagem tipo C/C++ e Pascal, mas o mercado de trabalho queria Visual Basic e Delphi. E claro que tinham exceções, assim como toda a regra.

Durante meu anos de universidade eu tive um forte embasamento em linguagem C, até porque cursei o curso de Bacharel em Ciência da Computação. Quando comecei a estudar metodologia de Orientada a Objetos, comecei a estudar o C++ ( uma caminho a ser seguido, afinal já programava em C) e comecei a estudar Java também.

Foi nessa mesma época que comecei a trabalhar com Linux, mais ou menos em 1997. Achava que linux e Java era lindo. Até porque me dava muito trabalho migrar um programinha do C do Windows, para o C do linux. Achava Java realmente muito bom para isso. Para vocês terem um idéia, a primeira linguagem Visual que aprendi não foi nem Visual Basic, nem Delphi, e sim o Borland C++ Builder. Naquele época por ter um tendência a achar que, programa bom deveria funcionar pelo menos em Linux e Windows, o Visual C++ da Microsoft não era uma opção embora com o Borland C++ Builder as coisas também não era tão fáceis assim.

Agora Java era o máximo para mim, foi a partir disso que eu me especializei nessa linguagem. No último ano da Universidade quando já fazia estágio, no falecido Zaz, hoje conhecido como Terra, eu era o unico desenvolvedor Java deles (da região de Piracicaba), enquanto o desenvolvimento Web era ainda era muito pouco concebida e PHP e o ASP da microsoft eram as preferidas dos clientes. Mesmo assim, se você queria ganhar bem, recomendava-se aprender Visual Basic e Delphi e desenvolver aplicações desktop, mas realmente eu gostava mesmo de Web.

Finalizando meu estágio, eu quase decidi aprender ASP e PHP, porque achava que Java não tinha muito mercado, isso foi em 1999 e 2000. Até que decidi me mudar para São Paulo. O Ano era 2001 e Java começava a bombar.

De cara o meu primeiro grande projeto em 2001 foi para um companhia de telecomunicações chamava Vesper, onde o sistema era hospedado na IBM Tutóia, com toda infraestrutua IBM e seu WebSphere (naquela época WebSphere estava engatinhando). Foi esse o meu primeiro grande projeto Java e dai em diante eu comecei a ir para o lado da IBM e seus produtos.

Mas, afinal de contas, o que aconteceu daquela época para cá ?

Aconteceu muitas coisas, uma delas que é Java começou a ser ensinado nas escolas e universidades, e finalmente o aluno começou sair da Universidade para o Mercado de trabalho, usando a mesma linguagem que ele havia estudado lá . O Alunos não precisavam mais aprender outras linguagem de programação (ma maioria das vezes). O meio científico, que tinha como linguagem preferida o C/C++ começou a olhar o Java de uma forma melhor (sim eu participei de um projeto científico na USP financiado pela FAPESP em 1998, se você falava em desenvolver pesquisa em Java, você seria completamente ignorado, o meio científico e academico dizia que cientistas programavam em C/C++). As empresas que desenvolvem produtos, passaram a ter escolhas além do C/C++ para desenvolver produtos, e Java começou a aparecer não somente no mercado comercial, mas no mercado científico e acadêmico, mas como também empresas que desenvolvem produtos.

Mas o que são produtos ?

  • Por exemplo a IBM hoje tem a linha Rational, com vários produtos desenvolvidos em Java. Antes, muitas empresas não pensariam em outra linguagem a não ser o C/C++ para desenvolver produtos, no caso ferramentas que auxiliam o desenvolvimento de software.
  • A IBM tem produtos na linha WebSphere, como WebSpehre Application Server, Websphere Message Queue, WebSphere Broker, WebSphere ESB onde Java C/C++ trabalham de forma muito bem integradas dentro desses produtos.
  • A Oracle junto com o seu Banco de Dados, empacota várias aplicações escritas em Java, assim como a IBM junto com o seu DB2. Ou seja, existem hoje realmente produtos escritos em Java.

Citei apenas alguns para vocês terem ideias. Nesse quase 10 anos que venho trabalhando e estudados Java, Java se tornou a linguagem escolhida para muitos produtos, softwares, aplicações etc.

Mas agora as pessoas perguntam, será que Java é bom para tudo ?

Será que para eu desenvolver um Sistema rápido não seria melhor usar PHP, Python, Ruby, ou Groovy ?

Assim como no passado o mercado disse, não precisamos de uma linguagem tão complexa ou poderosas para desenvolver aplicações comerciais, embora eles tivesse o C/C++ muitas aplicações eram desenvolvido em Visual Basic e Delphi. Hoje o mercado faz a mesma coisas, será que precisamos desenvolver tudo em Java, será que para determinado projeto não seria melhor PHP, Ruby, Groovy e Python ?

Então o que acontece hoje não é que Java está perdendo seu espaço. Os desenvolvedores e os tomadores de decisões estão apenas perguntando, será que isso realmente precisa ser feito em Java, ou eu posso escolher outras linguagem mais simples !
Trabalho com Java a muito tempo, e até alguns anos atrás só havia estudados C/C++ além do Java. Hoje tenho estudado e ficado em alerta em PHP, Ruby, Python e Groovy. Porque ?

Quando preciso argumentar em um projeto, sobre as vantagens de cada linguagem, preciso ter um ótimo embasamento técnico para argumentar qual a melhor solução para aquele determinado cliente. Falar que linguagem X é bom, porque eu gosto não é o melhor argumento.

Outra coisa, estudar outras linguagem não me fez gostar menos do Java. Aprender outras linguagens me fez abrir a cabeça e entender que para cada solução eu posso ter um linguagem para resolver o meu problema.

É por isso que empresas como a Sun, está investindo pesado em para portar linguagem para a JVM (assim como a microsoft faz com o seu CLR), veja o caso do Ruby como o JRuby, Python com o Jython, e o Grovy. A Sun não está abandonando o Java, eles só querem ter um número maioria de linguagens na JVM, conseqüentemente Java poderá se interagir com várias delas.

A própria IBM no Projecto Zero, usa bastante em PHP e Groovy.

Na semana passada a Sun contratou 2 desenvolvedores chave do Python e Jython, mas um indicio que termos mais uma boa alternativa de linguagem dentro da JVM.

Kleber Rodrigo de Carvalho

Aplicativos com Interface Gráfica

Cada dia mais eu tenho usado o linux (Ubuntu). Não tenho preferência entre KDE ou Gnome, por isso tenho instalados os 2 desktops environment ou com alguns também falam desktops manager. Antes eu usava bem mais o KDE , mas agora uso mais o Gnome, ou seja tudo depende da época. Como gosto de linguagens de programação open source, e sempre programei em Java, tenho também estudado ultimamente Ruby, Groovy e também C/C++. Investigando um pouco sobre desenvolvimento Linux especificamente sempre encontro 2 requisitos quando alguém está contratando alguém para trabalhar com desenvolvimento Linux especificamente, são eles o GTK and QT. Mais precisamente quando se fala em GTK se pensa em Gnome, quando se fala em QT se pensa em KDE.

Bom para mim, sempre que precisei desenvolver algum aplicativo com interface gráfica, usei o Swing do Java. Que é um graphical widget toolkit para Java, parte da Java Foundation Classes (JFC), uma aAPI para desenvolver graphical user interface (GUI) usando Java. Não me fale, que Swing é lento, porque isso já aconteceu em um passado de 5 anos atrás. Hoje Swing sim é uma opção para se desenvolver (GUI) usando Java. Tem grandes cases como o NetBeans, o SquirrelSQL, JEdit citando alguns aplicativos que uso no meu dia a dia.

Tenho também outro toolkit para desenvolver aplicações gráficas chamado SWT. Standard Widget Toolkit (SWT) também é um widget toolkit para Java, originalmente desenvolvido pela IBM e agora mantido pela Eclipse Foundation. SWT é escrito em Java, mas para mostrar elementos GUI, acessa bibliotecas GUI nativas dos sistema operacional usando JNI (Java Native Interface), de uma maneira similar sobre aqueles programas escritos usando uma API especifica dos sistema operacional. Programas que usam SWT são portavéis, mas a implementação do toolkit, apesar do fato de ser escrita em Java, é unica em casa plataforma. Exite grandes apliativos desenvolvidos usando SWT, é todas as ferramentas que se baseiam nele como RAD, RSA, RDA (todas da IBM), tem também o Azureus BitTorrent para citar um bom exemplo de aplicação open source.

Bom pessoal, neste artigo escrevi sobre os graphical widget toolkit que conheço Swing and SWT, pois sou do mundo Java.

Prometo escrever nós próximos artigos sobre o GTK e QT.

Enquanto isso, fica aqui 2 links interessantes:

List of widget toolkits

Graphical user interface builder

Kleber Rodrigo de Carvalho

Servidores de Aplicação JEE

Eu estava fazendo uma busca por market share relacionado ao servidores de aplicação JEE. Não encontrei nada realmente conciso, mas posso dizer que o WebSphere AS e o Weblogic AS devam estar entre os lideres. Cheguei até a encontrar algo no google dizendo que nos Estados Unidos o WebLogic AS já teria passado a frente do WebSphere AS.

Vou colocar abaixo os application server que considero importante no Java Enterprise:

Se você quer saber sobre compatibilidade com qual versão do JEE, aconselho você seguir esses links:

Kleber Rodrigo de Carvalho

O Geronimo está com os dias contados?

Eu já publiquei um post Cadê o WebSphere Application Server certificado em JEE 5.0

O artigo publicodo no TSS, Joseph Ottinger diz que em uma conversar com um anônimo que tem acompado o desenvolvimento de Geronimo application server, diz que os Geronimo AS está com os dias contados, e uma razão oferecida para isso seria o patrocínio da IBM, que possui várias committers no guadro de funcionários.

Um interessante aspecto é que o Geronimo AS é muito parecido com o Eclipse (na forma que foi concebido), e ele afirma que a inovação no Geronimo AS está sendo conduzida por 2 aspectos: aparentemente a IBM não quer investir na arquitetura do Geronimo AS e o outro aspecto é que a IBM quer proteger sua marca WebSphere AS.

Geronimo AS também conhecido com WebSphere Community Edition (WASCE), estava melhor do que sua versão paga e a IBM percebeu que o rendimento das lincença do WebSphere AS poderia secar completamente. Portando quando o Geronimo AS passou no teste de compatibilidade do JEE 5.0 em Maio de 2007, recursos que estava trabalhando no Geronimo AS foram alocados para trabalhar no WebSphere AS, enquanto competidores com o GlassFish AS conquista mercado a cada dia e outros competidores aumentam seus portifolios de projetos sem se preocupar com a compatibilidade com JEE (aqui ele está falando sobre o JBoss AS).

Como resultado o Geronimo AS está sendo agredido no bom e no mal, nos dois sentidos, a boa arquitetura foi declinada por causa da competição com o WAS 5.x e WAS 6.0 e o aumento do portifolio de produto foi focado no WAS 5.x e WAS 6.0 e em competidores externos.

Eu parei por aqui e recomendo a leitura completa do artigo, principalmente dos comentários.

Mas temos que levar algumas coisa junto com esse artigo. O WebSphere AS é líder de mercado até onde eu sei, não chego aqui no mérito se ele é o melhor AS JEE do mercado. o GlassFish AS para mim está se tornando cada dia mais um produto de alta visibilidade, embora isso não se reflita no Marketing share do application server da Sun o Sun Java System Application Server Platform, mas é claro que a Sun ganha muito com o GlassFish AS , principalmente tecnologicamente. É importante lembrar também que o JBoss AS ainda não é certificado JEE 5.0 assim com o WebSphere AS, então eles os executivos, mas do que nós devemos sabem se isso traz receita ou não.

Kleber Rodrigo de Carvalho

A importância do inglês

Quando ministrei uma palestra na FATEC SP, falei várias vezes sobre a importância do inglês. As vezes falo tanto nisso, que pareço até chato, de tanto que enfatizo a importância do inglês.

Comecei a estudar inglês em 1997, no mesmo ano que entrei na faculdade. De 1997 para cá, parei alguns meses de estudar, mas sempre que posso, volto. Acho que já devo ter estudado uns 6 anos, em cursos regulares de inglês, desde minha primeira escola em Sorocaba a PBF, onde fiquei 3 anos. Depois disso voltei a estudar em São Paulo na escola de línguas Milleniun, onde tive excelentes professores, como o professor César Sóos, e professores extrangeiros Paive Tiura (Finlândia) , Ana Lindqvisq e Hellena Mellander (ambas da Suécia).

Nessa época já estudava espanhol, pois achava que meu inglês já estava ótimo, pois já estava no Advanced English Course.

Em abril de 2005 participei do primeiro projeto internacional. Este foi o primeiro projeto onde a língua oficial foi o inglês, somente inglês embora haviam alguns brasileiro no mesmo projeto. Foi nessa hora que percebi que meio inglês não era bom ainda (como eu gostaria), ou seja eu não era fluente como eu quero ser. Depois disso, se passaram 5 projetos, contando com o que estou atualmente, somente projetos internacionais desde lá.

Hoje sou o unico brasileiro do meu time, ou seja, é inglês o dia interno. Na verdade até gosto de ser o unico brasileiro do time, porque isso me vez ver o quanto eu precisa melhor o meu inglês. Sim, eu sou exigente comigo mesmo, quero falar inglês como um Native Speaker. Até já pensei em estudar outro idioma, cheguei a pensar no Francês (já que estou bem encaminhado no espanhol), mas minha vontade de falar inglês como um Native Speaker me fez adiar esse plano. Minha namorada até pega no meu pé, dize que eu não precisava de tento, mas “Eu quero”.
Quando tenho meeting e meus Project Manager ambos americanos nativos falam, o inglês deles soa com musica para meus ouvidos. Acho lindo ! Já escutei alguns brasileiros que quando falam inglês, parecem Americanos falando, e é nesse nível que quero chegar.

Sonho quando chegar no nível em que quando estiver falam com um Americano, eles nem percebam que eu sou um extrangeiro.

Gracas a empresa que atualmente trabalho, já tive a oportunidade de ir 3 vezes nos Estados Unidos. Fui uma vez para Austin no Texas e duas para Richmond na Virginia. Na primeira vez fui para a IBM Research, pois trabalhava em um projeto para a IBM Estados Unidos.

Na segunda e terceira viagem fui para um cliente em Richmond. Essas viagens me deram a oportunidade de fazer uma imersão em inglês, o que para mim não tem preço.

Hoje meu inglês é bom, atualmente curso o Advanced Conversation Course no CNA, e vejo que estou a caminho do meu objetivo.

Também me forço a ler livro em inglês e assistir bastante programa de TV em inglês (as vezes com legenda em inglês também).

Estou escrevendo esse post, porque encontrei no youtube uma resportagem no Bom dia Brasil, sobre empresas de software que precisam de profissionais com inglês para trabalhar em projetos internacionais.

Veja o video CPM Braxis é manchete no telejornal Bom Dia Brasil

Entre no site da CPM Braxis para saber um pouco mais da sobre a empresa.

No mercado financeiro tem um ditado que diz, quando os jornais e revistas ( a imprensa em geral), começa a divulgar ou emitir os bons resultados de alguns papeis (investimento em geral) com bons desempenhos, os analistas dizem, fuja desse papeis pois já estão no limite da valorização.

Mas o que dizem quando programas de TV ( no caso do Bom dia Brasil), divulgam reportagem dizendo sobre a falta de profissionais com o inglês ?

Significa que eles estão desesperados atrás desse tipo de profissional. Por isso para de discutir em foruns se Inglês fluente em vagas de TI, necessidade ou exagero ?, aconselho você a aprender inglês já.

Kleber Rodrigo de Carvalho

Porque o Java é importante para a IBM

Na semana passada fiz uma apresentação na FATEC em São Paulo, na terça feira dia 02 de Outubro. O tema da minha apresentação foi Porque o Java é importante para a IBM, dentro do 9 Congresso de Tecnologia.

  • A IBM
  • A demanda por profissionais qualificados
  • Porque o Java é importante nas universidades e no mercado de trabalho
  • Mercado de trabalho e as linguagens de Programação
  • O profissional que o mercado procura
  • As oportunidades
  • Como os universitários podem se preparar para o mercado de trabalho
  • IBM Academic Initiative

O objetivo da minha apresentação foi mostrar para estudantes de graduação e pos graduação que tipo de profissional o mercado de TI está procurando hoje, e como eles podem desde já se preparar para este mercado. Também apresentei o IBM Academic Initiative, que é um programa que se aproxima estudantes da IBM (Colégios Técnicos e Universidade).

Estou recebendo alguns e-mails dos estudantes da FATEC sobre vários temas discutidos na apresentação. Fiquem a vontade para comentar aqui também sobre suas dúvidas.

Estou disponibilizando o download da apresentação aqui.

Quero agradecer aqui as pessoas que conversei na FATEC, aos alunos que se interessaram pelo assunto. Também gostaria de agradecer a Macia Ito e Célia Rabelo entre outros professores que conversei quando estive lá.

Deixo aqui o meu muito obrigado a todos.

Kleber Rodrigo de Carvalho