Desenvolvimento - Java

Titulo: "JCP e assim caminha a tecnologia Java...."

O Java Community Process tem o objetivo de desenvolver e rever as especificações da tecnologia Java, rompendo os limites do que poderia ser apenas mais uma linguagem proprietária...

por Eric C M Oliveira



O Java Community Process tem o objetivo de desenvolver e rever as especificações da tecnologia Java, rompendo os limites do que poderia ser apenas mais uma linguagem proprietária.

A plataforma Java tem sua marca de patente de propriedade da Sun Microsystems, mas mesmo assim, é dita aberta, não proprietária e beira os limites do software livre. Sendo definida por uma única empresa, a tecnologia Java seria mais uma tecnologia de desenvolvimento proprietária, criada, definida e modificada por apenas esta única empresa.

Para que Java não caia nesse mesmo buraco negro, existe a JCP (Java Community Process), um processo aberto e participativo com o objetivo de definir e manter todos os padrões Java.

Esse processo teve início em meados da década de 90 ainda de maneira informal. Após as versões iniciais do Java e da disponibilização do código fonte da JVM (Java Virtual Machine), através das listas de discussões , nasceu a comunidade Java em si e a idéia de que ela poderia participar da evolução da tecnologia.

O processo foi formalizado, recebeu o nome de Java Community Process, e tornou-se sólido e confiável. Todas as tecnologias referentes a padrões Java, de servidores J2EE, passando por servlets, portlets, EJBs, JavaServer Faces, até chegar ao mundo dos pequenos dispositivos J2ME, são definidos, mantidos e evoluídos através do JCP.

No JCP, qualquer desenvolvedor do mundo tem a possibilidade e meios de participar de maneira ativa do processo. A participação individual é gratuita. Já para empresas ou entidades educacionais, há taxas anuais. Em ambos os casos é necessário assinar um documento, chamado JSPA (Java Specification Participation Agreement), que rege as funções e obrigações de um membro do JCP, além de questões referentes a confidenciabilidade e de direitos autorais.

Ao tratar de padrões Java no JCP, estamos nos referindo a desenvolver e revisar as especificações Java, além de implementações de referência e kits de compatibilidade. É comum a confusão sobre conceitos de especificação e implementação. O primeiro diz O QUE deve ser feito. Por exemplo, existe a especificação para um servidor J2EE. Por outro lado, cada fabricante fornece sua própria implementação de um servidor deste tipo, com preços variados e funções mínimas exigidas.

Essa separação gera um mercado onde não há domínio de tecnologia, dando assim a liberdade de escolha para o consumidor.

No JCP, o passo incial para a solicitação de uma nova especificação, é denomidada JSR (Java Specification Request). Uma nova JSR pode tratar de uma modificação em uma especificação, de uma nova biblioteca ou de uma nova plataforma nos padrões Java.

Abaixo podemos ver um timeline de uma JSR. Note que é formada por 4 grandes períodos (Initiation, Early Draft, Public Draft / Final Release e Maintenance).

No site do JCP, estão a disposição a lista de todas as JSRs já apresentadas. Desde especificações "badaladas", como a JSR-112 (J2EE Connector Architecture 1.5), além de especificações para as novas versões do Java, como a JSR-270, que trata do futuro Java6, codinome "Mustang". Desse processo, participam desenvolvedores de todo o mundo, ligados ou não a empresas. É a confirmação de que a comunidade Java participa ativamente da evolução da tecnologia. E o Brasil é um dos países com maior número de participantes ativos na JCP.

Referências:

http://jcp.org/en/home/index
http://jcp.org/en/procedures/jcp2
http://jcp.org/en/introduction/timeline

Eric C M Oliveira

Eric C M Oliveira - Bacharel em Ciencia da Computação/FASP e Comunicação/Unesp, tem experiência em desenvolvimento Java nas plataformas J2SE, J2EE e J2ME, além de atividades ligadas a disciplina de testes, engenharia e qualidade de software. Tem certificações Java SCJP 1.3, SCJP 1.4, Rational Test Management, Rational Robot e RUP (Rational Unified Process).