Gustavo Soares

tecnologia, infraestrutura web, mobile e afins

Orlando, Florida. Hoje começou o JBossWorld. Agora estou no meio de um brake e aproveitei para escrever um pouco desse primeiro dia. Assisti 3 palestras hoje, 1 muito boa, outra boa e outra ruim.

A palestra muito boa foi a primeira que assisti foi apresentada pelo Bela Ban e era sobre JBoss Clustering. Para quem sabe o Bela Ban é o “pai” do jboss cache. Já havia assistido algumas palestras sobre cluster em outros eventos que participei, mas mesmo assim resolvi ir lá conferir. A palestra começou com o Bela Ban falando um pouco do conceito de jboss clustering para sessões http dentro do JBoss.

Algumas coisas que ele falou já são bastantes conhecidas para quem já configurou um tomcat em cluster, ou seja, colocar a cláusula <distributble/> dentro do web.xml. Ao contrário do que algumas pessoas pensam, não precisamos replicar todos os dados da sessão http a torto e a direita e sim apenas algumas partes da sessão, a partir do que chamamos de granularidade da sessão. No Jbossweb isto deve ser feito no arquivo jbossweb.xml. Outro ponto importante é que se temos um cluster com 8 nós por exemplo e um dos nós tem sua sessão alterada, o dado alterado será replicado para todos os nós do cluster. Isto é ruim, a medida que o cluster se torna maior, devido ao grande número de dados sendo gerados na rede. Como exemplo, tome uma sessão com 2,5kb. No cenário sugerido, teremos a geração de 25kb de tráfego a mais rede, num sistema que na maioria das vezes já está “under pression“. Para tenuar o volume de dados na rede, podemos configurar cada nó do cluster para replicar um dado apenas para um par, o que seria seu backup, no que chamamos de “buddy replication“. Voltando ao papo de granularidade da sessão, podemos configurar o cluster para replicar apenas um atributo da sessão e nao todos os dados da sessão. E ainda, podemos e devemos configura o cluster para replicar uma sessão apenas quando o método SET é invocado, indicando que algum atributo foi alterado. A segunda parte da palestra foi marcada pela apresentação de um benchmark que foi feito com diferentes tipos de configurações. Ficou evidente que o attribute replication foi mais perfomático em conjunto com o buddy replication. Uma observação deve ser feita, o buddy replication gera stress no sistema quando um dos nós cai, pois o cluster precisa ser reorganizado, quem vai replicar para quem, quais são os membros do cluster e etc… Na terceira parte da apresentação foi apresentado algumas dicas para melhorar a performance de um cluster jboss que irei procurar resumir aqui.

  1. MaxClients (Apache) = maxThreads (Jbossweb)
  2. Usar a biblioteca native da APR desenvolvida para o jbossweb
  3. Usar JBoss EAP (JBoss Enterprise Application), dependendo da natureza e criticidade da aplicação
  4. Utilizar a console JMX para obter informações de utilização de cpu e thread dump (kill -3)
  5. Setar timetou para a sessão http
  6. Dar um call invalidate quando terminar de mexer na sessão
  7. Tune logging
  8. Remover do jboss serviços que não serão utilizados
  9. Ter uma rede para as requisições de clientes http, outra para o AJP e outra para o tráfego sendo replicado
  10. Utilizar a feature de domains do mod_jk para criar sub clusters dentro de um cluster

Ufa! Isso foi tudo sobre a primeira palestra, desculpem por ter me estendido tanto. :)

A segunda palestra que assisti foi sobre EJB3. Não gostei da didática do palestrante e ficou tudo muito confuso. A terceira palestra achei muito boa, sobre um produto chamado JON, ou JBoss Operation Networks. Não sei quão estável está esta ferramenta, mas sei que seria muito útil num ambiente de produção, pois ela permite gerenciar instâncias de JBoss instaladas ao longo do parque de servidores de uma empresa, permitindo verificar versão do jboss (fazer um inventário), se a vm está de pé, atualizar a versão do software, entre outras coisas. Sexta-feira, dia 15/02/2008 , haverá um Hands-On sobre esta ferramenta. Basicamente, ela consiste de um agente que é instalado no servidor, responsável pela monitoração da vm do jboss e uma interface web onde são visualizados os dados gerados e/ou obtidos.

Vale ressaltar, que mesmo que tenhamos mais de um jboss instalado só é necessário um único agente rodando, e em tese, eu disse em tese :) , ele iria detectar automaticamente qualquer novo jboss que fosse instalado.

Share

jbossworld2008.png
Logo mais estarei embarcando para o JbossWorld, que irá ser sediado em Orlando na Flórida. Pela agenda, parece ter algumas palestras interessantes. Separei algumas de SOA para ver, perfomance tuning e JbossWeb, que alias já estou um pouco familirizado com ele, mas mesmo assim vou lá para ver o que o Mladen Turk vai falar e ver se alguma coisa mudou. Falando no JbossWeb, ainda vou escrever um post dizendo por que usá-lo no lugar do Tomcat.
Share

Será que conseguiram realmente desbloquear o novo firmware do iphone, de número 1.1.3 via software??? Segundo um post que acabou de sair no engadget parece que sim, e o feito foi feito por George Hotz. Nem o anySim havia conseguido o desbloqueio.

Para mais informações desta notícia juntamente com o procedimento para o desbloqueio, clique aqui. Não sei se realmente funciona, portanto, quem tentar poste aqui dizendo se funcionou ou não. :)

*UPDATE*

Eu havia adicionado um comentário nest mesmo post falando do desbloqueio via ziphone. Resolvi editar o post e colocar mais algumas informações aqui a respeito. O ziphone é uma aplicação gráfica para desbloqueiro do iphone 1.1.2 e 1.1.3. Existem versões para o windows e o para o mac do Ziphone. Para baixar o ziphone, basta clicar aqui.

screenshot2.jpg

O procedimento é bem simples, basta conectar o iphone (em recovery mode) no computador com o cabo usb que vem nele e abrir o programa. Deverá ser selecionado as ações a serem tomadas. Se tudo ocorrer bem, o iphone irá ficar com a tela preta e um monte de mensagens irão aparecer na tela.

Quando o procedimento de desbloqueio terminar, o iphone irá bootar e já irá vir com o aplicativo installer, que server para instalar outros programas. Basta colocar o seu sim card e partir pro abraço!

Ahhh, uma coisa… o iTunes deve ficar desligado durante o procedimento.

Cheers!

Share

Estou usando o apache 2.2.x em alguns projetos novos que estou envolvido na empresa que trabalho. Achei que seria interessante explicar como é feita a configuração para encaminhar as requisições dinâmicas, sejam elas para jsp’s, servelts, ssp’s e etc, para um servidor no backend, podendo ser o Jboss (tomcat) ou o Weblogic utilizando o mod_proxy.

No apache 2.2.x é muito simples e fácil fazer isso, não necessitando nenhum módulo de terceiros como o mod_jk ou o módulo da bea. Podemos usar dois módulos para isso:

  1. mod_proxy_http
  2. mod_proxy_ajp

Particularmente, prefiro usar o mod_proxy para encaminhar requisições para o Jboss/Tomcat. O mod_jk é cheio de burocracia com aqueles seus dois arquivos (worker.properties e jk.conf). :)

Para encaminhar requisições para o jboss podemos usar o mod_proxy_http ou o mod_proxy_ajp. Já para o weblogic, nossa única opção é o mod_proxy_http, visto que o weblogic não suporta o protocolo AJP.

Sugiro que a configuração seja feita no arquivo httpd-vhosts.conf (ou num arquivo a parte) e depois dar um include dele no arquivo httpd.conf, apenas para deixar as coisas mais organizadas.

Segue um exemplo simples utilizando o mod_proxy_http:

ProxyPreserveHost On
ProxyPass /ghi !
ProxyPass /abc http://localhost:8080/abc min=256 smax=512 max=1024 timeout=10 ttl=10
ProxyPass /xyz http://localhost:8080/xyz min=256 smax=512 max=1024 timeout=10 ttl=10

A cláusula ProxyPreserveHost On faz com que o proxy preserve (como o prório nome sugere) o host enviado na requisição. O mapeamento para o Jboss ou Weblogic é feita usando a diretiva ProxyPass, que contém a seguinte sintaxe:

ProxyPass [path] !|url [key=value key=value ...]]

Caso se queira negar uma determinada uri, basta adicionar o sinal de ! no final, caso contrário será necessário especificar para onde será encaminhado a requisição. Lembrando que as urls negadas, e que portanto não deverão ser processadas pelo backend, devem ser definidas primeiro. No exemplo dado, a uri /ghi nao será processada pelo backend. Caso fóssems usar o mod_proxy_ajp basta substituir o http:// por ajp:// e substituir o LoadModule do mod_proxy_http para mod_proxy_ajp.

A partir do Apache 2.2.6 uma nova cláusula foi criada, chamada ProxyPassMatch, permitindo especificar uma expressão regular na definação dos paths que serão jogados para o backend.

Espero que tenha ficado claro…qualquer dúvida, deixe seu comentário.

Ahh!! Mais uma coisa… o módulo mod_proxy existe no apache 2.0.x, porém ele ainda está meio bugado. :)

Share

Essa dica vai para os fãs do famoso Google Docs e do não menos famoso Firefox.

O Google Docs Bar é uma extensão do firefox que mostra a lista de documento diretamente do Google Docs numa barra lateral. A extensão tem muitos recursos, como por exemplo: procurar por um arquivo, restringir o acesso para um documento, planilha ou apresentação. Outro recurso muito interessante é a possibilidade de fazer upload de arquivos usando drag and drop.

Após instalar a extension, para visualizar a barra lateral basta ir em View > Sidebar > Google Docs Bar (desculpe ter colocado em inglês, mas meu firefox tá em inglês :) ). Os documentos listados na barra são os mais recentes.

Mais informações em: http://googlesystem.blogspot.com/2008/01/google-docs-in-firefox-sidebar.html

Share

Recentemente, dia 20/01/2008, postei aqui sobre o rotateme e logo no início mencionei que ainda nao havia sido liberado o novo firmware do N95 para o product code do Brasil.

Lembrando que para verificar qual o firmware instalado em seu N95 basta digitar *#0000#

Pois bem, hoje o Cristiano Benicio comentou no post anterior informando que o novo firmware, de número 20.0.0.15, estava disponível sim para o product code do Brasil (0549028). Deixei rodando um backup completo do celular em background enquanto trabalhava. Quando terminou, entrei no Nokia Software Update fui fazer o update do meu N95. Tudo transcorreu sem problemas, e no final recupei o backup feito. A única coisa que voltou, foi o tema que estava configurado no celular, o resto estava tudo lá. As melhorias deste firmware incluem performance, melhorias no software da camera, liberação de mais memória ram para o celular entre outros.

Lembrando (novamente), que a atualização é por sua própia conta e risco :D

É isso…

Share

Faz tempo desde meu último post aqui… e mesmo assim ainda nao foi liberado o firmware 20.0.0.15 do N95 para o product code do Brasil. Bem, isto foi só uma observação e não é o assunto principal deste post.

Ontem instalei (finalmente!) um aplicativo muito interessante para o N95. O rotateme. Para quem nao sabe ele foi desenvolvido pelo Samir, que por sinal está aceitando doações, apesar da aplicação poder ser baixada gratuitamente. O que ele faz é rotacionar a tela do N95 automaticamente, dependendo da orientação da tela, ou seja, se o celular está na vertical o visor fica obviamente na vertical, se girar o celular para horizontal, a tela gira também tem a necessidade de abrir o slide. (Não sei porque isso nao veio habilitado por default…). Aqui tem um vídeo com uma demonstração.

[youtube=http://www.youtube.com/watch?v=WXBRdiHAja0]

Para instalar o rotateme, deve-se baixar o aplicativo no site do samir e descompactar o conteudo do zip em alguma pasta do computador. Aqui vale uma observação! O zip vem com 2 arquivos sis. Um é o N95AccelerometerPlugin.sis e o outro é o rotateme em si. Pois bem, o primeiro arquivo dá para se instalar tranquilamente… já o segundo…. é necessário assiná-lo antes para aí sim, poder instalá-lo sem problemas. Não vou descrever aqui como isso pode ser feito, pois já está muito bem documentado no blog Nlog95. Fiz o passo-a-passo descrito nele e funcionou perfeitamente. Ahhh!! Depois da instalação, será criado um atalho dentro da pasta aplicativos do celular. Acho que isso é tudo… espero ter ajudado.

Share

 

Ontem postei que havia saído um novo firmware, cujo número é 20.0.0.15, para o nokia N95. Parece que ainda vamos ter que esperar um pouco, pois o update ainda nao foi liberado para o product code (0549028) dos aparelhos comprados no Brasil. É possível usar um programa que altera o product code para outras regiões e/ou países, conforme descrito em http://thenokiablog.com/2007/05/12/how-to-update-firmware-debranding-andor-change-language-pack-on-the-nokia-n95.No entanto, é um procedimento meio arriscado pois poderá mudar a linguagem do aparelho (adeus digitação via T9), sem falar na perda de garantia que seria constadada caso levasse o aparelho a uma autorizada nokia e fosse verificado que o product code do aparelho difere daquele na etiqueta atrás da bateria. Enfim, é uma decisão pessoal… vou optar por esperar mais um pouco… :)

Share

Novo firmware para o N95

Parece que acabou de ser liberado via Nokia update um novo firmaware para o Nokia N95. Ainda nao tive tempo para instalá-lo, mas mais informações podem ser obtidas no site allaboutsymbian.

Share

Acabei de ler no site symbian-freak que a sandisk irá lançar cartões de memória de 6GB e 8GB, respectivamente. Agora é esperar a chegada delas no mercado brasileiro, seja via mercado livre ou em lojas do ramo. Realmente fiquei muito animado com essa notícia… para mim uma das coisas que justicaficaria um upgrade para o N95-8GB era a memória (ok, ele também tem uma memória ram de 180MB, ficando com uns 40 MB quando starta, em comparação com os 19~20MB… mas….). O poder de armazenamento de músicas, fotos e vídeos aumentam consideralvemnte com um cartão de 6GB ou 8GB.

Share

Switch to our mobile site