quarta-feira, 19 de dezembro de 2007

Apache JMeter

Apache JMeter é um aplicação desktop projetada para carregar testes funcionais comportamentais e medir o desempenho. It was originally designed for testing Web Applications but has since expanded to other test functions. Ela foi projetado originalmente para testar Aplicações Web, mas, desde então, expandiu - se para ensaio outras funções.

A que posso fazer com Apache JMeter?
Apache JMeter pode ser usado para testar o desempenho tanto em estáticas e dinâmicas recursos (arquivos, Servlets, scripts Perl, Java Objects, WebService SOAP, Bases de Dados, Consultas, Servidores FTP, HTTP e mais). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types. Ele pode ser usado para simular uma pesada carga em um servidor de rede ou objeto ou para analisar o desempenho global no âmbito de diferentes tipos de carga (request, response). You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load. Você pode usá - lo para fazer uma análise gráfica de desempenho ou para testar o seu servidor (FTP,HTTP)/ scripts / objeto comportamento sob pesada carga concorrentes.
Pode carregar e testar bem como base arbitrária consultas (através de JDBC, ODBC)


terça-feira, 18 de dezembro de 2007

Moda ou não, temos que ser ágeis




Como já sabemos a área de Engenharia de Software a muito tempo vem procurando a melhoria do processo de desenvolvimento de software.

Mesmo com a constante evolução de métodos, técnicas e ferramentas, a entrega de software em prazos e custos estabelecidos nem sempre é conseguida. O possível problema é o excesso de formalidade nos modelos de processo existente e isso quando existe um processo. O processo de software tem que ser bem definido e conhecido por todos.

A procura é desenvolver software de forma mais rápida, mas com qualidade. E para ajudar nesta jornada foi criado os métodos de desenvolvimento ágil. Moda ou não, temos que ser ágeis.

Os métodos ágeis nasceram com “Manifesto Ágil” (Becket al., 2001), que indica alguns princípios e podem ser compartilhados por tais métodos:
• Software funcionando é mais importante do que documentação detalhada;
• Colaboração dos clientes é mais importante do que negociação de contratos;
• Adaptação às mudanças é mais importante do que seguir um plano.
• Indivíduos e interações são mais importantes que processos e ferramentas;

Já algum tempo os métodos ágeis vem ganhando mercado. Algumas empresa e fabricas de software já estão adotando estas técnicas. Algumas empresas como Nike e Elementrix Technologies já utilizam.

Para se ter sucesso com métodos ágeis é muito importante o foco em reutilização de código, componentização, designer patterns e NÃO TER MEDO DE MUDAR. Coisa que nem todos profissional da área tem a visão. Uma observação, o reuso contribui para o nível de análise, arquitetural, organizacional e de processo. (O níveis mais altos de abstração).

Um fator importante (apendice), os padrões organizacionais e de processo são os que têm por objetivo apoiar a construção do software e melhorar o seu desenvolvimento. Com os padrões organizacionais e de processo cobrem problemas no desenvolvimento.

Podemos relatar algumas dos fatores que vem tornado os modelos ágeis tão requisitados no mercado:
1 - Modelo ágil e adaptativo
2 - Foco nas fases de desenho e construção. Mas foi desenvolvido para trabalhar com outras atividades de um projeto de desenvolvimento de software.
3 - Interage com outras metodologias
4 - Possui desenvolvimento iterativo
5 - Enfatiza aspectos de qualidade durante o processo e inclui entregas freqüentes e tangíveis.
6 - Facilidade em adaptações ás mudanças de requisitos e necessidade de mercado.

Scrum



O Scrum foi um modelo ágil que me chamou muito atenção. Na universidade o professor Papo falava muito deste método, assim resolvi estudar.

O Scrum hoje é direcionado para desenvolvedor de software ou gerente de uma equipe de desenvolvimento no qual estão envolvidos: criatividade, descobertas e testes. O mais importante e que geralmente é esquecido, testes.

Nos desenvolvimentos de software freqüentemente nos deparamos com dificuldade de realizar estimativas exatas para atividades que envolvem as necessidades do cliente. Uma possível solução é fazer reuniões diárias

E uma das tarefas que são pregadas pelo Scrum e exatamente esta, realizar reuniões de aproximadamente quinze minutos, onde se deve discutir o que foi produzido desde a última reunião, que problemas foram encontrados para realizar as tarefas nas últimas vinte e quatro horas e o que será feito nas próximas vinte e quatro horas.

Vou continuar estudando.... muito legal...

quinta-feira, 6 de dezembro de 2007

Android & Java !

Já era esperado, GPhpne, GooglePhone, que nada, mais que isto. Mas como sempre o poderoso Google vem forte para o mercado, agora de mobilidade. No segundo semestre de 2008 a gigante Google estará lançando o primeiro sistema operacional de plataforma aberta para smartphone. Huuuuuuuu!!!! Observe o detalhe, plataforma aberta.

Para um sistema operacional tenha sucesso é necessário que o mesmo suporte a maior quantidade possível de aplicativos, ou seja, software que agregue funcionalidades “benefícios” para o usuário (S.A.F.). Um dos segredos é ter um sistema operacional aberto (ex.: Linux). Lógico, temos os pros e os contras. O crescimento desordenado deste sistema operacional (SO) pode gerar problemas.

Com certeza este sistema operacional estará voltado para os serviços do Google, acredito que quando o usuário não estiver diante de um desktop estará no seu celular, coisa de louco, mas o domínio está instalado... Temos que tomar muito cuidado nesta área...hehehehehe DOMINAR O MUNDO....

O Android é um sistema operacional construído com o apoio de empresas como Intel, Motorola, Qualcomm e Telefônica, fabricantes China Mobile, eBay, HTC, LG, NTT DoCoMo, Samsung e Telecom Italia. Podemos ver que realmente a coisa vai ficar linda....Só peso!

OS sistema operacionais existentes hoje: BlackBerry OS, tive a oportunidade de ver funcionando, mas nunca rodei nenhuma aplicação nele, Linux (Promete muito)
Palm OS (Está abalado, mas ainda é forte, eu acho que não deveria ter trocado o Palm OS para WMobi :- ( ), Symbian (rodando em 165 milhões de telefones celulares), ao meu ver é um dos melhores até o presente momento, ainda não tive a oportunidade de testar o Linux. Windows Móbile, este é a chance da Microsoft entrar neste mercado e emplacar! Uma grande vantagem é que todos já conhecem Windows, os dois S.O. estão ali, lado a lado o sistema operacional W.M. tem uma alta integridade com os outros produtos da Microsoft.
Sem dúvida nenhuma, vai ser uma briga boa.....

Agora vamos falar do que interessa. Huuuhahahahaha! Android & Java ?.
O sistema operacional Andoid é baseado em Linux e tem a VM Java (fera hemmm). Segundo pesquisas que realizei, os supostos aplicativos que existentes no Android são em Java (fonte). ;-)

Alguns detalhes:
“ Android, plataforma para celular do Google, está finalmente aberta para os desenvolvedores. Agora você pode fazer o download do SDK e começar a desenvolver grandes aplicações em Java. O Google lançou um concurso que oferece US$ 10 milhões em prêmios para os mais interessantes aplicativos (o maior prêmio é bastante significativa: US$ 275.000). “(fonte)
* Application framework permitindo reutilização e substituição de componentes
* Máquina Virtual Dalvik otimizada para dispositivos móveis
* Navegador Integrado baseado no código aberto do motor WebKit
* Gráficos otimizados e alimentado por personalizadas bibliotecas gráficas 2D; Gráficos 3D baseado no OpenGL ES 1,0 especificação (aceleração de hardware opcional)
* SQLite estruturado para armazenamento de dados
* Suporte a mídias comum para áudio, vídeo e imagem estática nos formatos (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
* Telefonia GSM (dependente de hardware)
* Bluetooth, EDGE, 3G, e WiFi (dependente de hardware)
* Camera, GPS, bússola, e acelerómetro (dependente de hardware)
* Desenvolvimento ambiente Rich, incluindo um dispositivo emulador, ferramentas de depuração, memória e desempenho de perfis, e um plugin para o Eclipse IDE (fonte)
Telas:

Com certeza o Android irá suportar Java, “SEI LÁ, não senti firmeza “, mas não vejo como seria o contrário. Mas mesmo assim existem algumas coisas que estão contrariando a Sun Microsystems. A VM Java que seguirá com o Android é uma implementação exclusiva do Google e segundo a Sun esta versão pode gerar futuros problemas para a J2ME.
Mas esta briga não é nova, um tempo atrás houve a maior briga sobre VM entre a Sun e Microsoft. Eu espero que eles se acertem, pois só assim poderemos construir aplicações com os padrões J2ME que já vem sendo criado. Ainda acho que o Google quer conquistar o mundo sozinho.... Acredito que seja somente um mau estar entre os dois, pois este casamento seria 100% de bom, para todos. Parece que o pessoal do OHA (Open Handset Alliance - criação google) estão trabalhando para deixar a VM Java no padrão esperado.

;-)