UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE UM SMART GATEWAY PARA O MONITORAMENTO DE MÁQUINAS INDUSTRIAIS Paulo Henrique da Silva Orientadora: Michelle Silva Wangham, Dra. Co-Orientador: Marlon C. Domenech. São José, Novembro / 2014 i

2 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE UM SMART GATEWAY PARA O MONITORAMENTO DE MÁQUINAS INDUSTRIAIS Paulo Henrique da Silva São José, Novembro / 2014 Orientadora: Michelle Silva Wangham, Dra. Co-Orientador: Marlon C. Domenech. Área de Concentração: Internet das Coisas Linha de Pesquisa: Sistemas Distribuídos Palavras-chave: Internet das Coisas, Web das Coisas, Smart Gateway, Monitoramento Remoto. Número de páginas: 85 RESUMO O gerenciamento eficiente de plantas industriais depende da capacidade da cobertura de monitoramento dos equipamentos que a compõe. Isto pode ser feito através da coleta contínua dos dados gerados por estes equipamentos, dados que podem ser desde a hora de início de um determinado processo até o número de intervenções realizadas no equipamento que está sendo monitorado. Porém, em muitos casos, esses equipamentos não possuem conectividade de rede ou quando possuem utilizam diferentes tecnologias de comunicação. Esta heterogeneidade onera e, por vezes, inviabiliza o processo de criação de soluções para integrar e monitorar remotamente esses equipamentos. Este trabalho teve como objetivo prover o monitoramento remoto de máquinas industriais através da Internet, utilizando o conceito de Internet das Coisas. Para tanto, foi realizada uma modelagem da solução proposta que contou com a participação de colaboradores de uma fabricante de máquinas têxteis industriais que auxiliaram no processo de elicitação dos requisitos da solução de monitoramento remoto. Como resultado deste trabalho foi desenvolvido (i) uma API e serviços RESTful que foi embarcada em um hardware com restrições computacionais (Smart Gateway) e (ii) uma aplicação chamada de Monitor. O Smart Gateway tem como objetivo abstrair a camada de comunicação e possibilitar a integração de dispositivos heterogêneos entre si e com sistemas na Internet. O Monitor é uma aplicação modular que é acoplada (plug-in) ao Smart Gateway para adicionar a capacidade de interação do Smart Gateway com diferentes interfaces como Zigbee, Bluetooth e Ethernet. Neste trabalho, o Monitor foi desenvolvido para prover a interação do Smart Gateway com os sistemas supervisórios (SCADA) das ii

3 máquinas industriais. O Smart Gateway foi implementado em uma plataforma de hardware aberto que disponibiliza, por meio de serviços web RESTful, os recursos da máquina industrial monitorada. Isto permite que aplicações para dispositivos móveis e outros Smart Gateways possam consumir os recursos disponibilizados pela máquina industrial e possam monitorá-la. O Smart Gateway possui ainda uma aplicação cliente que envia, periodicamente, os dados de monitoramento para um serviço web RESTFul de recebimento de dados em uma nuvem privada de dados. Após a fase de desenvolvimento, foram realizados testes com informações reais de uma máquina (logs do SCADA) e com o serviço web de recebimento de dados, além disso, também foram realizados testes funcionais, não funcionais e de desempenho que confirmam a viabilidade da solução. iii

4 ABSTRACT The efficient management of industrial plants relies on the ability of the monitoring coverage of equipment that compose it. This can be done through the continuous collection of data generated by such equipment, provided data that can be the start time of a particular process until the number of interventions performed on the equipment being monitored. However, in many cases, these devices do not have network connectivity or when they have use different communication technologies. This heterogeneity costly and sometimes impedes the process of creating solutions to integrate and monitor these devices remotely. This study aimed to provide remote monitoring of industrial machinery via the Internet, using the concept of Internet of Things. For this, a model of the proposed solution with the participation of employees of a manufacturer of industrial textile machines that assisted in the elicitation of the requirements of remote monitoring solution process was carried out. As a result of this work was (i) an API and RESTful services that was embedded in a hardware computational constraints (Smart Gateway) and (ii) an application called Monitor. Smart Gateway aims to abstract the communication layer and enable integration of heterogeneous devices among themselves and with systems on the Internet. The Monitor is a modular application that is coupled (plug-in) to the Smart Gateway to add the ability to interact with the Smart Gateway different interfaces as Zigbee, Bluetooth and Ethernet. In this paper, the Monitor was developed to provide interaction with the Smart Gateway supervisory systems (SCADA) of industrial machines. The Smart Gateway was implemented in hardware that provides an open, through RESTful web services, resources industrial monitored machine. This allows applications to mobile devices and other Smart Gateways can consume the resources provided by the industrial machine and can monitor it. The Gateway also has a Smart Client application that periodically sends monitoring data to a web service RESTFul receiving data in a private cloud data. After the development phase testing with actual information from a machine (SCADA logs) and with the web service receiving data were performed, in addition, functional, nonfunctional and performance tests that confirm the feasibility of the solution were also performed. iv

5 LISTA DE QUADROS Quadro 1 Comparação entre serviços WS-* e serviços RESTful Quadro 2. Comparação entre os 10 hardwares selecionados Quadro 3. Comparativo dos trabalhos relacionados com o trabalho proposto Quadro 4. Detalhamento do Caso de Uso UC01. Inserir URL do Smart Gateway Quadro 5. Detalhamento do Caso de Uso UC02. Alterar URL do Smart Gateway Quadro 6. Detalhamento do Caso de Uso UC03. Selecionar arquivo de log monitorado Quadro 7. Detalhamento do Caso de Uso UC04. Alterar o arquivo de log monitorado Quadro 8. Detalhamento do Caso de Uso UC05. Iniciar monitoramento Quadro 9. Detalhamento do Caso de Uso UC06. Parar monitoramento Quadro 10. WADL do Smart Gateway recuperado pelo navegador Quadro 11: Detalhamentos do caso de teste CT Quadro 12: Retorno do recurso "/history" para o CT Quadro 13: Detalhamentos do caso de teste CT Quadro 14: Retorno do recurso "/history" para o CT Quadro 15: Detalhamentos do caso de teste CT Quadro 16: Retorno do recurso "/history" para o CT Quadro 17: Detalhamentos do caso de teste CT Quadro 18: Retorno do recurso "/history" para o CT Quadro 19: Detalhamentos do caso de teste CT Quadro 20: Detalhamentos do caso de teste CT Quadro 21: Retorno do recurso "/history" para o CT Quadro 22: Detalhamentos do caso de teste CT Quadro 23: Retorno do recurso "/history" para o CT Quadro 24: Detalhamentos do caso de teste CT Quadro 25: Retorno do recurso "/history" para o CT Quadro 26: Detalhamentos do caso de teste CT Quadro 27: Retorno do recurso "/history" para o CT Quadro 28: Detalhamentos do caso de teste CT Quadro 29: Retorno do recurso "/history" para o CT Quadro 30: Detalhamentos do caso de teste CT Quadro 31: Retorno do recurso "/history" para o CT Quadro 32: Detalhamentos do caso de teste CT Quadro 33: Retorno do recurso "/history" para o CT Quadro 34. Detalhamento do Caso de Teste de desempenho CT Quadro 35. Resultado do caso de teste CT Quadro 36. Detalhamento do Caso de Teste de desempenho CT Quadro 37. Resultados do caso de teste de desempenho CT Quadro 38. Detalhamento do Caso de Teste de desempenho CT Quadro 39. Resultado do CT03 - Uso de recursos computacionais Quadro 40. Resultado do CT03 - Tempo de Envio e Recebimento de mensagens Quadro 41. Detalhamento do Caso de Teste de desempenho CT Quadro 42. Resultados do caso de teste de desempenho CT Quadro 43. Detalhamento do caso de teste CT Quadro 44. Resultados do caso de teste desempenho CT Quadro 45. Detalhamento do caso de teste CT v

6 Quadro 46. Resultados do caso de deste de desempenho CT Quadro 47: Retorno do recurso "/history" para o CT vi

7 LISTA DE ABREVIATURAS E SIGLAS API CFM COD CPU CRUD EUA HMI HTML HTTP IHM IoT IP ITU JavaEE JAX-RS JSON JSR-311 LAN M2M NFC NIC ONU RAM REST RFID ROA ROM RPC SCADA SOAP TCC TIC UNIVALI URI WADL WOT WSDL XML Application Programming Interface Célula Flexível de Manufatura Code On Demand Central Processing Unit Create, Read, Update e Delete Estados Unidos da America Human Machine Interface Hypertext Markup Language Hypertext Transfer Protocol Interface Homem-Máquina Internet of Things Internet Protocol International Telecommunication Union Java Enterprise Edition Java API for RESTful Services JavaScript Object Notation Java Specification Requests Local Area Network Machine to Machine Near Field Communication National Intelligence Council Organização das Nações Unidas Random Access Memory REpresantational State Transfer Radio Frequency Identification Resource Oriented Architecture Read Only Memory Remote Procedure Call Supervisory Control and Data Acquisition Simple Object Access Protocol Trabalho de Conclusão de Curso Tecnologia da Informação e Comunicação Universidade do Vale do Itajaí Universal Resource Identifier Web Application Description Language Web Of Things Web Service Description Language extensible Markup Language vii

8 LISTA DE FIGURAS Figura 1. Visões da Internet das Coisas Figura 2. Integração Direta e Indireta na Web das Coisas Figura 3. Os 10 principais hardwares Figura 4. Principal uso do hardware adquirido Figura 5. Arquitetura da aplicação em três camadas Figura 6. Cliente/ Servidor em três camadas Figura 7. Visão geral do uso do Smart Gateway no ambiente industrial Figura 8. Diagrama de Casos de Uso da aplicação Monitor Figura 9. Ciclo de vida da aplicação Monitor Figura 10. Integração Monitor, Smart Gateway e Serviços Externos Figura 11. API REST do Smart Gateway Figura 12. Beagle Bone Black Figura 13. Diagrama de classe da aplicação Monitor viii

9 SUMÁRIO INTRODUÇÃO PROBLEMA DE PESQUISA Solução Proposta Delimitação de Escopo Justificativa OBJETIVOS Objetivo Geral Objetivos Específicos METODOLOGIA Metodologia da Pesquisa Procedimentos Metodológicos FUNDAMENTAÇÃO TEÓRICA MONITORAMENTO REMOTO DE MÁQUINAS INDUSTRIAIS INTERNET DAS COISAS WEB DAS COISAS REST Representação dos Recursos com JSON PLATAFORMA DE HARDWARE ABERTO TRABALHOS RELACIONADOS WEB BASED INTERFACE TO SCADA SYSTEM PROPOSTA DE ARQUITETURA ORIENTADA A RECURSOS PARA SCADA NA WEB AN INTERNET BASED DITRIBUTED CONTROL SYSTEM: A CASE STUDY OF OIL REFINERIES ANÁLISE COMPARATIVA DESENVOLVIMENTO LEVANTAMENTO INICIAL VISÃO GERAL DA SOLUÇÃO PROPOSTA ANÁLISE DE REQUISITOS Análise de Requisitos MODELAGEM DO SISTEMA Diagramas de Sequência WADL do Smart Gateway TECNOLOGIAS UTILIZADAS Beagle Bone Black Oracle Java Standard Edition Embedded

10 4.5.3 Jersey Framework AVALIAÇÃO E RESULTADOS Casos de Teste Casos de Teste de Desempenho CONCLUSÕES TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICE A DIAGRAMA DE CLASSES APÊNDICE B RETORNO DO RECURSO /history REFERENTE AO CT

11 INTRODUÇÃO Um assunto de grande importância para a indústria é o monitoramento remoto das máquinas e equipamentos industriais. Segundo Ramamurthy, Bhargavi e Shashikumar (2010), o controle, monitoramento remoto e a manutenção inteligente são alguns dos mais importantes mecanismos para o aumento da produção e da disponibilidade nesse ambiente e, recentemente, tem havido muito interesse das empresas por implantá-los. Uma forma de permitir a comunicação entre dispositivos heterogêneos garantindo também o seu monitoramento remoto é utilizando o conceito de Internet das Coisas (Internet of Things - IoT). Segundo Atzori, Iera e Morabito (2010), a ideia básica deste conceito é a presença generalizada de uma variedade de coisas ou objetos, como etiquetas RFID (Radio Frequency Identification), sensores, atuadores e telefones celulares. Esses objetos são capazes de interagir uns com os outros utilizando mecanismos de endereçamento único e protocolos de comunicação padronizados, de modo a cooperar com seus vizinhos (outros objetos) para alcançar objetivos comuns. Atzori, Iera e Morabito (2010) estimam que uma grande quantidade de objetos estarão conectados à Internet, sendo que estes se tornarão os maiores emissores e receptores de tráfego da rede. Segundo CERP-IoT (2010), em 2010, havia aproximadamente 1,5 bilhão de computadores pessoais e mais de 1 bilhão de celulares com acesso à Internet e é esperado para 2020 algo entre 50 e 100 bilhões de dispositivos conectados à Internet. Uma pesquisa realizada pela NIC (2008) prevê que em 2025 todos os objetos do cotidiano estarão conectados a Internet. Estes podem ser quaisquer objetos, tais como eletrodomésticos, sensores, atuadores, celulares, tablets e computadores, que possam ser identificados e interligados à Internet para trocar informações e tomar decisões para atingir objetivos comuns. Um relatório do ITU (International Telecommunication Union) apontou que na Internet das Coisas qualquer objeto capaz de ser conectado em rede poderá se comunicar a qualquer tempo e em qualquer lugar (ITU, 2005). Contudo, a perfeita integração das coisas com a Internet é um desafio. Os maiores obstáculos que tornam complexa esta integração são as restrições de conectividade, fontes de energia, segurança, fatores geográficos e custo de instalação e operação (MAHALLE et al., 2010). 11

12 Com estas restrições alguns dispositivos não suportam diretamente a conectividade com a Internet por meio do protocolo IP (Internet Protocol), dificultando sua integração. Segundo De França et al. (2011), quando o protocolo IP não é suportado é necessário utilizar um padrão de integração diferente. Nessas situações, é possível utilizar um dispositivo intermediário entre o objeto e sistemas finais na Internet chamado Smart Gateway. Este dispositivo receberá os dados fornecidos pelos objetos e os interpretará a fim de direcioná-los para um banco de dados, um servidor ou outro nó da rede que processe as informações de forma mais especializada. Da mesma forma, o Smart Gateway enviará dados aos objetos permitindo configurações, atualizações, monitoramento, etc. O Smart Gateway também poderá receber e enviar dados para um software externo que pode ser uma aplicação Web, aparelhos celulares, tablets ou até mesmo outro Smart Gateway. Para facilitar o desenvolvimento de aplicações para esses dispositivos que permita que os serviços e os dados dos dispositivos sejam utilizados em diferentes aplicações, é necessário o uso de uma linguagem em comum. Uma abordagem proposta para o uso de uma linguagem comum no desenvolvimento de aplicações de Internet das Coisas é a Web das Coisas (Web of Things - WoT) (GUINARD et al., 2009). A WoT objetiva a interação entre dispositivos de IoT através do uso de protocolos Web já difundidos na Internet atual, facilitando assim a troca de mensagens entre dispositivos e entre estes e outras aplicações da Internet, promovendo assim uma maior interoperabilidade entre estes. Na WoT, a integração dos dispositivos ocorre no nível de aplicação, acima da conectividade de rede. Com isso, a WoT agrega valor às informações geradas pelos objetos físicos através da utilização dos recursos da Web, o que ajuda a concretizar a visão da Internet das Coisas (GUINARD et al., 2009). No contexto da WoT, uma metodologia para a criação de aplicações em linguagem comum para os dispositivos é o REST (REpresentational State Transfer). O REST é um estilo de arquitetura de software que pode ser aplicado no desenvolvimento de sistemas denominados RESTful. (DE FRANÇA et al., 2011, p. 110). O REST tem o intuito de aumentar a interoperabilidade entre as partes de uma aplicação distribuída através da reutilização de padrões da Web e utiliza características inerentes do protocolo HTTP (Hipertext Transfer Protocol), como autenticação, autorização, criptografia, compressão e caching. Além disso, os princípios REST podem ser mapeados nos métodos básicos do protocolo HTTP (GET, POST, PUT e DELETE) para criar sistemas CRUD (Create, Read, Update, Delete) de 12

13 uma aplicação RESTful. Os recursos dos serviços RESTful são identificados e encapsulados por um URI (Uniform Resource Identifier). Essas características fazem do REST a opção mais adequada para construção de APIs (Application Programming Interface) Web para acesso a objetos do mundo real (GUINARD et al., 2009). Segundo De França et al. (2011), o Smart Gateway atua como uma ponte entre a Web e os dispositivos inteligentes ao fornecer uma interface Web RESTful de acesso aos recursos e subrecursos dos dispositivos e ao se comunicar com tais dispositivos através de suas APIs específicas. O Smart Gateway tem um endereço IP e compreende os protocolos proprietários dos diferentes dispositivos conectados através do uso de controladores (drivers) dedicados. Assim, requisições vindas da Internet para acesso a algum dispositivo irão passar pelo Smart Gateway, que irá redirecionar a requisição através do protocolo específico. Dentro deste contexto, este trabalho visa contribuir com área de controle e monitoramento remoto de máquinas industriais por meio da Web das Coisas. 1.1 PROBLEMA DE PESQUISA A tomada de decisão faz parte do dia a dia das empresas. Logo, informações acerca do processo que se está analisando são cada vez mais importantes. Na indústria, dados como o estado de sensores de temperatura, energia elétrica e tempo de funcionamento da máquina são tão importantes quanto a velocidade com que estas informações são disponibilizadas para os gestores. Uma dificuldade nesse cenário é lidar com máquinas que não foram projetadas para comunicação M2M (Machine-to-Machine) ou que não possuem suporte ao protocolo IP. Portanto, existe a necessidade de uma solução que possa ser agregada às máquinas sem suporte ao M2M, evitando o custo de redesenhar uma máquina para disponibilizar uma interface para comunicação. Segundo Kirubashankar, Krishnamurthy e Indra (2009), as máquinas industriais integram um vasto número de sistemas embarcados, conectados ou não a uma rede de comunicação. Estas máquinas podem ter sensores e atuadores que possibilitam operações de monitoramento e controle. Atualmente, a maioria das máquinas disponíveis no mercado de vestuário restringe sua operação e monitoramento ao ambiente da rede local da indústria. Nestes ambientes industriais também é restrita a interoperabilidade entre máquinas de diferentes fabricantes. 13

14 De acordo com De França et al. (2011), o Smart Gateway é uma das possíveis soluções para garantir a integração de objetos em redes quando os dispositivos não possuem conectividade com a Internet através do protocolo IP. O Smart Gateway será uma appliance (hardware e software embarcado) que utilizará uma plataforma de hardware aberto. As seguintes questões de pesquisa foram consideradas durante o desenvolvimento deste trabalho: Como agregar o serviço de monitoramento remoto às máquinas industriais de uma empresa do setor do vestuário por meio de um Smart Gateway? Quais plataformas de hardware aberto de baixo custo podem ser utilizadas para a solução de monitoramento remoto de máquinas industriais e qual o mais adequado? Quais os impactos da solução proposta na operação das máquinas e na infra-estrutura de rede de um ambiente industrial? Solução Proposta Este trabalho visou contribuir para o monitoramento remoto de máquinas industriais por meio da WoT, com o objetivo de conceber ambientes industriais inteligentes (smart). Durante este trabalho foi desenvolvido um sistema de monitoramento remoto (via Internet) para máquinas industriais sob a plataforma de hardware aberto Beagle Bone Black compondo desta forma o Smart Gateway que faz a ponte entre os consumidores e os recursos. Os consumidores podem ser usuários, sistemas e até outras máquinas através de seus próprios Smart Gateways.Os recursos representam os sensores, atuadores e outros componentes de uma máquina. Logo, o Smart Gateway representa virtualmente uma máquina industrial. O Smart Gateway é responsável por disponibilizar os recursos monitorados através de serviços Web RESTful para os usuários e para outras aplicações na Internet, além de interfacear com cada recurso monitorado na máquina, através da linguagem específica de cada um. Portanto, além de ter o papel de ponte entre recursos e usuários ou aplicações na Internet, a solução proposta abstrai os recursos presentes na máquina para usuários ou aplicações que precisam acessá-los. 14

15 1.1.2 Delimitação de Escopo Este trabalho realizou um estudo sobre as possíveis plataformas de hardware aberto disponíveis no mercado que atendam os requisitos funcionais e não funcionais elencados durante a modelagem da API. Por ser um intermediador de objetos na rede com capacidade de interpretar protocolos, podendo assim determinar o destino de pacotes, foi realizado um estudo avaliando os impacto do Smart Gateway no ambiente de rede industrial para demonstrar sua viabilidade. Experimentos foram realizados com as próprias máquinas industriais de forma a avaliar a aplicabilidade da solução proposta. Os experimentos quantificaram os impactos no uso de recursos computacionais na plataforma de hardware aberto e se basearam nas métricas de: (i) consumo de memória, (ii) consumo de CPU (Central Processing Unit) e (iii) espaço de armazenamento utilizado. Testes funcionais e não funcionais foram realizados visando avaliar o software desenvolvido Justificativa A necessidade de informação sobre as máquinas industriais é de extrema importância para que os gestores das empresas possam tomar ciência do cenário corrente de seu chão de fábrica. Ramamurthy, Bhargavi e Shashikumar (2010) afirmam que o controle e monitoramento remotos e a manutenção inteligente são alguns dos mais importantes mecanismos para o aumento da produção e da disponibilidade nesse ambiente e que, recentemente, tem havido muito interesse das empresas por implantá-los. Segundo Kirubashankar, Krishnamurthy e Indra (2009), isto ocorre porque a manutenção inadequada causa o colapso e o atraso na identificação de causas de falhas tornam unidades industriais inutilizáveis. Segundo Ramamurthy, Bhargavi e Shashikumar (2010), tais problemas podem ser resolvidos por meio do monitoramento constante da planta industrial e das condições ambientais a partir de uma localização remota. Tal necessidade pode esbarrar em máquinas obsoletas ou que simplesmente não foram projetadas para disponibilizar uma interface que permita a interconexão. Nesses casos, segundo De França et al. (2011), é possível utilizar um dispositivo intermediário entre o objeto e sistemas finais na Internet chamados Smart Gateway. 15

16 1.2 OBJETIVOS Esta seção formaliza os objetivos do trabalho, conforme descrito a seguir Objetivo Geral Prover o monitoramento e controle remoto de máquinas industriais por meio do de um Smart Gateway conectado à Internet Objetivos Específicos 1. Levantar, junto à (Empresa X) 1 os problemas e necessidades de assistência e suporte técnico de suas máquinas, de forma a identificar quais variáveis e estados devem ser monitorados nas máquinas e os requisitos funcionais e não funcionais do Smart Gateway; 2. Desenvolver os serviços Web RESTful do Smart Gateway a serem embarcados em uma plataforma de hardware aberto para prover o serviço de monitoramento de máquinas industriais; e 3. Avaliar os impactos do uso do Smart Gateway, em termos de desempenho da rede e uso de recursos computacionais dos dispositivos, considerando a aplicação de monitoramento remoto. 1.3 METODOLOGIA Metodologia da Pesquisa Para o desenvolvimento da pesquisa, foi aplicado o método hipotético-dedutivo. A pesquisa buscou gerar conhecimentos para o desenvolvimento de aplicação para a solução de um problema específico, seguindo assim a natureza de pesquisa aplicada. Em relação à abordagem do problema, a pesquisa é em parte qualitativa e em parte quantitativa. Qualitativa porque avaliou a qualidade do 1 Devido a requisitos de segredo industrial, durante o texto deste projeto será utilizado o termo Empresa X para representar a empresa do setor têxtil utilizada para pesquisas e experimentos. A empresa real utilizada nesse projeto prefere manter sigilo de seus estudos de Pesquisa e Desenvolvimento (P&D). 16

17 projeto utilizando métodos de engenharia de software e quantitativa porque mensurou o impacto que a utilização do Smart Gateway provocou quando aplicado em um estudo de caso Procedimentos Metodológicos Para o alcance dos objetivos deste trabalho foram realizados quatro procedimentos, pesquisa bibliográfica, modelagem da solução proposta, implementação e avaliação: Pesquisa bibliográfica: a pesquisa bibliográfica consistiu em pesquisar conceitos para a definição exata do problema. A pesquisa concentrou-se em obter um melhor entendimento dos conceitos envolvidos com o projeto, estudando arquiteturas de APIs tipo REST e ferramentas para auxiliar o desenvolvimento das mesmas; e Modelagem da solução proposta: Modelagem do Smart Gateway e da aplicação Monitor, incluindo a análise de requisitos funcionais e não funcionais, a descrição dos casos de uso e diagramas de sequência; Implementação: Utilizando os conceitos estudados e a modelagem, foram desenvolvidas dois principais softwares: a aplicação Monitor e o software embarcado do Smart Gateway. Avaliação: A avaliação foi realizada com base no entendimento sobre as regras de negócio o que possibilitou a validação e verificação dos requisitos funcionais e não funcionais construídos, além disso, também foi avaliado o desempenho da solução por meio da execução de casos de testes específicos para esse fim. 17

18 2 FUNDAMENTAÇÃO TEÓRICA Este capítulo é composto por alguns tópicos necessários para obter o conhecimento teórico suficiente para o desenvolvimento de um Smart Gateway para o monitoramento de máquinas industriais, tais como o Monitoramento Remoto de Máquinas Industriais, a Internet das Coisas, a Web das Coisas, REST e Plataforma de Hardware Aberto. 2.1 MONITORAMENTO REMOTO DE MÁQUINAS INDUSTRIAIS A visibilidade do chão de fábrica, obtida por meio do monitoramento de máquinas industriais, é de suma importância para que gestores e administradores do ambiente monitorado consigam compreender a real situação dos estados de seus equipamentos e possam então definir prioridades, tomar decisões ou planejá-las. Segundo Chiavenato (2010) tomar decisões é identificar e selecionar um curso de ação para lidar com um problema específico ou extrair vantagens em uma oportunidade. Para tanto, a obtenção de indicadores se torna um requisito fundamental. Kligerman (2006) afirma que os indicadores são desenvolvidos pela necessidade de tratar a informação para entender fenômenos complexos, [...] tornando-os quantificáveis e compreensíveis de maneira que possam ser analisados, utilizados e serem transmitidos [...]. Uma abordagem comumente utilizada é a adoção de sistemas SCADA. Segundo (BAILEY; WRIGHT, 2003), aplicativos SCADA são utilizados na supervisão e controle de processos. Segundo Polônia (2011), no contexto de aplicações de automação industrial os sistemas SCADA possuem um papel importante, que é o de fornecer os dados de chão de fábrica para outras aplicações, além de receberem comandos de controle das mesmas tendo desta forma um papel mais operacional. No contexto da proposta deste trabalho, esses indicadores podem ser, por exemplo, a quantidade de intervenções realizadas nas máquinas que, quando combinados com outros dados como datas e horários dessas intervenções e comparados com o comportamento de outras máquinas, podem indicar uma situação atípica produzindo assim informação necessária para o apoio às decisões. 18

19 Para realizar a coleta e transmissão desses indicadores, o monitoramento constante do chão de fábrica em conjunto com a Internet podem ser grandes aliados. Ramamurthy, Bhargavi e Shashikumar (2010) afirmam que o controle, monitoramento remoto e a manutenção inteligente são alguns dos mais importantes mecanismos para o aumento da produção e da disponibilidade nesse ambiente e que, recentemente, tem havido muito interesse das empresas por implantá-los. Uma justificativa para tal comportamento é descrita por Kirubashankar, Krishnamurthy e Indra (2009), quando afirmam que a manutenção inadequada causa um colapso e o atraso na identificação de causas de falha tornam unidades industriais inutilizáveis. Segundo Ramamurthy, Bhargavi e Shashikumar (2010), tais problemas podem ser resolvidos através do monitoramento constante da planta industrial e das condições ambientais a partir de uma localização remota 2.2 INTERNET DAS COISAS Segundo Xiang e Li (2009), a Internet das Coisas (IoT) é considerada como a terceira onda da indústria da informação e atrai atenção crescente por causa das perspectivas de aplicações industriais. Atzori, Iera e Morabito (2010) afirmam que a ideia básica da IoT é a presença generalizada de uma variedade de coisas ou objetos, como etiquetas RFID (Radio Frequency Identification), sensores, atuadores e telefones celulares, os quais, por meio de esquemas de endereçamento único, são capazes de interagir uns com os outros e cooperar com seus vizinhos para alcançar objetivos comuns. Miorandi et al. (2012) definem essas coisas ou dispositivos inteligentes como sendo entidades que possuem as seguintes características: Um conjunto mínimo de funcionalidades de comunicação, tais como a capacidade de ser descoberto e capacidade para aceitar requisições e produzir respostas; Possuir um identificador único dentro de seu contexto (por exemplo, Internet e Intranet); Estar associada a pelo menos um nome e um endereço. O nome é uma descrição legível do objeto podendo ser usada de forma intuitiva. O endereço é uma cadeia de caracteres legíveis, que pode ser usado para comunicar-se com o objeto; 19

20 Possuem algumas capacidades básicas de computação. Isto pode variar desde a capacidade de responder um sinal recebido (como etiquetas RFID passivas) até a capacidade de executar operações bastante complexas, incluindo a descoberta de serviço e as tarefas de gestão da rede; e Pode possuir meios para detectar os fenômenos físicos (por exemplo, temperatura e nível de radiação eletromagnética de luz) ou para desencadear ações que têm um efeito sobre a realidade física (por exemplo, acionar a luz de emergência quando a temperatura alcançar valores configurados). Segundo Miorandi et al. (2012), a IoT está emergindo como uma das principais tendências que moldam o desenvolvimento de tecnologias no setor das TIC (Tecnologia da Informação e Comunicação) em geral. É a mudança da Internet usada para interconexão de dispositivos de usuário final para a Internet usada para interligação de objetos físicos que comunicam entre si e/ou com seres humanos, a fim de oferecer um determinado serviço. O NIC (National Intelligence Council) dos EUA classifica a IoT como uma das seis tecnologias civis mais promissoras, com impactos potenciais sobre o futuro das pessoas e o poder dos EUA. O NIC prevê ainda que por volta de 2025 as coisas do cotidiano como embalagens de alimentos, móveis e documentos podem estar integrados através da IoT. Além disto, o NIC destaca também as oportunidades que surgirão, a partir de demandas populares combinadas com os avanços da tecnologia, as quais podem alavancar uma difusão generalizada da IoT, e que consequentemente, como a atual Internet, pode contribuir para o desenvolvimento econômico (NIC,2008). Os dispositivos inteligentes que fazem parte da IoT possuem restrições computacionais, como memória RAM (Random Access Memory) ou ROM (Read Only Memory) e poder de processamento e de energia (HUMMEN et al., 2013). Além disto, os mecanismos de comunicação de alguns dispositivos, na maioria das vezes sem fio, possuem baixa potência de transmissão e baixa taxa de dados (MAHALLE et al., 2010). Segundo Atzori, Iera e Morabito (2010) existe também uma grande quantidade de dispositivos heterogêneos que necessitam estar integrados, o que demanda uma preocupação com relação à interoperabilidade e integração dos mecanismos de comunicação. 20

21 De acordo com Atzori, Iera e Morabito (2010), a IoT pode ser orientada em três principais visões: visão orientada a Coisas, visão orientada à Internet e visão orientada a Semântica. Essas visões podem ser percebidas analisando o próprio termo Internet das Coisas, onde Internet remete a rede mundial de computadores e coisas remete à objetos genéricos. Quando as duas palavras são interligadas assumem um significado que rompe barreiras e introduz um nível de inovação ainda não percebido pelas TICs (Tecnologia de Informação e Comunicação). Semanticamente, de acordo com Atzori, Iera e Morabito (2010), a "Internet das Coisas" significa uma rede mundial de objetos interligados, endereçáveis, capazes de armazenar informações e com o poder de trocá-las, criando um ambiente mais desafiador. A Figura 1 detalha as três visões citadas pelos autores. Figura 1. Visões da Internet das Coisas Fonte: Atzori, Iera e Morabito (2010) 21

22 As três visões são descritas a seguir: Visão orientada a coisas: Considera as coisas como itens simples, por exemplo, etiquetas RFID, porém, não somente estas coisas simples. Trata de aspectos como endereçamento único e global (para acesso direto às coisas por meio da Internet) e da identificação unívoca das coisas. Um dos pontos relevantes dessa visão é que, para a efetiva concretização da IoT, constata-se a necessidade de aumentar a inteligência das coisas; Visão orientada à Internet: Responsável pelos protocolos necessários e como esses devem ser adaptados para permitir a troca de informações entre as coisas na IoT. Nessa visão, estão as pesquisas e padrões que tratam da adaptação do protocolo IP para o ambiente de IoT; e Visão orientada à Semântica: A quantidade de coisas conectadas à rede (Internet do Futuro) está destinada a ser muito alta. Nesta visão incluem questões como representação, armazenamento, busca e organização da grande quantidade de dados gerados na IoT. Neste contexto, as tecnologias semânticas deverão desempenhar um papel fundamental, pois serão usadas para modelagem das coisas, para extração do conhecimento dos dados, para o raciocínio sobre os dados gerados na IoT, para criação de ambientes de execução semânticos e para definição da arquitetura que irá acomodar os requisitos da IoT. Xiang e Li (2009) afirmam que objetos inteligentes conectados na IoT podem ser utilizados nos mais diversos ambientes, como plataformas de petróleo, mineração, ambientes florestais, túneis, oleodutos, etc. Além disso, em situações de perigo como terremotos, incêndios, inundações, zona de radiação e assim por diante. Nessas situações os objetos dessa infraestrutura poderiam descobrir um ao outro, aproveitar recursos um do outro para obter e utilizar dados entre si e entre o mundo, aumentando assim o alcance e a confiabilidade dos serviços. 22

23 2.3 WEB DAS COISAS Inspirado na ideia da IoT surgiu um paradigma de desenvolvimento de aplicações conhecido como a Web das Coisas (do inglês, Web of Things WoT). Esse conceito propõe a adoção de padrões Web a fim de oferecer plataforma comum para que diferentes tipos de dispositivos possam ser beneficiados pelas tecnologias existentes na Web, além de facilitar o desenvolvimento de aplicativos para tais dispositivos (DE FRANÇA et al., 2011). O objetivo da WoT é alavancar a visão de conectividade entre o mundo físico e o mundo digital, fazendo com que a Web atual passe a englobar também objetos do mundo físico, objetos esses os quais passarão a ser tratados da mesma forma que qualquer outro recurso Web (DE FRANÇA et al., 2011). Porém, muitos objetos estão conectados à Internet utilizando softwares e interfaces distintas, ou seja, desenvolvendo a interface de seus dispositivos sem respeitar um padrão em comum. Isso dificulta a integração de dados e serviços entre estes dispositivos (GUINARD, 2010). O uso das linguagens, protocolos e interfaces específicas de cada tipo de dispositivo faz com que o desenvolvimento de aplicativos para os mesmos seja uma tarefa complexa, pois é necessário que o desenvolvedor possua conhecimento especializado para cada dispositivo utilizado no projeto. Dessa forma, para facilitar o desenvolvimento de serviços no topo desses dispositivos, permitindo também que os serviços e os dados dos mesmos sejam compostos em diferentes aplicações, é necessário utilizar uma linguagem comum a diferentes dispositivos (GUINARD, 2010). A integração dos dispositivos à Web ocorre no nível de aplicação (GUINARD, 2010). Tal integração permite que ferramentas e técnicas da Web (por exemplo, navegadores, ferramentas de busca e sistemas de cache), linguagens da Web (por exemplo, HTML e JavaScript) e técnicas de interação com o usuário (por exemplo, navegação, vinculação e bookmarking) possam ser aplicadas para objetos do mundo real (GUINARD, 2010). Desta forma, de acordo com Guinard et al. (2009), a WoT possibilita a agregação de valor às informações providas pelos objetos físicos através da utilização de todos os recursos disponíveis na Web, o que por sua vez alavanca a concretização da visão da IoT. 23

24 A WoT preconiza que qualquer objeto físico possa enviar seus dados para pontos descentralizados e esses dados podem ser utilizados e reutilizados em diferentes aplicações (GUINARD, 2010). Segundo Guinard et al. (2009), a extensão da Web proposta pela WoT é realizada através da adoção do protocolo HTTP como protocolo de aplicação. Isso significa que esse protocolo deve ser utilizado como interface base para realizar toda a interação com os recursos disponíveis e não apenas para transportar passivamente as mensagens trocadas. Segundo De França et al. (2011), a realização da visão da WoT requer, portanto, que a Web atual seja estendida de modo que objetos do mundo real e dispositivos embarcados possam ser incorporados a ela de forma transparente. Essa extensão é obtida através da utilização do protocolo HTTP e dos princípios REST na criação de APIs (do inglês, Application Programming Interface), contudo, como a W3C atesta, existem dois grandes paradigmas de serviços web: Serviços Web REST também chamados de serviços web RESTful, (Fielding & Taylor 2002); e Serviços web arbitrários (comhecidos como WS*), (GROUP 2004). O objetivo principal dos serviços web RESTful é manipular os recursos da web usando um conjunto uniforme de operações sem estado. Já nos serviços web arbitrários, são utilizados um conjunto arbitrário de operações. Ambos os paradigmas podem ser adotados por Smart gateways. Guinard et al. (2009) descrevem duas maneiras de integrar os objetos na WoT: a primeira é embarcando um servidor web diretamente no dispositivo que se deseja integrar a web, e a segunda, para dispositivos com recursos limitados, propões o uso de um intermediador que interprete as requisições feitas pelos dispositivos. Segundo Zeng, Guo e Cheng (2011), este intermediador entre os dispositivos e a Web é chamado de Smart Gateway. A Figura 2 ilustra esse cenário, no qual alguns dispositivos se conectam diretamente à Web e outros que não possuem recursos suficientes precisam de um intermediador para interpretar suas requisições e enviá-las à Web. Segundo Guinard et AL (2009), os Smart Gateways tem como objetivo principal abstrair protocolos de comunicação ou APIs de dispositivos embarcados e disponibilizar suas funcionalidades por meio de uma API REST. 24

25 Figura 2. Integração Direta e Indireta na Web das Coisas Fonte: Wangham, Domenech e Mello (2013). Além disso, é possível disponibilizar através de middlewares, serviços web que facilitem a composição de recursos, criando assim aplicações de valor agregado denominadas mashups físicos (GUINARD et al., 2009). Guinard (2011) apresenta um modelo de arquitetura para implementação da Web das Coisas que possui quatro camadas: Acessibilidade ao dispositivo: Esta camada é onde é implementada a lógica de acesso ao dispositivo inteligente, tornando este dispositivo visível e disponível ao acesso pela aplicação. O propósito dessa camada é integrar as coisas com o ambiente Web tornandoas entidades reais neste ambiente, como por exemplo, as páginas Web; 25

26 Endereçamento: Nesta camada é definido o modelo de implementação para os serviços de busca e endereçamento para os dispositivos inteligentes. Essa camada define como encontrar os serviços providos pelos dispositivos e integrá-los dentro das aplicações; Compartilhamento: Nesta camada são definidas as políticas e como ocorrerá o compartilhamento dos recursos nos dispositivos inteligentes, considerando aspectos de segurança, facilidade de utilização, modelos de confiança, interoperabilidade e integração com aspectos de marketing e propagandas; e Composição: Aqui é definida a fronteira da WoT para com os desenvolvedores, facilitando a criação de aplicações Web compostas no topo dos dispositivos inteligentes e possibilitando um modelo mais flexível e customizável para o desenvolvimento dessas aplicações. 2.4 REST Segundo Mayer (2010), uma abordagem que está sendo bastante utilizada juntamente com protocolo HTTP na criação de sistemas distribuídos na Web é o estilo arquitetural REST (do inglês, REpresentational State Transfer). Esse estilo arquitetural pode ser empregado para desenvolver sistemas que seguem uma arquitetura orientada a recursos (ROA, do inglês Resource Oriented Architecture) (MAYER, 2010). O REST define um conjunto de princípios que ao serem adotados dão origem a sistemas RESTful. Segundo Guinard et al. (2009) os sistemas RESTful são menos acoplados, mais leves, eficientes e flexíveis do que os sistemas Web baseados em serviços web arbitrários (WS-*) e podem ser facilmente reutilizados. Os princípios REST podem ser mapeados nos métodos básicos do protocolo HTTP (GET, POST, PUT e DELETE) para criar sistemas CRUD (Create, Read, Update, Delete) de uma aplicação RESTful. Os recursos dos sistemas RESTful são identificados e encapsulados por uma URI. Segundo Fielding e Taylor (2002) a característica central que distingue o estilo de arquitetura REST de outros estilos é sua ênfase em uma interface uniforme entre os componentes, no qual os recursos devem estar disponíveis com uma semântica de interação bem definida, como por exemplo, o protocolo HTTP. Os métodos das requisições HTTP (GET, PUT, DELETE ou POST) são utilizados para indicar ao provedor do recurso a ação que deve ser realizada. Assim, cada método representa uma ação específica sobre o recurso, conforme descrito a seguir: 26

27 GET: é utilizado para recuperar a representação do recurso; PUT: é utilizado para atualizar o estado de um recurso existente ou utilizado para criar um recurso por meio de um identificador fornecido; DELETE: é utilizado para remover um recurso; e POST: é utilizado para criar um novo recurso. Fielding e Taylor (2002) afirmam que para obter uma interface REST uniforme é necessário seguir quatro regras: Identificação de recursos: A Web se baseia no mecanismo de URI para identificar seus recursos e assim links para estes recursos podem ser estabelecidos por meio de um esquema de identificação conhecido; Manipulação de recursos por meio de representações: A representação consiste em dados e metadados que descrevem estes dados. Dependendo dos dados de controle da mensagem, uma determinada representação pode indicar o estado atual do recurso solicitado, o estado desejado para o recurso solicitado, ou o valor de algum outro recurso; Mensagem auto-descritiva: Todas as informações necessárias para processar uma solicitação em um recurso estão contidas na própria solicitação permitindo assim que os serviços não tenham monitoração de estado; e Hipermídia como o motor do estado do aplicativo: os clientes dos serviços RESTful são condicionados a utilizar links para encontrar os serviços e interagir com os recursos providos por estes. Isto permite a um cliente explorar um serviço sem a necessidade de conhecer o formato do mesmo. Além disso, o cliente pode utilizar uma padronização de identificadores e processos bem definidos para descoberta de tipos e mídias oferecidos pelos serviços. A utilização do protocolo HTTP como protocolo de aplicação admite que os recursos possuam várias representações e permite que os clientes selecionem, dentre as representações disponíveis, aquela que for mais adequada às necessidades da aplicação (SANDOVAL, 2009). 27

28 Segundo Guinard et al. (2009), tais características fazem do estilo REST a melhor opção para construção de APIs Web para acesso a objetos do mundo real. De acordo com Dal Moro, Dorneles e Rebonatto (2011), o REST possui a vantagem de que suas mensagens são transportadas diretamente através do protocolo HTTP, diferente dos serviços WS-*, que trabalham com envelopes SOAP (Simple Object Access Protocol) envolvidos por pacotes HTTP. Com isso o desempenho também é afetado, pois os pacotes SOAP devem ser interpretados antes de os dados serem utilizados. O Quadro 1 apresenta uma comparação entre serviços WS-* e serviços RESTful. Quadro 1 Comparação entre serviços WS-* e serviços RESTful. Fator de Comparação Web services WS-* Web services REST WS lista Tamanho produtos por 584 bytes 399 bytes de Pacote categoria HTTP WS lista 1567 bytes 1412 bytes produtos WS lista fabricantes 572 bytes 431 bytes WS lista categorias 864 bytes 747 bytes Armazenamento de estados Permite Stateless Abordagem de design Baseado em operações ou Baseado em recursos ou verbos substantivos (URIs) Interface Interface não uniforme Interface uniforme GET, POST, UPDATE, DELETE. Code on demand (COD) Não é voltado a COD Permite que o código originado da requisição ao servidor seja executado no lado do cliente. Representação de dados XML (extensible Markup Language) Aberto Descritor WSDL (Web Service Description Language) WSDL/WADL/Nenhum Fonte: Dal Moro, Dorneles e Rebonatto (2011) Representação dos Recursos com JSON JSON (JavaScript Object Notation) é um formato de troca de dados de fácil leitura, escrita e de fácil análise e geração para máquinas, além disso, JSON é um formato de texto que é 28

29 completamente independente de idioma e usa convenções que são familiares aos programadores (JSON, 2014). JSON está constituído em duas estruturas: Uma coleção de pares nome e valor. Em várias linguagens, isto é caracterizado como um object, record, struct, dicionário, hash table, keyed list, ou arrays associativas;e Uma lista ordenada de valores. Na maioria das linguagens, isto é caracterizado como uma array, vetor, lista ou sequência. Estas são estruturas de dados universais. Virtualmente todas as linguagens de programação modernas as suportam. É aceitável que um formato de troca de dados que seja independente de linguagem de programação se baseie nestas estruturas (JSON, 2014). No caso dos dispositivos inteligentes, sugere-se a utilização do JSON uma vez que é um padrão mais leve se comparado ao XML, principalmente levando em consideração o tamanho das mensagens e o tempo de validação das mesmas. Nurseitov et al., (2009) afirmam que JSON é mais rápido e utiliza menos recursos computacionais que XML (extensible Markup Language) quando utilizados para troca de mensagens. Além disto, este padrão é nativamente processado pelo JavaScript, o que o torna ideal para integração com Web mashups e, consequentemente, para a criação dos mashups físicos (GUINARD, 2011). 2.5 PLATAFORMA DE HARDWARE ABERTO Existem diversos hardwares que podem ser utilizados para embarcar serviços web RESTful, cada qual com suas vantagens. A escolha do hardware que servirá como base para o desenvolvimento dos serviços deve atender alguns requisitos mínimos como suporte para software open source, interface de rede e armazenamento interno. Pesquisa realizada pela The Linux Foundation em conjunto com LinuxGismos.com elenca as 10 principais plataformas de hardware aberto utilizados no desenvolvimento de aplicações com hardware embarcado (BROWN, 2014). Estes estão ilustrados na Figura 3. Esta classificação partiu do total de 32 hardwares e serviu como ponto de partida para a escolha da plataforma de hardware 29

30 aberto que será utilizado neste trabalho. A pesquisa questionava quais características listadas à seguir eram levadas em consideração na hora da escolha do hardware a ser adquirido. Suporte para software open source; Suporte da comunidade; Informações do hardware (documentação); Interface de rede wireless; Baixo custo; Interfaces de entrada e saída, tais como USB e serial; Baixo consumo de energia; Armazenamento no dispositivo; Performance gráfica; Controladores de entrada e saída; e Modularidade. Figura 3. Os 10 principais hardwares Fonte: Bronw (2014) A pesquisa também apontou o objetivo para o qual o hardware era adquirido. A Figura 4 mostra esta classificação. 30

31 Figura 4. Principal uso do hardware adquirido Fonte: Bronw (2014) O Quadro 2 apresenta um detalhamento técnico sobre os 10 principais hardwares escolhidos na pesquisa e, apesar de alguns possuírem algumas configurações de hardwares mais performáticas que outras, todos são capazes de embarcar um servidor Web. Um outro ponto que influencia na escolha do hardware é o suporte a sistemas open source, característica que está presente em todos os candidatos. Um ponto importante não tratado nesta pesquisa é a questão de ser uma plataforma de hardware aberto. Segundo Stallman (1999), ideia principal de hardware aberto, é que deve ser livre, no sentido de que esteja livremente disponíveis seus, esquemas, data-sheets e drivers para especificação do hardware, a fim de permitir a criação e a melhoria do mesmo. Neste trabalho, escolheu-se o Beagle Bone Black por este ser uma plataforma de hardware aberto que atende todos os requisitos de projeto da solução proposta e pela disponibilidade na UNIVALI de kits dessa placa para empréstimo. 31

32 Quadro 2. Comparação entre os 10 hardwares selecionados Hardware CPU RAM Armazenamento USB Ethernet Wi-Fi Bluetooth Hardware Custo $ aberto Raspberry Pi Model B MHz 512 MB Não 2X2.0 10/100 Não Não Não $ Beagle Bone Black ARM GHz 512 MB Interno: 2GB Flash 1X2.0 10/100 Não Não Sim $54.95 Odroid-U3 4x ARM 2 GB Módulo Emmc 3X2.0 10/100 Não Não Sim $65.00 GHz CubieTruck Cortext-A7 Dual-Core 2GB Interno: 8GB Flash Externo: microsd 2X2.0 10/100/1000 Sim Sim Sim $99.00 Banana Pi 2x ARM 1 GB Externo: SD 2x2.0 10/100/1000 Não Não Sim $29.99 GHz Parallella Dual-core ARM A9 1GB Externo: MicroSD 2X2.0 10/100/ Sim $ Cubieboard2 2x ARM 1 GB Interno: 4GB 1X2.0 10/100 Não Não Sim $64.99 GHz A10-OlinuXino-Lime A10 1GHz Cortex-A8 512 MB Interno:4GB Flash 2x2.0 10/ Sim $40.90 Externo: MicroSD Galileo Intel Quark X MB Interno: 8MB Flash 2x2.0 10/100 Não Não Sim $67.00 single core Externo: SD Card Udoo Quad 2x, or 4x ARM Cortex-A9 1GB Não 1X2.0 10/100/1000 Sim Não Sim GHz 32

33 3 TRABALHOS RELACIONADOS Neste capítulo, são descritos alguns trabalhos que possuem objetivos semelhantes aos deste trabalho. Ao final do capitulo os trabalhos relacionados são comparados considerando características como, (i) o provimento de uma API REST para disponibilizar acesso aos estados da máquina monitorada, (ii) a comunicação entre máquinas (M2M - Machine to Machine), (iii) o uso do ambiente Web, (iv) a possibilidade do controle remoto das máquinas industriais, (v) o uso da nuvem e (vi) uso de Smart Gateway na resolução de restrições de conectividade. 3.1 O é um projeto da União Européia liderado pela Siemens. O projeto tem como foco o domínio das tecnologias da Internet das Coisas em ambientes industriais e de automação para desenvolver o conceito de plug&work. A ideia deste conceito é tornar os equipamentos industriais capazes de se configurar de forma automática. O dispositivo é conectado em qualquer lugar na rede e a rede se encarrega do resto, até que o dispositivo se torne operacional, podendo cooperar com os outros dispositivos, se adaptar a mudanças como novas demandas e possíveis falhas 2010). A principal motivação do desenvolvimento do é o histórico das dificuldades que os projetistas de sistemas de automação industrial sempre enfrentaram durante a configuração da rede de comunicação e de subsistemas de segurança. Este esforço caro e muitas vezes manual é fundamental, a fim de evitar falhas que podem levar a interrupções de produção dispendiosas ou mau funcionamento que podem colocar em risco os seres humanos envolvidos. Dentre as tecnologias desenvolvidas destacam-se Imtiaz et al. (2013): O serviço de diretório unificado, que permite aos dispositivos descobrir e acessar outros dispositivos/serviços da rede por meio de uma API RESTful, viabilizando também seu monitoramento remoto; O serviço de notificação de eventos, que é um middleware que atua como um conector entre geradores e consumidores de eventos, permitindo a troca de informações eficiente entre os dispositivos; 33

34 O Processamento de Eventos Complexos, o qual permite o processamento inteligente de mensagens para suportar o gerenciamento automatizado da planta industrial (dados monitorados disparam processos automatizados de atuação). Contudo, apesar de ser focado em ambientes industriais e permitir a comunicação M2M, o projeto não aborda a publicação de dados dos dispositivos em uma plataforma na Nuvem por meio de Smart Gateways. 3.2 WEB BASED INTERFACE TO SCADA SYSTEM A proposta deste trabalho é a utilização da Web como meio de acesso aos dados disponibilizados por sistemas SCADA (Supervisory Control and Data Acquisition). A motivação surgiu de um cenário em que usuário trabalhando em diferentes departamentos de uma companhia elétrica precisa obter os dados de um sistema SCADA. O objetivo é conectar a intranet da empresa ao sistema SCADA e dar acesso fácil aos usuários em tempo real e aos dados históricos através de uma única solução por meio de um cliente web (ZECEVIC, 1998). A Figura 5 ilustra as três camadas que compõe o fluxo da solução proposta. A solução possibilita que usuários, por meio de um cliente web realizem uma requisição de dados somente do SCADA. Essa requisição passa pelo ambiente de intranet da empresa e, ao chegar ao servidor de intranet, essa requisição é processada para capturar os dados solicitados e, processar e criar uma resposta, a qual é enviada ao cliente contendo os dados do sistema SCADA que foi solicitado, dessa forma, o sistema permite apenas que sejam capturados dados e não prevê o controle das máquinas que estão sendo monitoradas. 34

35 Figura 5. Arquitetura da aplicação em três camadas. Fonte: Zecevic (1998). 3.3 PROPOSTA DE ARQUITETURA ORIENTADA A RECURSOS PARA SCADA NA WEB Este trabalho descreve uma proposta de arquitetura de software para aplicações típicas de sistemas SCADA, utilizando a Web como plataforma. Segundo Polônia (2011), o objetivo é mostrar como os requisitos característicos de aplicações SCADA podem ser incorporados em uma arquitetura condizente com os princípios arquiteturais que fundamentam a Web, dado que as arquiteturas comumente propostas para SCADA, baseadas em RPC (Remote Procedure Call), apresentam problemas de forte acoplamento, manutenção de estado e interfaces especializadas, que dificultam uma integração plena com a Web para tanto, uma arquitetura foi projetada utilizando como cenário uma CFM (Célula Flexível de Manufatura), ambiente característico de um sistema SCADA, uma Arquitetura Orientada a Recursos que englobou as funcionalidades geralmente oferecidas por aplicações SCADA: Aquisição de dados; Controle em nível de supervisão; Configurações; 35

36 Históricos; Alarmes; e IHMs (Interface Homem-Máquina). Este cenário, utilizando as tecnologias da Web (HTTP, URI e tipos de mídia) de acordo com seus princípios de arquitetura configura uma solução muito semelhante com a proposta deste trabalho, porém, apesar de possível, o autor não deixa clara a integração M2M e a solução se restringe aos sistemas tipo SCADA, não permitindo a comunicação entre máquinas heterogêneas, além disso, a solução não dispõe de uma integração com a Nuvem, contudo, é importante destacar o interesse do autor em sua conclusão por um estudo aprofundado sobre Web das Coisas. 3.4 AN INTERNET BASED DITRIBUTED CONTROL SYSTEM: A CASE STUDY OF OIL REFINERIES Neste trabalho é proposto um sistema distribuído com base na internet para o controle e monitoramento em tempo real de plantas industriais. Utilizando a web de cada DSC (Data System Control), conectando os DSC s a um servidor WEB central e daí então possibilitando o acesso via um cliente Applet incorporado à uma página Web com intuito de interpretar os dados vindos do servidor e atualizar o HMI (Human Machine Interface) correspondente, o qual se encarrega de atualizar os sensores que sofreram mudanças. Devido à utilização de Applets a proposta não possibilita a comunicação M2M, além disto, como o intuito é realizar o monitoramento em tempo real, não há a persistência dos dados para análise posterior. A Figura 6 apresenta uma visão geral sobre a arquitetura que é proposta para o desenvolvimento desse trabalho. 36

37 Figura 6. Cliente/ Servidor em três camadas Fonte: Mahmood e Al-Naima (2011) 3.5 ANÁLISE COMPARATIVA Os trabalhos relacionados apresentados nesse capítulo possuem características semelhantes à proposta deste trabalho, as quais são destacadas no Quadro 3. Quadro 3. Comparativo dos trabalhos relacionados com o trabalho proposto. Zecevic (1998) Polônia (2011) Mahmood e Al-Naima (2011) 2013 Este Trababalho API REST Não Sim Não Sim Sim M2M Não - Não Sim Sim Ambiente Web Sim Sim Sim Sim Sim Controle Remoto Não Sim Sim Sim Sim Uso de Nuvem Não Não Não Não Sim Uso de Smart Não Sim Não Não Sim 37

38 Gateway Nenhum dos trabalhos relacionados prevê o uso de Nuvem para a persistência dos dados monitorados e o provimento de aplicações web que possibilitem o controle remoto de dispositivos em um ambiente industrial. Deste modo, o diferencial deste trabalho é possuir todas as características, utilizando Smart Gateway para contornar as restrições de conectividade e realizar a comunicação entre máquinas heterogêneas, disponibilizando seus estados na Web via API Rest, a qual possui dentre suas premissas a possibilidade de atualização transparente dos dados, o que viabiliza o controle remoto dessas máquinas, além disso, o uso da Nuvem como ambiente de persistência possibilita que os dados sejam analisados posteriormente. 38

39 4 DESENVOLVIMENTO Este capítulo detalha as etapas do desenvolvimento deste trabalho. Primeiramente, é apresentado um levantamento inicial e uma visão geral dos componentes envolvidos, seguida pela análise de requisitos e pela modelagem do sistema, com os casos de uso e diagramas de sequência que auxiliaram na concepção da solução. Em seguida, é apresentada uma avaliação do desenvolvimento que contempla requisitos funcionais, não funcionais e de desempenho. Por fim, são apresentadas as tecnologias utilizadas no processo de desenvolvimento. 4.1 LEVANTAMENTO INICIAL Esta etapa do trabalho teve como objetivo entender quais os reais problemas enfrentados pela equipe de suporte da Empresa X, isto para que fosse possível identificar necessidades e destacar os requisitos primordiais que o sistema deveria atender, nesta etapa foi obtido o entendimento do funcionamento da máquina industrial. Para tanto foram realizadas reuniões com a equipe de engenharia e com a diretoria da empresa além de visitas à fábrica com o intuito de entender quais as necessidades mais latentes com relação ao monitoramento das máquinas. Como resultado dessas interações, foi adquirido conhecimento para gerar alguns artefatos essenciais para o desenvolvimento da solução proposta entre eles estão o (i) diagrama de máquina de estados, (ii) diagrama de classe, (iii) análise de requisitos e (iv) casos de teste. 4.2 VISÃO GERAL DA SOLUÇÃO PROPOSTA A Figura 7 apresenta uma visão geral do sistema que envolve o Smart Gateway, uma máquina industrial e uma aplicação de recebimento de dados que visa persistir os dados em uma nuvem computacional. 39

40 Figura 7. Visão geral do uso do Smart Gateway no ambiente industrial A solução proposta possui dois principais componentes: uma aplicação (chamada Monitor) que monitora logs de uma máquina industrial e o Smart Gateway, que possui uma API RESTful que disponibiliza, por meio de serviços web, os recursos da máquina industrial monitorada. A máquina industrial em questão possui um sistema SCADA (Supervisory Control and Data Acquisition), o qual atualiza e disponibiliza um arquivo de log com informações dos estados da máquina (arquivo texto). Deste modo, quando a máquina está executando alguma tarefa, esse arquivo é constantemente atualizado com informações de timestamp e tipo de operação que a máquina está realizando. Os logs indicam quando os processos da máquina ocorrem, como por exemplo, o corte de um tecido. A aplicação Monitor consulta constantemente o arquivo de log que é atualizado pelo sistema SCADA. Sempre que o Monitor detecta uma alteração no arquivo este captura a atualização. Por ser um cliente REST do Smart Gateway, sempre que o Monitor captura estas atualizações do arquivo de log este as mantém em memória e as envia quando estabelece uma conexão com o Smart Gateway. Portanto, a aplicação Monitor é um meio de enviar as atualizações dos estados da máquina para o Smart Gateway e foi desenvolvida para adequar o Smart Gateway proposto ao cenário disponibilizado pela Empresa X. Apesar da aplicação Monitor ter sido 40

41 desenvolvida para coletar as atualizações do arquivo de log gerado pelo SCADA para o envio ao Smart Gateway, também é possível que ela colete dados de outra fonte de dados e as envie ao monitor utilizando o mesmo padrão de mensagens, bastando apenas que a máquina monitorada disponibilize tal meio. O Smart Gateway é composto por um servidor web embarcado, o qual possui uma aplicação dividida basicamente em duas camadas, (i) um camada que representa virtualmente a máquina que esta sendo monitorada e uma camada que (ii) implementa a arquitetura REST, a camada (i) tem seus estados sendo constantemente atualizados e a camada (ii) disponibiliza o acesso à recursos que permitem o acesso a dados desta máquina representada virtualmente, como a camada também (ii) implementa um cliente REST, este envia os estados desta máquina virtual à um serviço em Nuvem periodicamente. Os drivers proprietários dão mais flexibilidade à solução, possibilitando por exemplo que haja comunicação direta com o Smart Gateway através de protocolos como I2C e SPI. Todos os elementos citados acima foram embarcados em uma plataforma de hardware aberto, com o principal objetivo de representar virtualmente uma máquina industrial. A aplicação executada dentro do servidor web mantém os estados da máquina, atualizando-os por meio de mensagens que são enviadas pela aplicação Monitor. Para disponibilizar estas propriedades, bem como os estados de sensores e atuadores, de modo que dispositivos e usuários possam acessá-las, o Smart Gateway provê, através do servidor web, uma API RESTful. Desta forma, qualquer dispositivo que possua acesso à Internet e autorização poderá consumir os recursos disponibilizados no formato JSON. Além disto, o Smart Gateway também é um cliente REST, o que permite que o próprio Smart Gateway, utilizando seu histórico de atualizações, envie-as periodicamente para outros serviços que estejam configurados, como serviços em Nuvem e outros Smart Gateways. 4.3 ANÁLISE DE REQUISITOS De modo a apresentar o funcionamento do sistema, as próximas seções mostram, respectivamente, os requisitos funcionais e não funcionais que delimitam as regras de negócio do sistema. 41

42 4.3.1 Análise de Requisitos A seguir encontram-se listados os requisitos funcionais dos dois principais componentes abordados neste trabalho: O Smart Gateway e a Aplicação Monitor. Requisitos funcionais do Smart Gateway RF01: O sistema deve prover uma API que permita o acesso aos recursos da máquina monitorada; RF02: O sistema deve prover um serviço web que permita a configuração de serviços externos que receberão os dados da máquina industrial; RF03: O sistema deve prover um serviço web que permita o recebimento de atualizações dos estados da máquina monitorada através das mensagens de log; RF04: O sistema deve realizar a interpretação de mensagens de log e atualizar os estados e propriedades que representam sensores e atuadores; RF05: O sistema deve manter um histórico temporário dos estados da máquina para posterior envio à Nuvem; e RF06: O sistema deve enviar periodicamente os estados da máquina para os serviços externos configurados. Requisitos Funcionais da Aplicação Monitor RF01: O sistema deve permitir ao usuário inserir a URL de um Smart Gateway; RF02: O sistema deve permitir ao usuário alterar a URL do Smart Gateway; RF03: O sistema deve permitir ao usuário inserir o caminho do arquivo de log da máquina monitorada; RF04: O sistema deve permitir ao usuário alterar o caminho do arquivo de log da máquina monitorada; RF05: O sistema deve permitir ao usuário iniciar e parar o monitoramento do arquivo de log; e RF06: O sistema deve enviar as alterações detectadas no arquivo de log para o Smart Gateway. Requisitos não funcionais do Smart Gateway RNF01: O sistema deve ser implementado utilizando a linguagem de programação Java 7; 42

43 RNF02: O sistema deve ser desenvolvido aplicando os conceitos da arquitetura REST; RNF03: O sistema deve disponibilizar os recursos da máquina no formato JSON e XML; RNF04: O sistema deve reenviar as atualizações para os serviços externos configurados em caso de falha de comunicação; e RNF05: O sistema deve ser desenvolvido sobre a plataforma Oracle Java SE Embedded. Requisitos não funcionais da Aplicação Monitor RNF01: O sistema deve utilizar soluções de tecnologias e plataformas para desenvolvimento open source; e RNF02: O sistema deve reenviar as atualizações do arquivo de log em caso de falha na comunicação com o Smart Gateway. 4.4 MODELAGEM DO SISTEMA Nesta seção são apresentadas as informações referentes à modelagem do sistema, bem como os casos de uso e os diagramas de sequência, os diagramas de classe bem como uma descrição das principais classes encontram-se no Apêndice A. A Figura 8 apresenta o diagrama de casos de uso da aplicação Monitor. 43

44 Figura 8. Diagrama de Casos de Uso da aplicação Monitor Nos quadros a seguir são apresentados os casos de uso expandidos. Nesta expansão encontram-se detalhadas as seguintes informações: descrição, atores, pré e pós-condições, fluxos principal e alternativos e exceções. Quadro 4. Detalhamento do Caso de Uso UC01. Inserir URL do Smart Gateway Nome do caso de uso Descrição Atores Pré-condições Fluxo principal Fluxo alternativo e exceções Pós-condições UC01. Inserir URL do Smart Gateway O Usuário pode inserir o endereço URL do Smart Gateway que receberá as atualizações detectadas pela aplicação Monitor. Usuário Aplicação Monitor iniciada 1. O usuário clica com o botão direito no ícone da aplicação Monitor; 2. O sistema apresenta um menu; 3. O usuário clica na opção Configurar Smart Gateway ; 4. O sistema apresenta um campo de entrada; 5. O usuário adiciona a URL do Smart Gateway e clica no botão Salvar. 1. Caso o usuário insira uma URL inválida sistema apresenta uma mensagem de URL Inválida. N/A 44

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com. Consumindo um Web Service através de uma Aplicação Comercial em Android Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.br 08/2014 Agenda Introdução Conceitos Web Service Por que utilizar

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

REST Um Estilo de Arquitetura de Sistemas Distribuídos

REST Um Estilo de Arquitetura de Sistemas Distribuídos REST Um Estilo de Arquitetura de Sistemas Distribuídos Márcio Alves de Araújo¹, Mauro Antônio Correia Júnior¹ 1 Faculdade de Computação Universidade Federal de Uberlândia (UFU) Monte Carmelo MG Brasil

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Web das Coisas: Conectando Dispositivos Físicos ao Mundo Digital

Web das Coisas: Conectando Dispositivos Físicos ao Mundo Digital Capítulo 3 Web das Coisas: Conectando Dispositivos Físicos ao Mundo Digital Tiago C. de França, Paulo F. Pires, Luci Pirmez, Flávia C. Delicato, Claudio Farias Abstract In the near future the number of

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

Leia mais

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

Leia mais

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 5 INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos

Leia mais

AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA.

AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA. AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA. Uma significativa parcela dos sistemas de automação de grandes empresas são legados de tecnologias de gerações anteriores,

Leia mais

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

Leia mais

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos Web Services Integração de aplicações na Web Integração de Aplicações na Web Interoperação entre ambientes heterogêneos desafios diversidade de componentes: EJB, CORBA, DCOM... diversidade de linguagens:

Leia mais

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento. SOA Arquitetura Orientada a Serviços Conceitos e Aplicações Prof. MSc. Edilberto Silva edilms@yahoo.com/ http://edilms.eti.br Gestão de TI Conceitode SOA SOA - Service OrientedArchitecture (Arquitetura

Leia mais

REST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com

REST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com REST Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com 1 RESTful REpresentation State Transfer Estilo de arquitetura de software para sistemas distribuídos Termo proposto por Roy Fielding

Leia mais

Web das Coisas: Conectando Dispositivos Físicos ao Mundo Digital

Web das Coisas: Conectando Dispositivos Físicos ao Mundo Digital Capítulo 3 Web das Coisas: Conectando Dispositivos Físicos ao Mundo Digital Tiago C. de França, Paulo F. Pires, Luci Pirmez, Flávia C. Delicato, Claudio Farias Abstract In the near future the number of

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

Infra estrutura da Tecnologia da Informação

Infra estrutura da Tecnologia da Informação Infra estrutura da Tecnologia da Informação Capítulo 3 Adaptado do material de apoio ao Livro Sistemas de Informação Gerenciais, 7ª ed., de K. Laudon e J. Laudon, Prentice Hall, 2005 CEA460 Gestão da Informação

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS

APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS RESUMO Alessandro Lumertz Garcia 1 Anderson Yanzer Cabral 2 Este artigo apresenta tipos de aplicações que podem existir nas casas inteligentes,

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

APOSTILA DE REDES DE COMPUTADORES PARTE - III

APOSTILA DE REDES DE COMPUTADORES PARTE - III APOSTILA DE REDES DE COMPUTADORES PARTE - III 1 REDE DE COMPUTADORES III 1. Introdução MODELO OSI ISO (International Organization for Standardization) foi uma das primeiras organizações a definir formalmente

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Controle Supervisório e Aquisição de Dados (SCADA) Sistema de Execução da Manufatura MES Sistemas a Eventos Discretos (SED

Controle Supervisório e Aquisição de Dados (SCADA) Sistema de Execução da Manufatura MES Sistemas a Eventos Discretos (SED Controle Supervisório e Aquisição de Dados (SCADA) Sistema de Execução da Manufatura MES Sistemas a Eventos Discretos (SED Yuri Kaszubowski Lopes Roberto Silvio Ubertino Rosso Jr. UDESC 24 de Abril de

Leia mais

Microsoft.NET. Desenvolvimento Baseado em Componentes

Microsoft.NET. Desenvolvimento Baseado em Componentes Microsoft.NET Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Desenvolvimento Baseado em Componentes Resolução de problemas específicos, mas que podem ser re-utilizados em

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB Deusa Cesconeti e Jean Eduardo Glazar Departamento de Ciência da Computação Faculdade de Aracruz UNIARACRUZ {dcescone, jean}@fsjb.edu.br RESUMO

Leia mais

O que é uma rede industrial? Redes Industriais: Princípios de Funcionamento. Padrões. Padrões. Meios físicos de transmissão

O que é uma rede industrial? Redes Industriais: Princípios de Funcionamento. Padrões. Padrões. Meios físicos de transmissão O que é uma rede industrial? Redes Industriais: Princípios de Funcionamento Romeu Reginato Julho de 2007 Rede. Estrutura de comunicação digital que permite a troca de informações entre diferentes componentes/equipamentos

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

Alternativas de aplicação do serviço GPRS da rede celular GSM em telemetria pela Internet

Alternativas de aplicação do serviço GPRS da rede celular GSM em telemetria pela Internet Alternativas de aplicação do serviço GPRS da rede celular GSM em telemetria pela Internet Marcos R. Dillenburg Gerente de P&D da Novus Produtos Eletrônicos Ltda. (dillen@novus.com.br) As aplicações de

Leia mais

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações Universidade de São Paulo Escola Politécnica Programa de Educação Continuada em Engenharia PROGRAMA DE MBA em Gestão e Engenharia do Produto O Produto Internet e suas Aplicações Tecnologias de Informação

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 02 IMPLANTAÇÃO DE 1 (UM)

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto UM NOVO CONCEITO EM AUTOMAÇÃO Série Ponto POR QUE NOVO CONCEITO? O que é um WEBPLC? Um CP na WEB Por que usar INTERNET? Controle do processo de qualquer lugar WEBGATE = conexão INTERNET/ALNETII WEBPLC

Leia mais

Desenvolva Sistemas de Medições Distribuídos e Portáteis

Desenvolva Sistemas de Medições Distribuídos e Portáteis Desenvolva Sistemas de Medições Distribuídos e Portáteis Henrique Tinelli Engenheiro de Marketing Técnico NI Nesta apresentação, iremos explorar: Plataforma NI CompactDAQ Distribuída Sistemas de Medição

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

O que são sistemas supervisórios?

O que são sistemas supervisórios? O que são sistemas supervisórios? Ana Paula Gonçalves da Silva, Marcelo Salvador ana-paula@elipse.com.br, marcelo@elipse.com.br RT 025.04 Criado: 10/09/2004 Atualizado: 20/12/2005 Palavras-chave: sistemas

Leia mais

Estudo de caso da Solução Unified Wireless Cisco. Jonas Odorizzi. Curso de Redes e Segurança de Sistemas. Pontifícia Universidade Católica do Paraná

Estudo de caso da Solução Unified Wireless Cisco. Jonas Odorizzi. Curso de Redes e Segurança de Sistemas. Pontifícia Universidade Católica do Paraná Estudo de caso da Solução Unified Wireless Cisco Jonas Odorizzi Curso de Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, Abril de 2010 RESUMO Este artigo tem o objetivo

Leia mais

milenaresende@fimes.edu.br

milenaresende@fimes.edu.br Fundação Integrada Municipal de Ensino Superior Sistemas de Informação A Internet, Intranets e Extranets milenaresende@fimes.edu.br Uso e funcionamento da Internet Os dados da pesquisa de TIC reforçam

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

Leia mais

Arquiteturas SOA, WOA, e REST

Arquiteturas SOA, WOA, e REST Arquiteturas SOA, WOA, e REST Aplicação de Software Social Fred Figueiredo Luiz Borges Pedro Pires Arquiteturas SOA, WOA e REST Desenvolvimento de aplicações orientadas ao fornecimento de serviços que

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação 1 Ruironaldi dos Santos Cruz ARTIGO ARQUITETURA ORIENTADA A SERVIÇO SOA SERVICE

Leia mais

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID Alessandro Teixeira de Andrade¹; Geazy Menezes² UFGD/FACET Caixa Postal 533,

Leia mais

TÍTULO: ARCASE - AUTOMAÇÃO RESIDENCIAL COM ANDROID E SISTEMAS EMBARCADOS

TÍTULO: ARCASE - AUTOMAÇÃO RESIDENCIAL COM ANDROID E SISTEMAS EMBARCADOS Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: ARCASE - AUTOMAÇÃO RESIDENCIAL COM ANDROID E SISTEMAS EMBARCADOS CATEGORIA: CONCLUÍDO ÁREA:

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços

Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços Visão Geral Desafio Solução Uma implementação SOA (Service Oriented Architecture) bem-sucedida

Leia mais

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP Anexo VI Edital nº 03361/2008 Projeto de Integração das informações de Identificação Civil 1. Definições de interoperabilidade adotadas pela SENASP A Senasp procura adotar os padrões de interoperabilidade

Leia mais

Antonio Gomes de Araujo Laboratório de Eletrônica Industrial, Escola SENAI Anchieta São Paulo

Antonio Gomes de Araujo Laboratório de Eletrônica Industrial, Escola SENAI Anchieta São Paulo Antonio Gomes de Araujo Laboratório de Eletrônica Industrial, Escola SENAI Anchieta São Paulo Toshi-ichi Tachibana Departamento de Engenharia Naval e Oceânica, Escola Politécnica da Universidade São Paulo

Leia mais

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Professora: Sheila Cáceres Computador Dispositivo eletrônico usado para processar guardar e tornar acessível informação. Tópicos de Ambiente

Leia mais

Modelos e Arquiteturas de Sistemas Computacionais

Modelos e Arquiteturas de Sistemas Computacionais Modelos e Arquiteturas de Sistemas Computacionais Prof. Ricardo J. Rabelo UFSC Universidade Federal de Santa Catarina DAS Departamento de Automação e Sistemas SUMÁRIO Importância da definição da Arquitetura

Leia mais

Utilização da Internet das Coisas para o desenvolvimento de miniestação de baixo custo para monitoramento de condições do tempo em áreas agrícolas

Utilização da Internet das Coisas para o desenvolvimento de miniestação de baixo custo para monitoramento de condições do tempo em áreas agrícolas Utilização da Internet das Coisas para o desenvolvimento de miniestação de baixo custo para monitoramento de condições do tempo em áreas agrícolas Bruno Silva Afonso 1, Roberto Benedito de O. Pereira 1,

Leia mais

AUTOMAÇÃO RESIDENCIAL

AUTOMAÇÃO RESIDENCIAL AUTOMAÇÃO RESIDENCIAL Automação e Controle AR026 SUMÁRIO I. Sistemas Supervisórios... 3 II. Automação... 4 III. Arquitetura de Redes Industriais... 5 IV. Comunicação entre Supervisório e CLP...7 V. O Protocolo

Leia mais

QUESTÕES PROVA 2 (28 a 44)

QUESTÕES PROVA 2 (28 a 44) QUESTÕES PROVA 2 (28 a 44) 28) A orientação a objetos é uma forma abstrata de pensar um problema utilizando-se conceitos do mundo real e não, apenas, conceitos computacionais. Nessa perspectiva, a adoção

Leia mais

PIMS & MES Process Information Management Systems & Manufacturing Execution Systems

PIMS & MES Process Information Management Systems & Manufacturing Execution Systems PIMS & MES Process Information Management Systems & Manufacturing Execution Systems Prof. Ricardo J. Rabelo UFSC Universidade Federal de Santa Catarina DAS Departamento de Automação e Sistemas SUMÁRIO

Leia mais

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva The Eucalyptus Open- source Cloud-computing System Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva Sumário Introdução Trabalhos Correlatos Eucalyptus Design Conclusões Visão Geral Introdução:

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões FACSENAC ECOFROTA Documento de Projeto Lógico de Rede Versão:1.5 Data: 21/11/2013 Identificador do documento: Projeto Lógico de Redes Versão do Template Utilizada na Confecção: 1.0 Localização: FacSenac

Leia mais

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO DESCRIÇÃO DO SIGAI O SIGAI (Sistema Integrado de Gestão do Acesso à Informação) é uma solução de software que foi desenvolvida para automatizar os processos administrativos e operacionais visando a atender

Leia mais

Integração da Informação e do Conhecimento no Contexto da Copa do Mundo e os Jogos Olímpicos no Brasil

Integração da Informação e do Conhecimento no Contexto da Copa do Mundo e os Jogos Olímpicos no Brasil Integração da Informação e do Conhecimento no Contexto da Copa do Mundo e os Jogos Olímpicos no Brasil Ivan Guilherme 1, Jonas Queiroz 1, Caio Marques 2 1 Universidade Estadual Paulista, IGCE, DEMAC, Caixa

Leia mais

Web das Coisas WoT. Software: APIs para IoT. Prof. João Bosco Teixeira Junior

Web das Coisas WoT. Software: APIs para IoT. Prof. João Bosco Teixeira Junior Web das Coisas WoT Software: APIs para IoT Prof. João Bosco Teixeira Junior WoT Um novo paradigma para desenvolvimento de aplicações inspirado na ideia do IOT; Utiliza protocolos e padrões amplamente aceitos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Computação Aula 01-02: Introdução 2o. Semestre / 2014 Prof. Jesus Agenda da Apresentação Definição e surgimento de Sistemas Distribuídos Principais aspectos de Sistemas Distribuídos

Leia mais

1 Introdução. O sistema permite:

1 Introdução. O sistema permite: A intenção deste documento é demonstrar as possibilidades de aplicação da solução INCA Insite Controle de Acesso - para controle de conexões dia-up ou banda larga à Internet e redes corporativas de forma

Leia mais

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo Programação para Dispositivos Móveis Prof. Wallace Borges Cristo Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce) Aplicações

Leia mais

Estilos Arquiteturais. Estilos Arquiteturais. Exemplos de Estilos Arquiteturais. Estilo: Pipe e Filtros

Estilos Arquiteturais. Estilos Arquiteturais. Exemplos de Estilos Arquiteturais. Estilo: Pipe e Filtros Em geral sistemas seguem um estilo, ou padrão, de organização estrutural Os estilos diferem: nos tipos de componentes que usa na maneira como os componentes interagem com os outros (regras de interação)

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Protocolos de Aplicação Mecanismos de comunicação

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

PRnet/2013. Linguagem de Programação Web

PRnet/2013. Linguagem de Programação Web Linguagem de Programação Web Linguagem de Programação Web Prnet/2013 Linguagem de Programação Web» Programas navegadores» Tipos de URL» Protocolos: HTTP, TCP/IP» Hipertextos (páginas WEB)» HTML, XHTML»

Leia mais

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE por Miguel Aguiar Barbosa Trabalho de curso II submetido como

Leia mais

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 -

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 - - 1 - - 2 - - 3 - Segundo (Garg, 2004), são sistemas compostos por múltiplos processadores conectados por uma rede de comunicação, sendo a rede de comunicação uma LAN (Ethernet) ou WAN (Internet). - 4

Leia mais

Soluções de Automação e Segurança Predial. Taígo Soares taigo.soares@telemont.com.br

Soluções de Automação e Segurança Predial. Taígo Soares taigo.soares@telemont.com.br Soluções de Automação e Segurança Predial Taígo Soares taigo.soares@telemont.com.br Veículo de Emergência A Telemont Overview Automação Predial Vídeo Monitoramento Controle de Acesso Taígo Soares taigo.soares@telemont.com.br

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados

Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados Maria das Dores Rosa Alves¹, Marcia Izabel Fugisawa Souza¹ ¹Embrapa Informática Agropecuária Caixa postal 6014 Campinas, SP

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Componentes dos sistemas computadorizados Aula 04 FTC FACULDADE DE TECNOLOGIA E CIÊNCIAS ADMINISTRAÇÃO IV SEMESTRE

Componentes dos sistemas computadorizados Aula 04 FTC FACULDADE DE TECNOLOGIA E CIÊNCIAS ADMINISTRAÇÃO IV SEMESTRE Componentes dos sistemas computadorizados Aula 04 FTC FACULDADE DE TECNOLOGIA E CIÊNCIAS ADMINISTRAÇÃO IV SEMESTRE Componentes da infraestrutura Hardware Software Tecnologia de gerenciamento de dados Tecnologia

Leia mais

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente 1. Quais os componentes de um sistema cliente-servidor? Clientes e servidores 2. Na visão do hardware, defina o que é cliente e o que é servidor: Clientes. Qualquer computador conectado ao sistema via

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

Integração de Sistemas Industriais com a Suíte GE Proficy

Integração de Sistemas Industriais com a Suíte GE Proficy Integração de Sistemas Industriais com a Suíte GE Proficy Ricardo Caruso Vieira Aquarius Software 1. Introdução Há mais de duas décadas, a indústria investe intensamente em sistemas ERP (Enterprise Resource

Leia mais

Modelo de Camadas OSI

Modelo de Camadas OSI Modelo de Camadas OSI 1 Histórico Antes da década de 80 -> Surgimento das primeiras rede de dados e problemas de incompatibilidade de comunicação. Década de 80, ISO, juntamente com representantes de diversos

Leia mais

IBM Software. Otimize seus ambientes de SOA, B2B e nuvem com WebSphere DataPower Agosto de 2011

IBM Software. Otimize seus ambientes de SOA, B2B e nuvem com WebSphere DataPower Agosto de 2011 IBM Software Otimize seus ambientes de SOA, B2B e nuvem com WebSphere DataPower Agosto de 2011 2 Otimize seus ambientes de SOA, B2B e nuvem com WebSphere DataPower Destaques Amplie os serviços de negócios

Leia mais

SOA: Service-oriented architecture

SOA: Service-oriented architecture SOA: Service-oriented architecture Roteiro Breve História O que é Arquitetura de Software? O que é SOA? Serviços Infraestrutura Composição Sua empresa está preparada para SOA? Breve História Uma empresa

Leia mais

MONITORAMENTO RESIDENCIAL UTILIZANDO O ZABBIX E O PADRÃO IEEE 802.15.4 RESIDENTIAL MONITORING USING ZABBIX AND IEEE 802.15.

MONITORAMENTO RESIDENCIAL UTILIZANDO O ZABBIX E O PADRÃO IEEE 802.15.4 RESIDENTIAL MONITORING USING ZABBIX AND IEEE 802.15. MONITORAMENTO RESIDENCIAL UTILIZANDO O ZABBIX E O PADRÃO IEEE 802.15.4 W. ROMEIRO * e F. COSTA Instituto Federal de Ciências e Tecnologias do Rio Grande do Norte wr.romeiro@gmail.com * Artigo submetido

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

UM FRAMEWORK PARA DESENVOLVIMENTO DE

UM FRAMEWORK PARA DESENVOLVIMENTO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK PARA DESENVOLVIMENTO DE APLICATIVOS EM WINDOWS MOBILE. PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno:

Leia mais

XDR. Solução para Big Data.

XDR. Solução para Big Data. XDR Solução para Big Data. ObJetivo Principal O volume de informações com os quais as empresas de telecomunicações/internet têm que lidar é muito grande, e está em constante crescimento devido à franca

Leia mais

Kassius Vargas Prestes

Kassius Vargas Prestes Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/

Leia mais