Aplicações Java em Sim Cards Este tutorial apresenta as características e formas de uso de Aplicações Java a partir dos Sim Cards instalados nos terminais celulares de tecnologia GSM. Flávia Schreiber Administradora de Empresas com Habilitação em Comércio Exterior tendo atuado no mercado de componentes eletrônicos na Siemens e em empresas do grupo como, Icotron e Infineon Technologies, e recentemente Smart Cards, especialmente SIM Cards, na DARUMA ORGA Card Systems S.A. como Gerente de Vendas. Email: [email protected] Categoria: Telefonia Celular Nível: Introdutório Enfoque: Técnico Duração: 20 minutos Publicado em: 23/05/2005 1 Aplicações Java: Porquê VAS A comunicação de Voz proporcionada pelos serviços públicos de telefonia fixa (STFC) e móvel (SMP) é a principal fonte de receita das concessionárias de serviços de telecomunicações. Entretanto, este tipo de serviço tem sido cada vez mais transformado em "commodity" tanto no mercado corporativo como no mercado residencial. Com a crescente demanda por mobilidade e acesso a diversos tipos de informações de forma rápida no mundo atual, novas oportunidades de negócios surgem principalmente para as operadoras de serviços de telefonia celular. Esses novos tipos de serviços, que proporcionam o acesso a diferentes informações, recebendo e enviando dados, têm sido chamados de Value Added Services (VAS), ou em português, Serviços de Valor Adicionado. Embora também presentes em menor escala no mercado de telefonia fixa, os serviços VAS têm sido mais utilizados no mercado de telefonia celular, cuja mobilidade e capacidade computacional proporcionada pelo terminal, permitem atender às necessidades de seus usuários de forma mais ampla e criativa. Os VAS introduzem multi-funcionalidade no mercado de telefonia celular, tornando-se instrumentos que permitem às operadoras obterem as seguintes vantagens: Aumentar o air time, ou seja, o tempo de uso de sua rede. Oferecer serviços novos e adicionais. Diferenciar-se de outras operadoras. Cobrar por esses serviços adicionais. Aumentar a fidelização dos seus clientes. Reduzir o churn, ou seja a evasão de clientes para outras operadoras. O objetivo deste tutorial é apresentar uma solução de implementação de VAS usando o SIM Card presente nos terminais de telefonia celular utilizados nas redes de tecnologia GSM. 2 Aplicações Java: Fatores de Sucesso em VAS Embora o mercado de telefonia celular seja favorável para o lançamento de serviços VAS, alguns cuidados devem ser tomados para garantir que os assinantes irão de fato utilizá-los. Durante a fase de especificação e desenvolvimento de uma aplicação para um serviço VAS, os fatores de sucesso detalhados a seguir devem ser considerados com profundidade, de forma a nortearem o lançamento desse serviço: Facilidade de Aprendizado Um serviço VAS deve ser fácil de ser aprendido por todos os tipos de usuários. Serviços complexos exigem usuários mais avançados, porém estes normalmente são uma pequena parcela da base de assinantes de uma operadora. Uso Eficiente Um serviço VAS deve proporcionar um benefício ao usuário, ou seja, ao utilizá-lo ele deve perceber que usufruiu do serviço e obteve o resultado esperado. Oferecer um serviço apenas para aumentar o portfólio, sem entregar nenhum benefício perceptível pode até denegrir a imagem da operadora. Facilidade de Memorização Um serviço VAS deve ser fácil de ser lembrado, pela sua simplicidade de uso ou pelo benefício que traz ao usuário, senão por ambos. Ele deve ser sempre uma das opções que o usuário lembre ao realizar as suas atividades cotidianas. A Prova de Erros Um serviço VAS, além de ser fácil de aprender, deve também ser à prova de erros, tanto quanto possível. Se o seu uso induz o usuário a erros freqüentes, a probabilidade de insucesso do serviço cresce exponencialmente. Interface intuitiva é a palavra de ordem para um serviço VAS. Uso Agradável Um serviço VAS, além de ser eficiente, deve também proporcionar ao usuário um momento agradável. Uma interface bem desenvolvida, com textos claros e bem posicionados, e conteúdos bem apresentados, tornam o uso desses serviços uma experiência interessante para o usuário. Tarifação Adequada Um serviço VAS deve apresentar uma tarifa que leve o usuário a uma noção de valor condizente com o benefício obtido. Tarifas excessivas, que levem os usuários a pensar que o "serviço de valor adicionado" sempre será muito mais caro que o serviço de VOZ, podem inibir o uso desses serviços de forma generalizada junto à base de assinantes. Conclusão 3 O sucesso do "Mobile Business" está na mobilidade e personalização dos serviços VAS, oferecendo aos usuários benefícios que levem à fidelização e que diferenciem a operadora nesse mercado. Este é um desafio também para provedores de conteúdo, que devem ser criativos para desenvolver o conteúdo e atender às expectativas dos usuários, sempre levando em consideração a segmentação da base de clientes do mercado. 4 Aplicações Java: Aplicações As aplicações dos serviços VAS que são oferecidos aos clientes das operadoras de telefonia celular com tecnologia GSM têm, basicamente, a seguinte arquitetura: Como pode ser observado, as mensagens SMS proporcionam o mecanismo de transporte das informações na rede GSM da operadora. O conteúdo do serviço VAS existente no servidor de aplicações é integrado à plataforma de SMS da operadora, e normalmente é fornecido por parceiros especializados no desenvolvimento de conteúdos. Para o usuário dos serviços VAS, o acesso é feito através da visualização de um menu de serviços no display do terminal celular. Selecionado o serviço, inicia-se uma troca de mensagens SMS entre o terminal e o servidor de aplicações, até que o conteúdo selecionado seja apresentado no display do celular. Características As aplicações dos serviços VAS têm as seguintes características: Falta de Padronização: as aplicações não possuem atualmente nenhuma padronização, mesmo quando os serviços são semelhantes (acesso a banco, por exemplo), e são totalmente dependentes da implementação feita pelo desenvolvedor de conteúdos. Aplicações Menu Driven: o acesso às diversas funcionalidades de cada aplicação é feita através de menus e sub-menus apresentados no display do celular. SIM Card: apesar do menu ser visualizado no display do celular, seu conteúdo é armazenado no SIM Card, juntamente com a parte residente no celular da aplicação selecionada. A figura a seguir apresenta um exemplo de acesso a um serviço de acesso a Banco, e a seqüência inicial de menus e sub-menus: 5 Exemplos A figura a seguir apresenta alguns exemplos de aplicações de serviços VAS já desenvolvidos pelas diversas operadoras e desenvolvedores de aplicação: Implementação Como todo projeto de implementação, uma aplicação para um serviço VAS deve cumprir as seguintes Etapas de Implementação: Definição da aplicação; Desenvolvimento técnico da aplicação; Testes e aprovação da aplicação; Implementação no SIM Card; Implementação na rede; Integração com provedores de conteúdo. A implementação da aplicação no SIM Card é feita de acordo com as suas características. Algumas dessas características são: 6 Não existe padronização para o sistema operacional dos SIM cards, ou seja, cada fabricante detém o seu próprio sistema operacional proprietário. A execução de aplicações SAT é diferente para cada fornecedor de SIM card. Softwares Interpretadores poderiam "traduzir" aplicações para plataformas de sistemas operacionais de outros fornecedores de SIM card. Essas característica proprietárias dos SIM cards podem causar impactos no custo dos projetos de implementação de serviços, uma vez que torna necessário o desenvolvimento de diversas versões de aplicações, uma para cada fornecedor. Entretanto, o uso de aplicações JAVA tem proporcionado uma novo ambiente de desenvolvimento, como apresentado a seguir. Aplicações Java O uso da linguagem JAVA para o desenvolvimento de aplicações em SIM cards, a exemplo de outras plataformas de maior capacidade computacional, tem sido amplamente adotado pela sua portabilidade. Algumas características da implementação do ambiente JAVA em SIM cards são apresentadas a seguir: as aplicações são plenamente interoperáveis - "write once, run everywhere"; cada fabricante de SIM card implementa sua própria" Java Virtual machine" como interface para o seu sistema operacional proprietário; requer mais memória no SIM Card e aparelho celular. 7 Aplicações Java: Java Conceito A tecnologia Java CardT abre um novo caminho para o desenvolvimento de aplicações para SIM cards. Seu uso tem sido amplamente divulgado, com comentários como o apresentado a seguir: "A tecnologia Java Card™ provê uma plataforma para smart cards (e outros dispositivos) segura e independente de fabricante. Abre o mercado aos desenvolvedores de aplicações, possibilitando aos programadores desenvolver uma variedade de aplicações para smart cards." O uso dessa tecnologia apresenta as seguintes vantagens descritas a seguir. Compatibilidade A tecnologiaJava CardT provê compatibilidade com os seguintes órgãos normativos: ISO/IEC, atendendo às recomendações 7816 - Identification cards -- Integrated circuit(s) cards with contacts; ETSI, atendendo às recomendações: GSM TS 11.11 - Specification of the Subscriber Identity Module - Mobile Equipment (SIM ME) interface GSM TS 03.19 - Subscriber Identify Module Application Programming Interface (SIM API); SIM API for Java Card; Stage 2 GSM TS 03.48 Security Mechanisms for the SIM application toolkit EMV, atendendo à recomendação EMV 96 Integrated Circuit Card (ICC) Specifications for Payments; GlobalPlatform, atendendo à recomendação Open Platform Card Specification. Portabilidade A tecnologiaJava CardT provê independência de plataforma de hardware. 8 Multi-funcionalidade A aderência á recomendação da EMV e à estrutura inerente da tecnologia Java permite a adoção de multifuncionalidades num mesmo cartão. Algumas das facilidades da tecnologia que permitem essa multi-funcionalidade são: Mecanismo firewall do Java CardT assegura que as aplicações não tenham acesso umas às outras, exceto com explícita permissão. Como as aplicações podem ser carregadas no cartão seguramente após a emissão, a funcionalidade da aplicação pode sofrer upgrades continuamente através de novas aplicações ou atualizações pós-emissão, possuindo-se o mesmo cartão. Segurança Segurança é a principal vantagem dessa tecnologia. As principais características de segurança do Java CardT asseguram que: O nível de acesso aos "métodos e variáveis" é estritamente controlado. Ponteiros não podem ser forjados a terem acesso à memória. As aplicações são separadas por firewall. Gerenciamento de Memória O mercado de telecomunicações demanda: Flexibilidade na disponibilização de aplicações. 9 Customizações, set-up de aplicações específico do usuário. Provisão de aplicações temporárias (ex. eventos esportivos, publicidade, etc.). Possibilidade de corresponder aos interesses individuais, ou seja, possibilitar ao usuário criar seu próprio portfólio de aplicações, já que somente com usuários utilizando aplicações é que se gera a receita adicional. Com base nessas demandas, o gerenciamento de memória do SIM card se torna um elemento extremamente importante na implementação de aplicações. O gerenciamento de memória ocorre através das seguintes facilidades: alocação dinâmica de memória, "garbage collection" e defragmentação. Essas facilidades são descritas a seguir. Alocação Dinâmica de Memória A alocação dinâmica de memória permite que: Aplicações funcionem independentemente de sua localização física. As aplicações podem ser movidas na memória EEPROM sem sofrer qualquer impacto na funcionalidade. Acesso à aplicação independa da localização física do seu arquivo. Os arquivos podem ser localizados em qualquer espaço da memória EEPROM. Toda memória livre seja vista como recurso comum. Arquivos podem ser extendidos e/ou divididos, podendo suas partes (Java objects) serem alocadas em qualquer espaço livre da memória. Garbage Collection Esse processo deixa memória livre para re-utilização, ou seja, a memória que não está mais sendo utilizada nem pelo sistema operacional do cartão nem pelas aplicações é liberada. O processo tem a seguinte ação: Após a remoção de uma aplicação, todos os componentes são removidos e a memória é liberada e limpa para re-utilização, não ocupando espaço desnecessariamente. Se o carregamento de uma aplicação não pôde ser terminado por completo, o processo assegura que a área de memória utilizada para armazenar os fragmentos daquela aplicação seja liberada. Defragmentação Fragmentação significa que vários blocos de memória livre estão disponíveis, porém não em um bloco contínuo. A fragmentação é causado por: Carregamento e remoção de aplicações de tamanho diversos. Criação e remoção de vários arquivos ("applet objects") na memória EEPROM. A Defragmentação de memória é o estabelecimento de uma nova disposição dos vários blocos de memória livre de tal forma este representem um único bloco contínuo. Portanto, o objetivo da defragmentação é facilitar o carregamento de novas aplicações em blocos contíguos de memória. 10 Aplicações Java: Considerações Finais Pode-se afirmar que os serviços VAS tendem a serem implementados em aplicações JAVA, como solução para a convivência da grande variedade de oferta de serviços com a segmentação da base de clientes, possibilitando que os usuários "degustem" estes serviços, decidam por manter alguns deles e simplesmente abandonar outros serviços que não sejam tão importantes e que ocupariam espaços preciosos da memória do SIM Card. Os Serviços de Valor Adicionado serão o principal diferencial entre empresas líderes de mercado e segundos operadores, estes com lucratividade duvidosa. Num mundo repleto de novas tecnologias, será bastante interessante observar com os operadores, os desenvolvedores de conteúdos e os fornecedores de terminais celulares conseguirão continuar envolvendo continuamente os usuários para que estes busquem mais e mais serviços a partir desse objeto de desejo que já fez com que não se possa mais "viver" sem a sua "preciosa" companhia. 11 Aplicações Java: Teste seu Entendimento 1. Qual alternativa representa uma vantagem que as operadoras obtém com os Serviços de Valor Adicionado (VAS)? Aumentar o air time, ou seja, o tempo de uso de sua rede. Aumentar a fidelização dos seus clientes. Reduzir o churn. Diferenciar-se de outras operadoras. Todas as anteriores. 2. Qual alternativa representa um fator de sucesso em VAS? Uso Eficiente. Facilidade de Aprendizado. Tarifação Adequada. Uso Agradável. Todas as anteriores. 3. Qual alternativa não representa uma característica do uso de uma aplicação JAVA? Cada fabricante de SIM card implementa sua própria" Java Virtual Machine" como interface para o seu sistema operacional proprietário. Requer mais memória no SIM Card e aparelho celular. Não usa uma plataforma aberta. As aplicações são plenamente interoperáveis - "write once, run everywhere". 12