Apache se retira do JCP

Olá pessoal!

Estava postando hoje no GUJ, e apareceu uma notícia realmente alarmante. A Fundação Apache decidiu se retirar do JCP, conforme postado no blog da própria fundação:

The Apache Software Foundation has resigned its seat on the Java SE/EE Executive Committee. Apache has served on the EC for the past 10 years, winning the JCP “Member of the Year” award 4 times, and recently was ratified for another term with support from 95% of the voting community. Further, the project communities of the ASF, home to Apache Tomcat, Ant, Xerces, Geronimo, Velocity and nearly a 100 mainstay java components have implemented countless JSRs and serve on and contribute to many of the JCPs technical expert groups.

Quem se interessar, pode pesquisar os projetos e contribuições que a Apache fez para o Java, quem está começando, vai esbarrar invariavelmente com algo criado ou contribuido por eles.

O problema, como tudo neste mundo, se resume a interesses capitalistas, a empresa que mantinha o Java era a Sun. Esta empresa foi comprada pela Oracle recentemente, e a Oracle está impondo a sua cultura para moldar o “seu” Java, tendo assim, um produto 100% proprietário. A partir de agora, com esta postura imperial, o Java corre sérios riscos de retroceder no tempo, já que muito da inovação vinha da comunidade.

É obvio que agora, muitos desenvolvedores ficaram com dois pés atrás antes de contribuir com algo, pois estará doando tecnologia para a Oracle, adeus à inovação.

Esta corporação não está nem aí para a comunidade, Larry Ellison quer lucros!

Com isto podemos perceber que o sistema capitalista, mais uma vez, corrobora a tese de que o capitalismo só trouxe desgraças para a humanidade, não houve NADA vantajoso. Pelo contrário, a humanidade está cada vez mais controlada e escravizada pelas corporações.

Este fato me convence que desde quando a tecnologia foi ideializada, não foi concebida para ajudar o homem a realizar tarefas impossíveis ou insalubres para o homem, mas sim para controlá-lo e subjugá-lo a um sistema escravagista.

O ponto de partida deste novo sistema capitalista, surgiu com a revolução industrial, era a elite financeira mundial dona de todas as fábricas e a população escrava produzindo altíssimas somas lucrativas em troco de um salário miséria.

E o que temos hoje? Uma população controlada pela mesma elite, mas agora através de computadores. O que era para ser uma ferramenta de ajuda, tornou-se a ferramenta de controle da elite. O ambiente democrático está cada vez menor na internet, a liberdade de expressão está cada vez mais achacada.

A Nova Ordem Mundial está chegando, as corporações querem eliminar tudo que é comunitário para torná-lo proprietário.

Para os desenvolvedores resta agora migrar de linguagem, eu já escolhi a minha. Python!

Quem quiser acompanhar o papo sobre este assunto, acesse o fórum do GUJ.

Abraço!

Integrando aplicação VRaptor 3 com Openfire e plugin Webchat

Olá pessoal!

Sei que estou meio sumido, mas tenho bastante código e diagramas para fazer até o fim do ano, quando vou apresentar meu TCC. O meu projeto é uma imobiliária virtual, onde o cliente acessa os imóveis disponíveis para venda e locação, pode visualizar a galeria de imagens e a localização exata do imóvel através da API do Google chamada Geocoding.

Em todo sistema, os requisitos funcionais sempre mudam, o que leva ao desenvolvedor buscar conhecimento de ferramentas para atender às necessidades do seu cliente.

Estes dias o cliente solicitou uma ferramenta no site que disponibilizasse Chat Online, entre o cliente e algum atendente da Imobiliária.

Fui então, buscar algo que pudesse ser integrado a minha aplicação feita com VRaptor 3 já sabendo da existência do Livezilla, porém, o programa só está disponível para o sisteminha do tio Bill, eu uso Debian Lenny.

Pesquisando um pouco mais achei o Openfire, um servidor OpenSource feito em Java destinado a chats e conferências Online, possui vários plugins, entre eles o Webchat, é um plugin com extensão WAR e deve ser usado no Tomcat, bastando fazer o deploy e acessar o endereço http://localhost:8080/webchat para setar o nome do servidor, nome do host e a porta.

O site oficial para efetuar o download do Openfire, o Spark e o Webchat é este link.

Explicando o que significa cada um dos três:

Openfire é o servidor.

O Spark é o cliente IM feito em Java feito para conectar ao Openfire, é por ele que o atendente da imobiliária faz o atendimento.

Webchat é uma aplicação Web em Java, pode ser usada pelo Tomcat, baixando o webchat.war ou pode ser usado o plugin dele, o nome do arquivo é plugin_webchat.war, deve ser renomeado para webchat.war e adicionado pelo Openfire na seção “Plugins”.

Neste post não vou abordar a instalação do Openfire, já que existem vários tutoriais a respeito, mas vou deixar a dica de como configurá-lo corretamente para que o cliente e o atendente conectem ao server.

Após efetuar o login no Openfire, vá na aba “Servidor”, repare que existe “name server” e “host name”, vá em “propriedades do sistema” e clique em “editar” na linha “xmpp.domain”, deixe essa opção assim:

mydomain.com

Esse será o nome do servidor, agora configure o domínio do seu sistema, no meu caso é Debian, conforme abaixo:

# gedit /etc/hosts

127.0.0.1                        debian.mydomain.com

# gedit /etc/hostname

127.0.0.1                        debian.mydomain.com

Salve as alterações e reinicie o sistema. Entre novamente no Openfire acessando o link http://localhost:9090/, repare que o Openfire detectou as alterações feitas no sistema. Vá agora em “configurações do servidor”, clique em “server certificates”, lá deve estar igual ao “name server”, se não estiver, apague o que estiver lá, clique para reiniciar a interface do Openfire, reinicie o Openfire pelo terminal:

# /etc/init.d/openfire restart

Agora logue-se no Openfire e vá na seção dos certificados, clique para gerar novos certificados.

No final, sua configuração ficará assim:

Para conectar o cliente Spark ao Openfire você precisa criar algum grupo e algum usuário e dentro desse grupo você inclui o usuário ou usuários que desejar, lembre-se que estes usuários vão conversar no chat, mas também poderão receber requisições de conexões anônimas, desde que você configure o Openfire para isto, para permitir conexões anônimas, vá em “configurações do servidor” e clique na opção “registro e login”, habilite o login anônimo.

Eu apenas criei um grupo chamado Clientes, e dentro está o usuário “teste”, que será o atendente, depois fui na aba Fastpath e confirmei se os dados estavam corretos, na aba “sessões” é possível acompanhar as conexões sendo efetuadas também.

Depois de fazer o download do Spark, entre na pasta e rode o arquivo “starter”:

# cd Spark

# chmod +x starter

# ./starter

Em seguida já é possível abrir o cliente Spark, basta rodar:

# chmod +x Spark

# ./Spark

Obviamente, o cliente estará no desktop do funcionário da Imobiliária, e não como estou fazendo, instalando no próprio servidor, isto é apenas um teste com fins didáticos. =)

Abrindo o cliente coloque o nome do usuário que você cadastrou no Openfire, sua senha e o nome do host “debian.mydomain.com”. Feita a conexão do atendente com o Openfire, vamos adicionar o cliente da imobiliária.

Faça o deploy do webchat.war no Tomcat, acesse o link http://localhost:8080/webchat, coloque os dados:

name server: mydomain.com

host name: debian.mydomain.com

port: 5222

Ele vai conectar e vai mostrar uma imagem mostrando que o chat está ONLINE:

Veja lá! Existe algum atendente logado, caso contrário a imagem estaria OFFLINE. ;)

Temos então um atendente logado esperando por um cliente para dar informações, vamos dar a ele um cliente:

O cliente “josé” se interessou por um imóvel, mas gostaria de confirmar algumas informações com um atendente:

O cliente faz uma pergunta e é recebida pelo atendente que está usando o Spark:

O atendente responde á pergunta:

Como o “seu José” estava com o feijão na panela, ele sai da sala e o atendente visualiza o logoff.

O Openfire usa diversos bancos para armazenar tudo, eu uso o PostgreSQL 8.4, a conexão é feita na instalação, então sugiro criar antes o banco no Postgre, chame-o como “openfire” mesmo, depois instale o Openfire, apontando esse banco para usar, certifique-se de inserir o nome e usuário corretos do banco.

Para chamar o chat pela aplicação Web é bem simples, basta criar uma função javascript, repare que antes do arroba está “clientes”, que é o nome do Grupo que eu criei no Openfire:

<script language=”JavaScript” type=”text/javascript”

src=”http://localhost:8080/webchat/jivelive.jsp”>

</script>

<script>

showChatButton(‘clientes@workgroup.mydomain.com’);

</script>

Eu chamo o Live Chat através de uma imagem, mas ela pode ser alterada, assim como o resto das imagens da janela do chat, isso já foi debatido no fórum do Openfire, mas eu uso assim, veja:

div id=”atendimento”><a onclick=”javascript: showChatButton()” href=”#”><img src=”${pageContext.request.contextPath}/imagens/aplication/atendimento.gif” /></a></div>

Para quem quiser um tutorial mais detalhado da instalação de tudo, existe um feito pelos desenvolvedores com imagens, clique aqui.

Recomendo fazer o download do tutorial com conexão banda larga, porque o servidor deles fecha a conexão antes de terminar o download, para quem têm conexão lenta é um parto baixar esse arquivo.

É isso, fiquei algumas madrugadas quebrando a cabeça mas descobri como usar esse servidor de chat e integrar à minha aplicação feita com VRaptor 3.

Espero que este post seja útil aos desenvolvedores Web.

Abraço e até o próximo post!

WYSIWYG no Eclipse Galileo

Oi pessoal!

Eu estava navegando pelos fóruns de Java e me deparei com alguns posts dizendo que o Eclipse possui suporte a WYSIWYG (what you see is what you get), ou seja, ao mesmo tempo em que você edita o código, o resultado aparece na janela do editor.

Fiz uma pesquisa no Google e constatei que realmente existe este suporte, como ontem baixei a última versão do Eclipse JEE SR2 resolvi conferir e mostrar neste post como habilitar esta função.

Para editar páginas JSP e HTML com este recurso no Eclipse basta clicar em cima de uma página JSP por exemplo e selecionar Open With>Web Page Editor, o resultado será este:

eclipse-design

Modo Design no Eclipse

Na imagem acima é possível visualizar também a Paleta, por ela fica muito mais fácil inserir tabelas, caixas de texto e forms.

Na imagem abaixo é mostrado o modo Preview, repare que existem duas abinhas no canto esquerdo inferior:

eclipse-preview

Eclipse em modo preview

Creio que com estas funcionalidades ninguém terá desculpa para não usar ferramentas web livres, como o Eclipse e o Netbeans. Além do mais, Dreamweaver para programar em Java não serve e é programa proprietário.

Abraço!

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.