GlassFish after Oracle acquisition

I have heard a lot of people worry about the future of Java, MySQL, Netbeans and GlassFish after that Oracle acquired Sun.

Today I read Adam Bien’s Weblog :

…Oracle GlassFish Server is part of the Oracle Fusion Middleware application grid portfolio and is ideally suited for applications requiring lightweight infrastructure with the most up-to-date implementation of enterprise Java, Java EE 6, and Java Web services. Oracle GlassFish Server complements Oracle WebLogic Server, which is designed to run the broader portfolio of Oracle Fusion Middleware and large-scale enterprise applications…”Read the whole paper.

I admire Sun. They created those awesome products such as Java, Netbean, GlassFish, VirtualBox and son on, however I have to admit that Sun business model wasn’t working.

If you still believe that Sun business model worked, answer me, why did shareholder approve to sale Sun to Oracle?

Do you sell your company or company share if it is still profit?

No, I don’t. I just sell it if I have losses.

I’m not concerned about the future of Java, MySQL, Netbeans and GlassFish, however I make sure that Oracle will change the business model behind of these products.

I advise Oracle to keep up the open source communities that maintain these products so beloved by developers and open source enthusiast; however Oracle need to profit through these products. To keep an open source product alive, they need to spend money.

I advise Oracle to keep up the open source communities that maintain these products so beloved by developers and open source enthusiast

How much does IBM spend to keep Geronimo community active? There are a couple of IBM employees working on this open source project.

How much did Sun spend to keep GlassFish or Netbeans community active? There were a couple of Sun employees working on this open source project too.

How much will Oracle spend to keep GlassFish or Nebeans community push on? There are many Sun-Oracle employees working on this open source project too.

In a successful manner open source projects such as Eclipse, Linux, and so forth survive nowadays, because there are a lot of companies investing money, time, and resources in these products. For instance, a couple of IBM Rational products are based on Eclipse. How many companies release hardware and software products based on Linux?

All those companies that are investing in open source products are interested for some reason on these open source products, I can bet the reason is these open source products are helping their business model.

Open source products are helping their business model.

I think Oracle plans the same to GlassFish. The same that IBM does about Geronimo or WebSphere Application Server Community Edition (based on Geronimo).

The same that Red Hat does about its Red Hat Enterprise Linux and Fedora as well as SUSE pair does on SUSE Linux Enterprise and openSUSE.

I’m not worry about, since now Oracle GlassFish Server is part of the Oracle Fusion Middleware application grid portfolio. As Java developer and Architect I really support that Oracle and IBM offer for purchase their application servers and spread their Java portfolio.

I really want that Oracle to keep up the open source communities that maintain these products so beloved by developers and open source enthusiast, and also improve them (products and communities)

Kleber Rodrigo de Carvalho

Getting started with Java EE and Websphere AS

If you need learning JEE ( Java Enterprise Edition) formerly J2EE with Wesphere Aplication Server, I really recommend the sources below:

Redbook – Experience Java EE! Using WebSphere Application Server Community Edition 2.1
This redbook is a hands-on guide to developing a comprehensive Java™ EE application
using WebSphere® Application Server Community Edition v2.1 (WASCE).
I recommend it who is interesting in developing JEE aplication.
It’s important to know that WebSphere® Application Server Community Edition v2.1 (WASCE) is basead on Apache Geronimo AS.

Redbook – WebSphere Application Server Community Edition 2.0 User Guide
This redbook takes you through the basics of using WebSphere® Application Server Community Edition V2 to run applications.
I recommend it who is interesting in administration of JEE aplication

Redpaper – WebSphere Application Server V7.0: Technical Overview
This redpaper is discussion centers on the runtime server component of WebSphere Application Server.
I recommend it who is interesting in administring JEE aplication, SysAdmin who is interesting in to know the new WAS v.7.

Redbook – WebSphere Application Server V7: Concepts, Planning and Design
This redbook discusses the concepts, planning, and design of WebSphere® Application
Server V7.0 environments. This book is aimed at IT architects and
consultants who want more information for the planning and designing of
application-serving environments, ranging from small to large, and
complex implementations.

IBM Education Assistant – Introduction to WebSphere Application Server V7
This presentation will provide a high-level of WebSphere Application Server V7.

If you wanna add some sources useful to us, leave a comment, please.

Regards,

Kleber Rodrigo de Carvalho

Java and e-commerce

I was looking for an e-commerce solutions based on Java.

First all I searched on google and I found the article on TechNewsWorld regarding Is E-Commerce Ready for Open Source?.

After that I read about KonaKart: Free Java-based online shopping cart on InfoQ. Thefore so far, KonaKart looks like the best e-commerce solution using java platform or the only one.

If you know any other open source Java solution for e-commerce, leave a comment here.

I will be testing KonaKart soon and I’ll sharing my experience here.

Thanks

Kleber Rodrigo de Carvalho

WebSphere Application Server V7 tech podcast

Greg Truty, a Web Services Architect for WebSphere Application Server, previewed a Meet the Experts” live technical chat on new WebSphere Application Server Version 7, that happened Thursday, Oct 16.

Listen the podcast here.

Kleber Rodrigo de Carvalho

WebSphere Application Server V7 Available

The newest version of WebSphere Application Server, version 7.0, is now available.

WAS 7 is certified for Java EE 5, including EJB 3.0 and JAX-WS 2.1, and is built on Java SE V6.

For more information:

Thank you Bobby Woolf

WebWork-Struts 2 In Action

Como mencionei no meu ultimo post, estava fazendo um pesquisa sobre Action vs Component frameworks.

Achei esta interessante apresentação sobre o Struts 2 no infoq. Na verdade, a apresentação é antiga, mas dá um bom overview sobre o Struts 2.

Eu já postei anteriomente, sobre um livro de Struts 2 disponível para download no infoq.

Kleber Rodrigo de Carvalho

Action vs Component frameworks

Hoje eu estava falando disso com os meu colegas de trabalho:

Java Web Frameworks

Action Frameworks

  • URL binding
  • WebWork, Struts Action, RIFE, Stripes, Spring MVC, VRaptor, Struts 2, WebWork, Grails/GSP, Play etc

Component Frameworks

  • Event binding
  • JSF, Tapestry, Shale, Seam, Wicket, GWT wtc

Encontrei dois posts em blogs que ajudar a entender a diferença entre Action e Component Frameworks.

Eu alguns lugares eles chaman Action ou Request basead framework.

O primeiro é o Component-Based vs. Action-Based Web Frameworks escrito no Jonathan Lehr’s Weblog.

O segundo é o Action Framework Future is Component Framework, SpringMVC and S2, are they dead end? escrito no Frans Thamura’s Weblog.

O terceiro é o Java Component based vs Request based frameworks

O quarto é Difference between Action Framework and Component Framework in Java

Encontrei também essa discussão interessante no Tectura

Kleber Rodrigo de Carvalho

Como se tornar um programador Java

Pessoal

Enquanto existem pessoas preocupadas com o fim do Java, existem outras querendo aprender Java.

Baseado no artigo que li há muito tempo atrás, sobre Quer ser um desenvolvedor Java, decidi aqui fazer uma receita mais atualizada para as pessoas se tornarem um programador Java. No artigo Quer ser um desenvolvedor Java o Hildebrando Furlan Neto fala sobre o item 1 – Faça uma faculdade de tecnologia, então aqui não quero discutir se você já trabalha com alguma linguagem de programação ou tem experiência com desenvolvimento de software, mas é importante o item 1 mencionado pelo Hildebrando. Quando eu iniciei meu curso técnico em processamento de dados em 1994, investi muito em lógica de programação, é isso me ajudou muito a aprender a linguagem C na época, quando entre na universidade as coisas realmente ficaram mais fáceis.

1. Lógica de Programação

Sendo assim recomendo fortemente para aqueles que nunca programaram, estudar essa seqüencia:

  • Lógica de Programação

Entender lógica de programação é muito importante. Neste caso não recomendo nenhum livro ou tutorial especifico, se concentre em procurar isso na Google, existem sempre ótimos tutoriais e livros disponíveis, tanto em inglês como em português. Recomendo livros e tutoriais bem recomendados, se for comprar livros, veja as recomendações dele, se for baixar alguns tutorial na internet, veja o que as pessoas acham dele. Numa rápida pesquisa aqui achei vários.

Encontrei o Curso Básico de Lógica de Programação, que parece ser um ótimo guia para lógica de programação.

2. Paradigma de linguagem de programação

  • Programação estrutura e Programação orientada a objetos

Entender esses 2 paradigmas de programação é muito importante. Hoje quando se compra um livro sobre Java, alguns abordam o mesmo assunto, tipo aprender Orientação a Objetos com Java junto. Como a minha primeira linguagem de programação foi o C, eu aprendi junto com o C o paradigma de programação estruturada. Sendo assim, se você quer se tornar um desenvolvedor Java, se concentre em programação orientado a objeto.

Abaixo as links do wikipedia em português:

Linguagem de programação
Programação estruturada
Linguagem orientada a objetos

Abaixo links do wikipedia em inglês, que parecer estar mais completo:

Programming language
Structured programming
Object-oriented programming

Bom, neste momento você tem tudo para poder investir em uma linguagem de programação, no caso o Java.

3. Java e OO

E importante você se concentrar em aprender Java, neste momento, embora haja uma forte demanda para que você pule os passos indo direto para JSP e Servlets.

Antes de você iniciar no mundo Java na Web, e imprescindível você conhecer muito bem a linguagem Java.

Então agora eu recomendo alguns livros para você, sobre Java:

Java: Como Programar da Deitel, que está na sexta edição em português, parece que domina o mercado nessa área de Java e OO para iniciar. Mas você pode escolher um livro sobre Java da sua preferência, mas pelo que tenho conversado com vários alunos, os profissionais sempre recomendam este livro. É muito importante, você sempre ao adquirir um livro ver a recomendação do livro, e também ver se o livro está desatualizado ou não. A ultima versão do Java How to Program (7th Edition), para quem quiser adquirir a versão em inglês.

Eu também recomendo o livro Core Java 2: Fundamentos – vol. 1, quando comecei em Java eu estudei por esses livros, tanto o volume 1 como o volume 2, mas isso foi por volta de 1997, e naquela época usei a versão em inglês mesmo. Em português eu encontrei apenas o Core Java Fundamentos Volume 1, que hoje se encontra na sétima edição, o original que encontrei na amazon está na oitava edição:

Core Java(TM), Volume I–Fundamentals (8th Edition)
Core Java(TM) 2, Volume II–Advanced Features (8th Edition)

Java em poucas palavras (In A Nutshell), parece ser também uma boa introdução, pelo menos quando pesquise na amazon, encontrei bons comentário deste livro.

Java In A Nutshell, 5th Edition (Paperback)

Um livro que está na moda, e todos falam bem é o Head First Java, 2nd Edition, por isso acho que esse livro vale a pena também pois tem boas indicações e comentários

A Caelum uma empresa de treinamento Java, além de oferecer um curso Java e Orientação a Objetos, oferece uma apostila, que é quase um livro, totalmente em português aqui e grátis, baixe a vontade.

Além disso, temos também na categoria Java e Orientação a Objetos, os cursos Introdução à Programação I e Introdução à Programação II disponibilizados no projeto JEDI, com apostila, apresentação, vídeo aula e exercícios, além de uma estrutura para tirar dúvidas de casa lição.. Ou seja, para você investir nisso, você pode ser inscrever no curso do JEDI, que é uma excelente iniciativa na carreira Java, e também grátis.

Depois do tópico Java e Orientação a Objeto, você pode estudar Estruturas de Dados também, que é recomendável neste momento.

4. Estruturas de Dados

Novamente vou fazer propaganda da Caelum e do JEDI.

A Caelum disponibiliza o curso Algoritmos e Estrutura de Dados em Java, com apostila em português disponível aqui.

O JEDI também disponibiliza um curso de Estruturas de Dados com apostila, apresentação, vídeo aula e exercícios também, que é outra fonte de estuda para estudar sobre Estruturas de Dados grátis também.

Vocês perceberam que avancand0 no estudo de Java, que existem segmentos diferentes para desenvolver Software em Java. Aplicações standalone ou aplicações batch, ou seja programa sem interface gráficas. Esse programas serão feitos por você muitas vezes, quando vocês estiverem aprendendo a linguagem Java, e é claro existem aplicações no mundo real para este tipo de aplicação.

5. Design Pattern

Depois que você já está bem afiado em OO, Java e estrutura de dados chegou a hora de estudar Design Pattern. Perceba que neste momento você deve estudar Java Design Pattern e não JEE Design Pattern.

Para este o estudo de Java Design Pattern eu indico os seguintes livros:

Design Patterns: Elements of Reusable Object-Oriented Software, este livro é o mais famoso na area de design pattern, conhecido pelo time de escritores Gang of four (Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides). O exemplos desse livro estão em C++, mas isso não será um problema para quem já conhece o java. Este mesmo livro tem uma versão em português intitulado com o Padrões de Projeto.

Outro livro muito recomedado para Design Patterns é o Head First Design Patterns.

Temos também o Padrões de Projeto em Java e sua versão em inglês Design Patterns in Java, para quem quer ver os exemplos em códigos Java.

Para quem não quer gastar dinheiro o livro Java Design Patterns , está disponibilizado aqui, para qualquer que queira estudar por ele.

6. AWT/Swing/SWT

AWT/Swing/SWT são APIs para desenvolver programar com interface gráfica em Java. Eu Já falei isso aqui no blog, neste momento vocês estarão aprendendo a construir aplicações no estilo Visual Basic e Delphi. Lembrando que nestes livros sobre Java para iniciante, abordam apenas o tópicos sobre interface gráfica de uma maneira geral. Se você quer se especializar em desenvolver softwares com interfaces gráficas em Java, recomendo comprar um livro somente sobre assunto como AWT, Swing ou SWT.

7. Java na Web

Esse é o assunto alvo para muitos desenvolvedores. Muito estudam tanto para chegar aqui, e finalmente desenvolver aplicações Java para a Web.

Mais é muito inportante neste momento inicial você se concentrarem em 2 tópicos.

7.1 HTML

HTML é a linguagem de marcação de texto que os nossos browser como o Firefox e IE (Internet Explorer) entendem. Tudo o que você visualiza dentro de um browser, foi desenvolvido e escrito usando HTML. Então HTML é essencial neste momento. Se concentre em estudar HTML através de livros com boas recomendações e atualizados.

Já vi muitas pessoas estudando feito desesperado JSP e Servlets API para construir aplicações Web em Java sem a mínima noção do que é HTML, então recomendo fortemente concentrar esforços em HTML antes de ir para JSP e Servlets.

7.2 JSP e Servlets

Finalmente você chegou no momento para desenvolver aplicações Java para Web. Por desespero você não ve a hora de aprender Struts, que é o framework para desenvolvimento Web mais ultilizado do mercado (muitas oportunidades de empregos pedem Struts). Mas antes de partir para o Struts, pense em estudar bem JSP e Servlets.

JSP e Servlets são APIs para desenvolvimento em Java, por exemplo o framework Struts usa muito a API Servlets.

JSP ( Java Server Pages) é a tecnologia de visualização no mundo Java. Podemos comparar inicialmente JSP com PHP. Em Java diferente do PHP, onde só usamos scripts dentro de páginas PHP, podemos fazer a mesma coisa com o JSP, mas devido as recomendações de boas práticas usamos o JSP somente para a camada de visualização do nosso sistema.

Neste momento recomendo você estudar muito JSP e Servlets. Por isso fica a vontade em escolher um bom livro que apenas aborde JSP e servlets.

Eu estudei JSP e Servlets por esses:

Core Servlets and Javaserver Pages: Core Technologies, Vol. 1 (2nd Edition)

Core Servlets and Javaserver Pages: Advanced Technologies, Vol. 2 (2nd Edition)

Core Servlets e Java Server Pages – Vol. 1 existe em português também, por isso também recomendo.

O problema desse livros é que eles são um pouco velho (principalemente as versões em português), e a tecnologia muda muito rápido, por isso eu recomendo o Murach’s Java Servlets and JSP, 2nd Edition, que é novo e parece ser bem interessante também. Achei um interessante discussão sobre esse livro no the server side. No mesmo the server side encontrei um livro grátis, em inglês com o titulo de Servlets and JavaServer Pages: The J2EE Technology Web Tier.

Na próxima parte deste artigo vou escrever o que vem depois de JSP e Servlets.

Last update: March, 18, 2008

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