Infra - Mobile Information Server
Saiba porquê desenvolver aplicações para telefones celulares com .NET
Neste artigo, vou abordar alguns aspectos que fará você pensar porque ainda não desenvolveu alguma aplicação para estes aparelhos (devices).
por Renato HaddadNeste artigo, vou abordar alguns aspectos que fará você pensar porque ainda não desenvolveu alguma aplicação para estes aparelhos (devices).
- Conectividade / Arquitetura
Todo aparelho de telefone celular, independente da tecnologia, está ligado a uma operadora, portanto, toda solicitação passa pela operadora, mesmo porque ela precisa cobrar pelo serviço de transmissão de voz, dados ou imagens. O fato é que você terá que estar conectado o tempo todo. Vamos a um exemplo: imagine que a sua empresa tem uma página ASP.NET Mobile no servidor da empresa que roda com Framework e o Internet Information Server (IIS). Quando o usuário, através do celular, solicita esta página, ele provoca um http Request no servidor. Neste caminho, a informação passa pela operadora que desvia para o endereço (URL) solicitado. Em seguida, após a página ASP.NET ser processada no servidor, é montado um http Response que retorna para a operadora, que por sua vez, envia para celular que solicitou a página. Na verdade, a operadora faz o papel de um Gateway entre o celular e o servidor. Como o telefone celular suporta WML 1.0 ou WML 2.0 (XHTML), então, o Framework monta o WML que o device suporta e envia via http um WAP Response. Consulte este link para ver uma apresentação animada da arquitetura http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6.
Para quem conhece a estrutura do ASP.NET é a mesma coisa, só que tem a operadora de telefonia no meio fazendo o Gateway. Atualmente, temos no Brasil algumas tecnologias de transmissão, mas a que vem ganhando muito espaço é o GSM, pelas vantagens de velocidade e forma de cobrança. Você não paga por impulso, e sim, por pacote, ou seja, pela quantidade de dados transmitidos na rede.
- Ferramentas
Este é sem dúvida o melhor ponto para convencê-los a desenvolver aplicações para celulares. A única ferramenta que você precisa é o Visual Studio .NET 2003. Caso tenha o VS.NET 2002, você precisará instalar o Microsoft Mobile Internet Toolkit (MMIT), que é um SDK que pode ser conseguido no link http://www.asp.net/download.aspx?tabindex=5.
Com o VS.NET 2003, você pode criar uma aplicação do tipo ASP.NET Mobile Application contendo todos os controles disponíveis na Toolbox. Com o VS.NET 2003 você cria os Web Services, componentes de negócios, acesso a banco de dados, e por fim, pode fazer o Deployment da aplicação com apenas um toque.
- Linguagens
Todo telefone celular que suporta WAP tem um microbrowser instalado que aceita o WML (Wireless Markup Language), que é a linguagem de marcação para celulares, assim como HTML é para um navegador. A linguagem que você irá utilizar pode ser o Visual Basic .NET ou o Visual C#. Então, todo o conhecimento que dispõe destas linguagens são aproveitados, diminuindo a curva de aprendizado. Você não precisa saber absolutamente nada de WML, apenas VB.NET ou C#. Isso se deve porque as páginas serão armazenadas no servidor que contém o Framework e o IIS. Quando uma página é solicitada, cabe ao Framework processar e montar o WML que o celular suporta, dependendo do fabricante.
Outro aspecto em relação a microbrowser, é que você pode invocar uma página através de um browser Internet Explorer, onde será gerado um HTML, ou até de um Pocket PC, onde será gerado um CHTML. Por falar em Pocket PC, imagine juntar todos os recursos de um telefone celular com os recursos de um Pocket PC. Isso é o que oferece o Partner da Gradiente que opera com GSM e GPRS. Você está 24 horas ligado na WEB e basta a sua operadora oferecer comunicação via GSM. O interessante é que ele tem o sistema operacional Windows Mobile em português. Com isso, basta abrir o Internet Explorer e solicitar via URL a sua página criada para telefone celular. Cabe ressaltar que este browser suporta HTML, CHTML, XHTML (WML 2.0), JavaScript 5.5 e CSS.
Isso é fantástico em relação ao reaproveitamento de código, porque você pode ter uma rotina, classe ou componente que foi desenvolvido para o .NET e usá-lo na sua aplicação. Eu posso desenvolver um componente em VB.NET e você criar uma página ASP.NET Mobile em C# que consome o meu componente em VB.NET sem nenhum problema, isso é transparente para o Framework.
Resumindo, use a linguagem para o .NET que você conhece e deixe o Framework se virar com o WML ou CHTML.
- Agregar valores às aplicações
Dificilmente você irá desenvolver uma aplicação para rodar apenas em celulares. Normalmente, uma aplicação ASP.NET ou Windows pode e deve ser integrada ao celular, basta analisar as funcionalidades para descobrir onde e como o celular pode facilitar o acesso as informações. O próprio serviço de SMS (Short Message Service), onde você pode receber mensagens no celular, é uma funcionalidade a ser explorada na sua aplicação. Para isso, requer que a operadora abra as portas a você para se comunicar com a plataforma de SMS, essa que é guardada a sete chaves.
Estas funcionalidades podem ir desde a aprovação de um pedido de compra, informações sobre dados de um paciente na UTI até a consulta de estoque de um determinado produto.
Com o advento deste tipo de aplicação no VS.NET, é possível agregar um valor diferenciado na sua aplicação na hora de convencer um cliente a comprá-la. E para quem desenvolve, não existe muito trabalho, basta planejar a aplicação de forma a aproveitar as camadas escritas tanto para o ASP.NET Web, ASP.NET Mobile, Windows App ou Console App. Quem só tem a ganhar com isso é o cliente.
- Acesso a qualquer hora e lugar
Isso é o que todo mundo quer, informações na palma da mão a qualquer hora e lugar o mais rápido possível. Atualmente a área de cobertura dos celulares tem se expandido, permitindo ter um bom sinal nas mais diversas regiões do país. O preço que se paga para isso é de acordo com a necessidade da informação. Imagine que um operador de bolsa de valores que está em deslocamento do escritório até o cliente, não deixará de comprar ou vender ações só porque não está conectado a um computador. Para isso, ele tem o celular que tem acesso a aplicação ASP.NET no servidor da empresa que permite operar na bolsa estando em qualquer lugar.
- Consumo de Web Services
O uso de Web Services vem se tornando uma prática saudável nas empresas que precisam disponibilizar dados através da WEB. Isso significa dizer que você pode desenvolver uma aplicação que consome um Web Service próprio ou de terceiro. O mesmo Web Service pode ser consumido em demais aplicações de qualquer tipo, desde que tenha acesso via http. Quando um Web Service é solicitado, é gerado um arquivo XML que é empacotado com o SOAP (Simple Object Access Protocol) e transmitido via http. Sendo assim, o celular se comunica com a aplicação no servidor, e quem consome o Web Service é a sua aplicação. Isso tudo é transparente para o usuário, o qual irá apenas enxergar os dados na Interface que você criou. Mais uma vez, para consumir um Web Service, você também não precisa saber nada de WML, pois após montar a página no servidor, o Framework monta o WML e envia para o celular.
- Desenvolvimento em camadas
O desenvolvimento em camadas vem se tornando uma excelente prática na plataforma .NET. Isso ocorre pelo fato da integração de aplicações de diversos tipos, linguagens e funcionalidades. No mundo móvel, a camada de Interface é um tanto restrita em função dos controles existentes. Se a aplicação já tiver as camadas de banco de dados e negócio, podem ser aproveitadas, dispensando a necessidade de criar especificamente para um celular. Em relação a Interface e as demais camadas, vale lembrar que a linguagem utilizada (C# ou VB.NET) é completamente transparente, ou seja, você pode ter a Interface em C# e uma camada em VB.NET que será consumida sem nenhum trauma. Já a camada de banco de dados, por exemplo, o SQL Server, você pode invocar qualquer tipo de objeto, como Query, Stored Procedures, Tables ou Functions.
- Acesso a Banco de Dados
Você já pensou em consultar o estoque de um determinado produto através do celular? Ou ainda, operar um m-commerce (mobile-commerce) onde é possível fazer compras estando em deslocamento? Quer outra funcionalidade, imagine que você vai viajar e quer fazer o check-in no aeroporto enquanto estaciona o carro? Além disso, quando descer do avião, já aluga um carro e pesquisa um bom hotel na cidade. Tudo isso, através do celular. Para acessar um banco de dados, basta você pensar que a aplicação está em um servidor que tem o acesso as tabelas, ou seja, a aplicação é que se encarrega de buscar as informações onde estiverem, seja no SQL Server, Oracle, MS-Access, arquivos XML, arquivos textos, etc, não importa a fonte. Alguns recursos de DataSet e todos de DataTable você tem disponível no celular, não no device, e sim no servidor.
- Sistema Operacional (Windows Mobile) Smartphone / PhoneEdition
A Microsoft lançou o Windows Mobile, que é um novo sistema operacional para dispositivos móveis que pode ser utilizado em Pocket PC, telefones celulares, relógios, SmartPhone (Pocket PC com funcionalidades de celular), PhoneEdition (Celular com funcionalidade de Pocket PC). Os recursos encontrados no Windows também constam do Windows Mobile, por exemplo, a Interface com o usuário, a agenda de compromissos, contatos, Internet Explorer, é possível ler, enviar e sincronizar e-mails com o Outlook, enfim, tem as funcionalidades que você já conhece no Windows. Neste sistema operacional já vem o .NET Compact Framework instalado da ROM do device, ou seja, você pode criar uma aplicação para ser executada sob o Framework.
- Emuladores
Quando você está desenvolvendo uma aplicação, não será preciso executá-la no celular. O que você pode fazer é baixar os emuladores existentes no mercado, sendo que nos sites dos fabricantes é possível conseguir isso facilmente. Consulte a página http://www.asp.net/mobile/DeviceSimulators.aspx?tabindex=6 para ver os emuladores. A página http://msdn.microsoft.com/vstudio/device/mobilecontrols/devices.aspx exibe uma relação de devices que aceitam esta tecnologia.
Finalizando, esteja pronto para integrar as aplicações no mundo móvel. Adicione funcionalidades as aplicações e facilite o acesso as informações a qualquer hora e lugar. Bem vindos ao mundo móvel. "No stress, think .NET".
Referências:
· http://www.asp.net
· http://www.gotdotnet.com
· http://www.codeproject.com
· http://www.linhadecodigo.com.br
· http://smartdevices.microsoftdev.com
- Android NDK: Desmistificando o acesso a códigos nativos em CMobile (MS)
- Pocket + Celular = SmartPhoneMobile Information Server
- Mobilidade e Dispositivos MoveisMobile Information Server
- Fundamentos dos Servidores Corporativos .NETCommerce Server