terça-feira, 5 de abril de 2011

Faltam profissionais em TI

O mercado de tecnologia da informação está sedento por profissionais. De acordo com o diretor de educação e RH da Brasscom (Associação Brasileira de Empresas de Tecnologia da Informação e Comunicação), Sérgio Sgobbi, o mercado apresenta um déficit de 100 mil postos atualmente. Isso quer dizer que, em todo o Brasil, existem 100 mil cadeiras a espera de pessoas em várias vertentes de TI.

Quer garantir o seu lugar nessa área tão promissora e com salários tão atrativos? Então assista ao vídeo e veja como você pode encontrar trabalho no setor e mantê-lo.

http://jcconcursos.uol.com.br/vip/VideosDetalhe.aspx?codVideo=nKIecCtbCK4=

sexta-feira, 1 de abril de 2011

Regulamentação da Profissão de Analista de Sistemas

Abaixo-assinado Pela Regulamentação da Profissão de Analista de Sistemas e Correlatas

Para:Congresso Nacional do Brasil

A aprovação de uma lei que regulamenta a profissão de Analista de Sistemas e correlatas já é tardia. Já são quatro anos nas comissões do Senado e o caminho até a aprovação final parece ainda ser longo pela falta de participação ativa dos próprios profissionais de informática. O projeto de lei que trata dessa regulamentação – o PLS 607/07 – está atualmente na CAS (Comissão de Assuntos Sociais) do Senado. Esse projeto de lei é apenas uma semente que precisa germinar e, para isso, precisamos intensificar a nossa participação. Então, este é o momento decisivo para os profissionais de informática contribuírem para a regulamentação da sua própria profissão, pressionando o Congresso Nacional a votar pela aprovação desta proposta. Depois de passada esta oportunidade, não adianta reclamar da situação de despersonalização e exploração profissional e das más condições de trabalho enfrentadas diariamente.

As profissões de Analistas de Sistemas e correlatas estão hoje entre as mais desrespeitadas e exploradas do Brasil. Entre outros motivos, isto acontece porque ainda não existe consciência de classe, organização ou disciplina da profissão. A maioria dos profissionais, preocupados apenas com a sua sobrevivência, ainda espera, passivamente, que a situação melhore de maneira milagrosa, nada fazendo concretamente para que esta melhora ocorra. Agindo dessa forma, a categoria fica submetida às influências daqueles que têm grande interesse na desorganização da profissão.

Existe muito lobby no Congresso por parte das empresas que terceirizam os nossos serviços contra a aprovação desta lei. Claro que não é do interesse desses atravessadores egoístas de mão de obra que tenhamos uma classe organizada, que lutemos por melhores condições de qualidade de trabalho. Somos desvalorizados e tratados como profissionais de segunda categoria por esses “empresários”, por ainda não sermos uma Classe unida, e não termos qualquer tipo de amparo institucional; somos forçados a trabalhar com salários indignos, apesar de nossa alta qualificação e grande responsabilidade; somos forçados a trabalhar com profissionais de outras categorias, sem a menor formação em informática, em nome do grande lucro em curto prazo para esses “empresários”. Os profissionais e os clientes perdem muito com isto, apenas os “empresários” gananciosos ganham. Obrigam-nos a pertencer a falsas cooperativas e a abrir falsas empresas, para que os direitos trabalhistas não sejam pagos e os impostos sejam sonegados. Obrigam-nos a trabalhar três turnos, finais de semana, sem recebermos nada em troca. Sofremos de graves problemas de saúde do trabalho pelas condições a que somos forçados. Quem não se sujeita a isto perde o emprego pois qualquer um pode assumir o seu lugar para estes “empresários”. E hoje é assim mesmo, qualquer um pode ser Analista de Sistemas para grande parte das empresas terceirizadoras. O prejuízo humano e financeiro é incalculável para a sociedade e poucos ainda possuem esta consciência. A nossa profissão está hoje, em grande parte, na ilegalidade, nas mãos de empresários exploradores, que não possuem compromisso com o bem social e não entendem de informática. Nossa atividade está nas mãos de falsos “sindicatos”, criados pelas próprias empresas terceirizadoras, e está até sob o domínio de muitos criminosos do processo licitatório, que nos obrigam a trabalhar, muitas vezes, sob condições desumanas e antiéticas.

Precisamos ter consciência de que somos uma força de trabalho humano imprescindível para o desenvolvimento social e econômico. Porém, estamos nas mãos de exploradores, que nos rebaixam, subestimam e minimizam, e, para justificar a exploração, afirmam com a grande falácia de que nossa atividade é apenas uma área “meio”. Deste modo nos tratam pior do que nossos irmãos terceirizados pelas empresas que exploram os serviços de limpeza. Do que vale nosso constante investimento em estudos e atualizações? Apenas para nos mantermos no “mercado” que estes empresários que burlam as leis trabalhistas e os políticos corruptos criam?

É chegada a hora de sermos maduros, competentes e usarmos nossa inteligência de fato. Precisamos ter mais consciência de Classe, mais união e participação para moralizarmos esta profissão – como fazem outras categorias como Engenheiros, Médicos, Enfermeiros, Nutricionistas, Jornalistas, Empregados Domésticos, Artistas, Advogados, atletas de futebol, Contadores, Corretores de imóveis, Administradores, Economistas, Aeronautas e outras 60 profissões já regulamentadas. Após mais de cinco décadas de processo de informatização da sociedade, ainda não existe nenhuma regulamentação profissional para profissionais de informática no Brasil. Será que a sociedade sabe que existimos? A sociedade tem a mínima idéia do papel que desempenhamos e das grandes responsabilidades que assumimos? O que – ou quem – nos faz invisíveis? Somos menos importantes para a sociedade do que essas outras profissões? A atividade é menos complexa, exige menos capacidade e estudo do que essas outras profissões? Ou será que pode ser ao contrário e por isto mesmo estamos nesta situação? O que ainda estamos esperando e qual a nossa parte de responsabilidade neste contexto?

É chegado o momento da sociedade saber do nosso trabalho. Precisamos do devido e merecido reconhecimento e respeito profissional por parte da sociedade e isto só pode vir com a regulamentação da profissão de Analista de Sistemas e correlatas. Com o respeito social poderemos trabalhar com mais dignidade, qualidade, segurança e responsabilidade. Não seremos apenas mais um número na conta dos http://www.blogger.com/img/blank.gifexploradores do nosso conhecimento, seremos uma Classe atuante, longe dos sanguessugas e criminosos de hoje, que poderá muito ajudar ao Brasil a se desenvolver corretamente. Precisamos da sua ajuda para podermos regulamentar a profissão de Analista de Sistemas e correlatas e melhorar as nossas condições de trabalho e de vida, para esta e para as futuras gerações de profissionais de informática.

Contribua assinando esta petição pública, cujas assinaturas serão enviadas ao congresso nacional (Senado e Câmara dos Deputados). Ajude a sua profissão!


Os signatários

Assinem este importante Abaixo-Assinado

quinta-feira, 23 de dezembro de 2010

Criando primeiro Programa com o Eclipse

Neste post, trabalharemos com a IDE Eclipse. O Eclipse é um software popular, poderoso e gratuito. Assumimos que o Eclipse, assim como o ambiente Java, já estão devidamente instalados.


Figura 1

A Figura1 apresenta um screenshot do Eclipse. Para chegar a essa tela da Figura1 , abra o Eclipse. Primeiro, ele perguntará que workspace você quererá usar, como pode ser visto na
Figura 2.

Figura2

Workspace é o diretório onde se cria e trabalha em projetos. Se você não tem nenhuma razão para mudar o padrão, apenas clique em Ok. Feito isso, aparecerá a tela da Figura3.



Figura3

Esta tela aparece todas as vezes que se abre um workspace novo; para ir ao ambiente de trabalho, clique no ícone do canto superior direito, com o rótulo Workbench.
É possível usar vários workspaces com uma mesma instalação do Eclipse. Muitos programadores costumam manter vários workspaces, com projetos relacionados em cada um. Por exemplo, se o desenvolvedor trabalha como freelancer para várias empresas, pode ter um projeto para cada uma; se o desenvolvedor também é estudante, pode manter um projeto para o trabalho e outro para o curso; e assim por diante.

Classes e pacotes no Eclipse


Para criar um programa em Java usando o Eclipse, precisamos primeiro criar um projeto do Eclipse. Um projeto é uma unidade de trabalho genérica, mas podemos assumir nesse tutorial que um projeto é um programa. Para criá-lo quando o Eclipse já estiver apresentando a tela da Figura1, pressione Control + N. Feito isso você verá a janela da Figura4.



Figura4

Nela, selecione a opção Java Project e clique em Next. Na tela que pode ser vista na Figura5, podemos configurar vários detalhes do projeto. Por ora, vamos apenas dar um nome para o projeto. Poderíamos clicar em Next e mudar outras configurações, mas não precisamos disso agora, então clique apenas em Finish. O projeto aparecerá no compartimento do lado esquerdo, na aba Project Explorer.

Figura5

Criado o projeto, podemos criar as classes. Pressione novamente Control + N, escolha a opção Class e clique em Next. A janela da Figura6 aparecerá com várias opções para definição da classe.


Figura6


No campo rotulado Name, digite “PrimeiraClasse”. Um alerta aparecerá dizendo que é recomendável declarar um pacote (package) também; para declará-lo, digite “artigoinicial.primeironome” no campo rotulado Package. Depois clique em Finish.
Pacotes são agrupamentos que podem conter classes e outros pacotes. Cada um é um diretório, e os arquivos de código-fonte das classes - assim como os arquivos compilados - que pertencem a um pacote devem vir dentro do diretório correspondente. Em artigoinicial.primeironome, por exemplo, há dois pacotes: um chamado artigoinicial e outro chamado primeironome, que está dentro do primeiro. Os pacotes são importantes para organizar o código, pois programas podem ter literalmente milhares de classes.
Pacotes também evitam conflitos. É possível usar classes produzidas por outras pessoas e organizações, e alguns nomes são bem comuns, como File, User, List etc. Em Java, toda classe é compilada para um arquivo que tem o mesmo nome - e não seria possível ter dois arquivos com o mesmo nome no mesmo diretório.
Porém, se ponho minha classe File no pacote br.com.minhaempresa.nomedoprojeto e você puser a sua em br.org.suaong.projeto, é possível usar ambas as classes em um mesmo programa.
classe aparecerá no painel do lado direito, como visto na Figura7, e um editor abrirá no centro da tela. Nele, estará o seguinte código:

public class PrimeiraClasse {
}


Esse código define uma classe vazia. Na primeira linha, o pacote da classe é declarado. A palavra public significa que a classe é pública, quaisquer outras classes podem usar serviços que ela proveja.
Já a palavra class define que o que será declarado agora é uma classe; o nome da classe, PrimeiraClasse, deve vir logo após a palavra class.
As chaves que se seguem ({ }) definem o corpo da classe: é entre elas que os atributos e métodos devem ser descritos.
Por fim, é visível na Figura7 que o nome do arquivo em que o código-fonte está é PrimeiraClasse.java. Em Java, é obrigatório que o arquivo tenha o nome da classe principal que ele contém seguido da extensão .java.
Felizmente, todos esses detalhes já foram resolvidos pelo Eclipse.



Figura7


Método main()

Todo programa em Java precisa de uma classe que crie os primeiros objetos e lhes passe as tarefas iniciais. Quem faz isso é um método especial, chamado main(). A forma desse método é a seguinte:

public static void main(String[] args) {
}
A palavra public, aqui, significa que qualquer outra classe pode utilizar esse método. main é o nome do método, e antes do nome deve vir o tipo do valor que ele retornará; como o método main não retorna nada, diz-se que ele retorna void.
Já a palavra static tem um sentido bem especial: significa que o método pode ser invocado mesmo sem ser criado nenhum objeto da classe. Na maioria das vezes, os métodos de uma classe só podem ser chamados por seus objetos, mas um método static escapa dessa restrição.

Note que o programa é iniciado por um método chamado main(), não por uma função, como em C ou C++. Em Java, não existem funções “livres”, apenas métodos.

Após o nome do método deve vir a lista de parâmetros. main() recebe apenas um parâmetro: um vetor (também chamado array) de objetos da classe String, que representa sequências de caracteres. A declaração do parâmetro é o seu tipo seguido do seu nome (no caso, foi chamado de args, mas poderia ser qualquer identificador não reservado). Note que há um par de colchetes ([]) logo à frente da palavra String; os colchetes significam que o parâmetro args não é uma String, mas sim um array de String. Por ora, esse parâmetro pode ser ignorado.
Em C e C++, declara-se que uma variável é um vetor colocando o par de colchetes após o nome da variável, como em char array[]. É possível fazer isso também em Java, mas geralmente é recomendado colocar o par de colchetes após o tipo, pois isso deixaria claro que o tipo da variável não é String, mas sim um vetor.

O parâmetro que o método main() recebe é um array com todos os argumentos que foram passados, pela linha de comando, para o programa Java, de modo semelhante aos parâmetros argc e argv da função main() de C.

Olá, mundo!

Agora que já foi visto como criar uma classe e declarar o método main(), pode-se adicionar o método à classe já criada. Vejamos, por exemplo, como criar o tão famoso “Hello, World”.
Para isto, basta acrescentar, dentro do método main() a seguinte linha:
System.out.println("Olá, mundo!");A classe resultante pode ser vista no codigo abaixo:


public class PrimeiraClasse {

public static void main(String[] args) {
System.out.println("Olá, mundo!");
}

}

Para executá-la, basta clicar no botão Run do Eclipse .
Aparecerá uma aba na parte inferior da janela, chamada Console, e nela haverá uma parte em branco em que estará escrito “Olá, Mundo!”, como pode ser visto na Figura8.
Enfim, acabamos de criar nosso primeiro programa em Java.No começo do artigo foi dito que os programas em Java são compostos por vários objetos; até agora, porém, pode-se ter a impressão de que não só nenhum objeto foi utilizado como apenas uma classe foi usada.Seria um engano: no nosso programa várias classes e objetos foram utilizados.
Para começar, o texto “Olá, Mundo!” foi representado por uma instância de String. (“Instância de X” é sinônimo de “objeto da classe X”.) Este objeto String foi passado como parâmetro para o método println() de um objeto apontado pela variável out.



Figura8

Espero que esse post tenha ajudado a esclareçer as dúvidas de alguns colegas que estão iniciando em Java.

Programação Orientada a Objetos com Java


Como se estruturam os programas em java:

Antigamente, os programas de computador eram escritos como uma série de instruções, como receitas culinárias: dados os “ingredientes” (arquivos no disco, interfaces de rede, memória, ciclos do processador etc.), uma série de passos era seguida. A semelhança era tão notável que várias linguagens de programação exigiam que os “ingredientes” do programa (variáveis, arquivos etc.) fossem reservados antes de se escrever o “modo de preparo”.

Esta abordagem era ineficiente para grandes programas, com muitas de funcionalidades. Para tentar solucionar isso, uma maneira diferente de programar foi proposta: os softwares não seriam mais vistos apenas como instruções alterando recursos, mas sim como vários pedaços, pequenos softwares trabalhando em conjunto para alcançar o objetivo. Os programas não seriam mais pensados como receitas, mas sim como carros e empresas: várias peças, relativamente independentes e fáceis de trocar, exerceriam tarefas complicadas isoladamente, sendo coordenadas de modo que o resultado final fosse uma máquina fácil de dirigir, ou uma organização eficiente. Assim como o operário que põe o motor na carroceria não precijavascript:void(0)sa compreender seu funcionamento interno, e a secretária não precisa saber dos detalhes do setor de marketing, o programador poderia se concentrar em uma parte do programa, sabendo que as outras partes poderiam ser escritas depois, ser feitas por outros programadores ou até mesmo compradas.

O “programa como uma receita” ainda estaria nessas partes (assim como o motor do carro segue uma série de passos, e o funcionário uma série de procedimentos), mas essas “receitas” seriam menores, mais fáceis de entender, alterar e substituir, podendo haver em uma só parte vários “modos de preparo”. O primeiro método é chamado programação estruturada e ainda hoje é usado. Entretanto, o segundo modo se tornou popular e preferido de vários programadores e organizações. É chamado programação orientada a objetos - e é desse modo que se programa em Java.


Objetos e classes

Em Java os programas são escritos em pequenos pedaços separados, chamados de objetos. Objetos são pequenos programas que guardam dentro de si os dados - em suma, as variáveis - que precisam para executar suas tarefas. Os objetos também trazem em si, como sub-rotinas, as instruções para processar esses dados. As variáveis que um objeto guarda são chamadas de atributos, e as suas sub-rotinas são chamadas de métodos. Guarde bem esses nomes, pois você os verá ainda muitas vezes.

Em Java, objetos são criados a partir de modelos que os descrevem. Esses modelos são chamados de classes. É dentro dessas classes que definimos que atributos os objetos conterão e que métodos os objetos fornecerão.


Java e Eclipse

Agora que já sabemos um pouco sobre como se programa em Java, vejamos o que é Java.
Java é uma linguagem de programação orientada a objetos, estática e fortemente tipada. Programas escritos em Java são compilados, como em C e Pascal, mas o resultado da compilação são arquivos que não podem ser executados diretamente pelo computador ou sistema operacional, de modo que precisam também ser interpretados, como em BASIC e Python. Java é compilada porque isso permite encontrar erros antes de executar o programa e facilita executar os programas mais eficientemente, e é interpretada porque isso permite que o mesmo arquivo compilado possa ser executado em qualquer computador ou sistema operacional que tenha um interpretador Java - o que, atualmente, equivale a quase qualquer computador, de smartphones a mainframes.

Linguagem fortemente tipada: São as linguagens em que a declaração do tipo é obrigatória (Fonte: Wikipédia), por exemplo: “String nome;”, onde declaramos que nome é do tipo String.O interpretador Java, além de interpretar as instruções compiladas, também é responsável por retirar da memória objetos que não são mais utilizados.

O algoritmo que executa essa tarefa de “limpeza” é chamado de coletor de lixo, e é um dos grandes atrativos do Java: em linguagens mais tradicionais, como C e C++, o programador é responsável por limpar a memória na mão, o que é uma tarefa tediosa e até perigosa.

Apesar de tudo, Java é uma linguagem relativamente complicada e verborrágica. Exige-se que se digite muito, facilitando que se erre. É preciso compilar os programas para depois rodá-los. As classes que criarão os objetos dos programas devem ficar em hierarquias de diretórios precisamente definidas, tanto na hora da compilação quanto durante a execução.

sábado, 18 de dezembro de 2010

A História da Tecnologia Java Parte 10 (Final)


O aluno tem gratuitamente ao seu dispor manuais, slides de apresentação das aulas, provas, exercícios, material de referência e vídeo-aulas; contando ainda com os softwares, o treinamento de instrutores, o acesso a suporte e a lista de discussão da comunidade.

O Brasília Java Users Group - DFJUG - é responsável pela coordenação do JEDI em países de língua portuguesa.

No Brasil, a comunidade de Grupos de Usuários Java (JUGs) é muito forte e ativa, tendo inclusive ajudado a fundar a comunidade mundial de JUGs.

Ainda neste ponto, o Brasil é um importante fomentador: hoje existem brasileiros com grande atuação em importantes comunidades como a JavaTools, JUGs, JSRs, Apache, JBoss, e muitas outras.

Manoel Pimentel, Editor-Chefe da Revista Visão Ágil: “Passei grande parte dos anos 90 programando em Delphi e Clipper, mas no final da década, com a necessidade de criar soluções web e multiplataforma, passei a apostar em soluções mais abertas como PHP e Java.

Nesse momento, usava a plataforma Java apenas para criar pequenos Applets e muitos Servlets monstruosos (risos).

De lá para cá, acompanhei e apoiei o surgimento de muitas comunidades Java, colaborei com projetos OpenSource e com o time do NetBeans.org, escrevi artigos e fiz muitas palestras sobre Java.

Devido ao meu trabalho de Coaching em Agile, venho me distanciando cada vez mais do uso diário da linguagem, mas continuo estimulando o uso da plataforma Java e torcendo pelo sucesso de toda a comunidade construída em torno dela.”

sexta-feira, 17 de dezembro de 2010

A História da Tecnologia Java Parte 9


Fernando Anselmo, DFJUG: “Em uma bela manhã de trabalho, com um rouxinol cantando na minha janela (sentia que algo diferente iria acontecer), recebi uma proposta indecorosa do Daniel propondo a tradução de um curso que era um sucesso nas Filipinas.

Resolvemos que não poderíamos adotar o mesmo modelo, já que aqui seria melhor aulas independentes no modelo e-learning, fora de sala de aula.

Tínhamos as apostilas e os slides da primeira lição, mas faltava algo, e após dois Cheddar McMelt e um Milk-Shake grande de chocolate surgiu uma daquelas ideias malucas: vídeo-aulas, feitas em Estúdio.

Daniel comprou um quadro com um universo alternativo, e iríamos fazer tudo como um grande filme de Ficção Científica.

Após gravarmos um simples vídeo de cinco minutos para uma apresentação na Politec e levar mais de oito horas de gravações, a ideia murchou como um balão vazio.
Mas uma parte ficou: voz e imagem.

A imagem não seria mais a nossa, e sim a dos slides com filmes que capturassem o que se estava fazendo no computador!

Testamos uma série de programas e passamos a gerar as aulas em Flash.O toque final foi um ambiente Moodle para comportar tudo. E deste modo nascia o JEDI no Brasil.”


JEDI - Java Education and Development Initiative

O Java Education & Development Initiative é um curso de Engenharia de Software completo, gratuito, que conta hoje com mais de 210.000 alunos nas Filipinas, Indonésia e Vietnam. No Brasil, conta com mais de 44.000 alunos.

É composto de 12 cursos, mais de 120 vídeo-aulas, além de apostilas, exercícios, tutorias, listas de discussão e provas de certificação, e você não paga nada por isto.

Na Universidade das Filipinas, nasceu através do Java Research & Development Center, a iniciativa JEDI, em fevereiro de 2005.

Desde então, vem sendo desenvolvido como um projeto colaborativo, que conta com o apoio da comunidade Java em todo o mundo.

A História da Tecnologia Java Parte 8


Fabiane Nardon, JavaTools Community: “O que poucas pessoas sabem é que tudo o que consegui na minha carreira de “especialista” em Java foi por causa de uma mochila. Em 2001 encontrei com Bruno Souza e ele estava com uma mochila muito bacana, com o logo do Java.
Então perguntei o que fazer para conseguir uma mochila daquelas, e o Bruno disse: “Fácil! Manda uma palestra para o JavaOne e se aceitarem, você ganha a mochila”. Eu achei a ideia um pouco maluca, mas como já trabalhava com Java há alguns anos, resolvi arriscar. Para minha surpresa, a palestra foi aceita e lá fui eu para San Francisco buscar minha mochila. Agendaram a minha palestra para as 23 horas.

Lembro que pensei que nesse horário nem teria plateia, mas a sala estava lotada, a ponto de algumas pessoas sentarem no chão para assistir. Acho que foi uma das palestras mais legais que já fiz.

Depois disso, os JavaOnes me renderam mais 8 mochilas, um Dukes Choice Award, uma participação no keynote com o Scott McNealy, um documentário e dezenas de novos amigos.
Mas aquela primeira mochila ainda é a mais legal de todas."

Grupos de Usuários e Comunidades Open Source

Quando foi lançada, a Tecnologia Java inovou em vários sentidos, como na possibilidade de software multiplataforma, na criação de ambientes visuais, no download de aplicações para o browser web, entre outras.

Mas uma inovação que ajudou a mudar o mundo do software foi o fato da versão Alpha 2 de Java ter sido colocada na internet com todo o código fonte, tanto da máquina virtual, como do conjunto de bibliotecas.

Apesar de nessa época já existir a definição de Software Livre, era ainda praticamente desconhecida a ideia de uma empresa disponibilizar sua grande inovação com todo o código fonte.

Java naquele momento ainda não era software livre (isso só veio a acontecer no Projeto OpenJDK), mas a possibilidade de aprender com o código disponível e participar da evolução da tecnologia criou ao redor de Java uma verdadeira paixão: desenvolvedores do mundo inteiro se sentiram de fato parte da grande inovação tecnológica daquele momento.

Nascia a comunidade mundial de desenvolvedores Java. Ao mesmo tempo, a internet trazia novas formas de comunicação e compartilhamento, e dessa combinação, nasceram os Grupos de Usuários Java, grupos de desenvolvedores que divulgaram a tecnologia Java ao redor do mundo.

Fóruns, listas de discussões, sites web, tutoriais, vídeos, podcasts, blogs, e mais recentemente, twitters e redes sociais, são algumas das formas que essa enorme comunidade utilizou para divulgar e “evangelizar”.

Mas não só a informação foi multiplicada: seguindo o exemplo do código fonte de Java, explodiram projetos open source ao redor da tecnologia, projetos que reuniram desenvolvedores de milhares de empresas e de todas as partes do mundo.

Java evoluía na velocidade e no alcance da internet, abrindo espaços e oportunidades para desenvolvedores de todos os lugares.


Vários projetos importantes surgiram, como projetos gerenciados por ONGs, como os da Apache Foundation (Tomcat, Ant, Jakarta e muitos outros) e ObjectWeb (hoje OW2, que mantém os projetos JOnAS, Shark e C-JDBC), e grande número de projetos independentes como servidores de aplicações (JBoss, OpenEJB e Jetty), sistemas de persistência (Hibernate, JORM), frameworks (Struts, Wicket e Velocity) e muitos, muitos outros projetos que fomentaram a evolução da tecnologia Java. Nesse grande movimento de comunidades, alguns projetos se sobressaíram e ganharam grande destaque no Brasil.

O Projeto Javali, tocado pelo SouJava, deu início ao esforço mundial de liberação da plataforma Java como software livre.

Outro projeto importante é o JEDI, mantido pelo DFJUG, que está ajudando a educar milhares de desenvolvedores brasileiros.