A Tecnologia de Java para a Indústria Wireless (JSR 185) & Arquitetura de Serviço Móvel (JSR 248) Grupo 7: Roger Larico Chavez Prof: José Mario De Martino ABRIL 2008 Índice 1 JTWI (JSR 185) ..................................................................................................................3 2 MSA (JSR 248) ...................................................................................................................4 3 REQUERIMENTOS JTWI E MSA..................................................................................6 Resumo de Especificação de JTWI .......................................................................................6 Especificações Obrigatórias:........................................................................................................... 6 Especificação condicionalmente Exigida:....................................................................................... 6 Configuração mínima na qual JTWI é construído: ......................................................................... 6 Requerimento da especificação MSA....................................................................................6 3.1 BENEFÍCIOS JTWI ............................................................................................................7 Interoperabilidade ................................................................................................................7 Clarificação de segurança....................................................................................................7 Manual ou guia Road map....................................................................................................7 4 ESPECIFICAÇÃO DA ARQUITETURA JTWI ............................................................8 4.1 ARQUITETURA DE TECNOLOGIA WIRELESS ......................................................................8 Componentes em software de telefones móveis ....................................................................8 Arquitetura de rede ......................................................................................................................... 8 Compatibilidade....................................................................................................................9 Versões de Perfis e Pacotes Opcionais.................................................................................9 Funcionalidade opcional dentro de APIs .............................................................................9 Produto tesado e Garantia..................................................................................................10 Recursos Recomendados.....................................................................................................10 Tamanho padrão da aplicação ...........................................................................................11 5 ESTRUTURA DE ESPECIFICAÇÃO MSA .................................................................12 Clarificações Adicionais. ....................................................................................................12 Exigências Adicionais.........................................................................................................12 Recomendações e Diretrizes. ..............................................................................................12 Manual ou guia Roadmap...................................................................................................12 5.1 COMPONENTES DO MSA (JSRS).....................................................................................13 Recomendações...................................................................................................................14 6 CONSIDERAÇÕES FINAIS DE MSA & JTWI ...........................................................16 7 REFERENCIAS................................................................................................................17 A Tecnologia de Java para a Indústria Wireless (JSR 185) & Arquitetura de Serviço Móvel (JSR 248) 1 JTWI (JSR 185) A Tecnologia de Java para a Indústria Wireless (JTWI) é uma especificação que define a plataforma padrão-industrial para a próxima geração de tecnologia Java para telefones móveis. A especificação JTWI é o resultado de um esforço de colaboração a nível industrial que consiste em uma rede de companhias no mundo. JTWI está definido pelo Java Community Process (JCP) como JSR 185 um grupo industrial especialista de dispositivo móveis, aparelhos sem fios e vendedores de software. Especifica as tecnologias que devem ser incluídas em todos os dispositivos para satisfazer ao JTWI- compliant, As companhias seguintes são as sócias do grupo JSR-185 que definiu a especificação JTWI: • • • • • • • • • • 4thPass Aplix Corporation JAMDAT Mobile Inc. Matsushita Motorola Nokia NTT DoCoMo, Inc. Orange Research In Motion, LTD • • • • • • • Siemens AG Sony Ericsson Mobile Communications AB Sprint PCS Sun Microsystems, Inc. Symbian, Ltd. T-Mobile AG Telefónica España International Móviles Samsung Electronics • Vodafone Group PLC Corporation O propósito desta especificação é associar as tecnologias de Java 2 Micro Edition (J2ME), Connected Limited Device Configuration (CLDC) e Mobile Information Device Profile (MIDP) para elas trabalhem e formem um ambiente Java completo e habilitado para o desenvolvimento de soluções de telefones móveis e outros dispositivos wireless. O objetivo da especificação JTWI é melhorar a compatibilidade, interoperabilidade, e perfeição da tecnologia J2ME (telefones móveis). A especificação JTWI minimiza a fragmentação dos API e aumentam a funcionalidade e assim as aplicações para telefones móveis. Esta especificação alcança estas metas de três modos: 1. Especifica um jogo comum de APIs requerendo o uso de várias especificações de componente como a Especificação de MIDP 2.0. 2. Especificações de componente, eliminando características opcionais e assim melhorando a compatibilidade. 3. Foram clarificados algumas das especificações de componente dentro desta especificação. 2 MSA (JSR 248) A comunidade Java ME esta desenvolvendo um ambiente Java padrão unificado para telefones móveis como parte da Tecnologia de Java para a Indústria Wireless (JTWI). A Iniciativa da Arquitetura de Serviço Móvel (MSA) é continuar o trabalho de introduzir dois JSRs novos para cobrir a gama inteira de tecnologias de plataforma que precisa a indústria móvel hoje. Para encaminhar o mercado se precisa de dispositivos potentes que suportem a plataforma de Java, a especificação JTWI (JSR 185) focalizou-se em dispositivos móveis com recursos e capacidades limitadas. Na especificação MSA (JSR 248) é uma definição da arquitetura Java que descreve os principais componentes do cliente (end-to-end) Java para ambientes moveis. Também esta especificação define um conjunto de tecnologias e mostra como essas tecnologias vão estar corretamente integradas no dispositivo móvel para assim criar um ótimo ambiente Java para estes dispositivos. Como uma especificação normativa, a Especificação MSA produz requerimentos de compatibilidade que são vistas no MSA TCK. Serviços e os provedores de conteúdo podem usar a Especificação de MSA como uma guia de desenvolvimento de aplicações e podem beneficiar-se de ter a melhor portabilidade entre diferentes implementações do MSA-compliant. O objetivo de design da Especificação de MSA primeiro é minimizar fragmentação em ambientes Java móveis, definindo uma aplicação previsível e altamente interoperável, e também um ambiente de serviço para os desenvolvedores. Para alcançar esta meta, esta especificação contém: dois conjuntos de componentes obrigatórios JSRs, clarificações adicionais, exigências adicionais e recomendações para desenvolvedores. A especificação guia aos desenvolvedores de plataforma no esforço de maximizar a interoperabilidade da implementação com outras implementações MSA- compliant e poder desenvolver aplicações com a certeza que essas aplicações trabalharão em variedade de dispositivos com MSA-compliant. A segunda meta para o MSA é habilitar seu uso em uma variedade de mercados e clientes diferentes. Isto é alcançado introduzindo duas definições MSA (MSA e Subconjunto de MSA), para a possibilidade de usar CDC como a configuração, e condicionalidade bem definida para características que podem não estar disponível em alguns dispositivos. A terceira meta MSA é assegurar nível mais alto de consistência na definição de MSA e o próximo MSA Advanced. A seleção do Grupo Especialista (EG) para JSR 248 e JSR 249 mostram que a meta é positiva. A Especificação de MSA é um resultado de um esforço focalizado administrado por um Grupo Especialista que representa a indústria wireless pelo mundo. Seguir são os sócios do MSA Grupo Especialista: • • • • • • • • • BEA Systems BenQ Cingular Wireless Motorola Nokia Corporation NTT DoCoMo Orange France SA Research In Motion Samsung • • • • • • Siemens Sony Ericsson Mobile Communications AB Sprint Sun Microsystems, Inc. T-Mobile International Vodafone Group Limited 3 Requerimentos JTWI e MSA JTWI: Esta especificação define três categorias de especificações: Configuração obrigatória e Condicional e Mínima (Mandatory Conditionally Required and Minimum Configuration). and Resumo de Especificação de JTWI Especificações Obrigatórias: MIDP 2.0 (JSR-118) WMA 1.1 (JSR-120) Especificação condicionalmente Exigida: MMAPI 1.1 (JSR-135) Configuração mínima na qual JTWI é construído: CLDC 1.0 (JSR-30) Requerimento da especificação MSA A especificação MAS esta baseada na Tecnologia de Java para a Indústria Wireless (JTWI Specification, JSR 185). Para assegurar ao máximo a compatibilidade os requerimentos do JTWI estão incluídos no MSA uma implementação obrigatória é necessária para cumprir esses requerimentos. Plataformas que queriam satisfazer a especificação A JSR-248 MSA devem suportar a seguintes APIs: JSR 139 (CLDC 1.1), JSR 118 (MIDP 2.1), JSR 75 (file & pim), JSR 82 (bluetooth), JSR 135 (MMAPI 1.1), JSR 184 (3D Graphics), JSR 205 (WMAPI 2.0), JSR 226 (2D Vector Graphics). Os opcionais são: JSR 172 (web services), JSR 177 (security and trust), JSR 179 (location), JSR 180 (SIP), JSR 211 (content handler), JSR 229 (payment), JSR 234 (multimedia supplements), JSR 238 (internationalization). 3.1 Benefícios JTWI Interoperabilidade A meta deste esforço é entregar um ambiente previsível para os desenvolvedores de aplicações, e um conjunto de capacidades para fabricantes de dispositivos. Ambos desses benefícios do padrão de JTWI são importantes para fabricantes de dispositivos com aplicações compatíveis, e o software do desenvolvedor pode funcionar em varias aplicações desses dispositivos. Clarificação de segurança A especificação JSR 185 apresenta para várias clarificações para aplicações desonestas (untrusted) com respeito à Política de Segurança Indicada para Dispositivos GSM/UMTS-complaint definidos na especificação MIDP 2.0 Manual ou guia Road map Uma característica fundamental da especificação de JTWI é o manual que se gera, um esboço de funcionalidade comum que o desenvolvedor de software podem revisar para saber que esperar dos dispositivos JTWIcompliant. Cada nove meses que descrevem a funcionalidade adicional consistente com a evolução de telefones móveis. O Manual permite planejar o futuro com mais confiança, traçar melhor a estratégia de desenvolvimento de aplicação, os fabricantes de dispositivo podem determinar melhor o produto, e o desenvolvedor podem ver um caminho mais claro para os esforços de desenvolvimento de aplicação. 4 Especificação da arquitetura JTWI 4.1 Arquitetura de Tecnologia Wireless As figuras embaixo mostram as relações do software e hardware dentro do Java runtime environment com os outros componentes no telefone móvel, e a relação do dispositivo wireless com a rede wireless e demais servidores. Componentes em software de telefones móveis A relação dos componentes de JTWI para outros componentes típicos na pilha de software são apresentados na Fig. 2.1. Figura 4.1 Componentes dentro de um telefono móvel. Arquitetura de rede O telefone móvel é o componente cliente da plataforma de serviços. A Na Fig. 2 se observa as relações entre o cliente, a rede wireless, a internet e os outros vários servidores que provêem a plataforma de serviços. Figura 4.2 Componentes de uma plataforma de serviço típica. Compatibilidade Para alcançar um desenvolvimento coerente e ama arquitetura consistente realizaremos um breve resumo das linhas gerais de compatibilidade na em uma configuração, um perfil e nos pacotes opcionais. Versões de Perfis e Pacotes Opcionais Em geral, todas as versões de uma configuração, perfil ou pacote opcional são para compatíveis (upward) com versões prévias. Cada implementação de JTWI deve cumprir certos requisitos: (MUST - Obligatorio) Tem que implementar a mais velha versão do API. (MAY - opcional) Pode implementar uma versão superior ou superset do mesmo API Por exemplo, CLDC 1.0 (JSR-30) e CLDC 1.1 (JSR-139) ambos podem ser usados para como a configuração para qual JTWI é implementado. CLDC 1.0 é a versão mínima permitida, mas, CLDC 1.1, é uma configuração compatível, também pode ser usado. Assim como o Audio Building Block definido para MIDP 2.0 é estritamente um subconjunto da especificação MMAPI Mobile Media API e o full MMAPI pode ser usado. Em todos os casos, podem ser utilizados o Technology Compatibility Kit (TCK) para testes e devem obrigatoriamente ser verificados. Funcionalidade opcional dentro de APIs Muitas especificações têm por necessidade incluir algumas especificações opcionais. Estes podem ser condicionais, implementaçãoopcionais ou em aberto (conditional, implementation-optional or open-ended.). Na visão dos desenvolvedores, integradores de sistemas, fabricantes e operadores, a cada opção incrementa a dificuldade de entender o que está disponível em um dispositivo particular. Geralmente, JTWI busca reduzir o número de opções. Apoiar aquela meta, JTWI pode promover funções particulares de possa, deva ou esteja opcional (may, should or optional). JTWI também pode aplicar exigências adicionais às configurações ou dos outros componentes. Produto tesado e Garantia A especificação JTWI é um componente crítico de assegurar portabilidade da aplicação e interoperabilidade. Cada especificação que é designada por esta especificação tem que ter (must) um TCK que é suficientemente rigoroso para assegurar que as várias implementações do API operem como o esperado pelo MIDlet suite e que outras funcionalidades do API trabalhem como o especificado. Uma implementação JTWI-compliant tem que passar o TCKs das pelas especificações JCP. Recursos Recomendados A especificação de JTWI coloca várias exigências em capacidades mínimas para processar programas e informação, por exemplo, especificando um tamanho mínimo suportado de um MIDlet suite. Esta especificação recomenda vários minimums de dispositivo para permitir que os desenvolvedores de aplicações possam escolher algum dispositivo apropriado, e fabricantes de dispositivos procurar sistemas apropriados também. Essas recomendações de dispositivo estão além das exigências mínimas especificadas no MIDP 2.0 especificação e se observam na Tab. 1. TABELA 1: RECURSOS MÍNIMOS RECOMENDADOS E OUTRAS CARACTERÍSTICAS Característica Recomendação Tamanho de tela Fullscreen 125x125pixel Cor: Display.numColors( ) 4096 cores (12 bit) Relação entre largura e altura 1:1 Memória volátil para Java 256 KB Tamanho padrão da aplicação Esta especificação também define o conceito do tamanho padrão de uma aplicação. Esta especificação tenta equilibrar as necessidades dos desenvolvedores e ao mesmo tempo ser padrão para o correto funcionamento dos dispositivos moveis e assim alcançar o maior número de clientes. Para a portabilidade entre dispositivos diferentes o desenvolvedor tem que assegurar que MIDlet suíte e seu MIDlets não usarem mais recursos do que informa a Tabela 2. Enquanto aplicações precisarão controlar fora de condições de memória, operação até estes limites deveria ser apoiada. Com a definição de aplicação de standardsize é possível determinar quantas aplicações de padrãotamanho podem ser instaladas em um dispositivo. TABELA 2: TAMANHO PADRÃO DAS APLICAÇÕES Característica Tamanho limite Tamanho do arquivo JAR 64 KB Descrição da aplicação 5 KB Dados do RMS 30 KB Antes de alocar no armazenamento de algum dispositivo se tem que cumprir esta especificação. O tamanho do JAR, descrição da aplicação e os dados no RMS somente terão uma instalação com sucesso se o MIDLET suíte esteja entre o limite de espaço requerido. O MIDIet-suite reservara um espaço para o correto funcionamento dele. O atributo é MIDlet-Data-Size, esse atributo especifica a quantidade mínima de espaço RMS que o MIDIet suite pode trabalhar como y quanto de espaço RMS permanentemente será reservado pelo MIDIet suite na instalação. Nada impede que este valor seja superior ao calculado (responsabilidade do desenvolvedor) , mas, recomenda-se que seja o mínimo possível. 5 Estrutura de especificação MSA A Especificação de MSA consiste no seguinte elementos lógicos principais: o Componente Obrigatório e Condicionalmente Obrigatório JSRs. A Especificação de MSA descreve os componentes cliente essenciais de um endto-end. Define conjuntos de componente JSRs: MSA e Subconjunto de MSA. Subconjunto de MSA é um próprio subconjunto de componente de MSA JSRs, enquanto provendo compatibilidade dianteira para aplicações escrito para Subconjunto de MSA. Clarificações Adicionais. Melhorar previsibilidade e interoperabilidade. Uma descrição de cada componente que JSR é acompanhado através de clarificações adicionais. O propósito é remover possíveis problemas como a interpretação de componente JSRs e minimizar opcionalmente sempre que é possível. Exigências Adicionais. Estas são exigências relacionadas a JTWI, segurança, formatos, etc. Exigências adicionais proporcionam aos desenvolvedores mais exigências e por conseguinte melhoram a compatibilidade, interoperabilidade, e previsibilidade de MSA compliant. Recomendações e Diretrizes. Estas são sugestões são para o desenvolvedor e os implementers utilizem esta especificação para escrever aplicações em plataforma MSA e criar um ótimo MSA-complaint. Manual ou guia Roadmap O Roadmap de MSA descreve a visão futura da plataforma Java móvel. O documento de Roadmap contém propostas tentativas para que o conteúdo esteja sincronizado com versões futuras de especificações de MSA. 5.1 Componentes do MSA (JSRs) Esta especificação define duas plataformas: MSA e Subconjunto de MSA: (para CLDC) Fig. 5.1: MSA e Subconjunto de MSA. Uma implementação compliant tem que satisfazer às exigências para MSA ou Subconjunto de MSA: 1. Implemente todo componente JSR como especificado na Tabela de especificações do MSA e o Subconjunto MSA JSR 248 v1 1.0 pp. 20-22. 2. Obedeça todas as exigências adicionais por componente JSR como especificado nas Clarificações desta especificação. Assim como as exigências adicionais. Alguns componentes JSRs e pacotes opcionais são condicionalmente obrigatórios. Isto significa que em uma implementação o MSA compliant tem que implementar estes componentes JSRs condicionais. Para obter mais detalhes de cada especificação JSR referidos ao MSA utilizar as seguintes referencias: MSA JSR 248 v1, e cada JSR esta detalhado no site do grupo http://jcp.org/en/jsr/ (ver Referencias e o Anexo). Recomendações A especificação inclui APIs obrigatórias opcionais. Mesmo que os APIs obrigatórios não estejam em alguns dispositivos, isto não significa que as aplicações não tenham a opção de executar a aplicação sem utilizar essa característica. A idéia básica é mostrada na seguinte figura. Aqui se isola as classes de funcionamento exclusivo donde algum API seja obrigatório condicional. E assim poder executar o Midlet sem problemas que não sejam criados pela ausência de algum API. Exemplo de como utilizar as guias desta especificação: (bluetooth) 6 Considerações finais de MSA & JTWI Arquitetura do Serviço móvel (MSA) referido como JSR 248 é quem cuida a definição de todos os JSRs para ter uma implementação MSA- complaint ou seja uma implementação satisfatória de uma arquitetura wireless. MSA é a geração atual do JTWI que define muitos JSRs, inclusive MIDP 2.1, como parte desta definição. MSA pode ser visto como um passo evolutivo de JTWI, com um comum denominador de solidificar os conjuntos de características dos telefones móveis e assim essas características ficarem mais previsíveis. Os JSR que correspondem ao MSA é a evolução do JTWI e o subconjunto MAS que é obrigatório se espera que seja suportado pelo telefones moveis. Perceber-se que os gráficos 3D são um pulo grande em si mesmo, mais assim também Localização e os serviços Web, todo voltado para contribuírem a melhora de aplicações da telefonia móvel. O JSR 185 reduzio a fragmanetacao, onde é necesario o MIDP 2.0, CLDC 1.0/1.1 e o MMAPI 1.1 (ver Figura 4.1). Fig. 6.1: JTWI –JSR 185 O MSA evolui do JTWI com mais recursos. Mas também pensa no futuro JSR 249 que fornece mais flexibilidade com o denominado MSAAdvanced, que contem um gerenciado operacional móvel JSR 232 (OSGi) e melhor tratamento do perfil Profile. 7 Referencias Java Specification JSR 185: JavaTM Technology for the Wireless Industry, http://jcp.org/aboutJava/communityprocess/final/jsr185 Java Specification JSR 248: Mobile Service Architecture, http://jcp.org/aboutJava/communityprocess/final/jsr248 Java Specification JSR 238: Mobile Internationalization API, http://jcp.org/aboutJava/communityprocess/final/jsr238/index.html Java Specification JSR 234: Advanced Multimedia Supplements, http://jcp.org/aboutJava/communityprocess/final/jsr234/index.html Java Specification JSR 211: Content Handler API, http://jcp.org/aboutJava/communityprocess/final/jsr211/index.html Java Specification JSR 180: SIP API for J2METM, http://jcp.org/aboutJava/communityprocess/mrel/jsr180/index2.html Java Specification JSR 179: Location API for J2METM, http://jcp.org/aboutJava/communityprocess/final/jsr179/index.html Java Specification JSR 177: Security and Trust Services API for J2METM, http://jcp.org/aboutJava/communityprocess/final/jsr177/index.html Java Specification JSR 172: J2METM Web Services Specification, http://jcp.org/aboutJava/communityprocess/final/jsr172/index.html Java Specification JSR 226: Scalable 2D Vector Graphics API for J2METM, http://jcp.org/aboutJava/communityprocess/final/jsr226/index.html Java Specification JSR 205: Wireless Messaging API 2.0, http://jcp.org/aboutJava/communityprocess/final/jsr205/index.html Java Specification JSR 184: Mobile 3D Graphics API for J2METM, http://jcp.org/aboutJava/communityprocess/mrel/jsr184/index.html Java Specification JSR 135: Mobile Media API, http://jcp.org/aboutJava/communityprocess/mrel/jsr135/index.html Java Specification JSR 118: Mobile Information Device Profile 2.0, http://jcp.org/aboutJava/communityprocess/mrel/jsr118/index.html Java Specification JSR 120: Wireless Messaging API, http://jcp.org/aboutJava/communityprocess/final/jsr120/index2.html Java Specification JSR 135: Mobile Media API, http://jcp.org/aboutJava/communityprocess/mrel/jsr135/index.html Java Specification JSR 30: J2METM Connected, Limited Device Configuration, http://jcp.org/aboutJava/communityprocess/final/jsr030/index.html http://java.sun.com/javame/reference/docs/msa_datasheet.pdf Anexo