quinta-feira, 17 de janeiro de 2008

Especificações OMA (Open Mobile Alliance)

OMA (Open Mobile Alliance) é uma organização criada em junho de 2002 focada em especificação e definição de padrões abertos para dispositivos móveis. Ela nasceu de uma iniciativa de alguns fóruns (Wireless Village Forum, WAP Forum, Location Interoperability Forum, Mobile Games Forum e Mobile Wireless Internet Forum) que discutem sobre temas relacionados a mobilidade. Nestas discussões são criadas soluções e especificações que muitas vezes representavam esforços repetidos. Assim nasceu a OMA que tem por objetivo centralizar todas as especificações padrões das arquiteturas para dispositivos móveis discutidas nos fóruns associados e também os fornecidos pelas empresas associadas, que compreendem grandes empresas do mercado de dispositivos móveis.

A maior contribuição desta organização é o número de especificações desenvolvidas em conjunto com seus parceiros, as quais endereçam grande parte dos problemas encontrados nos desenvolvimentos de dispositivos móveis. Estas especificações muitas vezes apresentam o problema e as possíveis alternativas sem determinar a solução, apesar de mostrarem o estado da arte, as técnicas existentes e o direcionamento dos estudos. A lista de especificações para dispositivos móveis é bastante ampla, como demonstrado abaixo:

  • Billing Framework
  • Browsing
  • Browser Protocol Stack
  • Charging
  • Client Provisioning
  • Client Side Content Screening Framework
  • Data Synchronization
  • Device Management
  • Digital Rights Management
  • Domain Name System
  • Download over the Air
  • Email Notification
  • External Functionality Interface
  • Firmware Update Management Object
  • Games Services
  • Games Services Client Server Interface
  • Instant Messaging and Presence Service
  • IP Multimedia Subsystem
  • Mobile Broadcast Services
  • Mobile Location Protocol
  • Mobile Location Service
  • Multimedia Messaging Service
  • On-Board Key Generation
  • Online Certificate Status Protocol Mobile Profile
  • Presence Simple
  • Push
  • Push to talk over Cellular
  • Secure User Plane for Location
  • Smartcard Web Server
  • SyncML Common Specification
  • Standard Transcoding Interface
  • URI Schemes
  • User Agent Profile
  • vObject Minimum Interoperability Profile
  • Web Services
  • Web Services Network Identity
  • Wireless Public Key Infrastructure
  • XML Document Management
  • Maintenance of Requirements for Privacy for Mobile Services
  • Messaging Services Interworking
  • Mobile Gaming Evolution
  • Parlay/OSA in OSE
  • Service Environment
  • SyncML Primer
  • UAProf Best Practices Guide

Como exemplo destas especificações temos o padrão de orquestração para dispositivos móveis [1] como apresentado num típico exemplo de pattern de orquestração.

Figura 1: Pattern de orquestração [1]

Descrição:

O pattern de orquestração oferece uma interface de serviço de composição desenvolvido para coordenar um conjunto de web services individuais. Requisitantes vêem o serviço composto, não os serviços individualmente, porque isto é uma interface de composição de serviço que é publicada externamente. Na figura 1 o WSR (Requisitante) interage com outro web services, WSs 1, 2 e 3, neste exemplo, e possivelmente outros sistemas não mostrados na figura. Um orquestrador tipicamente acrescenta lógica além de meramente orquestrar requisições individuais de componentes de serviços.

Problema endereçado:

É possível fornecer um novo Web Service que é uma composição de dois ou mais Web Services?

Ponto de vista do WSR.

  • É necessário incluir toda informação na mensagem de requisição de Web Service – em particular, informação adicional tais como credenciais, asserções, etc, - que é necessário para o processamento bem sucedido da requisição;
  • Para o WSR, o orquestrador é o WS. Ele não sabe sobre o serviço de composição, ou como o WS fornece esta função;

Ponto de vista do componente WS

  • Ele pode oferecer uma simples interface para seu núcleo de funções e executar uma parte em um serviço de composição maior. (Entretanto ele muito provavelmente não sabe se ele é usado em um serviço de composição);
  • A requisição é recebida de um orquestrador no mesmo domínio de confiança, ele poderia seguramente assumir que a requisição foi autenticada apropriadamente e autorizada;
  • Do ponto de vista do componente WS, o orquestrador é o WSR para este serviço;
  • Os componentes WSs são descobertos pelo orquestrador, no geral;
Ponto de vista do Orquestrador:
  • Ele executa a lógica de negócio para satisfazer a composição do Web Service, fornecendo uma seqüência de chamadas de Web Services separadas e agregando o resultado destas para atingir determinadas funcionalidades;
  • O orquestrador deveria publicar o novo serviço resultante da composição em um registro de serviço externo;
  • O orquestrador deveria fornecer uma lógica de manipulação de falhas e erros gerados pelos serviços individuais;

Implicações:

  • O mesmo (componente) WS poderia ser parte de um ou mais serviços de orquestração;
  • Note que alguns dos componentes WSs poderiam manipular funções tais como integridade, autenticação, etc.;
  • O serviço resultante da composição é tipicamente muito diferente que aquele oferecido pelos serviços de componentes;
  • Embora o componente WSs possam não estar conscientes do serviço global de que fazem parte, os seus serviços podem ser utilizados no âmbito de um contexto global transacional;
  • Como os componentes WSs podem ser reutilizados em muito serviços de orquestração, isto permite uma grande flexibilidade na criação de complexos serviços a partir de serviços simples;

O pattern de orquestração é um exemplo de definição que pode ser encontrado entre as especificações do grupo OMA. Existem outros temas relacionados a dispositivos móveis bastante pesquisados e ainda não resolvidos que são apresentados nas especificações, bem como, patterns alternativos e complementares a orquestração, tais como, routing, gateway, proxy, interceptor, adapter, delegate, filter, referral, sequence e workflow.

Tendo em vista, que grande parte das especificações disponibilizadas é resultado de discussões em fóruns e pesquisas dos associados, acredito que poderíamos encontrar gaps de tecnologia a ser pesquisada para dispositivos móveis ainda não preenchidas.

[1] Open mobile alliance group, OMA Web Services Enabler (OWSER): Overview - Version 1.0, http://www.openmobilealliance.org/release_program/owser_v10.html, Acessado em: Jan 2008.

Nenhum comentário: