Universidade Federal de Ouro Preto - UFOP Escola de Minas Colegiado do Curso de Engenharia de Controle e Automação - CECAU MIDLET SUITE PARA ACESSO REMOTO A SISTEMAS DE SUPERVISÃO MONOGRAFIA DE GRADUAÇÃO EM ENGENHARIA DE CONTROLE E AUTOMAÇÃO Pablo Parreiras Drumond Ouro Preto Julho de 2005 Pablo Parreiras Drumond II MIDLET SUITE PARA ACESSO REMOTO A SISTEMAS DE SUPERVISÃO Monografia apresentada ao Curso de Engenharia de Controle e Automação da Universidade Federal de Ouro Preto como parte dos requisitos para a obtenção do Grau de Engenheiro de Controle e Automação Orientador: Milton Realino de Paula Ouro Preto Julho de 2005 III IV “Deus ajuda é verdade, vai na fé, não na sorte.” Sabotage V A Brena pelo amor e dedicação, aos meus pais pela minha formação, e aos camisas azuis pela minha realização acadêmica VI A Milton Realino de Paula por acreditar na idéia, ao GTI pela compreensão das faltas e por permitir minha sobrevivência em Ouro Preto VII RESUMO Esse trabalho tem como objetivo o desenvolvimento de uma MIDlet Suite, aplicativo Java projetado para ser executado em um dispositivo móvel, para acesso a Sistemas de Supervisão, permitindo monitoração e ajuste remoto de processos industriais, em tempo de execução. Essa MIDlet estabelecerá uma conexão HTTP com uma Servlet, programa Java destinado à construção de aplicativos web de conteúdo dinâmico, estendendo a funcionalidade do servidor. Para transmissão de dados será utilizado o padrão XML (Extensible Markup Language), metalinguagem definida pelo W3C, um mecanismo de codificação que independe da linguagem de programação. A servlet proverá comunicação com a base de dados, sistema responsável pelo armazenamento de todos os registros do processo, bem como dados de configuração do sistema de supervisão, entregando ao navegador, celular ou PDA (Personal Digital Assistant), o conteúdo solicitado. Para implementação será utilizada a plataforma J2ME (Java 2 Micro Edition) versão especial projetada para dispositivos com memória, vídeo e poder de processamento limitado, bem como o pacote J2ME Wireless Toolkit distribuído pela Sun Microsystems. Palavras-chave: Java, J2ME, MIDlet, Servlet, Sistema de Supervisão, Dispositivo Móvel VIII ABSTRACT The aim of this project is the development of a MIDlet Suite, Java application projected to be executed in a mobile device, for access the Supervisory Systems, allowing monitoring and adjusting remote of industrial processes, in runtime. This MIDlet make a HTTP connection with a Servlet, Java program destined to build dynamic web applications. For the data transmission, the method used is XML (Extensible Markup Language), mechanism of codifies that independe of the program language. Servlet make a comunication with the database, system for the storage of all the registers of the process, as well as data of configuration of the supervisory system, delivering to navigator, cellular or PDA (Personal Digital Assistant), the information requested. For it implementation the platform J2ME (Java 2 Micro Edition), specification for devices with memory, video and limited power processing, as well as package J2ME Wireless Toolkit. Key words: Java, J2ME, MIDlet, Servlet, Supervisory System, Mobile Devices IX LISTA DE SIGLAS API Application Program Interface CDC Connected Device Configuration CIM Manufatura Integrada por Computador CLDC Connected Limited Device Configuration EJB Enterprise Java Beans ERP Enterprise Resource Planning HTML Hyper Text Markup Language HTTP Hyper Text Transfer Protocol J2EE Java 2 Enterprise Edition J2ME Java 2 Micro Edition J2SE Java 2 Standard Edition JAD Java Application Descriptor JAR Java Archive JDBC Java DataBase Connectivity JTWI Java Technology for the Wireless Industry JVM Java Virtual Machine KVM K Virtual Machine MIDP Mobile Information Device Profile OTA Over the Air User Initiated Provisioning Recommended Pratice PCP Planejamento e Controle da Produção X PDA Personal Digital Assistant PIMS Plant Information Management System REPIMS Remote Plant Information Management System XML Extensible Markup Language W3C World Wide Web Consortium WAR Web Archive WORA Write Once Run Anywhere XI LISTA DE FIGURAS Figura 3.1: Edições e Máquinas Virtuais de Java Figura 3.2: Relacionamento entre API J2SE e API das Configurações Figura 3.3: Variação das máquinas virtuais com os dispositivos Figura 4.1: Arquitetura do Projeto Figura 4.2: MIDlets empacotadas na Suite Figura 4.3: MIDlet para requisição de dados através de comandos SQL Figura 4.4: Dados apresentados em XML Figura 4.5: Processos registrados na base de dados Figura 4.6: Operações disponíveis para o processo selecionado Figura 4.7: Controladores implementados no processo Figura 4.8: Alteração de parâmetros do controlador Figura 4.9: Equipamentos implantados no processo Figura 4.10: Operações disponíveis para o equipamento Figura 4.11: Alteração de status do equipamento Figura 4.12: Visualização de dados de manutenção do equipamento Figura 4.13: Outras informações sobre o equipamento Figura 4.14: Exibição das variáveis do processo Figura 4.15: Operações disponíveis para variáveis Figura 4.16: Alteração de Set-Point de uma variável Figura 4.17: Visualização de valores recentes, hora de medição e set-point de uma variável Figura 4.18: Outras informações da variável selecionada XII XII SUMÁRIO 1 INTRODUÇÃO ..................................................................................................................... 1 1.1. ORIGEM DO TRABALHO............................................................................................... 1 1.2. IMPORTÂNCIA DO TRABALHO ..................................................................................... 1 1.2.1 Dispositivos Móveis na Corporação........................................................................... 1 1.2.2 Investimento na Mobilidade........................................................................................ 2 1.2.3 JTWI............................................................................................................................ 2 1.3. OBJETIVOS .................................................................................................................. 2 1.3.1 Objetivo Geral ............................................................................................................ 2 1.3.2 Objetivos Específicos .................................................................................................. 2 1.4. LIMITAÇÕES DO TRABALHO ........................................................................................ 2 1.5. ESTRUTURA DO TRABALHO ........................................................................................ 3 2 REVISÃO BIBLIOGRÁFICA ............................................................................................. 4 3 METODOLOGIA.................................................................................................................. 5 3.1. LINGUAGEM JAVA....................................................................................................... 5 3.2. EDIÇÕES DE JAVA ....................................................................................................... 5 3.3. POR QUE J2ME ........................................................................................................... 6 3.4. CONFIGURAÇÕES ........................................................................................................ 7 3.5. PERFIS ......................................................................................................................... 9 3.6. MIDLET ...................................................................................................................... 9 3.7. SERVLET ................................................................................................................... 10 3.8. CONEXÃO HTTP....................................................................................................... 10 3.9. EXTENSIBLE MARKUP LANGUAGE (XML) ............................................................... 11 3.10. JBOSS ....................................................................................................................... 11 4 APLICAÇÃO DO MODELO PROPOSTO...................................................................... 12 4.1. ARQUITETURA DO PROJETO ...................................................................................... 12 XIII 4.2. OVER THE AIR USER INITIATED PROVISIONING RECOMMENDED PRATICE (OTA) .... 13 4.3. RESULTADOS OBTIDOS ............................................................................................. 13 5 CONCLUSÃO...................................................................................................................... 31 5.1. REPIMS ................................................................................................................... 31 5.2. REPIMS COMO FERRAMENTA PCP........................................................................... 31 REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 32 1 1 INTRODUÇÃO A necessidade humana da informação independente de lugar e hora em conjunto com o significativo avanço da microeletrônica e aumento do poder de processamento são fatores que permitiram a invasão dos dispositivos móveis na sociedade, como destaca BRITO (2004). Aplicativos e jogos que antes exigiam arquiteturas computacionais robustas, hoje podem ser executados em celulares, smartphones e PDAs. O mercado de transmissão de dados sem fio explodiu depois de um período inicial que se prolongou pelos últimos dez anos e pode ser sentido pelo crescimento de operadoras e empresas que apostam na integração dessa tecnologia com a Web. Deixando de ser ferramenta de finalidade especial e dispendiosa para ser amplamente adotada. 1.1. Origem do Trabalho A oportunidade para os interessados em desenvolver programas para a plataforma J2ME destaca-se por si própria. Com seu suporte para uma ampla variedade de dispositivos e portabilidade entre plataformas, a aceitação entre os fabricantes e provedores de serviço tem sido enorme. Dessa forma, esse trabalho surgiu da idéia de aliar a presença dos dispositivos móveis no cotidiano, a potencialidade da plataforma presente neles e a necessidade do acesso a informação na indústria, gerenciada por sistemas de supervisão. 1.2. Importância do Trabalho Com a explosão do mercado wireless, fica impossível imaginar uma empresa trabalhando com eficiência e competitividade sem dominar esta tecnologia (RISCHPATER, 2001). Essa solução vem propor uma superação de barreiras físicas e técnicas que oferecem limites à produtividade industrial oferecendo ao operador acesso, ajuste e monitoramento remoto ao sistema de supervisão. 1.2.1 Dispositivos Móveis na Corporação Mais que simplesmente a evolução da visão de uma empresa para os negócios, "qualquer hora, qualquer lugar e qualquer dispositivo", é a máxima que reflete a mudança fundamental das indústrias no século 21, como enfatiza DEDO (2001). O avanço da tecnologia dos dispositivos móveis, juntamente com a influência da internet, são fatores responsáveis pela popularização dos serviços baseados na web, e possibilidade das organizações estenderem suas estruturas computacionais tradicionais em força móvel. 2 Destacando emprego nas áreas de Sistemas de ERP (Enterprise Resource Planning), Manufatura e Marketing. 1.2.2 Investimento na Mobilidade Munidos de inteligentes dispositivos de mão, operadores em uma indústria podem reduzir os formulários específicos de papel e, conseqüentemente, diminuir o tempo de execução da ordem, o que irá refletir significativamente na produção e possibilitará o real emprego de ferramentas, até então, somente idealizadas. 1.2.3 JTWI É apostando nesse panorama que a Sun Microsystems lançou a JTWI (Java Technology for the Wireless Industry), a especificação J2ME (Java 2 Micro Edition) e JavaCard. 1.3. Objetivos O objetivo desse projeto será classificado em objetivo geral, demonstrando seu escopo, e objetivos específicos, abordando os alvos de cada tecnologia. 1.3.1 Objetivo Geral Este trabalho tem como objetivo o desenvolvimento de uma MIDlet Suite, aplicativo Java projetado para ser executado em um dispositivo móvel, para acesso a Sistemas de Supervisão, permitindo monitoração e ajuste remoto de processos industriais, em tempo de execução. 1.3.2 Objetivos Específicos A garantia de independência de sistema de supervisão e banco de dados, i.e., a utilização de uma linguagem de programação portável, para o desenvolvimento de um projeto capaz de prover comunicação, através da especificação de drivers JDBC para acesso a bases de dados, com qualquer sistema, destaca-se como um objetivo específico para esse trabalho. Além disso a comunicação em XML entre a MIDlet Suite e a Servlet tem como meta possibilitar o acoplamento de projetos no futuro, evitando, problemas de comunicação, que representa, atualmente, uma constante na indústria. 1.4. Limitações do Trabalho Dentre as limitações do projeto se destaca o fato da maioria dos celulares no Brasil ainda não possuírem uma máquina virtual java embarcada. O perfil dos aparelhos mais 3 recentes no mercado ainda é o primeiro adotado pelo consórcio de empresas que aprovaram a especificação, disponibilizando uma biblioteca com recursos não tão sofisticados. Além disso, ainda existe uma certa dificuldade dos aparelhos realizarem o download do aplicativo, por não seguirem a prática recomendada pela especificação. 1.5. Estrutura do Trabalho O projeto é dividido em Capítulos, sendo o segundo Revisão Bibliográfica onde ocorre a exemplificação de projetos bem como as tendências. No Capítulo 3 Metodologia serão descritas as ferramentas utilizadas para implementação, além de destacar suas vantagens, e principais razões para adoção no modelo. Seguido pelo Capítulo 4 Aplicação do Modelo Proposto responsável por relacionar características específicas do projeto e sua aplicabilidade na indústria. Terminando no Capítulo 5 Conclusão onde serão propostos um novo conceito e a integração com outras tecnologias. 4 2 REVISÃO BIBLIOGRÁFICA J2ME é uma especificação extremamente nova. Fala-se de java em dispositivos móveis há pouco tempo. Ainda assim conseguimos destacar alguns trabalhos realizados, como o MobMed (MURAKAMI, 2004) - Inovando a Prática Médica Através de Sistemas Móveis de Informação, projeto realizado no Instituto do Coração (InCor), parte do complexo do Hospital das Clínicas, onde foi desenvolvido o Prontuário Eletrônico do Paciente (PEP). O PEP armazena, de maneira eletrônica, todos os dados dos pacientes do hospital, disponibiliza informações textuais (laudos, históricos clínicos, diagnósticos), como também permite execução de ordens médicas (prescrição eletrônica, pedidos de exames). Deve ser citado também uma grande atitude do Governo Brasileiro, o apoio e desenvolvimento do sistema de Declaração de Imposto de Renda em Java, tornando-o independente da plataforma (ELTON, 2005). O Governo investe agora no desenvolvimento desse sistema voltado para dispositivos móveis baseado em J2ME que já se encontra em fase avançada. A liberação está prevista para 2006. Vale ressaltar, a forte tendência da especificação J2ME para o desenvolvimento de jogos, com bibliotecas específicas de programação em perfis mais avançados. E, ainda, destacar os concursos propostos por empresas da telefonia celular como a Siemens, para a implementação de aplicativos nessa plataforma, baseados na operação correta, e apelo da aplicação, como na facilidade de uso e potencial de negócio. 5 3 METODOLOGIA 3.1. Linguagem Java Tudo começou com uma versão de Java - agora conhecida como Java 2 Standard Edition (J2SE) - e a frase "Write Once, Run Anywhaere TM" (Escreva uma vez, execute em qualquer lugar). A idéia era desenvolver uma linguagem na qual você escreveria seu código uma só vez, e então o executaria em qualquer plataforma que suportasse uma máquina virtual Java. Desde seu lançamento, em 1995, o panorama mudou significativamente. A linguagem Java ampliou o seu alcance bem além das máquinas simples dos computadores pessoais. Dois anos após a introdução da linguagem, uma nova edição foi lançada a Java 2 Enterprise Edition, fornecendo suporte para aplicativos em nível empresarial de larga escala. A inclusão mais revolucionária na família é a Micro Edition, que objetiva "ferramentas de informação", variando desde máquinas ligadas à TV habilitadas para internet até telefones celulares. 3.2. Edições de Java J2SE (Java 2 Standard Edition): projetada para execução em máquinas simples de computadores pessoais e estações de trabalho. J2EE (Java 2 Enterprise Edition): com suporte interno para Servlets, JSP e XML essa edição é destinada a aplicativos baseados no servidor. J2ME (Java 2 Micro Edition): projetada para dispositivos com memória, vídeo e poder de processamento limitados. Todas as edições são classificadas quanto à máquina virtual e poder de processamento de acordo com a figura 3.1 6 Figura 3.1: Edições e Máquinas Virtuais de Java Fonte: JAVA, 2005 3.3. Por que J2ME J2ME é destinado diretamente aos dispositivos comsumidores com poder limitado. Muitos desses dispositivos (por exemplo, celular ou pager) não têm opção de download e software de instalação, além daquele que foi configurado durante o processo de fabricação. Com a introdução do J2ME, os dispositivos “micros” não precisam ter natureza “estática”. Exatamente como um navegador Web fazendo download de applets Java, uma implementação de J2ME em um dispositivo permite a opção de navegar, fazer download e instalar aplicativos Java e conteúdo. Com a introdução de Java para tais dispositivos, temos agora acesso aos recursos inerentes da linguagem e da plataforma Java, i.e., uma linguagem de programação fácil de dominar, um ambiente em tempo de execução que fornece uma plataforma segura e portável, e acesso a conteúdo dinâmico. Sem mencionar a comunidade de desenvolvedores estimada em mais de 2 milhões de pessoas, são características apontadas por MUCHOW (2004). 7 Por todos esses motivos e pela fundamental característica de portabilidade, afinal de contas, existe uma ampla variedade de aparelhos, J2ME foi a linguagem de programação escolhida para o desenvolvimento desse projeto. Portanto, para prosseguir com o conceito WORA, foram apresentados dois novos conceitos: configurações e perfis. 3.4. Configurações Para suportar uma ampla variedade de produtos que se encaixam dentro do escopo do J2ME, a Sun introduziu a Configuração. Uma Configuração define uma plataforma Java para uma ampla variedade de dispositivos. Ela está intimamente vinculada a uma máquina virtual Java (JVM, Java Virtual Machine). Na verdade, uma configuração define recursos da linguagem Java e as bibliotecas Java básicas da JVM para essa configuração em particular. A linha divisória de aplicação de uma configuração é, de modo geral, baseada ma memória, no vídeo e na conectividade de rede (ou limitações disso) e no poder de processamento disponível em um dispositivo. A seguir as características típicas dentro de duas configurações corretamente definidas: Configuração de Dispositivo Conectado (CDC) • 512 kilobytes (no mínimo) de memória para executar o Java • 256 kilobytes (no mínimo) de memória para alocação de memória em tempo de execução • Conectividade de rede, largura de banda possivelmente persistente e alta Configuração de Dispositivo Conectado Limitado (CLDC) • 128 kilobytes de Memória para executar o Java • 32 kilobytes para alocação de memória em tempo de execução. • Interface restrita com o usuário • Baixo poder, normalmente alimentado por bateria • Conectividade de rede, normalmente dispositivos sem fio com largura de banda baixa e acesso intermitente. 8 Na figura 3.2 ilustra-se o relacionamento entre a API J2SE e as APIs das configurações especificadas pela Sun. Figura 3.2: Relacionamento entre API J2SE e API das Configurações Fonte: JAVA, 2005 A questão é, à medida que a tecnologia nos oferecer mais poder de processamento, com mais memória e recursos de tela, a sobreposição entre essas categorias se tornará maior. Para a CDC, a máquina virtual tem a mesma especificação do J2SE. Para a CLDC, a Sun desenvolveu o que é chamado de implementação de referência de uma máquina virtual conhecida como K Virtual Machine. Essa KVM foi projetada para manipular considerações especiais dos dispositivos de recurso restrito. Na figura 3.3 descreve-se a variação das máquinas virtuais nos dispositivos de acordo com o poder de processamento. 9 Figura 3.3: Variação das máquinas virtuais com os dispositivos Fonte: JAVA, 2005 3.5. Perfis Tudo bem que os dispositivos caiam dentro de uma ou de outra categoria de configuração, constante da figura 3.3. Por exemplo, um telefone celular, PDA e pager típicos se encaixarão todos nas diretrizes da CLDC. Entretanto, o que parece limitante para um dispositivo numa configuração, pode parecer uma abundância para outro. O que pode ser observado se fizermos uma analogia entre o tamanho da tela do telefone celular em relação à do PDA. Para tratar dessa ampla variação de recursos e para dar mais flexibilidade à medida que a tecnologia muda, a Sun introduziu o conceito de perfil na plataforma J2ME. Um perfil é uma extensão de uma configuração. Ele fornece as bibliotecas para um desenvolvedor escrever aplicativos para um tipo em particular de dispositivo. Por exemplo, o MIDP (Perfil de Dispositivo de Informação Móvel) define APIs para componentes, entrada e tratamento de eventos de interface com o usuário, armazenamento persistente, interligação em redes e cronômetros, levando em consideração as limitações de tela e memória dos dispositivos. 3.6. MIDlet Uma MIDlet é um aplicativo Java projetado para ser executado em um dispositivo móvel. Mais especificamente, uma MIDlet tem como classes Java básicas a CLDC 10 e o MIDP. MIDlet Suite consiste em um conjunto de MIDlets empacotadas, usando um arquivo JAR. Para execução da MIDlet será utilizado o pacote “J2ME Wireless Toolkit” distribuído gratuitamente pela Sun Microsystems que será responsável por emular o dispositivo móvel. 3.7. Servlet Uma servlet é um componente do lado do servidor. Ela pode ser usada para estender a funcionalidade de qualquer servidor compatível com Java, mas normalmente as servlets são usadas para escrever aplicativos Web em um servidor da Web, descreve BOND (2003) e acrescenta os principais recursos e vantagens das servlets: • A API (Aplication Program Interface) de servlets fornece uma interface personalizada para aplicativos Web. • As servlets são independentes do servidor e da plataforma. Isso torna as servlets portáveis e reutilizáveis. • As servlets são eficientes e flexíveis. • As servlets são executadas dentro do servidor; portanto, elas podem delegar certas funções para serem executadas pelo servidor em seu nome, como a autenticação do usuário. 3.8. Conexão HTTP O desenvolvimento de aplicações para celular utilizando a plataforma J2ME não é uma tarefa tão complicada. Porém, ainda esbarramos em um grande problema: na capacidade limitada de processamento e de armazenamento de informações. Uma alternativa viável, como sugere BRITO (2005), é a utilização de servidores remotos para processar informações e armazenar dados em um repositório central facilitando o acesso a informações que poderão ser feitos por outros mecanismos. O MIDP possui mecanismos genéricos para acesso à rede. Na MIDP 1.0, perfil utilizado nesse projeto, a conexão pode ser feita apenas por HTTP. A partir do MIDP 2.0 foi disponibilizado o recurso de conexão segura o HTTPS. Características do Protocolo HTTP: HTTP (Hyper Text Transfer Protocol) é o protocolo de transferência de dados utilizado na web e é a base de toda sua funcionalidade. 11 Leve e veloz, foi construído sobre o protocolo TCP/IP, sendo também, orientado a conexão. Na verdade, o protocolo HTTP permite que dispositivos e browser conversem com os servidores web, façam pedidos e recebam respostas em forma de texto através de uma conexão internet (BOND, 2003). 3.9. Extensible Markup Language (XML) XML (eXtensible Markup Language) é uma linguagem definida pelo W3C, o órgão que define os padrões para a web. Fortemente indicada para criação de elementos, com uma marcação personalizada, como infere HOLZNER (2001). Desse modo, a XML supera outras linguagens de marcação, como HTML (Hyper Text Markup Language), onde os elementos são predefinidos. Na verdade, adiciona HOLZNER (2001), XML é uma metalinguagem, pois permite que você crie sua própria linguagem de marcação. E é por esse motivo, e, também pelo fato de independer da linguagem de ambas as camadas, que foi definida como padrão de comunicação entre MIDlet e Servlet nesse projeto. 3.10. JBoss JBoss, é hoje, sem dúvida nenhuma o servidor de aplicação que mais vem chamando a atenção no mundo J2EE (KANTEK, 2005). Um servidor de aplicação consiste em um EJB Contêiner (Enterprise Java Beans) juntamente com um Web Contêiner, nesse caso, JBoss operando com o Tomcat. Um contêiner fornece serviços para um componente. Esses serviços podem incluir gerenciamento de ciclo de vida, segurança, conectividade, transações e persistência (BOND, 2003). Cada tipo de componente J2EE é implantado dentro de seu próprio tipo de contêiner. Nesse projeto o deploy do aplicativo WAR (Web Archive) contendo a servlet será realizado nessa ferramenta. 12 4 APLICAÇÃO DO MODELO PROPOSTO O projeto proposto tem como objetivo agilizar a tomada de decisões integrando o chão de fábrica com o nível corporativo, e, em nome dessa agilidade transformar a informação do processo em informação de negócios. A implementação dessa ferramenta permitirá a visualização de dados relacionados a produção em todas as unidades da respectiva indústria e integrá-los com outros dados de mercado, como cotações do mercado financeiro dólar ou petróleo. A intenção é transformar os relatórios em papel em informações eletrônicas. A grande preocupação de implantação do projeto é trabalhar sempre com novidades que aproveitem a tecnologia instalada, como ressalta PETRO (2005), para causar o menor distúrbio possível na produção. Nenhuma indústria permite ser cobaia, e ficar testando tecnologia. Porque, em nome da competitividade e da produtividade, cada vez mais as empresas procurar parar o mínimo possível as unidades. É importante, o destaque desse projeto, no que diz a respeito independência dos seguintes componentes • plataforma de servidor: afinal, a grande característica da linguagem java, descrita anteriormente, é a portabilidade. • DBMS (Database Management System) Sistema Gerenciador de Banco de Dados: através da API JDBC é possível conectar a qualquer banco de dados por meio de um driver. • do dispositivo móvel: pelas características de configurações e perfis citados anteriormente. 4.1. Arquitetura do Projeto Na figura 4.1 esboça-se a arquitetura do projeto Figura 4.1: Arquitetura do Projeto 13 A MIDlet estabelece uma conexão HTTP com uma Servlet requisitando dados do processo. A servlet proverá comunicação com a base de dados, sistema responsável pelo armazenamento de todos os registros do processo, bem como dados de configuração do sistema de supervisão, através de um driver específico e da API JDBC. Entregando ao navegador, celular ou PDA, o conteúdo solicitado em formato XML. 4.2. Over the Air User Initiated Provisioning Recommended Pratice (OTA) OTA (Over the Air User Initiated Provisioning Recommended Pratice) Prática Recomendada de Provisão Iniciada pelo Usuário Através do Ar. A especificação da plataforma J2ME não define como as MIDlet devem ser descarregadas nos dispositivos móveis. OTA, como a própria sigla sugere diz respeito a uma prática recomendada. Primeiramente, o dispositivo móvel faz o download do arquivo JAD, o descritor do pacote, gerado pela ferramenta J2ME Wireless Toolkit. Depois se as especificações de CLDC e MIDP, assim como espaço para armazenagem, forem atendidas pelo dispositivo móvel, o usuário poderá realizar o download do pacote propriamente dito, o arquivo JAR, também gerado pela ferramenta. 4.3. Resultados Obtidos Nas figuras 4.2 a 4.18 ilustra-se os resultados enviados pela Servlet, e, apresentados pelo dispositivo móvel, através da conexão HTTP. 14 Figura 4.2: MIDlets empacotadas na Suite Na figura 4.2 apresenta-se as MIDlet empacotadas na Suite, instalada no dispositivo móvel, que podem ser executadas pela opção Launch, no canto inferior esquerdo da tela. 15 Figura 4.3: MIDlet para requisição de dados através de comandos SQL Na figura 4.3, selecionando a primeira MIDlet, SQLHttp, exibe-se uma tela para edição dos parâmetros que serão enviados para a Servlet. 16 Figura 4.4: Dados apresentados em XML Na figura 4.4, apresenta-se a resposta enviada pela Servlet, em formato XML, após a realização da consulta SQL no banco. 17 Figura 4.5: Processos registrados na base de dados Na figura 4.5, selecionando a segunda MIDlet, SupervisaoHttp, exibe-se os processos industriais registrados no banco de dados. 18 Figura 4.6: Operações disponíveis para o processo selecionado Na figura 4.6, selecionando o primeiro processo listado na figura 4.5, Processo Diamante. Tem-se acesso aos componentes do mesmo, Controladores, Equipamentos, Status e Variáveis. 19 Figura 4.7: Controladores implementados no processo Na figura 4.7, apresenta-se os controladores PID para o Processo Diamante. 20 Figura 4.8: Alteração de parâmetros do controlador Na figura 4.8, exibe-se a alteração de parâmetros do Controlador PID. 21 Figura 4.9: Equipamentos implantados no processo Na figura 4.9, lista-se todos os equipamentos associados ao processo diamante. 22 Figura 4.10: Operações disponíveis para o equipamento Na figura 4.10, selecionando o equipamento Sensor de Nível, exibido na figura 4.9, tem-se acesso às funções de Alteração de Status do Equipamento, bem como, aos Dados de Manutenção e outras Informações. 23 Figura 4.11: Alteração de status do equipamento Na figura 4.11, ao usuário é permitida a alteração de status do equipamento, ou seja, através do dispositivo móvel, pode-se parar ou reiniciar o equipamento selecionado. 24 Figura 4.12: Visualização de dados de manutenção do equipamento Na figura 4.12, exibe-se os dados de manutenção do equipamento, a data e a validade em dias, para que o operador possa assegurar o funcionamento do processo. 25 Figura 4.13: Outras informações sobre o equipamento Na figura 4.13, apresenta-se informações de auxílio do equipamento selecionado, como tipo, marca e modelo. 26 Figura 4.14: Exibição das variáveis do processo Na figura 4.14, exibe-se as variáveis associadas ao Processo Diamante. 27 Figura 4.15: Operações disponíveis para variáveis Na figura 4.15, apresenta-se as operações disponíveis para a variável selecionada na figura 4.14. 28 Figura 4.16: Alteração de Set-Point de uma variável Na figura 4.16, apresenta-se a tela que permite, ao operador do dispositivo móvel, a alteração do Set-Point da variável, dando suporte a flexibilização da produção, um dos principais objetivos do projeto. 29 Figura 4.17: Visualização de valores recentes, hora de medição e set-point de uma variável Na figura 4.17, visualiza-se, num dispositivo do tipo QWERTY, comparado a um PDA (Personal Digital Assistant), os 10 valores mais recentes da variável, assim como a data e hora da medição e o valor do Set-Point, permitindo comparação e constatação da estabilização do sistema. 30 Figura 4.18: Outras informações da variável selecionada Na figura 4.18, exibe-se as informações associadas à variável selecionada na figura 4.14, como Tipo da Variável e ainda o equipamento relacionado à sua medição. 31 5 CONCLUSÃO 5.1. REPIMS O projeto desenvolvido, baseado no conceito PIMS (Plant Information Management System), consiste em novo conceito proposto, denominado REPIMS (Remote Plant Information Management System). Esse Sistema Gerenciador Remoto de Informações da Planta, pode ser utilizado por empresas, com os seguintes benefícios para o processo produtivo: • maior integração entre a área produtiva e o nível corporativo • ajuste de parâmetros do processo por dispositivo remoto • aquisição e transformação de dados da planta • maior agilidade na tomada de decisões 5.2. REPIMS como ferramenta PCP Dentro do contexto iniciado pelo REPIMS, pode-se ainda, indicá-lo como ferramenta PCP, em projeto futuro, com implementação de módulos para emissão de ordem de compra e emissão de ordem de fabricação remotos, pois ainda representam uma realidade no âmbito industrial, os formulários de papel específico, mesmo com significativo avanço tecnológico. E adição de módulo de gerenciamento de fluxo de informações e operações, gerenciando não só o processo, como atividades exercidas pelos seus operadores. Enfim, aprimorando o conceito de CIM (Manufatura Integrada Por Computador) para a Manufatura Integrada Por Dispositivos Móveis. 32 REFERÊNCIAS BIBLIOGRÁFICAS BOND, Martin Et. All Aprenda J2EE Com EJB, JSP, Servlets, JNDI, JDBC e XML em 21 Dias - São Paulo: Pearson Education, 2003 BRITO, Robison Cris. Desenvolvimento de Aplicativos Para Celular: Java 2 Micro Edition. Disponível em <http://www.portaljava.com.br> Acessado em 20/08/2004 BRITO, Robison Cris. Conexão HTTP com J2ME: Comunicando aplicações J2ME com servidores remotos - Revista Web-Mobile Edição 2, Ano 1 DEDO, Douglas. Mobile Devices in the Enterprise: Mobility Group - Microsoft Corporation Outubro 2001 ELTON, K. Declaração do Imposto de Renda pelo Celular. Acessado em 16/04/2005 Disponível em <http://www.portaljava.com.br> HOLZNER, Steven. Desvendando XML - Rio de Janeiro: Campus, 2001 KANTEK, Antonio; TAKAHASHI, Kentaro. Introdução ao JBoss, o servidor de aplicação open source. Disponível em <http://www.mundooo.com.br> Acessado em 19/04/2005 MUCHOW, John W. Core J2ME – Tecnologia & MIDP – São Paulo: Pearson Makron Books, 2004 MURAKAMI, Alexandre. MobMed - Inovando a Prática Médica Através de Sistemas Móveis de Informação Disponível em <http://www.linux.ime.usp.br/~cef/mac499-03> Acessado em 18/08/2004 PETRO. A Fábrica na Palma da Mão - Revista Petro & Química - Edição 260 - Maio, 2004. Disponível em <http://www.petroequimica.com.br> Acessado em 13/04/2005 RISCHPATER, Ray. Desenvolvendo Wireless para Web – São Paulo: Makron Books, 2001 JAVA, Sun Microsystems. Dísponível em <http://www.java.sun.com> Acessado em 22/02/2005