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

Eclipse and Java: Introducing Persistence

After the series of 16 tutorials is designed to help you started writing Java programs using the Eclipse integrated development environment, I posted Eclipse and Java for total beginners, we have a new series of tutorials.

Eclipse and Java: Introducing Persistence was designed to teach beginning Java programmers how to save Java objects to disk files using XML or object serialization. If you have completed the Total Beginners tutorial or have some basic familiarity with Eclipse and Java, then these series are for you.

Kleber Rodrigo de Carvalho

RubyLearning.com to Relaunch Free Online Lessons

JRuby just released a maintenance release JRuby 1.0.1. This release contains bug fixes. The 1.0.1 release is available for download at the JRuby website.

A plan for JRuby 1.1 was also posted. The release is scheduled to happen before RubyConf in early November. The plan:

– compiler complete
– AOT compilation working with jrubyc
– stdlib all precompiled
– gem install precompilation
– virtual filesystem-inside-JVM (maybe) or hacked rubygems that can run out of an archive
– performance improvement to be quantified…java integration, execution, memory reduction·
– Yarv bytecode execution and compilation (maybe)
– AST sharing as an option (sharing across runtimes)…need to explore AOT compilation and its (positive?) effect on memory too
– real threading brutalization, testably multithread-safe core classes (maybe, needs heavy testing on many-core systems)
– Java API rubification, perhaps with require ‘javax.swing’ and so on·

Note: AOT compilation refers to Ahead Of Time compilation, meaning that Ruby source code can be compiled down to class files. This is in contrast with JIT compilation, which happens at runtime, Just In Time.

AST sharing is supposed to reduce memory usage when multiple JRuby runtimes share a single JVM process. An AST is an Abstract Syntax Tree, a data structure representing the source code, which is used by the interpreter and the various compilers (AOT, JIT).

This news comes from InfoQ.

Kleber Rodrigo de Carvalho

Arquitetura do eBay

Dan Pritchett oferece a nós um idéia das decisões por trás do ebay (a maior arquitetura em grande escala do mundo, que vai além do eBay.com ou PayPal.com ou o Skype). Ele explica como uma escala do eBay torna um simples requerimento, em um complexo problema de engenharia, e ele nós envolve através da desafios técnicos e organizacional do gerenciamento da arquitetura do eBay.

Dan Pritchett é atualmente um membro da equipe do eBay e está envolvido em resolver os maiores desafios relacionado a problemas de engenharia encontrado na web. Sua carreria de engenharia ultrapassa 25 anos, incluindo pesquisa em banco de dados relacionais, projeto de software para mapa geográfico, construção de produtos relacionados a e-mail, e criação de aplicações web escalavéis.

Assista esse video no InfoQ, que realmente vale a pena.

Kleber Rodrigo de Carvalho

Apache Geronimo 2.0: Certified Java EE 5 compatible

Apache Geronimo, an open-source Java Enterprise Edition (Java EE) application server, recently released version 2.0.1. InfoQ took the opportunity to learn more about Apache Geronimo and where it fits into the application server space.

Apache Geronimo 2.0.1 is the first Java EE 5 compatible version of Geronimo, and the eighth Java application server to be certified as Java EE 5 compliant. Despite the version number, version 2.0.1 is the first release of the 2.x code branch – the 2.0 release was cancelled when a critical security problem was discovered. This version of Geronimo brings several major changes from the previous release:

  • EJB 3.0 supportApache OpenEJB and Apache OpenJPA are integrated into Geronimo
  • JAX-WS support – Both the Apache Axis2 and Apache CXF (formerly CeltiXFire) web services libraries are integrated into Geronimo, and which library is used is configurable
  • Two Java EE 5 certified configurations – Geronimo is Java EE 5 certified with both Apache Tomcat and Jetty as the configured web container
  • Lightweight configuration – Geronimo has a ‘Little G’ configuration which provides a web container and some Java EE components without the full overhead of a Java EE application server

Matt Hogstrom, chairman of the Apache Geronimo Project Management Committee, recently discussed the apparent low adoption rate of Geronimo, saying:

I think one of the issues we faced as a project is that we came to the J2EE game too late. You already had WebSphere and WebLogic dominating the commercial space and really JBoss was the only real dominant open source player. Geronimo came in to an already saturated market so getting people to run over to simply change was difficult.

Today we’re certified Java EE 5.0 before some commercial application servers as well as other open source servers. At this point I think we’re in on the beginning rather than coming late to the game. Its not going to be easy as people are comfortable with their app server choices from before but Geronimo is coming to the table early and has a good opportunity.

There are also questions about the future plans for Geronimo, including whether Geronimo will adopt the OSGi standard. Hogstrom said that migrating from Geronimo’s GBeans architecture poses some difficulties due to structural differences between it and OSGi, but that it was being discussed now that JSR 291 (the OSGi JSR) has been finalized.

This news comes from InfoQ.

Kleber Rodrigo de Carvalho

Developing skills for the SOA world

You want to learn about SOA, but you don’t know where you start from.

There are many books about SOA, but you don’t know what you should choose.

There are courses, events and conferences, but you really don’t know if these are useful to you.

You are hesitant about SOA, are you ?

So you should read the Comment lines: Rachel Reinitz: Developing skills for the SOA world — an expert who’s been there tells all on developerWorks.

The scope of Service Oriented Architecture can be intimidating to anyone trying to develop SOA skills. But simply knowing your role, and understanding the breadth, depth, and experience you need to have can get you well on your way to mapping out your success with SOA.

Kleber Rodrigo de Cavalho

Eclipse and Java for total beginners

This free video screencam tutorial will help get you started writing Java programs using Eclipse version 3.3.

No prior experience with Eclipse or Java is assumed. The 16 lessons total about 3 1/4 hours and are each between 9 and 14 minutes long. The lessons guide you through a step-by-step process creating a simple personal lending library application. Each lesson is fully narrated.

All of the code for the lessons is typed in real time.

This allows the demonstration of many Eclipse Java editor features that speed up coding. Code snapshots as of the end of each lesson are provided in the Tutorial Companion Guide. These allow you to jump in at any lesson and to make sure your code matches the sample code.

Test-driven development is used throughout the lessons, using the JUnit testing facility in Eclipse. The lessons are designed for you to work side-by-side, pausing and rewinding the video as needed.

Click here to view Lesson 1.
Click here to download any of the lessons. Be sure to download the Tutorial Companion Guide(PDF format).

The tutorials use Eclipse version 3.3 (Europa), released June 2007.

Kleber Rodrigo de Carvalho

Top five problems in IT business: Rational VP

Nick Gibson from Builder AU talked to Hayden Lindsay, IBM Rational’s vice president of enterprise tools and compilers about enterprise modernization. He identified five key factors that are inhibiting business responsiveness.

Lindsay is an IBM distinguished engineer, having held positions at the software giant for over 20 years. He’s worked variously as product manager for VisualAge Generator, co-leader of the Eclipse platform development team and director of WebSphere studio and Rational modelling tools departments. He is also a developer and researcher, contributing 14 patents to IBM’s portfolio. He told Builder AU that when it comes to managing responsiveness in IT, there are five key factors you need to examine.

The five factors are:

1. Asset Management
2. Architecture
3. Skills Modernization
4. Team Infrastructure
5. Budgetary Inflexibility

You can read the complete article on Builder AU.

Kleber Rodrigo de Carvalho

Struts 2.0.8 GA release available

A apache liberou a versão 2.0.8 GA (General Availability) do conhecido framework struts.
O apache struts 2 é um elegante, extensível framework para criar aplicações web java mais rápidas ( ou seja, sem ficar “inventando a roda”). O framework é projetado para simplificar o desenvolvimento de forma completa, desde do build até o deploy e também na manutenção de aplicações.

Mas o Struts 2 não usa nada do nosso velho conhecido Struts 1, pois a versão 2 é baseado no WebWork 2, ou seja o struts 2 nada mais é que a continuação do WebWork 2. O Struts 2 só tem nome de Struts (por que o pessoal aproveito o fama do struts, enquanto WebWork já era um framework muito bom, mas ainda não tinha caido no gosto dos developers popularmente. Assim depois dos trabalhos independentes por anos, a comunidade WebWork e Struts se juntaram para criar o Struts 2.

Mas se você tem pressa em aprender, e não quer ficar pulando de tutorial a tutorial, a infoq disponibilizou o Starting Struts 2. Esse minibook cobre diversos aspectos sobre o struts 2 e merece ser lido.

Kleber Rodrigo de Carvalho