
- Artigo: Integrando Google Maps aos seus aplicativos web
- Artigo: Java ME com Windows Mobile 5
- Artigo: Desenvolvimento em Java com as plataformas Nokia
- Artigo: Desenvolvendo uma aplicação para Palm OS utilizando HB++
- Artigo: PING - Crie um aplicativo de PING para Smartphones
- Artigo: Aplicação Mobile com o Visual Studio 2005 e SQL Server 2005 – Parte II
- Artigo: Profiles - Gerencie perfis de usuário com ASP.NET 2.0
- Artigo: Crie uma aplicação de chat com ASP.NET 2.0 – Parte 1
- Vídeo-aula brinde: Mobilidade com SmartPhones - Parte I.
- Vídeo-aula brinde: Mobilidade com SmartPhones - Parte II.
- Vídeo-aula brinde: Dispositivos Móveis e SmartClient.
- Vídeo-aula brinde: Conectando Aplicativos JavaME com Servidores Remotos Utilizando HTTP - Parte 1
- Vídeo-aula brinde: Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Parte 2
- Vídeo-aula brinde: Conectando Aplicativos JavaME com Servidores Remoto Utilizando HTTP - Parte 3
- Vídeo-aula brinde: Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Parte 4
- Vídeo-aula brinde: Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Utilizando Servlets desenvolvidos no Netbeans- Parte 1
- Vídeo-aula brinde: Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Utilizando Servlets desenvolvidos no Netbeans- Parte 2
- Vídeo-aula brinde: Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Fazendo Download de Arquivo Texto em Servidores Remotos - Parte 1
- Vídeo-aula brinde: Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Fazendo Download de Arquivo Texto em Servidores Remotos - Parte 2
Selenium
Um framework para testes funcionais em aplicações web
Marcelo Santos Daibert, Marco Antônio Pereira Araújo
Uma das maiores preocupações do desenvolvimento de software está relacionada à qualidade dos sistemas desenvolvidos e, conseqüentemente, com a sua estabilidade no ambiente de produção. Uma falha em um sistema pode ocasionar vários problemas, desde prejuízos financeiros, comprometimento de cronogramas e até perda de vida humana, dependendo do sistema desenvolvido. Existem vários acidentes causados por falhas de software que ficaram famosos, como: falhas em aviões, foguetes e equipamentos. Um exemplo onde houve perda de vidas humanas foi a falha do sistema em um equipamento de radioterapia chamado Therac-25. Este equipamento era controlado por computador, muito moderno para sua época, e permitia sua utilização para a aplicação de diversas intensidades de radiação nos pacientes. Houve uma série de seis acidentes relatados entre 1985 e 1987, nos quais os pacientes receberam overdose de radiação. Pelo menos cinco mortes aconteceram devido aos acidentes, causados por falhas no software que controlava a máquina. Problemas deste tipo denotam a importância da utilização de um processo de desenvolvimento de software formal e, principalmente, a utilização de alguma abordagem baseada em testes para aferição do sistema desenvolvido.
Atualmente há uma forte tendência de utilização de sistemas baseados na plataforma Web. As vantagens são muitas, desde a alta disponibilidade até a não necessidade de configuração máquina a máquina para instalação e configuração de sistemas. No entanto, diante desta forte tendência e com a facilidade das linguagens de programação Web, está havendo um crescimento deste setor e, em sua grande maioria, sem a devida preocupação com a qualidade dos sistemas desenvolvidos.
A prática de teste manual de aplicações não garante a execução de todas as funcionalidades de um sistema. Sabe-se também que é impossível garantir que todos os defeitos de um sistema sejam eliminados, uma vez que os testes necessários para esta avaliação são normalmente em quantidade extremamente elevada, inviabilizando a sua aplicação de forma manual. O objetivo sempre é buscar minimizar as falhas de um sistema e, para isso, torna-se imprescindível a utilização de um ambiente de testes automatizados, como o apresentado neste artigo.
Existem diversos tipos de testes e um deles é o teste funcional. Este tipo de teste é baseado nas técnicas de caixa-preta, isto é, verificar o sistema e seus processos internos através de suas interfaces e da análise de suas saídas ou resultados.
Assim, a Selenium apresenta-se como uma ferramenta que possibilita esta interação com as interfaces de aplicações web para execução de testes funcionais definidos em sua IDE. Este artigo apresenta a ferramenta Selenium-IDE no contexto de desenvolvimento baseado em testes.

Integrando Google Maps aos seus aplicativos web
Enquanto o amadurecimento da web continua, nós vemos um número crescente de tecnologias surpreendentes que levarão os nossos aplicativos a novos níveis de poder e usabilidade. O mais recente desenvolvimento que chama a atenção dos desenvolvedores é chamado Ajax, forma abreviada para o Asynchronous JavaScript + XML. Esta forma de desenvolvimento parece ter revitalizado o objetivo da comunidade do desenvolvimento web, que é de criar aplicativos que possuem interfaces tão ricas e com bom tempo de resposta quanto qualquer aplicativo desktop, mas com a vantagem da acessibilidade através do navegador web.
Talvez o aplicativo mais famoso envolvendo o modelo de Ajax seja o Google Maps. Certamente, você já se divertiu com este site da web, talvez o alimentando com o seu ou outros endereços de interesse, e ficou interessado em como o site respondeu aos seus comandos de zoom e movimentação no mapa como se fosse uma aplicação de tempo real. Não seria interessante incorporar as potencialidades de mapeamento do Google em seus aplicativos, beneficiando-se não somente de seu enorme banco de dados, mas também da interface que vem com ele?
Você pode se surpreender ao saber que o Google oferece uma API gratuita que torna essa tarefa bastante trivial. Desde que você aceite os termos do uso, e não ultrapasse 50.000 vistas da página por dia sem obter autorização prévia, você está livre para usar esta API para implementar a tecnologia de mapeamento do Google ao seu site web. Neste artigo você aprenderá como fazer exatamente isto. Especificamente, você aprenderá como integrar mapas em páginas web, estender o recurso de mapeamento para marcar locais do interesse de usuários do seu site e, até mesmo, exibir descritores específicos de posição, simplesmente, clicando no ícone correspondente. Mas primeiro, para se inspirar, tire um tempo para conhecer algumas implementações que são destaque na web:
· HousingMaps: HousingMaps.com se beneficia do Craiglist e do Google Maps para representar visualmente casas e apartamentos colocados à venda e locação nos Estados Unidos;
· Recent Earthquakes (http://quake.usgs.gov/recenteqs/): mapeia os terremotos que aconteceram nos últimos sete dias;
· Google Maps Mania (http://googlemapsmania.blogspot.com/): Um blog interessante cobrindo as novidades de mapeamento e projetos do Google.

Java ME com Windows Mobile 5
Desenvolva aplicações Java para Windows Mobile
Fábio Medeiros
Daremos continuidade à nossa seqüência de artigos utilizando a plataforma Java ME (anteriormente conhecida como J2ME) para o desenvolvimento de aplicações para dispositivos portáteis. Em nossos artigos anteriores, desenvolvemos alguns aplicativos que foram testados em simuladores do sistema operacional Palm OS, mostramos como utilizar o simulador, instalar aplicativos e executá-los. Agora resolvemos mudar um pouco o foco. Como nem só de Palm OS vivem os dispositivos portáteis, optamos por mostrar como desenvolver aplicações para dispositivos portáteis com sistema operacional Windows Mobile 5 (WM5). Acompanhe-nos nesta nova aventura.

Desenvolvimento em Java com as plataformas Nokia
Daniel Rocha
A Nokia é a líder mundial no mercado de telefones celulares. Dentre as opções de modelos disponibilizadas pela empresa, a grande maioria permite a instalação de aplicativos escritos por desenvolvedores em diversas tecnologias, como: C++, Java, Flash Lite, Python, entre outras.
Neste artigo, serão apresentadas as opções de desenvolvimento utilizando a tecnologia Java MicroEdition (JME), que está presente em diversos tipos e séries de modelos, pelo fato de esta ser a tecnologia mais utilizada mundialmente para desenvolvimento de aplicativos móveis. A Nokia contribui regularmente para o desenvolvimento do JME, sendo líder em diversas especificações do Java Community Process (http://www.jcp.org), como: 234 (Advanced Multimedia Supplements API), 256 (Mobile Sensor API), 180 (SIP API para J2ME), 184 (Mobile 3D Graphics API), 179 (Location Based Services), entre outras.
Você conhecerá as ferramentas de desenvolvimento, os SDKs (Software Devleopment Kits), emuladores e utilitários. Serão também apresentadas aplicações de exemplo para que você entenda a utilização da tecnologia para o desenvolvimento de aplicações reais.

Desenvolvendo uma aplicação para Palm OS utilizando HB++
Uso de padrões de projetos para reduzir esforço de construção da aplicação
Wellington Pinto de Oliveira, Wanderson Pinto de Oliveira
Neste artigo, vamos implementar um aplicativo para Palm onde será dada ênfase à construção de uma camada de acesso a dados (DAL, do inglês Data Access Layer) que possui um padrão CRUD (criação, leitura, atualização e deleção). Nessa camada, todas as regras para manipulação de dados em arquivos PDBs estão implementadas, liberando os formulários desta tarefa e reduzindo a área de manutenção do software. Utilizaremos para o desenvolvimento deste exemplo a ferramenta HB++ desenvolvida pela Handheld Basic. O uso desta ferramenta foi demonstrado nos artigos anteriores.
Para quem não conhece, o HB++ é um IDE que permite desenvolver aplicativos para plataforma Palm OS. Esta ferramenta vem sendo abordada nos últimos dois artigos que publicamos na WebMobile e é atualmente uma das mais utilizadas no Brasil.

Aplicação Mobile com o Visual Studio 2005 e SQL Server 2005 – Parte II
Neste artigo, você melhorará a aplicação Windows Mobile 5.0 que foi criada no artigo anterior, para sincronizar dados entre o AdventureWorks do SQL Server 2005 e o banco de dados Mobile que a sua aplicação utilizou.
Você utilizará Merge Replication para realizar a sincronização, para que o dispositivo nem sempre tenha que ser reconectado a uma rede ou banco de dados back-end, para se tornar totalmente funcional.

Profiles
Gerencie perfis de usuário com ASP.NET 2.0
O HTTP é um protocolo state-less. Isso significa que um servidor Web interpreta cada requisição de um cliente como sempre sendo a primeira. No entanto, manter o estado entre requisições é uma exigência da maioria das aplicações Web, e o ASP.NET possui inúmeros recursos para cumprir esse objetivo.
Por exemplo, o recurso de ViewState (e agora o ControlState) permite que um controle “lembre” o seu estado entre uma requisição e outra. Objetos como Cache e Session também permitem que informações sejam persistidas entre requisições. Talvez um dos exemplos mais clássicos do uso de sessão seja um carrinho de compras, sem manter o estado, seria impossível armazenar múltiplos produtos para a compra de um usuário.
No entanto, sessões são voláteis. Quando um usuário sai do site, ou quando a sessão expira (session timeout), tudo o que você gravou em sessão se evapora (a menos que se use um State Server). Mais exatamente, um objeto Session permite armazenar informações que persistem entre diferentes requisições do mesmo usuário, mas não persiste entre sessões, porque são informações de memória.
No ASP.NET 1.x, se você deseja persistir informações que sobrevivem a várias sessões do mesmo usuário, pode considerar duas saídas: usar cookies persistente (que é um recurso limitado) ou criar um mecanismo de persistência próprio.
Imagine, por exemplo, que você precise criar um carrinho de compras onde os produtos não sejam descartados caso o usuário abandone o site e retorne no dia seguinte. O procedimento normal seria armazenar esses dados em um BD, ou seja, persisti-los. O fato é que você é responsável por criar esse mecanismo de persistência, você tem que escrever código extra.
Felizmente o ASP.NET 2.0 trouxe um novo e interessante artifício que veio para incrementar o arsenal de recursos relacionados ao gerenciamento de estado. Profiles permitem que informações para um usuário sejam persistidas e mantidas entre diferentes sessões do mesmo usuário. O ASP.NET se encarrega de ler e gravar os dados a partir de um meio de persistência, como o SQL Server.
Com Profiles podemos, por exemplo, armazenar preferências de um usuário para um determinado site ou portal. É muito comum atualmente WebSites guardarem preferências para seus usuários, como plano de fundo para as páginas, cores, exibição e posição de janelas, tudo isso pode ser feito com Profiles no ASP.NET 2.0.
Neste artigo, você aprenderá a trabalhar com o recurso de Profiles, através de exemplos práticos, comprovando como é simples utilizar esse novo mecanismo de persistência.

PING
Crie um aplicativo de PING para Smartphones
Recentemente tive a necessidade de verificar o status de alguns serviços e servidores que utilizo, e como possuo um Smartphone com Windows Mobile e não dispunha de ponto de acesso à internet em alguns lugares, resolvi desenvolver um aplicativo de PING para meu dispositivo.
Mas o que é PING? É um acrônimo para as palavras Packet Internet Groper e não é só isso, PING também é um substantivo adotado como nome pela marinha americana para descrever o ato da busca de objetos no mar pelos seus submarinos. Administradores de Rede usam muito esse aplicativo para checar disponibilidade de servidores, serviços, estações etc.
A resposta dos pacotes enviados a um Host/IP retorna basicamente o tamanho de bytes enviados para a requisição, tempo de resposta do Host/IP em milissegundos e TTL, que é o número de pontos (routing nodes) que o PING poderá passar antes de ser descartado.
O objetivo desse artigo é trabalharmos com o desenvolvimento de um aplicativo para Smarphones utilizando conexão com a internet, importação de API nativa do Windows e uso de XML para guardarmos informações do aplicativo.
Chat
Crie uma aplicação de chat com ASP.NET 2.0 – Parte 1
Neste artigo você verá como é fácil fazer um chat em ASP.NET sem usar nenhuma biblioteca adicional, apenas o .NET Framework. Para isso vamos usar um recurso chamado callback.
Callback é uma nova característica do ASP.NET 2.0 que permite receber valores do servidor Web sem renderizar novamente a página.

Vídeo-aula
Mobilidade com SmartPhones - Parte I.
Andrey Sanches
Descrição: Veja nesta vídeo aula como criar projetos mobiles com SmartPhone no Visual Studio 2005.
Duração: 55:41 min.
Autor: Andrey Sanches.
Info: Audio/Video
Vídeo-aula
Mobilidade com SmartPhones - Parte II.
Andrey Sanches
Descrição: Veja nesta vídeo aula como criar projetos mobiles com SmartPhone no Visual Studio 2005.
Duração: 15:29 min.
Autor: Andrey Sanches.
Info: Audio/Video
Vídeo-aula
Dispositivos Móveis e SmartClient.
Alexandre Tarifa
Tempo: 52:56
Mini resumo: Esta video aula mostra os dispositivos móveis disponíveis para criar aplicações. Apresenta também como criar aplicações SmartClient.
Tecnologias utilizadas: Visual Studio 2005.
Exemplos construídos: SmartClient.
Palavras chaves: smartClient, Mobile, Visual Studio 2005.

Vídeo-aula
Conectando Aplicativos JavaME com Servidores Remotos Utilizando HTTP - Parte 1
Robison Cris Brito
Tempo: 10'43'
Mini-Resumo: Conectando aplicativos JavaME com Servidores Remoto Utilizando HTTP é um conjunto de quatro video aulas em que apresentamos conceitos básicos de conectividade entre aparelhos celulares e servidores remotos. A primeira parte da vídeo aula apresenta o Generic Connection Framework e os protocolos de comunicação suportados por eles e então é iniciado o desenvolvimento de um aplicativo para celular que envia uma mensagem que será posteriormente processada pelo servidor.
Tecnologias utilizadas: MIDP 1.0 / CLDC 1.0, Netbeans 5.5, Mobility Pack 5.5, Apache Tomcat 5.0.28, Apache Tomcat 6.0.13
Exemplos Utilizados: EchoClient( JME). ServerServer(J2EE)
Palavras-chave: Netbeans, Mobility,Pack, J2ME, CLDC, MIDP, MIDlet, WTK, Wireless, Tool, Kit, J2EE, Servlet, Apache, Tomcat, Conectividade, HTTP, conexão, Cliente, Servidor,
Vídeo-aula
Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Parte 2
Robison Cris Brito
Tempo: 12'06'
Mini-Resumo: Nesta segunda parte da vídeo aula, o foco é dado no fluxo do aplicativo, os padrões de trocas de mensagem entre o aplicativo cliente (JavaME) e o servidor (JavaEE). Temos ainda a preparação do ambiente servidor composto pelo Apache Tomcat.
Tecnologias utilizadas: MIDP 1.0 / CLDC 1.0, Netbeans 5.5, Mobility Pack 5.5, Apache Tomcat 5.0.28, Apache Tomcat 6.0.13
Exemplos Utilizados: EchoClient(JavaME). ServerServer(J2EE)
Palavras-chave: Netbeans, Mobility Pack, J2ME, CLDC, MIDP, MIDlet, WTK, Wireless, Tool, Kit, J2EE, Servlet, Apache, Tomcat, Conectividade, HTTP, conexão, Cliente, Servidor .
Vídeo-aula
Conectando Aplicativos JavaME com Servidores Remoto Utilizando HTTP - Parte 3
Robison Cris Brito
Tempo: 10'29'
Mini-Resumo: Nesta vídeo aula, terceira parte sobre o uso de HTTP em aplicações JavaME, é desenvolvido o servlet servidor e tratada a requisição vinda do celular.
Tecnologias utilizadas: MIDP 1.0 / CLDC 1.0, Netbeans 5.5, Mobility Pack 5.5, Apache Tomcat 5.0.28, Apache Tomcat 6.0.13
Exemplos Utilizados: EchoClient( JME). ServerServer(J2EE)
Palavras-chave: Netbeans, Mobility,Pack, J2ME, CLDC, MIDP, MIDlet, WTK, Wireless, Tool, Kit, J2EE, Servlet, Apache, Tomcat, Conectividade, HTTP
Vídeo-aula
Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Parte 4
Robison Cris Brito
Tempo: 10'42'
Mini-Resumo: Nesta quarta parte desta vídeo aula é concluído o aplicativo cliente (JME) e testado o aplicativo.
Tecnologias utilizadas: MIDP 1.0 / CLDC 1.0, Netbeans 5.5, Mobility Pack 5.5, Apache Tomcat 5.0.28, Apache Tomcat 6.0.13
Exemplos Utilizados: EchoClient( JME). ServerServer(J2EE)
Palavras-chave: Netbeans, Mobility,Pack, J2ME, CLDC, MIDP, MIDlet, WTK, Wireless Tool Kit, J2EE, Servlet, Apache, Tomcat, Conectividade, HTTP
Vídeo-aula
Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Utilizando Servlets desenvolvidos no Netbeans- Parte 1
Robison Cris Brito
Tempo: 11'45'
Mini-Resumo: Nesse vídeo aula será apresentado o desenvolvimento de um servlet utilizando o editor visual do Netbeans 6.0. Após o desenvolvimento do servlet, o mesmo é acessado via emulador e verificado a transmissão de bytes utilizando a ferramenta network monitor, também são apresentadas técnicas de depuração em aplicativos celulares e servlets na IDE Netbeans. Feito isto, é feita a instalação do aplicativo war (servlet) em um servidor real e feito o acesso a esse aplicativo via aparelho celular.
Tecnologias utilizadas: MIDP 1.0 / CLDC 1.0, Netbeans 6.0, Mobility Pack 6.0, Apache Tomcat 5.0.28
Exemplos Utilizados: EchoClient( JME). EchoServer(J2EE)
Palavras-chave: Netbeans, Mobility,Pack, J2ME, CLDC, MIDP, MIDlet, WTK, Wireless, Tool, Kit, J2EE, Servlet, Apache, Tomcat, Conectividade, HTTP, conexão, Cliente, Servidor, network, monitor, debugação, instalação, servidor, war, remoto.
Vídeo-aula
Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Utilizando Servlets desenvolvidos no Netbeans- Parte 2
Robison Cris Brito
Tempo: 13'27''
Mini-Resumo: Nesta vídeo aula damos continuidade à discussão sobre o uso do Netbeans apoiando a construção de servlets no contexto de uma aplicação mobile.
Tecnologias utilizadas: MIDP 1.0 / CLDC 1.0, Netbeans 6.0, Mobility Pack 6.0, Apache Tomcat 5.0.28
Exemplos Utilizados: EchoClient( JME). EchoServer(J2EE)
Palavras-chave: Netbeans, Mobility Pack, J2ME, CLDC, MIDP, MIDlet, WTK, Wireless Tool Kit, J2EE, Servlet, Apache, Tomcat, Conectividade, HTTP, network monitor, depuração
Vídeo-aula
Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Fazendo Download de Arquivo Texto em Servidores Remotos - Parte 1
Robison Cris Brito
Tempo: 10'39'
Mini-Resumo: Nesse vídeo aula é apresentado o conceito de download de arquivos textos (.txt) localizados em servidores remotos. Foi utilizado um arquivo texto estático, mas é comum aplicativos servidores (servlets) gerarem arquivos textos de forma dinâmica que podem ser importados por outros aplicativos. Também foi apresentado o emulador de acesso a rede, o qual simula no computador a velocidade de uma rede real.
Tecnologias utilizadas: MIDP 2.0 / CLDC 1.0, Netbeans 6.0, Mobility Pack 6.0, Apache Tomcat 5.0.28
Exemplos Utilizados: ClientTxt( JME). ServerTxt(J2EE)
Palavras chave: Netbeans, Mobility Pack, J2ME, CLDC, MIDP, MIDlet, WTK, Wireless Tool Kit, J2EE, Servlet, Apache Tomcat, Conectividade, HTTP, conexão, Cliente, Servidor, emulador, download, txt.
Vídeo-aula
Conectando Aplicativos Java ME com Servidores Remotos Utilizando HTTP - Fazendo Download de Arquivo Texto em Servidores Remotos - Parte 2
Robison Cris Brito
Tempo: 10'40'
Mini-Resumo: Nessa vídeo aula damos continuidade à discussão sobre como efetuar o download de arquivos textos (.txt) localizados em servidores remotos.
Tecnologias utilizadas: MIDP 2.0 / CLDC 1.0, Netbeans 6.0, Mobility Pack 6.0, Apache Tomcat 5.0.28.
Exemplos Utilizados: ClientTxt( JME). ServerTxt(J2EE)
Palavras chave: Netbeans, Mobility Pack, J2ME, CLDC, MIDP, MIDlet, WTK, Wireless Tool Kit, J2EE, Servlet, Apache Tomcat, Conectividade, HTTP, Cliente, Servidor, emulador, rede, download, txt.