A arquitetura dos sistemas pervasivos relaciona a tecnologia de software
necessária para promover a interface com outros sistemas e a Internet, conhecida com o jargão de “MobileWeb”. Há duas abordagens que têm o objetivo de promover soluções sistêmicas para ambientes móveis: modelos orientados a contexto e modelos orientados a serviço.
No modelo orientado a contexto o foco do projeto de sistemas está relacionado ao mapeamento dos valores que a solução deverá preparar para receber os estímulos do ambiente. É um modelo de programação reativo e pré-definido a fim de receber os estímulos para comunicação com o meio, chamado de contexto. Desta forma, esse modelo de sistemas deverá reconhecer os estímulos enviados de outros dispositivos a fim de serem processados e identificados pelas aplicações inseridas no mesmo ambiente ou contexto para troca de informação.
No modelo orientado a serviço, o foco está nos serviços fornecidos por outros sites e outros aplicativos. Nesse cenário, predomina a utilização dos componentes da
UDDI e a linguagem XML. O serviço é disponibilizado na Internet, descrito via WSDL, registrado via UDDI, acessado via SOAP e com os dados transmitidos e representados em XML. O esquema abaixo apresenta uma abstração para o entendimento do papel da interoperabilidade desses componentes numa troca de informação no ambiente WEB entre o cliente e servidor das informações, além do conceito dos componentes no decorrer deste tópico.
O Acrônimo de Transmission Control Protocol/Internet Protocol (TCP/IP) é um protocolo desenvolvido pelo Departamento de Defesa dos Estados Unidos para a
comunicação entre computadores. O TCP/IP foi projetado para o sistema UNIX e tornou-se o padrão de fato para transmissão de dados através de redes, incluindo a Internet.
A Linguagem de marcação HTML (Hypertext Markup Language) usada para formatar as informações no ambiente WEB é uma aplicação da SGML (Standard
Generalized Markup Language) que utiliza marcações definidas (tags) para identificar
elementos, como textos e elementos gráficos em um documento; a fim de informar como os navegadores o modo de que as informações são apresentadas ao usuário, bem
como responder às ações do usuário, como a ativação de um vínculo através do pressionamento de uma tecla ou de um clique no mouse.
Um protocolo SOAP (Simple Object Access Protocol) é destinado para troca de informações em ambiente distribuído. É baseado em definições XML e utilizado para acessar serviços em Web Service, que encapsula as chamadas e retornos aos métodos utilizados principalmente sobre o HTTP.
O Software de servidor (WebServer) utiliza o protocolo HTTP (Hypertext
Transfer Protocol) para fornecer e interpretar as informações no formato HTML e
quaisquer arquivos e scripts associados quando solicitados por um cliente (navegador da Web). A conexão entre o cliente e o servidor é geralmente rompida após o fornecimento do documento ou arquivo solicitado. Os servidores HTTP são usados em sites da Web e Intranets. Também chamado de servidor da WEB.
O WSDL (Web Service Description Language) é uma linguagem de Descrição de WebServices que utiliza o formato de linguagem baseada em XML, padronizado pelo fórum W3C, define um conjunto de regras para o envio de mensagens, num sistema no meio WEB. Em resumo, é uma linguagem responsável por descrever serviços e troca de mensagens entre servidores WEB.
A tecnologia UDDI (Universal Description Discovery and Integration) provê um mecanismo para busca e publicação dos serviços a um Web Services com as informações categorizadas sobre os serviços e as funcionalidades oferecidas para associar a localização dos serviços com as informações técnicas, geralmente definidas por meio da linguagem WSDL.
A utilização dos serviços MóbileWeb pode ser representada no esquema anterior com o acréscimo de um gateway44 móvel (Wireless), que serve de intercambio de
dados entre os componentes móveis e os serviços dos outros meios.
O conceito da arquitetura dos sistemas móveis adotada neste trabalho segue a referência de alguns padrões da arquitetura de sistemas móveis o BREW, SYMBIAN e principalmente o padrão JAVA ME (Micro Edition). A plataforma de programação dos sistemas móveis permite o acesso e controle das funcionalidades na plataforma JAVA interage diretamente com os componentes sistêmicos no ambiente cliente para o processamento e troca das informações. O padrão J2ME (Java 2 Micro Edition) teve inicio no ano 2000 e representou uma importante iniciativa para o desenvolvimento de sistemas móveis para dispositivos com limitações de memória e processamento lançados neste período. Além de uma proposta para uma plataforma padrão de desenvolvimento de sistemas móveis a fim de tornar as aplicações independentes do sistema operacional ou ambientes integrados de um fabricante específico devido ao
44 Gateway é uma porta de comunicaçãona no qual o computador realiza a conversão de protocolos
entre diferentes tipos de redes ou aplicativos. Um dispositivo que conecta duas redes diferentes, ou uma rede local ou remota, um computador pessoal ou com servidor de dados (Fonte:
http://wapforum.org e HANSMANN, Uwe; MERK, Lothar; STOBER, Thomas; NICKLOUS, Martin: Pervasive Computing , Springer ,2003:327)).
papel da máquina virtual JAVA (JVM) abstrair a comunicação com os sistemas operacionais ou ambientes integrados específicos, o que proporciona uma portabilidade da aplicação para diversos ambientes dos dispositivos móveis. O esquema abaixo contribui para o entendimento do conceito da plataforma JAVA com relação aos demais componentes de processamento das informações e comunicação como servidores remotos, computador pessoal ou outros dispositivos móveis como celulares, PDA´s e SmatPhones.
Os componentes da arquitetura Java ME estão diretamente relacionados ao ambiente operacional do dispositivo móvel. Cada fabricante disponibiliza o conjunto de funções sistêmicas denominadas API (acrônimo de Application Program Interface) a fim de proporcionar o controle das funcionalidades dos aparelhos eletrônicos
O componente MDIP45 (Móbile Information Device Profile) define as funções e particularidades de cada aparelho que o programa Java manipulará na solução. Além disso, há componentes como o CDC46 e o CLDC47 com o objetivo de padronizar algumas funcionalidades básicas de um grupo de aparelhos.
É através dos componentes sistêmicos CDC, CLDC e MDIP que uma solução móvel controla o fluxo de informações com outros meios. Cada componente do
dispositivo eletrônico tem uma funcionalidade de comunicação definida com um meio.
Portanto, a referência técnica da característica pervasiva dos dispositivos móveis está relacionada diretamente às API´s apresentadas pela arquitetura de sistemas. Seja para comunicação com o meio externo como conexão com a rede WiFi, RFID (rádio freqüência) ou Infra Vermelho, seja para o acesso às funcionalidades físicas do próprio aparelho como teclas especiais, apresentação do visor ou características de Touch
45Os serviços (API´s) , conhecidos sob o acrônimo MIDP, rodam em cima do CLDC, dedicado ao
acesso às funcionalidades específicas de determinado aparelho/fabricante. Não implica que as funcionalidades de um aparelho podem ser portáveis para outros MIDPs e aparelhos de outros fabricantes(Fonte: BIGONHA, Mariza e GARCIA, Vasconcelos: X Simpósio Brasileiro de Linguagens de Programação: Anais/Proceedings, SBLP ,2006:26-27).
46 Conected Device Confguration: componentes com funcionalidades para interface com aparelhos
que apresentam a capacidade de 512K de memória livre e alto poder de conectividade com as redes sem fio.
47 Connected Limited Device Configuration: componentes com funcionalidades para interface
aparelhos que apresentam a capacidade de 128K de memória livre e limitações de apresentação gráfica, capacidade de comunicação com a rede móvel e tempo muito limitado de bateria.
Screen48. De modo que para cada funcionalidade há uma componente de sistemas relacionada a fim de permitir o controle e manipulação das características
desenvolvidas no sistema proposto de solução de negócio e instalado no ambiente do aparelho eletrônico.
A tecnologia de BREW (Binary Runtime Enviroment for WIreless) foi lançada em janeiro de 2001 pela empresa Qualcomm e apresentou outra opção de ambiente de execução de aplicações pré-compiladas para o processamento das informações pelas as mídias móveis. O ambiente de processamento BREW oferece a linguagem C/C++ como linguagem de programação padrão de desenvolvimento das aplicações, mas também apresenta uma compatibilidade com a linguagem Java. Os aparelhos compatíveis com o ambiente BREW apresentam um chip para o processamento das informações das mídias móveis.
Outro aspecto importante está relacionado aos ambientes como o Symbian, PALM One e Windows CE com a proposta de uma plataforma para as soluções móveis mais aderentes às funcionalidades do sistema operacional a fim de facilitar o acesso aos recursos nativos do aparelho pelas mídias móveis. O ambiente Windows Móbile CE se enquadra na mesma categoria a mesma linha baseado nas soluções aderentes ao sistema operacional sem a necessidade de uma máquina virtual, como o JAVA, a fim facilitar a utilização e acesso às funcionalidades dos dispositivos móveis.
O ambiente dos sistemas móveis apresenta aderência à arquitetura
descentralizada relativo ao grau de acoplamento com o servidor da informação. No esquema abaixo está representado a lógica para um melhor entendimento do grau de acoplamento de uma aplicação móvel, que pode chegar ao grau de alto, médio ou baixo
à medida que a independência dos componentes da solução exige menos poder de conexão e dependência das informações com o servidor de origem.
A distribuição da solução móvel no modelo da arquitetura MVC representa o grau de autonomia de acordo com a distribuição das funcionalidades sistêmica no meio. A dependência da aplicação apresenta um teor alto, médio ou fraco, que está
relacionado às informações e módulos da aplicação distribuídos no meio. Este contexto é uma referencia para enquadrar uma solução móvel na arquitetura P2P ou P2A49.
Em resumo, a arquitetura de sistemas está bem definida e segmentada em camadas de sistemas bem definidas com relação ao controle e integração das
funcionalidades dos aparelhos eletrônicos e componentes para troca de mensagem com o meio externo, conforme está apresentado no diagrama abaixo.
49 P2A. Acrônimo de Ponto a Aplicação. Arquitetura na qual o cliente executa serviços ou