Implementação dos serviços EPCIS para o BizTalk RFID. Dissertação para obtenção do Grau de Mestre em. Engenharia Informática e de Computadores

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

Download "Implementação dos serviços EPCIS para o BizTalk RFID. Dissertação para obtenção do Grau de Mestre em. Engenharia Informática e de Computadores"

Transcrição

1 Implementação dos serviços EPCIS para o BizTalk RFID Pedro Daniel Parreira Ferreira Dissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Maio 2011

2

3 Agradecimentos Expresso a minha gratidão ao Professor Doutor José Alves Marques, pela sua orientação ao longo deste trabalho. Agradeço também ao Professor Miguel Pardal pela ajuda fornecida e o encorajamento transmitido nas alturas de maior dificuldade, que me ajudaram completar este desafio. Quero agradecer também à Link Consulting por me ter dado a possibilidade e as condições para realizar este trabalho, podendo contar com o tempo e apoio de dois dos seus consultores seniores. Assim, agradeço ao Eng. Mário Romano e ao Eng. Manuel Fonseca, não só por todo o tempo que me acompanharam na resolução de problemas mas também por todas as sugestões que me deram. A vossa experiência e conhecimento foram cruciais para o sucesso deste trabalho. Quero agradecer a toda minha família, um agradecimento especial para os meus pais, porque sem o vosso constante apoio seria tudo muito mais difícil. Obrigado por toda a ajuda que me deram, não só durante a minha formação académica mas também durante a minha formação pessoal. Aos meus amigos e colegas de curso que me acompanharam nesta jornada, obrigado pelo apoio, votos de confiança e encorajamento transmitidos ao longo da realização do trabalho. Finalmente e não em último lugar, deixo aqui o agradecimento para uma pessoa muito especial, a minha namorada Filipa Xavier, que foi o meu principal suporte durante a realização deste trabalho, que me ajudou imenso e transmitiu a força e perseverança necessárias para a conclusão deste trabalho. O meu sincero agradecimento a todos. 13 de Maio de 2011 Pedro Daniel Parreira Ferreira

4 .

5 Resumo As cadeias de valor têm vindo a tornar-se mais complexas, com mais intervenientes e envolvendo uma grande variedade de sistemas de informação. A tecnologia RFID tem potencial para melhorar estes processos e, por isso, fez-se um esforço para a sua normalização, liderado pela EPCglobal. A EPCIS é uma das camadas da arquitectura EPCglobal que disponibiliza serviços para partilha de informação. O problema abordado neste trabalho é a necessidade de implementar a norma EPCIS para a partilha de informação, contida nas etiquetas RFID, entre empresas parceiras de negócio que possuem sistemas de informação distintos e heterogéneos. Neste sentido, foi identificada a necessidade de uma implementação que facilitasse o cumprimento da norma EPCIS para middlewares RFID já existentes. Para demonstrar a funcionalidade e utilidade da solução desenvolvida, foi realizada uma extensão para o middleware BizTalk RFID, que disponibiliza informação para outros sistemas independentes e heterogéneos, de acordo com a norma EPCIS. Estes desenvolvimentos consistiram na criação de serviços Web, de um repositório para armazenar eventos e de interfaces que respeitam as normas EPCIS da arquitectura EPCglobal. Palavras-chave: RFID, BizTalk RFID, middleware, EPCglobal, EPCIS i

6 ii

7 Abstract Supply Chains are becoming more complex, with more players and involving a wide variety of information systems. The RFID technology has the potential to improve these processes, and therefore became an effort for their standardization, led by EPCglobal. The EPCIS is one of the EPCglobal architecture layers that provide services for information sharing. The problem addressed in this work is the need to implement the EPCIS standard for sharing information, contained in RFID tags, between business partners that have different and heterogeneous information systems. In this sense, we identified the need for an implementation that facilitates compliance with the EPCIS standard for RFID middleware already in place. To demonstrate the functionality and usefulness of the developed solution, an extension to the BizTalk RFID middleware was successfully carried out, providing information to other independent and heterogeneous systems, according to the EPCIS standard. These developments included the preparation of web services, a repository for storing events and interfaces that meet the EPCIS standards of the EPCglobal architecture. Keywords: RFID, BizTalk, middleware, EPCglobal, EPCIS iii

8 iv

9 Índice 1. Introdução Descrição do Problema Objectivos Estrutura do documento Trabalho Relacionado EPCglobal EPCIS Fosstrak Middleware RFID BizTalk RFID Arquitectura BizTalk RFID Comparação da arquitectura BizTalk RFID com EPCglobal BizTalk Server rfrbnet Arquitectura da Solução Recomendações EPCglobal Arquitectura Segurança Comparação com a arquitectura EPCglobal Descrição da Solução Soluções e Trabalho Utilizado Repositório Capture Interface Query Control Query Callback Query Interface Client Application Segurança Avaliação v

10 5.1. Cenário de Utilização Utilização do Mecanismo Callback Testes Unitários e de Integração Integração com o Fosstrak Integração com rfrbnet Testes de Desempenho Conclusões e Trabalho Futuro Conclusões Finais e Contribuições Trabalho Futuro Referências ANEXO A Modelo de Domínio ANEXO B Detalhe das pesquisas efectuadas à solução vi

11 Lista de Figuras Fig Arquitectura de um sistema RFID Fig. 1.2 Demonstração de uma possível utilização do RFID numa cadeia de valor... 3 Fig. 1.3 Ilustração de três grupos com regras de comunicação distintas Fig. 1.4 Ilustração da localização do trabalho a realizar na arquitectura de um sistema RFID Fig. 2.1 Esquema da utilização da framework EPCglobal [9] Fig. 2.2 Componentes da arquitectura EPCglobal Fig. 2.3 Exemplo de configuração da arquitectura EPCglobal Fig. 2.4 Relação entre as interfaces EPCIS Fig. 2.5 Arquitectura geral dos middlewares RFID [17] Fig. 2.6 Arquitectura BizTalk RFID Fig. 2.7 Integração do BizTalk Server RFID na arquitectura EPCglobal Fig. 2.8 Principais componentes do Biztalk Server Fig. 2.9 Desenho de um sistema EPCIS utilizando o Biztalk Server Fig. 3.1 Desenho simplificado da arquitectura da solução Fig. 3.2 Diagrama da arquitectura da solução Fig. 3.3 Diagrama UML dos diferentes tipos de eventos EPCIS [7] Fig Protecção de agente, acção e recurso de uma aplicação informática Fig. 3.5 Comparação da arquitectura EPCglobal com a arquitectura proposta Fig. 4.1 Diagrama da arquitectura da solução Fig. 4.2 Tabelas do repositório onde são armazenados os eventos EPCIS Fig. 4.3 Relações entre a tabela event_objectevent e as restantes tabelas do repositório Fig. 4.4 Ilustração do funcionamento da camada Query Callback Fig. 4.5 Workaround para resolver o problema de importação do ficheiro XSD Fig. 5.1 Exemplificação de um cenário de utilização Fig. 5.2 Exemplificação do funcionamento da subscrição com agendamento Fig. 5.3 Exemplificação do funcionamento da subscrição com mecanismo de trigger Fig rfrbnet: Visão geral de cadeia de distribuição Fig rfrbnet: Detalhes de agregação na montagem de um portátil Fig Representação gráfica dos resultados dos testes de desempenho vii

12 Lista de Tabelas Tabela Serviços da camada EPCIS Query Control Tabela 4.1 Descrição da tabela subscriptions do repositório EPCIS Tabela 4.2 Descrição da tabela event_objectevent do repositório EPCIS Tabela 4.3 Exemplos de parâmetros para a pesquisa de eventos Tabela 4.4 Bindings mais utilizados no serviços WCF [28] Tabela Resultados dos testes de desempenho viii

13 Lista de Acrónimos/Abreviaturas ALE - Application-Level Events API - Application Programming Interface ASN - Advance Shipping Notice B2B - Business-to-Business BPM - Business Process Management CRM - Customer Relationship Management DSPI - Device Service Provider Interface EAI - Enterprise Application Integration EPC - Electronic Product Code EPCIS - EPC Information Services ERP - Enterprise Resource Planning LOB - Line of Business ONS - Object Name Service RFID - Radio-Frequency Identification SDK - Software Development Kit SOAP - Simple Object Access Protocol TDT - Tag Data Translation URI - Uniform Resource Identifier WCF - Windows Communication Foundation WMS - Warehouse Management System ix

14 1. Introdução Ao longo do tempo as cadeias de valor têm-se tornado mais complexas e com mais intervenientes. É comum que um objecto, desde a sua origem até ao seu destino final, passe por diversos intervenientes, cada um com os seus sistemas de rastreio e monitorização. A tecnologia RFID (Radio Frequency Identification) [1] tem-se vindo a impor neste meio e tem sido cada vez mais utilizada nas cadeias de valor [2]. Apesar do custo associado aos equipamentos utilizados e etiquetas, esta tecnologia apresenta vantagens em relação ao código de barras, tornando os processos mais simples e eficazes, nomeadamente[1]: Possibilidade de armazenar mais informação; Melhor segurança: o Impossibilidade de leitura sem leitores próprios; o A informação armazenada pode estar encriptada; Leitura automática da etiqueta, sem intervenção humana; Não é necessário existir linha de visão para efectuar a leitura; Informação fisicamente distribuída, a informação pode não estar armazenada num sistema central mas sim numa etiqueta anexada ao próprio objecto, tornando possível a sua consulta em qualquer lugar e a qualquer hora. À medida que o número de interessados nesta tecnologia RFID foi aumentando, surgiu a necessidade de se criarem normas para uniformizar o funcionamento da mesma. A organização internacional EPCglobal 1, em conjunto com empresas líderes de mercado, desenvolveu normas para a comunicação de informação, criando então a norma Electronic Product Code (EPC), a qual se tornou na normalização predominante na comunidade RFID [3][4]. A EPCglobal criou a rede EPC (EPC Network) [5], que foi desenhada e implementada com o objectivo de uniformizar a partilha de informação de objectos através da internet. Esta rede foi construída tendo em consideração tecnologias e normas da internet reconhecidas internacionalmente. Os standards EPCglobal foram criados para cumprir os seguintes objectivos [6]: Facilitar a troca de informação e de objectos entre parceiros de negócio Para que seja possível haver troca de informação entre parceiros de negócio, é necessário que haja um acordo prévio sobre a estrutura e significado da informação a ser trocada, e os mecanismos pelos quais a troca será realizada. Promover a existência de um mercado competitivo 1 EPCglobal - 1

15 Os standards da EPCglobal definem as interfaces que deverão existir entre as componentes de um sistema RFID. A normalização destas interfaces facilitam a interoperabilidade de componentes produzidos por diferentes fabricantes, promovendo assim um aumento da oferta para as empresas que utilizam ou que pretendem utilizar sistemas RFID. Incentivar a inovação dos sistemas Os standards EPCglobal definem interfaces dando liberdade aos implementadores para inovarem nos produtos e sistemas que desenvolvem, enquanto a normalização das interfaces assegura a interoperabilidade das diferentes componentes da arquitectura. A componente EPCIS (EPC Information Services) [7] surge neste contexto como uma das camadas da rede EPC, que é responsável por disponibilizar serviços para partilha de informação. O rápido desenvolvimento de aplicações RFID, associado às vantagens que esta tecnologia traz, levou ao aumento de empresas interessadas em participar no desenvolvimento de sistemas e dispositivos desta tecnologia. Confrontadas com diversas aplicações RFID e com os diversos protocolos de comunicação, as empresas questionam-se sobre como fazer com que os sistemas de informação existentes se liguem aos leitores RFID. A essência da questão é o middleware RFID, que faz uma abstracção do hardware, apresentando uma interface para aplicações de alto nível. Assim, a camada EPCIS permite a compatibilidade de diferentes middlewares RFID através de um conjunto de interfaces e serviços normalizados Descrição do Problema A figura 1.1 apresenta uma arquitectura típica de um sistema RFID numa dada organização. Os dados das etiquetas são capturados por leitores, recolhidos, filtrados e armazenados na base de dados. A partir destes dados são gerados eventos com informação de negócio. 2

16 Fig Arquitectura de um sistema RFID. A evolução do negócio leva a que sejam feitas diferentes parcerias com outras empresas ao longo do tempo, sendo necessário que os sistemas de informação comuniquem entre si. [8] Num processo de negócio semelhante ao ilustrado na figura seguinte, onde existem várias entidades responsáveis pela cadeia de abastecimento de produtos e em que estas entidades possuem sistemas de informação independentes, é necessário que exista partilha de informação no sentido de uma coordenação eficiente. [8] Fig. 1.2 Demonstração de uma possível utilização do RFID numa cadeia de valor 3

17 Para a comunicação entre sistemas é necessário que sejam seguidas regras que definam as interfaces aplicacionais e os protocolos de comunicação. Na seguinte imagem ilustram-se três grupos distintos de parceiros de negócio com redes de comunicação distintas. Recorrendo às normas EPC, pretende-se que todos possam comunicar entre si. Fig. 1.3 Ilustração de três grupos com regras de comunicação distintas. No cenário em que vamos trabalhar já existe um sistema RFID mas não existem interfaces que respeitem as normas EPCIS Objectivos Como objectivo para este trabalho, realizado em parceria com a empresa Link Consulting 2, propomonos desenvolver uma solução que facilite a adopção das normas EPCglobal para sistemas de informação, nomeadamente a norma EPCIS. Para demonstrar a funcionalidade e utilidade da implementação, iremos utilizar o Microsoft BizTalk RFID como middleware e estendê-lo de modo a que disponibilize informação, de acordo com as normas, para outros sistemas independentes e heterogéneos. A integração final é ilustrada na figura seguinte. 2 Link Consulting - 4

18 Fig. 1.4 Ilustração da localização do trabalho a realizar na arquitectura de um sistema RFID. Para garantir que a solução possa vir a ser utilizada num ambiente real e empresarial, serão realizados testes de validação e de integração com outras soluções existentes, que cumprem as mesmas normas. Para atingir estes objectivos teremos que compreender as necessidades existentes, verificar qual o trabalho desenvolvido nesta área que possa ser aproveitado e, por fim, estudar as normas e recomendações da comunidade com mais experiência e conhecimento na área, para que possamos integrar no nosso trabalho as melhores ideias e soluções já desenvolvidas Estrutura do documento Daqui em diante, a organização dos capítulos segue a mesma ordem que a metodologia seguida. Assim, começa-se por analisar o trabalho relacionado (capítulo 2) com o tema. Esta secção inclui um estudo aprofundado das normas EPCglobal e respectiva arquitectura, visto que as mesmas terão de ser incorporadas na solução. Também aqui é estudada com detalhe a camada EPCIS e o middleware BizTalk RFID. De seguida, é apresentada a arquitectura da solução (capítulo 3) com uma visão global da solução proposta e uma breve descrição dos módulos que a compõem. Finalmente, é apresentada a solução (capítulo 4) onde é feita uma descrição mais detalhada do trabalho desenvolvido, justificando as opções tomadas e abrangendo todas as tecnologias utilizadas. 5

19 A mesma solução foi sujeita a diversos testes de forma a garantir que satisfazia todos os requisitos e produzia os resultados esperados. A descrição dos testes e respectivos resultados encontra-se na secção Avaliação (capítulo 5). Por fim, na conclusão (capítulo 6), é feito um resumo dos principais resultados e ainda apresentada a proposta de trabalho futuro. 6

20 2. Trabalho Relacionado Este capítulo tem como objectivo descrever tecnologias e projectos já realizados, relevantes para este trabalho EPCglobal A arquitectura recomendada pela organização EPCglobal é um standard da tecnologia RFID, e surgiu da necessidade de comercialização da mesma, por parte de várias empresas do mercado das tecnologias e da distribuição[9]. Esta organização estabeleceu um conjunto de normas globais do sistema GS1 3, que combina a tecnologia RFID com as infra-estruturas de redes de comunicação existentes e com o EPC [6]. Além disto, elaborou ainda uma framework, tendo como objectivo identificar e localizar, de uma forma imediata e automática, um objecto ao longo do seu percurso na cadeia de valor, estabelecendo um conjunto de serviços que possam ser utilizados por parceiros de negócio, para procurar e aceder a grandes quantidades de informação de cada EPC, sendo esta informação compartilhada apenas entre utilizadores autorizados. A rede EPCglobal é constituída por cinco componentes de alto nível [9]: Sistemas RFID Sistemas que identificam objectos, efectuam leituras das etiquetas anexadas aos objectos, que os acompanham durante o seu trajecto. Nestes sistemas estão incluídas as etiquetas EPC e os respectivos leitores. EPC middleware Sistema que recebe informação resultante da leitura de uma etiqueta EPC e armazena, filtra e agrupa essa informação para ser posteriormente utilizada por outras aplicações, tais como, WMS e ERP. O objectivo desta partilha de informação é permitir a gestão e controlo dentro da empresa. EPC Information Services (EPCIS) Conjunto de serviços que permite a partilha de dados EPC pela rede EPCglobal. Esta camada utiliza como input outros sistemas para adicionar contexto de negócio à informação obtida da leitura das etiquetas. Para além de receber informação, esta camada também a partilha com outros sistemas. A partilha de informação efectuada nesta camada é diferente da efectuada no middleware, pois tem como objectivo partilhar informação com parceiros de negócio. Object Name Services (ONS) - Conjunto de serviços que permite a procura dos endereços de repositórios EPC, a partir de um identificador EPC. EPC Discovery Services (EPC-DS) Conjunto de serviços que localiza todos os repositórios EPCIS que poderão ter informação sobre um particular EPC. 3 GS1 - 7

21 A seguinte imagem mostra a ligação que existe entre estes componentes. Fig. 2.1 Esquema da utilização da framework EPCglobal [9]. Estas componentes estão representadas em detalhe na figura seguinte, em que as caixas verdes representam as interfaces regidas pelas normas EPCglobal, enquanto as caixas azuis representam hardware e/ou software do sistema. 8

22 Fig. 2.2 Componentes da arquitectura EPCglobal. 9

23 De seguida, com base na especificação EPCIS [7], faz-se uma sucinta descrição das responsabilidades dos principais elementos envolvidos: Readers: Hardware que efectua a leitura e/ou escrita das etiquetas RFID quando estas passam na zona de leitura. Reader Protocol Interface [10]: Interface que define o modo como os dados das etiquetas, lidos pelos leitores, são enviados para a camada Filtering & Collection. Os eventos nesta interface serão do tipo Leitor A viu EPC X na data T. Filtering & Collection: Software que filtra e consolida os dados das leituras de etiquetas RFID ao longo de um determinado intervalo de tempo. Filtering & Collection (ALE) Interface [11]: Interface que define o modo como os eventos filtrados e consolidados na camada Filtering & Collection são enviados para a camada Capturing Application. Os eventos nesta interface serão do tipo No leitor lógico L, entre a data T1 e T2, foram observados os seguintes EPCs. Esta lista resultante de EPCs não contém duplicados. EPCIS Capturing Application [7]: Software que, com a cooperação de outras fontes de informação envolvidas num determinado passo do processo de negócio, adiciona contexto de negócio aos eventos recebidos da camada Filtering & Collection. Esta camada deverá conseguir interpretar o passo, ou passos, do processo de negócio a que o evento recebido pertence. O papel desempenhado pela Capture Application poderá ser complexo, envolvendo a associação de vários eventos de várias aplicações Filtering & Collection, ou poderá ser simples, efectuando uma transformação simples e directa dos eventos EPC em eventos EPCIS. Esta camada também é responsável por armazenar os eventos EPCIS no repositório EPCIS para que os eventos estejam disponíveis para futuras pesquisas. EPCIS Accessing Application [7]: Representa a aplicação que efectua pesquisas de eventos EPCIS ao sistema e, que poderá executar processos de negócio tais como, gestão de armazéns, envio e recepção de objectos e análise histórica de produção, com base na informação recebida. EPCIS-enabled Repository [7]: Armazena eventos EPCIS gerados por uma ou mais EPCIS Capturing Applications, tornando-os disponíveis para posteriores pesquisas efectuadas pelas aplicações de acesso. Partner Application: Sistema de um parceiro de negócio que se encontra fora da organização e que desempenha o mesmo papel que a EPCIS Accessing Application. As Partner 10

24 Applications podem ter acesso apenas a um subconjunto de informação que está disponível no EPCIS Repository. EPCIS Interfaces[7]: Interfaces utilizadas na transferência dos dados EPCIS para o repositório, aplicações de pesquisa de eventos da própria empresa e de parceiros de negócio. Os eventos EPCIS nesta interface são do tipo No local X, à data T, os seguintes objectos (caixas) foram verificados como estando agregados aos seguintes objectos (palete). Existem três interfaces EPCIS, a interface Capture, Query Control e Query Callback. A Capture Interface é utilizada para a entrega de eventos EPCIS da Capturing Application para o repositório EPCIS, aplicações de acesso e aplicações de parceiros de negócio. A Interface Query Control é utilizada para que aplicações, da própria empresa ou de parceiros de negócio, possam obter dados EPCIS, depois de estes terem sido capturados. Esta interface disponibiliza dois modos de interacção, síncrono e assíncrono. No modo síncrono ou on-demand, o cliente efectua o pedido através da interface e recebe a resposta imediatamente. No modo assíncrono ou standing request, o cliente estabelece uma subscrição para uma pesquisa periódica e, sempre que esta for executada, os resultados são entregues assincronamente ao destinatário, através da Interface Query Callback. Por fim, a interface Query Callback, para além de definir o modo como o resultado das pesquisas periódicas é enviado aos respectivos subscritores, pode também ser usada para entregar eventos EPCIS imediatamente após a captura na camada Capturing Application. ONS[12]: O Object Naming Server é um serviço da rede que permite a procura dos endereços de repositórios EPC, a partir de um identificador do gestor de EPC ou de um EPC completo. Especificamente, o ONS disponibiliza um meio para procurar um endereço de um serviço EPCIS disponibilizado pela organização que ficou encarregue do EPC do objecto em questão. Discovery Capability: Refere-se a um mecanismo, cuja especificação ainda não foi definida até à data da elaboração deste documento, que localiza todos os repositórios EPCIS que poderão ter informação sobre um particular EPC. Isto é útil quando se deseja fazer uma pesquisa a um serviço EPCIS relevante mas este é desconhecido, tal acontece quando o histórico de manipulação de um objecto é desejado mas é desconhecida a sua origem. Na figura seguinte está ilustrada uma possível situação de utilização da arquitectura EPCglobal. As etiquetas com EPC são lidas pelos dispositivos de leitura e estes enviam essa informação para o middleware à qual estão ligados. O middleware terá a responsabilidade de guardar essa informação e/ou enviá-la para ser processada em camadas superiores da arquitectura. 11

25 Fig. 2.3 Exemplo de configuração da arquitectura EPCglobal EPCIS A EPCIS é uma das componentes da arquitectura recomendada pela EPCglobal, cujo objectivo é permitir que aplicações e/ou instalações RFID separadas partilhem dados EPC, estando estas aplicações dentro da mesma empresa ou em empresas diferentes. Assim, é possível que os participantes adquiram uma vista comum de objectos EPC, dentro de um contexto de negócio relevante. Como é ilustrado na figura 2.2, a componente EPCIS está localizada no topo da arquitectura da framework EPCglobal, acima do nível de leituras de dados brutos EPC (hardware) e também acima do nível de dados filtrados e consolidados (middleware). Esta componente é responsável por capturar eventos EPC vindos das camadas inferiores (Filtering & Collection) e torná-los disponíveis para que possam ser feitas pesquisas e subscrições por parte dos parceiros de negócio. Indica também como é que os eventos e as interrogações devem ser estruturados e as ligações que devem ser utilizadas para a partilha de informação entre os sistemas dos parceiros de negócio. Esta componente utiliza dados vindos da camada inferior e acrescenta-lhe o contexto de negócio vindo de outras fontes, tais como o ERP e o WMS, e guarda esse resultado no seu repositório para poder servir como base para outras tarefas de processamento de informação. As principais características da componente EPCIS são que esta: Lida com dados históricos e com dados actuais; 12

26 Lida com leituras de dados filtrados e consolidados, contextualizando as observações na realidade de negócio a que se aplica; Opera dentro do ambiente da empresa a um nível muito mais diverso e multifacetado que os níveis inferiores da arquitectura da rede EPCglobal. Por estar posicionado no nível mais elevado da arquitectura é o ponto natural de ligação com os sistemas de outras empresas, que variam muito de empresa para empresa. A componente EPCIS é constituída por diferentes camadas, a Capture Interface, o Repositório e a Query Interface (Control e Callback). A figura seguinte ilustra o funcionamento do conjunto destas mesmas camadas, o modo como estas estão ligadas e as direcções dos fluxos de informação Fosstrak Fig. 2.4 Relação entre as interfaces EPCIS. O Fosstrak 4 é um sistema open source, disponível gratuitamente, para o rastreio e monitorização de objectos. Este sistema implementa um conjunto de normas 5 estabelecidas pela comunidade EPCglobal, tais como ALE, RP, RM, LLRP, TDT e EPCIS. O projecto Fosstrak (inicialmente denominado por Accada) foi iniciado pelo grupo de sistemas distribuídos e pelo laboratório Auto-ID da universidade ETH em Zurique, tendo como público-alvo os programadores de aplicações, os novos utilizadores de EPC, os integradores de sistemas e os grupos universitários e industriais de investigação [13]. 4 Fosstrak - 5 Normas EPCglobal - 13

27 Neste contexto, é de salientar esta solução que tem como objectivo fornecer componentes essenciais para aplicações da rede EPC, formar os utilizadores da rede EPC, promover a utilização das normas EPCglobal na educação e na investigação e facilitar a prototipagem. Neste momento, o Fosstrak possui várias componentes da arquitectura EPCglobal [14] : EPCIS - Certificado pela EPCglobal. Biblioteca Tag Data Translation (TDT) Esta biblioteca facilita a conversão de diferentes representações EPC (BINARY, tag-encoding URI, pure-identity URI, legacy formats) e foi desenvolvida pelo autor da especificação EPCglobal TDT [15]. Middleware Filtering & Collection - Suporta a versão 1.1 do EPCglobal ALE [11]. Suporte de Leitura - Foi desenvolvido o suporte para os leitores RFID mais comuns. De acordo com Pereira [16], que fez um estudo sobre a possível utilização do Fosstrak numa cadeia de valor, o Fosstrak está preparado apenas para prototipagem, uma vez que existem falhas ocasionais para pequenos sistemas de produção e apresenta uma difícil integração com regras e lógica de negócio, quando aplicado num ambiente real Middleware RFID Ao analisar os middlewares existentes no mercado notamos que, neste momento, existem vários sistemas que são propriedade de empresas na área do RFID, que construíram a sua própria arquitectura, semelhante recomendada pela organização EPCglobal [17]. Alguns exemplos de middlewares são o Siemens RFID middleware 6, o Sun Java System RFID Software 7, o Oracle Sensor Edge- Server 8, o IBM WebSphere RFID Premises Server 9 e o BizTalk RFID Siemens RFID middleware - 7 Sun Java System RFID - 8 Oracle Sensor Edge Server - 9 IBM WebSphere RFID Premises Server BizTalk RFID - 14

28 Fig. 2.5 Arquitectura geral dos middlewares RFID [17]. Estas plataformas têm arquitecturas semelhantes, conforme ilustrado na figura anterior, e fazem uma abstracção do hardware apresentando uma interface simples para as aplicações de alto nível. Apesar de estes sistemas serem bastante eficientes no tratamento isolado de dados RFID, não consideram por completo a especificação EPCIS para a partilha de informação, o que seria bastante útil para o desenvolvimento de diferentes componentes por diversas organizações de modo que fossem facilmente integradas [18] BizTalk RFID Não confundir o BizTalk RFID com o BizTalk Server, que será descrito mais adiante. O BizTalk RFID é um middleware de RFID enquanto que o BizTalk Server é um servidor de integração. O middleware Microsoft BizTalk RFID [19] facilita a instalação e configuração de sistemas RFID, disponibilizando um modo uniforme de descobrir, comunicar e manipular dispositivos RFID num ambiente Microsoft Windows [20]. O sucesso desta abordagem da Microsoft advém da possibilidade de adicionar novas camadas de software à tecnologia, permitindo que todos os tipos de dispositivos possam ser incorporados de um modo plug-and-play [20]. Esta infra-estrutura trabalha com uma linha de aplicações de negócio tais como, sistemas ERP, WMS e outros softwares mais especializados, permitindo alguma flexibilidade [20] Arquitectura BizTalk RFID O BizTalk RFID, com a sua arquitectura extensível e características de segurança, oferece uma plataforma que facilita o desenvolvimento de uma variedade larga de soluções RFID. A sua arquitectura foi projectada de modo a que seja possível uma fácil transição de um baixo volume para um grande volume de instalações RFID visto que, com a interface DSPI, facilmente se adicionam novos dispositivos. A figura seguinte ilustra uma vista geral de alto nível da arquitectura do BizTalk RFID [19]. 15

29 Fig. 2.6 Arquitectura BizTalk RFID. De seguida faz-se uma sucinta descrição das responsabilidades dos diversos elementos envolvidos[19] : Camada de Hardware Nesta camada encontram-se todos os dispositivos que se pretendem controlar e obter informação. Aqui podem estar incluídos leitores RFID, impressoras de etiquetas e leitores de códigos de barras. Camada Device Service Provider Interface (DSPI) Esta camada é composta por um conjunto genérico extensível de APIs que ajuda os fornecedores de hardware a construir os device providers, interfaces especializadas que permitem a utilização dos dispositivos RFID. Para diminuir os esforços de integração, a Microsoft fornece uma plataforma, as especificações e os testes de software, na forma de um kit de desenvolvimento de software RFID (SDK). Este SDK permite a normalização de protocolos de múltiplas comunicações e suporte para um legado de leitores e outros dispositivos de identificação automática. A partir do momento em que os device providers são construídos usando o SDK, qualquer dispositivo na rede pode ser descoberto, configurado e manipulado. Os programadores podem criar soluções ao nível do negócio que interajam com os dispositivos RFID de um modo simples e uniforme, devido à 16

30 elevada quantidade de device providers existentes no BizTalk RFID, facilitando assim a configuração e utilização dos dispositivos. Camada Engine e Runtime Esta camada permite que as aplicações filtrem, agreguem e transformem eventos RFID no seu estado bruto, para informação específica do negócio. A primeira parte desta camada é composta pelo event processing engine, que permite aos programadores de aplicações criar e gerir processos para a transformação de eventos RFID, abstraindo-se do tipo de dispositivo de leitura e dos protocolos de comunicação subjacentes. A segunda parte desta camada é o device management, que é responsável por gerir todos os dispositivos. O device management permite um acompanhamento do estado do dispositivo, a observação e controlo da configuração deste e o acesso a dispositivos de um modo fiável. Camada BizTalk RFID APIs Esta camada disponibiliza o modelo de objectos e APIs que facilitam o desenho, instalação e manipulação dos pipelines de processamento de eventos necessários para a filtragem, agregação e transformação da informação em informação útil. Camada Designers Tools & Adapters Está disponível um conjunto de APIs que permitem a criação de diferentes tipos de processos de negócio. Uma dessas APIs é a Designers, que pode ser usada durante o período de desenho para criar um processo de negócio RFID. Outro exemplo é a API Adapters que ajuda na integração de eventos RFID em tempo real com o Microsoft BizTalk Server e/ou com aplicações ao nível do negócio Comparação da arquitectura BizTalk RFID com EPCglobal A EPCglobal estabeleceu um programa de certificação de software de modo a garantir que os sistemas adoptem um conjunto de normas estabelecidas por esta. A figura seguinte mostra onde o BizTalk RFID encaixa na arquitectura recomendada pela EPCglobal, desempenhando o papel da camada Filtering & Collection e da camada Capture Application. O Biz- Talk RFID é responsável por filtrar e guardar a informação vinda dos leitores após a leitura de etiquetas RFID (Filtering & Collection) e também contém uma versão simplificada da Capture Application, onde converte os eventos EPC em eventos EPCIS e envia-os para a Capture Interface. 17

31 Fig. 2.7 Integração do BizTalk Server RFID na arquitectura EPCglobal BizTalk Server O servidor de Business Process Management (BPM), o Microsoft BizTalk Server 11 é um produto que permite a médias e grandes organizações automatizar os seus processos de negócio. O BizTalk permite que haja um ponto central de integração entre sistemas que não partilham protocolos de comunicação, fornecendo um vasto conjunto de funcionalidades, das quais se destacam: Serviços de comunicação e de transformação de mensagens XML; Serviços de orquestração que permitem automatizar os vários passos de processamento (workflow); Capacidade de interacção com sistemas externos através de adaptadores próprios; 11 Microsoft BizTalk Server - 18

32 Possibilidade de integração com Web Services [21]. A comunicação entre o BizTalk e os outros sistemas é efectuada através da troca de mensagens. O motor de mensagens do BizTalk recebe as mensagens vindas de outros sistemas, identifica o seu formato, extrai elementos da mensagem, aplica regras de encaminhamento (routing), e entrega as mensagens no destino. O processamento a aplicar a cada mensagem é definido através de uma ou mais orquestrações, e durante este processamento é utilizada uma base de dados chamada MessageBox. O BizTalk Server dispõe de uma funcionalidades de automatização e modelação de processos de negócio, comunicação Business-to-Business (B2B), integração de aplicações empresariais (EAI) e broker de mensagens. A figura seguinte ilustra as principais componentes do BizTalk Server. Fig. 2.8 Principais componentes do Biztalk Server. O BizTalk Server Engine pode ser dividido em dois blocos principais: A componente de comunicação, que permite a troca de informação com outras aplicações. A existência de adaptadores para diferentes tipos de comunicação permite que o servidor possa suportar uma variedade de protocolos e formatos de dados, incluindo web services. Apoio para a criação e execução de processos, denominados por orquestrações. Construídas sobre a componente de comunicação, as orquestrações implementam a lógica que move a totalidade ou parte de um processo de negócio. Existem outras componentes que podem ser utilizadas em conjunto com a componente principal, nomeadamente: 19

33 O Business Rule Engine que avalia conjuntos de regras complexos. O Health and Activity Tracking que permite a monitorização e manutenção do servidor e das orquestrações que estão em execução. O Enterprise Single Sign-On (SSO) que facilita a integração de sistemas de autenticação. O Business Activity Monitoring permite a observação, por parte dos utilizadores, do estado de um processo de negócio em execução. A informação exibida é definida pelos utilizadores e por isso, há uma abstracção da informação técnica e é fornecida apenas a informação de negócio. O Biztalk Server é utilizado principalmente como plataforma para soluções de processamento de pagamentos, visibilidade da cadeia de valor, interacções multi-canal e suporte à decisão de processos que ocorrem próximo do tempo real [22]. Para além da integração de aplicações dentro de uma organização, o Biztalk Server também permite a integração com aplicações de parceiros de negócio, que se encontram fora da organização. O BizTalk contém um conjunto de adaptadores que facilitam a integração com diferentes aplicações, de diferentes tecnologias, diminuindo o esforço associado ao desenvolvimento de soluções e também a complexidade das mesmas [23]. O BizTalk Server poderia ser utilizado na nossa solução, na camada responsável pelo tratamento de eventos, onde os eventos RFID são transformados em eventos EPCIS. Seria importante agregar a informação relevante de diferentes sistemas num só local para ajudar nessa transformação. Apesar de não se utilizar o Biztalk Server na solução desenvolvida, podemos fazer uma pequena análise sobre o trabalho que teria de ser desenvolvido caso optássemos por este caminho. O Biztalk Server poderia desempenhar as funções da camada Capture Application, visto que suporta o desenvolvimento e deployment de serviços EPCIS em vários aspectos [20]. A construção de eventos EPCIS envolve as observações de EPCs dos dispositivos de leitura e também a adição de contexto de negócio. A plataforma Biztalk Server contém implementações para trabalhar com um conjunto variado de dispositivos. Todos os dispositivos podem comunicar com as camadas superiores à plataforma Biztalk RFID, utilizando as interfaces disponibilizadas (DSPI). Permite a adição de contexto de negócio de sistemas da linha de negócio (LOB), e permite também a implementação das interfaces EPCIS Capture e EPCIS Query. O Biztalk Server providencia ligações com vários sistemas, usando adaptadores para cada um dos sistemas, facilitando assim a recolha de informação de negócio. A arquitectura de uma solução EPCIS com o BizTalk Server, deve ter um desenho semelhante ao ilustrado na figura seguinte. 20

34 Fig. 2.9 Desenho de um sistema EPCIS utilizando o Biztalk Server. Esta solução iria implicar uma orquestração de forma a receber mensagens do message bus e associar contexto de negócio para gerar os eventos EPCIS. Por exemplo, quando uma transportadora envia um ASN com os identificadores dos artigos vendidos, o workflow pode associar o ASN com os eventos EPCIS. A principal vantagem em utilizar o Biztalk Server é que este possui adaptadores que facilitam a comunicação com os sistemas LOB. Os processos de negócio podem gerar um elevado volume de eventos EPCIS e estes podem beneficiar das capacidades de escalabilidade presentes no BizTalk. Para soluções que não utilizem message bus, entre a camada Edge e a camada Data Center, o Biztalk Server disponibiliza um adaptador SQL para capturar os eventos rfrbnet Aquando da realização deste trabalho, a Link Consulting encontrava-se no processo de desenvolvimento de uma plataforma distribuída, cujo objectivo é o rastreio de bens equipados com etiquetas RFID em cadeias abertas, permitindo uma fácil adesão e interligação entre os agentes da cadeia de valor. 21

35 Este projecto denominado rfrbnet 12 desafios: (Rede Integrada de Rastreio de Bens) respeita os seguintes Federação de Entidades - As entidades envolvidas no transporte e controlo dos bens devem poder registar-se na rede e disponibilizarem os serviços de rastreio que entenderem, para que outras entidades possam utilizá-los sempre que pretenderem localizar um bem, ou saber o percurso efectuado por este. Escalabilidade - O rastreio dos bens ao longo das organizações envolvidas na cadeia de valor é algo que é comum acontecer ao nível do lote, da palete ou de outra unidade agregadora. A passagem para o nível do item levanta imediatamente um problema de escala e volume de dados que, naturalmente, sugere soluções distribuídas e descentralizadas como forma de distribuir a elevada quantidade de informação gerada. Privacidade Importa considerar mecanismos que assegurem os requisitos mínimos de privacidade e segurança na informação que circula nas etiquetas, garantindo ainda que a informação fornecida como resposta às diversas pesquisas por parte dos utilizadores ao longo do percurso das etiquetas tem em conta as permissões de cada um. Segurança Ao longo da cadeia de valor, as etiquetas têm de atravessar vários domínios de segurança, tanto ao a nível físico como lógico, pelo que a correcta adequação às várias políticas é crucial. A ideia desta plataforma é permitir com que os agentes da cadeia de valor tenham um servidor EPCIS hospedado na mesma. Para os agentes que possuem um servidor EPCIS próprio, esta plataforma apenas disponibiliza interfaces para que seja possível a partilha de informação com os restantes participantes. Os objectivos que esta solução pretende atingir são os seguintes: Menores custos de implementação pelos efeitos de escala e reaproveitamento de estrutura; Maior flexibilidade na federação à rede aumenta a capacidade de escolha, aumentando a competitividade e baixando os preços dos serviços e produtos; Capacidade de integrar players mais pequenos, que actualmente não têm capacidade de entrar nos circuitos de rastreio por RFID; Rapidez na montagem de processos de rastreio. A relevância da rfrbnet para este trabalho é a possibilidade de fazer alguns testes de integração da nossa solução e garantir que existe comunicação com outros sistemas, que respeitam as recomendações EPCglobal. 12 rfrbnet - 22

36 3. Arquitectura da Solução A construção da solução proposta tem em conta toda a análise e estudo do trabalho relacionado anteriormente descrito. As normas recomendadas pela EPCglobal e o middleware BizTalk RFID, fornecido pela Link Consulting, foram considerados para que a solução se tornasse válida, reconhecida e adequada a um contexto real de utilização. Neste capítulo é descrita a solução de um ponto de vista arquitectural, dando-se particular importância às principais componentes, à forma como estas interagem e aos papéis que cada uma desempenha na solução. Para tal, são descritas sucintamente cada uma das componentes, sendo de seguida apresentado o diagrama arquitectural que ilustra a forma como a solução está organizada Recomendações EPCglobal As recomendações EPCglobal devem ser tomadas em consideração ao longo do desenvolvimento de uma solução EPCIS. Assim, são consideradas as seguintes: Estrutura por camadas A estrutura de dados, num sentido abstracto, deve ser especificada separadamente de detalhes concretos dos serviços de acesso à informação e dos vínculos a protocolos de interface. Esta abordagem permite a existência de standards e interfaces que são independentes da implementação. Extensível As especificações principais fornecem um conjunto de tipos de dados e operações, mas também fornecem possibilidades para que esse mesmo conjunto possa ser estendido para uma indústria específica ou área de aplicação. As extensões permitem que os requisitos sejam atendidos de modo a aproveitar o máximo de vantagens da framework original, mas também possibilitam a integração de novas normas que possam surgir ou evolução das actuais. Modular A estrutura em camadas e a extensibilidade permite que as diferentes partes de toda a framework EPCIS possam ser especificadas separadamente, mantendo no entanto a coerência de toda a framework. Assim, permite-se que os processos de normalização e implementação possam evoluir Arquitectura Começou-se por estruturar a arquitectura da solução o mais simples possível, constituída por hardware RFID, middleware RFID e EPCIS. A camada Hardware RFID representa as etiquetas e os leitores RFID, a camada Middleware RFID representa o software que faz a captura e tratamento da informação das etiquetas e a camada EPCIS, de um modo simplificado, representa o software que permite a partilha dessa informação. 23

37 Fig. 3.1 Desenho simplificado da arquitectura da solução. Como o objectivo deste trabalho era desenvolver a camada EPCIS, surgiu a necessidade de utilizar soluções já existentes que desempenhassem o papel das camadas inferiores, middleware e hardware RFID. A seguinte figura ilustra a arquitectura proposta para a nossa solução, em que a zona assinalada com EPCIS representa a componente desenvolvida. Fig. 3.2 Diagrama da arquitectura da solução. 24

38 Conforme referido anteriormente, o objectivo é estender o BizTalk RFID com as camadas EPCIS. As funcionalidades desta framework foram explicadas no capítulo do trabalho relacionado, e as responsabilidades de cada uma das restantes camadas da arquitectura da solução são descritas em seguida: Capture Application Tem em consideração a informação de negócio proveniente de outros sistemas e, seguindo um conjunto de regras estabelecidas, é responsável por transformar os eventos RFID, recebidos das camadas inferiores, em eventos EPCIS [7]. Existem cinco tipos de eventos EPCIS, um genérico e quatro subclasses que podem representar os diferentes tipos de eventos numa cadeia de valor [24][7]. EPCISEvent - Este é o evento genérico e base para todos os outros tipos de eventos. Este possui apenas três parâmetros, a data em que o evento é criado pela Capture Application, a data em que o evento é armazenado no repositório e o fuso horário (time zone offset). ObjectEvent - Contém informação de um ou mais objectos físicos identificados por EPCs. AggregationEvent - Contém informação de objectos que estão agregados entre si. QuantityEvent - Contém informação relativa à quantidade de objectos de uma determinada classe. TransactionEvent - Contém informação de objectos que se tornam associados, ou deixaram de o ser, a uma ou mais transacções de negócio. A relação entre estes diferentes tipos de eventos pode ser observada na figura seguinte. 25

39 Fig. 3.3 Diagrama UML dos diferentes tipos de eventos EPCIS [7]. Após a conversão, os eventos EPCIS são enviados para o repositório e para a camada Query Callback. Todos os eventos são enviados para a camada Query Callback para permitir que os parceiros de negócio possam ter informação sobre eventos EPCIS antes de estes serem armazenados na base de dados. Queremos com isto que a informação dos eventos chegue mais depressa ao utilizador, evitando o tempo de escrita e de leitura da base de dados. Capture Interface Na nossa solução, que poderá ser observada na figura 3.2, a camada Capture Interface recebe eventos da camada Capture Application, e é responsável por enviá-los para o repositório EPCIS, onde estes são armazenados, e para a camada Event Callback, onde são tratados em tempo real. Base de dados A base de dados deverá armazenar eventos EPCIS e subscrições de pesquisas. Os eventos EPCIS armazenados serão enviados pela Capture Application após a sua transformação, enquanto que as subscrições armazenadas serão registadas pelos utilizadores. EPCIS Query Control A camada Query Control aceita pedidos de pesquisas de informação (poll) e subscrição de pesquisas (subscribe). A camada aceita os pedidos de pesquisa vindos do utilizador, executa a pesquisa na 26

40 base de dados e devolve o resultado ao mesmo. Um utilizador poderá também subscrever pesquisas que podem ser executadas num determinado período ou assim que é detectado um novo evento. Estas subscrições também serão registadas no repositório. Os serviços da camada EPCIS Query Control, recomendados pela EPCglobal [7], estão apresentados na tabela seguinte. subscribe Regista a subscrição de uma pesquisa para uma notificação assíncrona. O resultado dessa pesquisa é enviado através da Query Callback Interface para o URI especificado pelo utilizador. unsubscribe Remove o registo de uma subscrição efectuada anteriormente. poll Efectua uma pesquisa com os parâmetros definidos pelo utilizador e devolve o resultado dessa pesquisa. getquerynames Retorna a lista das queries pré-definidas que poderão ser utilizadas nos métodos subscribe e poll. getsubscriptionids Devolve a lista com os identificadores das subscrições activas. getstandardversion Devolve a versão da especificação EPCIS na qual corresponde a implementação. getvendorversion Devolve a versão da extensão desenvolvida pelo fornecedor. Este identificador deverá ser definido pelo fornecedor. Tabela Serviços da camada EPCIS Query Control. EPCIS Query Callback A camada Query Callback tem duas funções. A primeira consiste em enviar eventos EPCIS para o utilizador assim que estes são registados, sem que o utilizador tenha que fazer uma nova pesquisa. Esta função só é válida quando o utilizador efectua uma subscrição do tipo trigger. As subscrições do tipo trigger são subscrições de pesquisas que só são executadas quando um evento é capturado pela Capture Application. Sempre que é detectado um novo evento é efectuada uma pesquisa à base de dados para verificar se existe alguma subscrição para este. Se existir uma subscrição para o evento, este é enviado para endereço de destino configurado na subscrição, caso contrário o evento é apenas armazenado na base de dados a aguardar uma nova pesquisa. 27

41 A segunda função consiste em executar pesquisas periódicas que foram subscritas pelo utilizador. Os utilizadores quando efectuam a subscrição de uma pesquisa deverão especificar o período de execução das mesmas, e sempre que pesquisa for executada e forem encontrados novos resultados, os resultados são enviados para o endereço especificado pelo utilizador. EPCIS Query Interface A camada EPCIS Query Interface tem a responsabilidade de fazer a interacção da aplicação cliente com as restantes camadas do sistema, a Query Callback e a Query Control. Client Application A aplicação cliente interage com o sistema e efectua subscrições e pesquisas de informação. Para além desta aplicação poderão existir outras aplicações de outros sistemas que, estando de acordo com as normas EPCgobal, conseguem interagir com o sistema. Um exemplo dessas aplicações é a aplicação cliente do Fosstrak que vai ser utilizada para validar a interoperabilidade do nosso sistema com um sistema diferente Segurança Um aspecto que também deverá ser considerado é o modelo de segurança[25], que tradicionalmente é representada por três conceitos abstractos, o agente, a acção e o recurso. O agente representa a entidade que consome a informação e pode ser uma pessoa, organização ou programa informático. A acção é a funcionalidade que o agente tenta aceder. Por fim, o recurso representa os dados e outros recursos necessários para a acção. Os mecanismos primitivos de segurança, representados na figura seguinte, pretendem garantir a autenticação dos agentes, a autorização e não-repúdio das acções e a disponibilidade, integridade e confidencialidade dos recursos. Fig Protecção de agente, acção e recurso de uma aplicação informática 28

42 Sem este modelo de segurança qualquer utilizador poderia fazer pesquisas e subscrições a qualquer repositório EPCIS e todos os utilizadores teriam acesso a toda a informação do repositório, não existindo qualquer restrição de dados Comparação com a arquitectura EPCglobal Ao longo do desenvolvimento da solução, foi efectuado um esforço para que as recomendações EPCglobal fossem integradas e para que o trabalho desenvolvido possa ser integrado com outras soluções que utilizem as mesmas normas. A figura seguinte ilustra a relação que existente entre a arquitectura da solução desenvolvida e a arquitectura recomendada pela EPCglobal. Fig. 3.5 Comparação da arquitectura EPCglobal com a arquitectura proposta. Verifica-se que o middleware BizTalk RFID em conjunto com o hardware correspondem às camadas inferiores da arquitectura EPCglobal, ficando a faltar as camadas superiores, identificadas como trabalho desenvolvido. 29

43 4. Descrição da Solução Neste capítulo são apresentadas as tecnologias utilizadas e as diferentes componentes da solução implementada. É ainda descrito o papel que cada componente tem na solução assim como o seu modo de funcionamento. Para o desenvolvimento da solução proposta foram utilizadas as seguintes tecnologias: C# Linguagem de programação orientada a objectos, desenvolvida pela Microsoft como parte da plataforma.net. Microsoft.NET Framework 13 A framework.net é uma plataforma da Microsoft que ajuda na criação de aplicações, proporcionando um modelo de programação abrangente e consistente, suportado por APIs. WCF (Windows Communication Foundation) 14 Esta tecnologia Microsoft melhora a forma como as aplicações comunicam entre si, criando uma camada de abstracção entre os serviços criados e a forma como os mesmos são disponibilizados e consumidos pelos clientes. Esta tecnologia implementa normas para a interoperabilidade de web services, permite a existência de múltiplos padrões de mensagens (o padrão mais comum é o pedido/resposta), suporta a publicação de metadados dos serviços utilizando formatos normalizados (WSDL, XML Schema e WS-Policy), as mensagens podem ser cifradas, podem ser enviadas utilizando diferentes protocolos de transporte (o mais comum é enviar mensagens SOAP utilizando HTTP) e também garante uma troca de mensagens confiável utilizando sessões criadas sobre WS-Reliable Messaging e utilizando também MSMQ [26]. Microsoft SQL Server 15 Sistema de gestão de bases de dados relacionais. LINQ (Language-Integrated Query) 16 Componente do Microsoft.NET que contém uma sintaxe unificada que facilita a criação e manutenção de consultas a bases de dados. SvcUtil 17 Aplicação que permite a geração do código dos contratos de serviços, clientes e tipos de dados através de documentos de metadados. 13 Microsoft.NET Framework WCF Microsoft SQL Server LINQ SvcUtil - 30

44 WSCF.Blue 18 Esta ferramenta é um add-in do Visual Studio que facilita o desenvolvimento de web services utilizando a abordagem contract-first. Esta ferramenta fornece os seguintes recursos: - Ajuda na criação de um WSDL a partir de um ou mais XSD s - Gerador de data contract - Gerador de stubs Service/Endpoint - Gerador de client proxy - Gerador do código data contract que suporta a selecção de múltiplas fontes XSD/WSDL - Suporte para geração de código C# e VB.NET - Detector de erros encontrados no WSDL A solução desenvolvida tem em conta a arquitectura apresentada no capítulo anterior. O seguinte diagrama ilustra o trabalho desenvolvido assim como as decisões tomadas para cada uma das componentes da arquitectura, as quais serão explicadas e justificadas ao longo deste capítulo. Fig. 4.1 Diagrama da arquitectura da solução 18 WSCF.Blue - 31

45 4.1. Soluções e Trabalho Utilizado O BizTalk RFID foi o middleware RFID utilizado nesta solução, não havendo qualquer desenvolvimento nesta camada. Para desempenhar o papel da camada Capture Application utilizámos a componente do BizTalk RFID e a aplicação Fosstrak Capture Client. Esta última aplicação respeita a normas EPCglobal, permite que o utilizador submeta eventos EPCIS num repositório EPCIS e permite-nos testar a integração da nossa solução com outra Capture Application. Apesar de não fazer parte dos objectivos do trabalho a existência da camada Capture Application é indispensável para existir a transformação dos eventos RFID em eventos EPCIS. Era importante ter um fluxo completo de informação desde a leitura da etiqueta RFID até a chegada dessa informação a um cliente. Como não existia informação de negócio que pudéssemos utilizar, foram criadas regras simples para garantir que todos os eventos RFID seriam convertidos em object events (evento EPCIS). Assim, todos os eventos presentes capturados são convertidos em object events e enviados para as camadas superiores da arquitectura. Na fase inicial deste trabalho desenvolvemos uma Capture Application que efectua uma conversão simples dos eventos capturados em eventos EPCIS, a mesma conversão efectuada pela Capture Application do BizTalk RFID. Como a nova versão do BizTalk RFID passou a incorporar um event handler que efectua a mesma conversão, optámos por passar a usar a solução Microsoft em vez da nossa implementação que não acrescentava valor Repositório Esta camada contém o repositório de eventos EPCIS e de subscrições. Na criação desta base de dados houve o cuidado de fazer com que a mesma apresente uma estrutura em que o carregamento dos dados de exemplo da solução Fosstrak fosse o mais simples possível. Uma vez que a base de dados da solução Fosstrak está em mysql 19, enquanto a nossa solução está em SQL Server, para o carregamento dos dados exemplo foi necessária efectuar uma conversão do script SQL disponibilizado pelo Fosstrak. Para fazer essa conversão utilizámos a ferramenta Microsoft SQL Server Migration Assistant 2005 for MySQL e a conversão foi directa. Este passo foi bastante importante visto que uma das componentes da avaliação do trabalho ser a comparação dos resultados da nossa solução com os resultados da solução Fosstrak. A base de dados foi criada usando a ferramenta SQL Server e para todos os acessos à informação foi utilizada a tecnologia LINQ (Language-Integrated Query) para fazer as pesquisas. A relação entre as tabelas descritas e o modelo de domínio poderá ser observados no anexo A deste documento. O detalhe e significado de cada campo da tabela da base de dados pode ser consultado na especificação EPCIS [7]. 19 mysql - 32

46 Para garantir o bom funcionamento da base de dados foi necessário seguir algumas boas práticas [27], nomeadamente foi necessário garantir a integridade de domínio, a integridade de entidade e integridade referencial. As subscrições são armazenadas no repositório utilizando apenas uma tabela chamada subscriptions. Esta tabela contém a seguinte informação: subscriptionid Campo com o identificador da subscrição. parameters Campo com os parâmetros de pesquisa de eventos. Os parâmetros são por exemplo Action = add ou recordtime >= 2010/12/1. dest Campo com o endereço de destino para onde deve ser enviado o resultado da pesquisa. sched Campo com o agendamento especificado pelo utilizador e que contémo período com que a pesquisa deverá ser executada. trigg Campo que identifica se a subscrição é do tipo trigger ou não. Os valores permitidos neste campo são True ou False. Se este campo for True, o campo sched é ignorado. initialrecordingtime Campo com a data a partir do qual a pesquisa associada à subscrição deve começar a ser executada. exportifempty Campo que identifica se o utilizador deve ser notificado quando não existem eventos resultantes da pesquisa efectuada. Os valores permitidos neste campo são True ou False queryname Campo com o nome da query. lastexecuted Sempre que a pesquisa associada à subscrição é executada, a data da sua execução é armazenada neste campo. Tabela 4.1 Descrição da tabela subscriptions do repositório EPCIS Os eventos EPCIS podem-se dividir em 4 grupos, Object Events, Aggregation Events, Transaction Events e Quantity Events. De seguida será descrita estrutura de cada um destes grupos, que se representada na figura seguinte. 33

47 Fig. 4.2 Tabelas do repositório onde são armazenados os eventos EPCIS Object Events Um Object Event contém informação sobre um evento que está associado a um ou mais objectos físicos, e que estão identificados com EPCs. De seguida é feita uma pequena descrição da tabela event_objectevent e dos seus campos: id Identificador do evento eventtime A data e hora em que a Capture Application registou o evento. recordtime A data e hora em que o evento foi armazenado no repositório EPCIS. eventtimezoneoffset O fuso horário em vigor no local de ocorrência do evento, expresso como um deslocamento do UTC 20. Por exemplo +01:00. action O modo como o evento se relaciona com ciclo de vida do EPC. Poderá ter três valores, ADD, OBSERVE ou DELETE bizstep O passo do processo negócio a que o evento pertence. Disposition O estado no processo de negócio dos objectos associados aos EPCs. readpoint O ponto de leitura onde o evento ocorreu. bizlocation A localização de negócio onde os objectos associados ao EPC deverão ser encontrados. Tabela 4.2 Descrição da tabela event_objectevent do repositório EPCIS 20 UTC - Coordinated Universal Time 34

48 A tabela Object Events está associada a outras tabelas da base de dados, tal como é ilustrado na figura seguinte. Fig. 4.3 Relações entre a tabela event_objectevent e as restantes tabelas do repositório Aggregation Events Um evento do tipo Aggregation representa uma agregação de objectos físicos. Muitos dos campos da tabela Aggregation Events são semelhantes à tabela dos Object Events. A diferença notável é a adição de um novo campo chamado parentid. O campo parentid identifica o elemento pai da agregação efectuada. Transaction Events Um evento do tipo Transaction representa a associação e desassociação de um ou mais objectos a uma ou mais transacções de negócio. A tabela Transaction Events tem os mesmos campos que a tabela Aggregation Events. Quantity Events Os Quantity Events representam uma classe de objectos físicos e à qual está associada uma quantidade de objectos. As diferenças notáveis são a dois novos campos chamados Quantity e epcclass. O campo Quantity indica o número de eventos capturados, enquanto que o campo epcclass identifica a classe do objectos associado a um determinado evento. 35

49 4.3. Capture Interface Para esta camada desenvolvemos um serviço com o WCF que foi criado de acordo com as normas EPCglobal. Esta camada recebe um evento EPCIS, envia-o para a camada Query Callback e armazena-o no repositório, utilizando a tecnologia LINQ. A tabela da base de dados onde os eventos são armazenados depende do tipo do evento, por exemplo, se for recebido um evento do tipo object, o evento será registado na tabela event_objectevents. Conseguimos com isto evitar o vínculo à Capture Application, com esta interface é possível substituir a Capture Application sem fazer qualquer alteração, desde que esta cumpra os standards Query Control Esta camada é constituída por um serviço criado com o auxílio da tecnologia WCF e este serviço tem principalmente o objectivo de permitir pesquisas de eventos (Poll) e permitir subscrições de pesquisas (Subscribe) para serem executadas posteriormente. Quando se faz uma pesquisa de eventos, este serviço faz a pesquisa no repositório de eventos assumindo os parâmetros introduzidos pelo utilizador e, caso encontre resultados, utiliza a Query Interface para os entregar ao utilizador. As pesquisas que se podem fazer na base de dados não são livres, foi definido um conjunto de parâmetros com os quais se podem fazer pesquisas. Os resultados da pesquisa são enviados ao utilizador através de uma mensagem que terá sempre a mesma estrutura, variando apensas a quantidade de eventos devolvidos. Segue-se alguns exemplos de parâmetros disponíveis: eventtype Especificação do tipo de eventos EPCIS de que se quer obter resultados. As opções de escolha são ObjectEvent, AggregationEvent, QuantityEvent, ou TransactionEvent. eventtime Especificação da data e hora da conversão de evento EPC para evento EPCIS, efectuada pela Capture Application. bizstep Especificação do step do processo de negócio. Um exemplo urn:epcglobal:cbv:bizstep:accepting readpoint Especificação do ponto de leitura. Um exemplo urn:epc:id:sgln: shipping-door1 Tabela 4.3 Exemplos de parâmetros para a pesquisa de eventos 36

50 A descrição dos restantes pode ser consultada na especificação EPCIS [7]. Esta restrição tem como objectivo a normalização das pesquisas efectuadas ao repositório e também a protecção do sistema. Assim, não é possível que o utilizador faça pesquisas para as quais não tenha permissão ou que possam afectar a performance do sistema. Quando é feita uma subscrição, esta é armazenada numa tabela específica para tal, assim como os parâmetros introduzidos pelo utilizador. Nesta situação não existe mais nenhuma actividade e esta subscrição passará a ser tratada posteriormente pela camada Query Callback. O utilizador pode fazer uma subscrição e receber os resultados de uma pesquisa de acordo com um agendamento determinado por si ou após a chegada de um novo evento. A pesquisa que se vai realizar é configurada exactamente como numa situação de pesquisa de eventos normal, com o acrescento dos seguintes parâmetros: Data e hora de quando a pesquisa deve ser efectuada; Endereço para onde devem ser enviar os resultados; Identificador que será atribuído à subscrição que se está a criar; trigger que permite fazer uma subscrição sem agendamento, ou seja, em vez de se criar um agendamento que verifica a existência de novos eventos numa determinada data, o sistema faz a verificação após a detecção de novos eventos. Permitimos com isto que os utilizadores tenham acesso aos eventos assim que eles ocorrem. Para além dos dois métodos principais, o poll e o subscribe, esta camada também contém os seguintes métodos: getquerynames Este método devolve o nome de todas as queries disponíveis. getsubscriptionids Este método faz uma verificação de todas as subscrições existentes na base de dados e devolve uma lista com os identificadores dessas mesmas subscrições unsubscribe Com este método é possível que um utilizador cancele uma subscrição que tenha feito, é feita uma pesquisa na base de dados pelo identificador da subscrição e esta é eliminada da base de dados getstandardversion Este método devolve a versão da norma EPCIS que estamos a utilizar. Na nossa solução utilizámos a versão mais recente da norma e por isso o valor retornado é "StandardVersion - EPCIS 1.0.1". getvendorversion Este método devolve a versão da extensão feita pelo fornecedor. 37

51 4.5. Query Callback Esta camada, tal como a anterior, é constituída por um serviço criado com o auxílio da tecnologia WCF e este serviço tem o objectivo de fazer uma verificação de existência de subscrições periódicas e entregar os resultados ao respectivo destinatário. Para que este mecanismo funcione foi criada uma thread que a todos os minutos (um minuto é o intervalo configurado por omissão) verifica se existem subscrições. Sempre que é detectada uma subscrição é criada uma nova thread (uma thread para cada subscrição encontrada) para executar a pesquisa subscrita e enviar os resultados para o endereço especificado na subscrição. Assim, várias pesquisas podem ser processadas em paralelo, o que optimiza os tempos de espera dos vários utilizadores. Doutro modo, as pesquisas seriam processadas uma a uma, sequencialmente. A figura seguinte ilustra o funcionamento da camada Query Callback. Fig. 4.4 Ilustração do funcionamento da camada Query Callback Sempre que uma pesquisa subscrita é executada, os resultados enviados para o utilizador são apenas os eventos que ocorreram desde a última execução. O sistema sabe quais os eventos que não foram recebidos pelo utilizador através do registo da última execução da pesquisa e assim, só são enviados os eventos que ocorreram após essa data. Como já foi referido pode-se utilizar uma subscrição através de um trigger em vez de um agendamento. Quando é recebido um evento, é verificado se existe uma subscrição com o parâmetro trigger a que o evento recebido pertença. Se existir, o evento é enviado para o endereço especificado na subscrição. Com esta alternativa permitimos que o utilizador do sistema receba eventos quase em tempo real, estes eventos são enviados directamente da camada Capture Application e paralelamente são armazenados na base de dados. 38

52 4.6. Query Interface Uma vez que se pretendia que interface a partir da qual as aplicações comunicam com os serviços EPCIS seguisse as normas recomendadas pela EPCglobal e, visto que o Fosstrak apresenta uma solução que cumpre estas normas, optou-se por uma aproximação contract-first na integração de serviços via SOAP, utilizando a descrição do serviço EPCIS que é disponibilizada pelo Fosstrak. Para a geração do esqueleto da interface a partir do WSDL do Fosstrak foi utilizada a ferramenta WSCF.blue que, com algumas configurações, consegue fazer esta geração automaticamente. Foram encontrados alguns problemas nesta fase do desenvolvimento. 1. O WSDL utilizado era complexo, continha imports de ficheiros XSD e a ferramenta não conseguia identificar a localização dos mesmos. Para a ferramenta interpretar os ficheiros XSD é preciso que estes também sejam adicionados ao projecto, para além do WSDL. 2. O WSCF.blue utiliza a ferramenta xsd, que faz parte da framework.net. Foi verificado durante o desenvolvimento deste trabalho que esta apresenta um erro ao interpretar tipos de dados complexos, mais concretamente arrays multidimensionais. O erro foi reportado à Microsoft que confirmou a sua existência e a sua resolução ainda não fazia parte dos seus planos. Para a resolução do problema foi sugerido um workaround que resolveu o problema, descrito na figura seguinte. O workaround consistia na introdução de um atributo que apesar de não ser utilizado na solução possibilita a utilização do tipo ArrayOfString. <xsd:complextype name="arrayofstring"> <xsd:sequence> <xsd:element name="string" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> <!-- workaround --> <xsd:attribute name=" OptionalAttribute " type="xsd:string" /> </xsd:complextype> Fig. 4.5 Workaround para resolver o problema de importação do ficheiro XSD. 3. Enfrentámos outro problema nos pedidos efectuados pela aplicação cliente do Fosstrak, em que estas continham mensagens SOAP sem qualquer valor no campo soap:action. Devido ao nosso desenvolvimento com WCF, o dispatcher do serviço determina a operação a ser executada através do campo action, não podendo existir diferentes métodos com a mesma action. Os dispatchers são responsáveis por traduzir as mensagens recebidas em chamadas ao método da aplicação, e enviar os resultados de volta para o invocador do serviço. Para contornar este problema, o dispatcher do serviço teve que ser alterado, criando-se um custom dispatcher. Com esta alteração o dispatch passou a ser feito através do nome do método em vez do nome da action. 39

53 4.7. Client Application Neste desenvolvimento foram utilizadas três aplicações que consomem eventos EPCIS. 1. Foi desenvolvida uma consola onde é possível fazer pedidos de pesquisa síncronos e onde se obtém a resposta a esses mesmos pedidos. Esta aplicação faz pesquisas no repositório utilizando pedidos SOAP. Para a criação desta aplicação foi utilizada a ferramenta SvcUtil, que pertence ao Windows SDK e que permite gerar o código da aplicação a partir de um serviço. 2. Foi utilizada outra aplicação, a aplicação cliente do Fosstrak, que apesar de estar desenvolvida numa outra linguagem de programação (Java), mostrou-se com capacidade de comunicação com o sistema desenvolvido, graças à utilização das normas de web services SOAP. 3. Foi criada uma aplicação que contém um serviço que aguarda os resultados das subscrições. Quando é feita uma subscrição, é definido o endereço para onde devem ser enviados os resultados. As mensagens enviadas com os resultados da pesquisa estão no formato SOAP e, a estrutura da mensagem enviada para esta aplicação é igual à estrutura das mensagens enviadas para as aplicações descritas anteriormente. Teve-se de configurar o serviço para que este interpretasse as mensagens recebidas e apresentasse os resultados ao utilizador Segurança Para podermos considerar um sistema seguro, este deverá incluir as seguintes funcionalidades [28]: Auditoria garante que o utilizador que tenha executado uma acção não possa negar falsamente que a tenha executado (não-repúdio). Autenticação garante uma identificação confiável dos utilizadores que acedem ao sistema. Autorização determina quais os recursos e operações do sistema a que o utilizador autenticado tem permissão. Integridade garante que os dados estão protegidos contra alguma modificação acidental ou deliberada. Os requisitos de segurança descritos anteriormente estão cobertos pelas funcionalidades da tecnologia WCF [28]. O WCF providencia o acesso a estas funcionalidades através da configuração de bindings e behaviors dos serviços. Os bindings definem o modo de segurança, credenciais e outras configurações de segurança, enquanto que os behaviors definem o modo de como as credenciais dos clientes são autenticadas e autorizadas e também as credenciais do serviço. A seguinte tabela mostra os bindings que são normalmente mais utilizados. 40

54 Binding Configurações de Segurança Padrão basichttpbinding Sem segurança nettcpbinding Segurança de transporte com autenticação Windows wsfederationhttpbinding Segurança de mensagem com autenticação issue token wshttpbinding Segurança de mensagem com autenticação Windows Tabela 4.4 Bindings mais utilizados no serviços WCF [28]. A tecnologia WCF também utiliza um conjunto de standards de web services (WS-*) que garantem a segurança da comunicação entre o serviço e o cliente [28]. Estes standards incluem: WS-Policy permite a definição dos requisitos da política de segurança nos endpoints. Estes requisitos incluem regras de privacidade, regras de encriptação e tokens de segurança WS-Security permite aplicar segurança sobre uma parte da mensagem SOAP ou sobre mensagens SOAP completas, através de verificações de integridade e encriptação. WS-Trust permite a utilização de tokens segurança que estabelecem um ambiente seguro de comunicação. WS-SecureConversation permite a criação de uma sessão de comunicação segura entre o cliente e o serviço através da reutilização dos tokens usados pelos protocolos anteriores, WS-Policy, WS-Security e WS-Trust. Nesta solução não foi configurada nenhuma destas funcionalidades de segurança mas, de qualquer modo, não queríamos deixar de salientar que com esta solução é possível configurar qualquer mecanismo de segurança, desde que suportado pelo WCF. 41

55 5. Avaliação A avaliação da solução tem como objectivo garantir que esta satisfaz os requisitos definidos. Assim, foram realizados testes unitários durante todo o desenvolvimento do sistema para garantir que todos os serviços estão bem construídos (i.e. de acordo com a especificação funcional) e para detectar eventuais erros que pudessem surgir durante o desenvolvimento da solução e em alterações futuras que venham a ser necessárias. Após a execução dos testes unitários, foram ainda criados vários testes de integração para garantir que as várias componentes da solução funcionam correctamente como um todo. Por fim foram realizados testes de desempenho à nossa solução e ao Fosstrak, para avaliar a capacidade de resposta e poder compará-la com outra solução. Para a realização dos testes foram instalados dois repositórios EPCIS, o repositório Fosstrak e o repositório da nossa solução. A base de dados do Fosstrak utiliza a tecnologia mysql enquanto que a nossa base de dados utiliza a tecnologia SQL Server. Para facilitar o carregamento de informação nas bases de dados foi criada uma aplicação que coloca um determinado número de eventos no repositório para serem posteriormente utilizados nos testes. A máquina de testes utilizada contém um processador Intel Core 2 Duo CPU com 2GB de RAM. As características de rede não são relevantes, visto que os repositórios estão instalados na mesma máquina Cenário de Utilização A seguinte figura ilustra um cenário de utilização de um sistema EPCIS numa cadeia de valor [29]. Estão representadas as fases que um produto percorre desde a sua produção até à sua entrega ao cliente final. Em cada uma das fases existe leitor RFID que detecta um objecto etiquetado e que gera um evento EPCIS. Cada entidade possui um servidor EPCIS que regista eventos e recebe pedidos de informação. 42

56 Fig. 5.1 Exemplificação de um cenário de utilização. De seguida são descritas cada uma destas fases e o conteúdo do evento enviado para a Capture Interface. 1. Fabrico do produto e colocação da etiqueta RFID Event Type Object event Event Time Time Zone Offset +00:00 EPCs Action Business Step Read Point Business Location T06:00:00Z urn:epc:id:sgtin: ADD urn:epcglobal:cbv:bizstep:commissioning urn:epc:id:sgln: rp1 urn:epc:id:sgln: fabrica 43

57 2. Paletização dos objectos fabricados Event Type Event Time Time Zone Offset +00:00 Parent Object Child EPCs Action Business Step Read Point Business Location Aggregation event T09:00:10Z urn:epc:id:sscc: urn:epc:id:sgtin: urn:epc:id:sgtin: urn:epc:id:sgtin: ADD urn:epcglobal:cbv:bizstep:packing urn:epc:id:sgln: rp2 urn:epc:id:sgln: fabrica 3. Carregamento da palete no veículo de transporte Event Type Object event Event Time Time Zone Offset +00:00 EPCs Action Business Step Read Point Business Location T10:05:57Z urn:epc:id:sscc: OBSERVE urn:epcglobal:cbv:bizstep:loading urn:epc:id:sgln: rp3 urn:epc:id:sgln: fabrica 4. Descarregamento da palete do veículo de transporte Event Type Object event Event Time Time Zone Offset +00:00 EPCs Action Business Step Read Point Business Location T09:22:43Z urn:epc:id:sscc: OBSERVE urn:epcglobal:cbv:bizstep:receiving urn:epc:id:sgln: rp1 urn:epc:id:sgln: armazem 5. Inventário Event Type Event Time Time Zone Offset +00:00 Quantity 5 Business Step Read Point Quantity event T12:36:17Z urn:epcglobal:cbv:bizstep:storing urn:epc:id:sgln: rp2 44

58 Business Location urn:epc:id:sgln: armazem 6. Carregamento da palete no veículo de transporte Event Type Object event Event Time Time Zone Offset +00:00 EPCs Action Business Step Read Point Business Location T17:03:23Z urn:epc:id:sscc: OBSERVE urn:epcglobal:cbv:bizstep:loading urn:epc:id:sgln: rp3 urn:epc:id:sgln: armazem 7. Descarregamento da palete no veículo de transporte Event Type Object event Event Time Time Zone Offset +00:00 EPCs Action Business Step Read Point Business Location T09:23:17Z urn:epc:id:sscc: OBSERVE urn:epcglobal:cbv:bizstep:receiving urn:epc:id:sgln: rp1 urn:epc:id:sgln: loja 8. Despaletização dos objectos fabricados Event Type Event Time Time Zone Offset +00:00 Parent Object Child EPCs Action Business Step - Read Point Business Location Aggregation event T10:57:47Z urn:epc:id:sscc: urn:epc:id:sgtin: urn:epc:id:sgtin: urn:epc:id:sgtin: DELETE urn:epc:id:sgln: rp2 urn:epc:id:sgln: loja 9. Venda do produto Event Type Event Time Object event Time Zone Offset +00:00 EPCs T13:14:17Z urn:epc:id:sgtin:

59 Action DELETE Business Step - Read Point urn:epc:id:sgln: rp3 Business Location urn:epc:id:sgln: loja 10. Consulta de informação Que paletes saíram da fábrica no dia 23/4/2011? Parâmetros da pesquisa Event type = Object Event Business Step = urn:epcglobal:cbv:bizstep:loading Business Location = urn:epc:id:sgln: fabrica Event Time >= T00:00:00Z Event Time < T00:00:00Z Quantas paletes estão no armazém? Parâmetros da pesquisa Event Type = Quantity event Business Location = urn:epc:id:sgln: armazem Que produtos chegaram à loja no dia 23/4/2011? Parâmetros da pesquisa Event Type = Object event Business Step = urn:epcglobal:cbv:bizstep:receiving Business Location = urn:epc:id:sgln: loja Event Time >= T00:00:00Z Event Time < T00:00:00Z A vantagem da utilização da nossa solução é que, independentemente do middleware que é utilizado em qualquer uma das entidades responsáveis pelo fabrico e transporte de objectos (Fábrica, Armazém ou Loja), o Centro de Controlo poderá efectuar pesquisas de informação aos sistemas, utilizando apenas uma interface normalizada Utilização do Mecanismo Callback Subscrições com agendamento O utilizador efectua uma subscrição para receber todos os eventos do tipo Object que ocorrem de 10 em 10 minutos. Periodicamente o sistema verifica se existem subscrições que devam ser executadas. Assim que é efectuada a pesquisa, é enviado o resultado para o endereço especificado pelo utilizador. Este resultado só contém eventos que tenham ocorrido desde a última execução, ou seja, nos últimos 10 minutos. O seguinte diagrama exemplifica o funcionamento desta situação. 46

60 Fig. 5.2 Exemplificação do funcionamento da subscrição com agendamento. 1. O utilizador efectua uma subscrição para receber todos os eventos do tipo Object que ocorrem de 10 em 10 minutos. Parâmetros da pesquisa Parâmetros da subscrição Event type = Object Event Destination URI = Initial Record Time = T23:37: :00 Subscription ID = 1 Schedule = 10 minutos 2. É efectuada a pesquisa e o resultado é enviado para o endereço especificado no ponto anterior. Como ainda não ocorreram eventos até este momento o resultado da pesquisa será vazio. Parâmetros da pesquisa Resultado da pesquisa Event type = Object Event vazio 3. O sistema EPCIS recebe um evento através da interface Capture. Event Type Object event Event Time T06:36:17Z Time Zone Offset +00:00 EPCs urn:epc:id:sgtin: Action ADD Business Step urn:epcglobal:cbv:bizstep:commissioning 47

61 Read Point Business Location urn:epc:id:sgln: rp1 urn:epc:id:sgln: fabrica 4. Ao fim de 10 minutos é efectuada a mesma pesquisa que envia um resultado. Parâmetros da pesquisa Resultado da pesquisa Event type = Object Event Evento com EPC urn:epc:id:sgtin: Ao fim de mais 10 minutos, 20 minutos no total, é efectuada nova pesquisa. Como não ocorreram eventos desde a última execução o resultado da pesquisa será vazio. Parâmetros da pesquisa Resultado da pesquisa Event type = Object Event vazio Subscrições do tipo trigger O utilizador efectua uma subscrição para receber todos os eventos do tipo Object assim que chegam ao servidor EPCIS. Sempre que é recebido um novo evento, o sistema efectua uma verificação se este é do tipo Object e se for, envia-o para o endereço definido pelo utilizador. O seguinte diagrama exemplifica o funcionamento desta situação. Fig. 5.3 Exemplificação do funcionamento da subscrição com mecanismo de trigger. 48

62 1. O utilizador efectua uma subscrição para receber todos os eventos do tipo Object assim que estes chegam ao sistema EPCIS. Parâmetros da pesquisa Parâmetros da subscrição Event type = Object Event Destination URI = Initial Record Time = T23:37: :00 Subscription ID = 2 Trigger = on 2. É efectuada a pesquisa e o resultado é enviado para o endereço especificado no ponto anterior. Como ainda não ocorreram eventos até este momento o resultado da pesquisa será vazio. Parâmetros da pesquisa Resultado da pesquisa Event type = Object Event vazio 3. O sistema EPCIS recebe um evento através da interface Capture. Event Type Object event Event Time T06:36:17Z Time Zone Offset +00:00 EPCs urn:epc:id:sgtin: Action ADD Business Step urn:epcglobal:cbv:bizstep:commissioning Read Point urn:epc:id:sgln: rp1 Business Location urn:epc:id:sgln: fabrica 4. O sistema detecta a chegada do novo evento e envia-o para o endereço especificado na subscrição. Parâmetros da pesquisa Resultado da pesquisa Event type = Object Event Evento com EPC urn:epc:id:sgtin: O sistema EPCIS recebe um evento através da interface Capture. Event Type Object event Event Time T06:36:17Z Time Zone Offset +00:00 EPCs urn:epc:id:sgtin: Action ADD Business Step urn:epcglobal:cbv:bizstep:commissioning Read Point urn:epc:id:sgln: rp1 49

63 Business Location urn:epc:id:sgln: fabrica 6. O sistema detecta a chegada do novo evento e envia-o para o endereço especificado na subscrição. Parâmetros da pesquisa Resultado da pesquisa Event type = Object Event Evento com EPC urn:epc:id:sgtin: Testes Unitários e de Integração Os testes unitários garantem a correcção das várias unidades de código que compõem a solução desenvolvida. Estes testes foram criados recorrendo à Framework de testes unitários NUnit 21 que permite a fácil criação de testes unitários para aplicações desenvolvidas em C# e.net. Foram criados testes para cada serviço existente na solução e para cada método necessário para o correcto funcionamento da mesma. A realização dos testes ao longo do desenvolvimento da solução garantiu que durante a criação de novas funcionalidades o trabalho desenvolvido até ao momento estava validado e não era danificado. Foram também criados testes unitários para o sistema Fosstrak, não com o objectivo de verificar quais as falhas do sistema, mas sim validar se os resultados obtidos na nossa solução coincidiam com o esperado. Os testes de integração pretendem verificar que todas as componentes da solução desenvolvida interagem entre si apresentando um determinado resultado esperado. Para isso, após o desenvolvimento de uma nova componente da solução, foram efectuados testes que exigiam a participação simultânea das componentes da solução, verificando-se assim a correcta integração das mesmas Integração com o Fosstrak Para testar a integração da solução desenvolvida com outras soluções EPCIS que respeitem as normas estabelecidas pela EPCglobal, simulámos a introdução e pesquisa de informação a dois sistemas EPCIS com tecnologias diferentes mas com a mesma informação na base de dados. Para efectuarmos garantir que os dados são os mesmos nos diferentes sistemas replicámos os dados existentes na base de dados do sistema Fosstrak para a base de dados do nosso sistema. Foram efectuados os mesmos testes às duas interfaces, Capture e Query Control, utilizando as aplicações cliente do Fosstrak, que possuem alguns exemplos de cenários reais. Queríamos com isto verificar se o comportamento dos dois sistemas é idêntico. 21 NUnit - 50

64 Testes à interface EPCIS Query Control As pesquisas efectuadas foram as seguintes: - Procura uma agregação de uma determinada palete (devolve os eventos da palete com identificador urn:epc:id:sscc: ) - Procura de todos os eventos de um determinado EPC que ocorreu numa determinada data (devolve todos os eventos com o EPC urn:epc:id:sgtin: que ocorreram depois da data T05:20:31+00:00 ) - Procura todos os eventos gerados por um determinado leitor (devolve todos os eventos que ocorreram no leitor RFID em determinada posição) - Procura os EPC s com uma determinada data de envio (devolve os eventos com o business step shipping e com o código EPC urn:epc:id:sgtin: ) - Procura todos os EPCs que ocorreram num determinado ano (devolve todos os eventos que ocorreram no ano 2006) O detalhe das pesquisas realizadas, assim como os resultados obtidos, podem ser observados no anexo B deste documento. Testes à interface EPCIS Capture Também foi testada a Capture Interface desenvolvida utilizando os exemplos da Capture Application do Fosstrak. Os registos efectuados na Capture Interface foram os seguintes: - Adição de um objecto com um novo EPC que ainda não existe no repositório (regista o evento com action ADD e EPC urn:epc:id:sgtin: ) - Observação de um objecto com um EPC existente no repositório (regista o evento do tipo object com action OBSERVE e EPC urn:epc:id:sgtin: ) - Adição de uma agregação com um EPC que identifica a palete e com mais 4 EPCs que identificam os objectos individuais contidos na palete (regista o evento do tipo aggregation com action ADD, com parent object urn:epc:id:sscc: e com child EPCs 51

65 urn:epc:id:sgtin: urn:epc:id:sgtin: urn:epc:id:sgtin: urn:epc:id:sgtin: ) - A chegada de uma palete a um determinado local (regista o evento do tipo object com action OBSERVE e com business step urn:epcglobal:cbv:bizstep:arriving ) - A partida de uma palete de um determinado local ( regista o evento do tipo object com action OBSERVE e com business step urn:epcglobal:cbv:bizstep:departing ) - Passagem de um objecto num leitor durante o processo de fabrico (regista o evento do tipo object com action OBSERVE e com business step ) - Carregamento de 2 paletes num veículo de transporte (regista o evento do tipo object com action OBSERVE, com business step urn:epcglobal:cbv:bizstep:loading e com disposition urn:epcglobal:cbv:disp:in_transit ) - Objecto recebido para reparação (regista o evento do tipo object com action OBSERVE, com business step urn:epcglobal:cbv:bizstep:receiving, com disposition e com business location urn:epc:id:sgln: repair-center ) - Agregação de 3 objectos com EPC numa palete identificada com código de barras (regista o evento do tipo aggregation com action ADD, com child EPCs urn:epc:id:sgtin: urn:epc:id:sgtin: urn:epc:id:sgtin: ) - Desagregação de uma palete após chegada ao cliente (regista o evento do tipo aggregation com action DELETE, com parent object urn:epc:id:sscc: ) - Contagem do inventário de 67 objectos (regista o evento do tipo quantity com o campo quantity igual a 67 e com business step urn:epcglobal:cbv:bizstep:storing ) - Adição de dois novos objectos a uma transacção após alteração pedida pelo cliente (regista o evento do tipo transaction com action ADD e com EPCs urn:epc:id:sgtin: urn:epc:id:sgtin: ) 52

66 - Transacção finalizada (regista o evento do tipo transaction com action DELETE e com EPCs urn:epc:id:sgtin: urn:epc:id:sgtin: ) Posteriormente os resultados entre as duas soluções foram comparados utilizando a ferramenta soapui 22. A ferramenta soapui é uma ferramenta open source para teste de Web Services que permite definir a mensagens SOAP que são enviadas para o servidor e recebe as respostas enviadas por este. Analisando os resultados obtidos em ambas as soluções, não se verificou nenhuma diferença entre as respostas das duas soluções Integração com rfrbnet Depois de resolvidas as questões relacionadas com aprovisionamento, descoberta e definição de políticas dos intervenientes, a rede rfrbnet cumpre as suas primitivas de rastreio graças às interfaces de Capture e Query normalizadas pela EPCglobal. Inicialmente, a rede rfrbnet foi construída sobre a plataforma Fosstrak, a qual, conforme já referido, é uma plataforma de middleware RFID open source cujo repositório foi também certificado pela EPCglobal 23. Por sua vez, visto que a camada de captura da rede rfrbnet assenta no middleware BizTalk RFID, o nosso trabalho apresentará e permitirá validar uma alternativa aos interfaces EPCIS do Fosstrak. Cenário Na rede rfrbnet, é testado o cenário de construção da Bill-Of-Materials 24, tendo em conta a hierarquia de componentes que compõe um produto ao longo da sua vida e ao longo dos circuitos logísticos directos e inversos. Na figura seguinte, observamos um esquema geral da cadeia de distribuição directa envolvida na produção de um portátil: 22 soapui Certificações EPCglobal Bill-Of-Materials - Lista de matérias-primas, componentes ou peças necessária para o fabrico de um produto. 53

67 Fig rfrbnet: Visão geral de cadeia de distribuição O principal objectivo da construção do Bill-Of-Materials é a identificação das componentes de um produto. Para isso, a rede tem que interrogar os sistemas EPCIS envolvidos nas operações de agregação e desagregação. A figura seguinte representa os detalhes de agregação na montagem de um portátil: 54

68 Fig rfrbnet: Detalhes de agregação na montagem de um portátil Por fim, completa-se a actualização do Bill-Of-Materials com o cenário da logística inversa de reparação de equipamento, substituindo uma componente por outra operação que é composta pelas operações de desagregação do componente avariado e agregação do componente substituído. Interfaces Como já foi referido, a rede rfrbnet cumpre as suas primitivas de rastreio invocando os interfaces de normalizadas pela EPCglobal: Capture Interface: captura de eventos de negócio; Query interface: consolidação ao longo da rede dos eventos de agregação e desagregação de forma a construir a Bill-Of-Materials. As seguintes aplicações utilizam as interfaces: Capture Interface: o Link.rfrbnet.SupplyChainSimulator simulador da cadeia de abastecimento, capaz de gerar os eventos de Capture no contexto desta cadeia; Query Interface: o Link.rfrbnet.TrackAndTrace aplicação de consulta de localização e historial; o Link.rfrbnet.BillOfMaterials aplicação de consulta de Bill-Of-Materials; o Link.rfrbnet.Dashboard Dashboard de monitorização de actividades em tempo real. 55

69 Tempo de resposta (ms) Descrição dos testes Com estes testes queríamos validar que a nossa solução não apresenta erros e para isso foi importante utilizar um sistema empresarial que já possui uma bateria de testes. A ideia era executar a bateria de testes utilizando os serviços EPCIS do Fosstrak existentes no sistema rfrbnet, e posteriormente substituir esses serviços pela nossa solução e verificar se os resultados são idênticos. Resultados A substituição da implementação dos interfaces EPCIS do Fosstrak pela nossa solução produziu um resultado positivo, uma vez que obtivemos os mesmos resultados após a substituição Testes de Desempenho Para testar o desempenho da nossa solução foi realizado um conjunto de testes a dois sistemas EPCIS, a nossa solução e o Fosstrak. Estes testes consistiram em popular as bases de dados de ambos os sistemas com um elevado número de registos (igual para ambos os sistemas) e medir os tempos de resposta às pesquisas efectuadas Número de registos na resposta Fosstrak A nossa Solução Fig Representação gráfica dos resultados dos testes de desempenho Número de registos Tempo médio de resposta (ms) na resposta Fosstrak A nossa Solução Tabela Resultados dos testes de desempenho 56

70 A nossa solução só apresenta tempo inferior de resposta ao Fosstrak para um único registo na resposta. Para mais registos, apresenta uma performance inferior, demora 1.5 vezes o tempo de resposta do Fosstrak (em média). Propomos como trabalho futuro a identificação do problema e a optimização da performance do sistema. 57

71 6. Conclusões e Trabalho Futuro Neste capítulo, será apresentado um resumo do trabalho que foi desenvolvido ao longo desta dissertação, assim como as conclusões obtidas e principais contribuições. Com o objectivo de enriquecer a solução obtida, é feita uma análise crítica da mesma, onde se identificam alguns pontos que poderão ser melhorados ou adicionados a esta solução Conclusões Finais e Contribuições Como objectivo para este trabalho, propusemo-nos a desenvolver uma solução que facilitasse a adopção das normas EPCglobal para sistemas de informação, nomeadamente a norma EPCIS. Assim, numa fase inicial, propusemo-nos a desenvolver serviços EPCIS que comunicassem com o Biztalk RFID, permitindo a este disponibilizar dados EPC para outros sistemas. Apesar dos desenvolvimentos terem sido feitos para este middleware, esta solução poderá ser utilizada por qualquer middleware que respeite as normas EPCglobal. Cumprimos as recomendações da EPCglobal desenvolvendo uma solução estruturada por camadas que traz a vantagem de ter standards e interfaces independentes da implementação, e extensível para ser utilizada em qualquer área de negócio. A existência de uma arquitectura por camadas facilita a substituição destas por outras mais evoluídas, que estejam de acordo com as normas EPCglobal, permitindo escalabilidade e uma evolução natural da solução. Desenvolvemos uma solução chave na mão que pode ser instalada sobre qualquer sistema RFID, apresentando como único requisito que os eventos EPCIS recebidos pela Capture Interface estejam de acordo com as normas EPCglobal. Esta solução foi valorizada pela empresa Link Consulting visto que poderá ser utilizada em projectos futuros que tenham a necessidade de implementar os serviços EPCIS. Ao mesmo tempo, garante-se a possibilidade de uma substituição por implementações mais robustas no futuro (ex: IBM e Oracle). Esta solução, quando comparada com uma solução desenvolvida sobre BizTalk Server, tem a vantagem de não ter obrigatoriedade de licenciamento, permitindo a implementação de projectos pequenos sem custos demasiado elevados. Para atingirmos o nosso objectivo principal, foram necessárias várias etapas, nomeadamente o estudo das normas internacionais EPCglobal e a análise de middlewares RFID. Foi ainda necessária a criação de serviços de acordo com as normas e, neste ponto, gostaríamos de destacar a importância da existência de uma solução académica (Fosstrak), que permitiu a comparação de resultados. O mecanismo por trás dos serviços não é simples, visto que existem mecanismos publish/subscribe em que a verificação de subscrições obrigou à criação de um temporizador que efectua verificações periódicas. 58

72 O modelo de compatibilidade com os interfaces definidos implicou uma aproximação contract-first na integração de serviços via SOAP. A maior dificuldade encontrada neste trabalho foi o facto dos contratos especificados pela EPCglobal não definirem o campo action, que é obrigatória em WCF para a determinação da operação a ser executada pelo serviço. A resolução deste problema não foi trivial e a sua solução passou pela alteração do dispatcher do serviço, criando um custom dispatcher. Com esta alteração, o dispatch passou a ser feito através do nome do método em vez do nome da action. A avaliação cumpriu as nossas expectativas, com excepção dos testes de desempenho, e os resultados obtidos nos testes efectuados foram sempre os correctos. Acreditamos que os casos de utilização identificados reflectem a realidade empresarial, principalmente os casos de teste no sistema rfrbnet. Os resultados dos testes de desempenho deixaram-nos surpreendidos ao apresentarem tempos de resposta 1,5 vezes superior aos tempos de resposta da solução Fosstrak. Apesar de apresentar uma performance inferior, consideramos que, o facto de a solução retornar 333 registos por segundo (em média) são tempos de resposta aceitáveis, se considerarmos que estes registos correspondem aos momentos mais importantes das movimentações de objectos físicos numa cadeia de valor. Garantimos que as normas EPCglobal são cumpridas comparando a nossa solução com outra, que já as cumpre, e comprovamos que a nossa solução consegue comunicar com outros sistemas de tecnologias diferentes. Com a solução que foi desenvolvida e com o resultado dos testes efectuados, acreditamos que este trabalho é um passo importante na construção de uma solução que pode ser aplicada num ambiente real. Em termos de aplicação e utilização do trabalho desenvolvido, consideramos que o mesmo pode ser utilizado noutros trabalhos relacionados com este tema, que necessitem de implementar a camada EPCIS, e também por empresas que queiram disponibilizar informação para os seus parceiros de negócio Trabalho Futuro Apesar de todos os objectivos a que nos propusemos terem sido cumpridos, ao longo do desenvolvimento foram surgindo novas ideias que podem enriquecer o trabalho. Para garantir que os recursos computacionais do sistema são geridos de uma forma mais eficiente, sugerimos a utilização de um mecanismo de thread pooling. Resumidamente, o mecanismo de thread pooling consiste num processo de criação e gestão de threads para que, sempre que exista uma nova tarefa no sistema, se utilize uma thread já existente em vez de se criar uma nova. Para simular todo o processo, desde a leitura de uma etiqueta RFID até a partilha de informação com outros sistemas, foi necessário utilizar uma Capture Application. Esta aplicação é uma das camadas da arquitectura recomendada pela EPCglobal e tem a responsabilidade de converter um evento RFID 59

73 num evento EPCIS. Esta conversão é efectuada tendo com base algumas regras de negócio, que não foram consideradas neste trabalho. Posto isto, utilizámos esta aplicação com uma conversão de eventos simples, sem adicionar contexto de negócio. Normalmente, estas regras de negócio são fornecidas por outros sistemas e propomos, como trabalho futuro, a alteração da Capture Application para que receba informação de outros sistemas da empresa ou de terceiros e, que converta os eventos RFID em eventos EPCIS com mais informação útil. Sugerimos também o desenvolvimento da camada ONS da arquitectura EPCglobal. O ONS é um serviço da rede que permite a procura dos endereços de repositórios EPC, a partir de um identificador do gestor de EPC ou de um EPC completo. Especificamente, o ONS disponibiliza um meio para procurar um endereço de um serviço EPCIS disponibilizado pela organização que ficou encarregue do EPC do objecto em questão. Sem esta camada não é possível saber o endereço de um repositório EPCIS para um dado EPC. Na nossa solução, assumimos que todos os endereços dos repositórios são conhecidos por todos os parceiros de negócio. O mecanismo Discovery Service [6], que localiza todos os repositórios EPCIS que poderão ter informação sobre um particular EPC, referido nas recomendações da EPCglobal, não foi desenvolvido. Prevemos que este mecanismo seja uma mais-valia para soluções EPCIS, sendo útil principalmente quando se deseja fazer uma pesquisa de informação a um serviço EPCIS mas não se sabe o endereço. 60

74 7. Referências [1] K. Finkenzeller, RFID Handbook: Fundamentals and Applications in Contactless Smart Cards and Identification, John Wiley & Sons, Ltd, 2003, p [2] S. Lewis, A basic introduction to RFID technology and its use in the supply chain, Laran RF- ID white-paper, [3] G. Capone, D. Costlow, W. Grenoble, and R. Novack, The RFID-Enabled Warehouse, SAP University Thought Leadership Supply Chain Paper, Penn State, [4] C. Floerkemeier, C. Roduner, and M. Lampe, RFID Application Development With the Accada Middleware Platform, IEEE Systems Journal, [5] K. Leong, M. Ng, and D. Engels, EPC Network Architecture, White Paper Series / Edition 1, Auto-ID Labs, [6] K. Traub, F. Armenio, H. Barthel, P. Dietrich, J. Duker, C. Floerkemeier, J. Garrett, and M. Harrison, The EPCglobal Architecture Framework, GS1 EPCglobal, [7] EPC Information Services ( EPCIS ) Version Specification, GS1 EPCglobal, [8] W. Hansen and F. Gillert, RFID for the Optimization of Business Processes, John Wiley & Sons, Ltd, [9] C. Du and S. Han, Integrating EPCglobal Network with Web Services, IEEE Computer Society, [10] Low Level Reader Protocol ( LLRP ), GS1 EPCglobal, [11] The Application Level Events ( ALE ) Specification, GS1 EPCglobal, [12] EPCglobal Object Name Service (ONS) 1.0.1, GS1 EPCglobal, [13] C. Floerkemeier, M. Lampe, and C. Roduner, Facilitating RFID Development with the Accada Prototyping Platform, IEEE International Conference on Pervasive Computing and Communications Workshops, [14] Fosstrak EPCIS - Architecture Guide, [Online]. Available: [15] EPCglobal Tag Data Translation (TDT) 1.4 Specification, GS1 EPCglobal, [16] G. Pereira, Dissertação de Mestrado: Assessment of an open-source, standards-based RFID supply chain integration, DEI, IST, [17] W. Yanyan, Z. Xiaofeng, W. Yaohua, and X. Peipei, The research of RFID middleware s data management model, IEEE International Conference on Automation and Logistics, [18] T. Nguyen, Y. Lee, R. Huq, B. Jeong, and S. Lee, A Data Model for EPC Information Services, Department of Computer Engineering, KyungHee University, Korea, [19] M. Beckner, M. Simms, and R. Venkatesh, Pro RFID in BizTalk Server 2009, Apress,

75 [20] Implementing EPC Information Services with Microsoft BizTalk Server 2006 R2, [Online]. Available: [21] G. Alonso, F. Casati, H. Kuno, and V. Machiraju, Web Services: Concepts, Architectures and Applications, Springer Verlag, [22] Introducing BizTalk Server 2010, [Online]. Available: [23] D. Jefford, K. Smith, and E. Fairweather, Professional BizTalk Server 2006, Wiley Publishing, Inc., [24] F. Michahelles, C. Floerkemeier, and M. Harrison, Technology, Standards, and Real-World Deployments of the EPC Network, IEEE Computer Society, [25] M. Pardal, Dissertação de Mestrado: Tecnologia de segurança para Web Services, DEI, IST, [26] D. Chappell, Introducing Windows Communication Foundation in.net Framework 4, [Online]. Available: [27] A. Silberschatz, H.F. Korth, and S. Sudarshan, Database System Concepts, 4th Edition, The McGraw-Hill Companies, [28] J.D. Meier, C. Farre, J. Taylor, P. Bansode, S. Gregersen, M. Sundararajan, and R. Boucher, Improving Web Services Security - Scenarios and Implementation Guidance for WCF, patterns & practices by Microsoft, [29] A. Ilic, T. Andersen, and F. Michahelles, EPCIS-based Supply Chain Visualization Tool, Auto-ID Labs White Paper,

76 ANEXO A Modelo de Domínio 63

SIBS PROCESSOS cria solução de factura electrónica com tecnologias Microsoft

SIBS PROCESSOS cria solução de factura electrónica com tecnologias Microsoft SIBS PROCESSOS cria solução de factura electrónica com tecnologias Microsoft A solução MB DOX oferece uma vantagem competitiva às empresas, com a redução do custo de operação, e dá um impulso à factura

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

WebSphere MQ. Bruno Miguel de Sousa Gonçalves

WebSphere MQ. Bruno Miguel de Sousa Gonçalves WebSphere MQ Bruno Miguel de Sousa Gonçalves 1.Introdução ao WebSphere Os produtos WebSphere providenciam comunicação entre programas através da interligação entre componentes heterogéneos, processadores,

Leia mais

Enunciado de apresentação do projecto

Enunciado de apresentação do projecto Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 Enunciado de apresentação do projecto FEARSe Índice 1 Introdução... 2 2 Cenário de Enquadramento... 2 2.1 Requisitos funcionais...

Leia mais

ROADSHOW PORTO RFID aplicado à Gestão Logística 26 de Maio 2011 Luis Peixoto

ROADSHOW PORTO RFID aplicado à Gestão Logística 26 de Maio 2011 Luis Peixoto ROADSHOW PORTO RFID aplicado à Gestão Logística 26 de Maio 2011 Luis Peixoto The global language of business GS1 EPCglobal/RFID Uma ferramenta logística RASTREABILIDADE INFORMAÇÃO EM TEMPO REAL GS1 EPC

Leia mais

5.7.6 Internet/Intranet 176 5.7.7 Gestão logística 177 CAPÍTULO 6. DESENVOLVIMENTO DE SISTEMAS DE WORKFLOW 181 6.1 Métodos de Desenvolvimento 181

5.7.6 Internet/Intranet 176 5.7.7 Gestão logística 177 CAPÍTULO 6. DESENVOLVIMENTO DE SISTEMAS DE WORKFLOW 181 6.1 Métodos de Desenvolvimento 181 SUMÁRIO SUMÁRIO PREFÁCIO AGRADECIMENTOS VII XI XIII INTRODUÇÃO CAPÍTULO 1. ORGANIZAR WORKFLOWS 1 1.1 Ontologia da gestão de workflows 1.2 Trabalho 1 1 1.3 Processos de Negócio 3 1.4 Distribuir e Aceitar

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

Service Oriented Architectures

Service Oriented Architectures Service Oriented Architectures Uma abordagem evolutiva Manager, IT Middleware Vodafone Portugal Mario.saraiva@vodafone.com Agenda 1. O desafio da Integração O princípio do Middleware, ActiveWorks e Middleware

Leia mais

R/3 e SAP WAS. 8/28/2003 José Alves Marques. R/3 e SAP WAS(2)

R/3 e SAP WAS. 8/28/2003 José Alves Marques. R/3 e SAP WAS(2) R/3 e SAP WAS O R/3 é um ERP Enterprise Resource Planning Um ERP é o sistema empresarial que disponibiliza módulos para os processos de negócio - de uma empresa Um ERP permite aumentar a eficiência dos

Leia mais

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações Sistemas Multimédia Arquitectura Protocolar Simples Modelo OSI TCP/IP Redes e Comunicações Francisco Maia famaia@gmail.com Já estudado... Motivação Breve História Conceitos Básicos Tipos de Redes Componentes

Leia mais

Enunciado do Projecto

Enunciado do Projecto C O M P U T A Ç Ã O M Ó V E L 2 0 0 7 / 2 0 0 8 Enunciado do Projecto 17 de Março de 2008 1. Objectivos Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização

Leia mais

A versão básica disponibiliza a informação criada no Microsoft Navision em unidades de informação

A versão básica disponibiliza a informação criada no Microsoft Navision em unidades de informação O Business Analytics for Microsoft Business Solutions Navision ajuda-o a ter maior controlo do seu negócio, tomar rapidamente melhores decisões e equipar os seus funcionários para que estes possam contribuir

Leia mais

PONTDOC. Sistema de Gestão Documental. Dossier de Produto 02.01.2009 DP10.02. www.pontual.pt UGD 1 de 13

PONTDOC. Sistema de Gestão Documental. Dossier de Produto 02.01.2009 DP10.02. www.pontual.pt UGD 1 de 13 PONTDOC Sistema de Gestão Documental Dossier de Produto DP10.02 02.01.2009 www.pontual.pt UGD 1 de 13 PONTDoc Sistema de Gestão Documental A Pontual A Pontual é uma empresa de capitais 100% nacionais,

Leia mais

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual Engenharia de Software Sistemas Distribuídos 2º Semestre, 2007/2008 Departamento Engenharia Informática Enunciado do projecto: Loja Virtual Fevereiro de 2008 Índice Índice...2 Índice de Figuras...3 1 Introdução...4

Leia mais

PESQUISA EMPRESARIAL E SOLUÇÕES FAST

PESQUISA EMPRESARIAL E SOLUÇÕES FAST 10 de Março de 2010 PESQUISA EMPRESARIAL E SOLUÇÕES FAST Pedro Moutinho 2 Pesquisa Empresarial e Soluções FAST 3 Pesquisa Empresarial e Soluções FAST AGENDA A marca Web 2.0 Conectar Pessoas, Conteúdos

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 5 Servidores de Aplicação

Leia mais

Message Oriented Middleware (MOM)

Message Oriented Middleware (MOM) Message Oriented Middleware (MOM) March 24, 2010 Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes estão disponíveis simultaneamente. Por exemplo, um servidor de submissão pode estar

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

Bem-vindo à apresentação do SAP Business One.

Bem-vindo à apresentação do SAP Business One. Bem-vindo à apresentação do SAP Business One. Neste tópico, responderemos à pergunta: O que é o Business One? Definiremos o SAP Business One e discutiremos as opções e as plataformas disponíveis para executar

Leia mais

Sistemas Empresariais Integrados

Sistemas Empresariais Integrados Sistemas Empresariais Integrados Introdução ao BizTalk Server Enterprise Service Bus (ESB) M. Weske: Business Process Management, Springer-Verlag Berlin Heidelberg 2007 1 Message broker M. Weske: Business

Leia mais

Fábio Costa e Miguel Varela

Fábio Costa e Miguel Varela Sistema de Informação e Gestão dos Laboratórios do Departamento de Eng.ª Electrotécnica com Tecnologia RFID Projecto Final de Licenciatura em Eng. Electrotécnica e de Computadores Ramo de Electrónica e

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

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

Plug and play options, integrating systems Opções de plug and play, integrando sistemas Flavio de Nadai

Plug and play options, integrating systems Opções de plug and play, integrando sistemas Flavio de Nadai Plug and play options, integrating systems Opções de plug and play, integrando sistemas Flavio de Nadai Plug & Play Options Integrating Systems Flávio De Nadai Desenvolvimento de Negócios Utilities & Telecom

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

Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos. Requisitos para a 3ª entrega do projecto.

Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos. Requisitos para a 3ª entrega do projecto. Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos Requisitos para a 3ª entrega do projecto Loja Virtual 5 de Maio de 2008 Índice Índice...2 1 Sumário...3 2 Requisitos...3

Leia mais

TÉCNICAS DE INFORMÁTICA WILLIAN FERREIRA DOS SANTOS

TÉCNICAS DE INFORMÁTICA WILLIAN FERREIRA DOS SANTOS TÉCNICAS DE INFORMÁTICA WILLIAN FERREIRA DOS SANTOS Vimos em nossas aulas anteriores: COMPUTADOR Tipos de computadores Hardware Hardware Processadores (CPU) Memória e armazenamento Dispositivos de E/S

Leia mais

Sistemas Empresariais Integrados

Sistemas Empresariais Integrados Sistemas Empresariais Integrados Introdução Basic MOM: in basic MOM it is the sender who specifies the identity of the receivers sender receiver message broker core : with message brokers, custom message

Leia mais

Grupo de trabalho sobre a protecção das pessoas singulares no que diz respeito ao tratamento de dados pessoais. Recomendação 1/99

Grupo de trabalho sobre a protecção das pessoas singulares no que diz respeito ao tratamento de dados pessoais. Recomendação 1/99 5093/98/PT/final WP 17 Grupo de trabalho sobre a protecção das pessoas singulares no que diz respeito ao tratamento de dados pessoais Recomendação 1/99 sobre o tratamento invisível e automatizado de dados

Leia mais

IDC Portugal: Av. António Serpa, 36 9º Andra, 1050-027 Lisboa, Portugal Tel. 21 796 5487 www.idc.com

IDC Portugal: Av. António Serpa, 36 9º Andra, 1050-027 Lisboa, Portugal Tel. 21 796 5487 www.idc.com CADERNO IDC Nº 49 IDC Portugal: Av. António Serpa, 36 9º Andra, 1050-027 Lisboa, Portugal Tel. 21 796 5487 www.idc.com Web Services OPINIÃO IDC Apesar de não constituírem uma alteração tecnológica radical,

Leia mais

A plataforma de software modular ud121 E-Business, oferece uma das mais sofisticadas ferramentas para comunicações integradas multi-canal.

A plataforma de software modular ud121 E-Business, oferece uma das mais sofisticadas ferramentas para comunicações integradas multi-canal. A plataforma de software modular ud121 E-Business, oferece uma das mais sofisticadas ferramentas para comunicações integradas multi-canal. Adoptada por diversas empresas líderes de mercado em vários sectores

Leia mais

OurDocs. Sistemas Distribuídos Engenharia de Software. Sistema de gestão documental. ic-sod@mega.ist.utl.pt ic-es@mega.ist.utl.pt

OurDocs. Sistemas Distribuídos Engenharia de Software. Sistema de gestão documental. ic-sod@mega.ist.utl.pt ic-es@mega.ist.utl.pt Sistemas Distribuídos Engenharia de Software 2º Semestre, 2006/2007 Departamento Engenharia Informática Enunciado do projecto: OurDocs Sistema de gestão documental ic-sod@mega.ist.utl.pt ic-es@mega.ist.utl.pt

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

Projecto de Engenharia de Software e Sistemas Distribuídos 2009-10. Requisitos para a 3ª entrega do projecto. FeaRSe.

Projecto de Engenharia de Software e Sistemas Distribuídos 2009-10. Requisitos para a 3ª entrega do projecto. FeaRSe. Departamento de Engenharia Informática Engenharia de Software, Sistemas Distribuídos Requisitos para a 3ª entrega do projecto FeaRSe 6 de Maio de 2010 Índice Índice... 1 1 Sumário... 2 2 Requisitos...

Leia mais

MANUAL DE INTRODUÇÃO AO ALFRESCO 3.0

MANUAL DE INTRODUÇÃO AO ALFRESCO 3.0 MANUAL DE INTRODUÇÃO AO ALFRESCO 3.0 Alfresco é uma marca registada da Alfresco Software Inc. 1 / 42 Índice de conteúdos Alfresco Visão geral...4 O que é e o que permite...4 Página Inicial do Alfresco...5

Leia mais

API e Integraç ão. Inoxnet WebServices. Versã o 1.10. (c) EBASE Lda. www.inoxnet.com

API e Integraç ão. Inoxnet WebServices. Versã o 1.10. (c) EBASE Lda. www.inoxnet.com API e Integraç ão Inoxnet WebServices Versã o 1.10 (c) EBASE Lda www.inoxnet.com Índice INFORMAÇ ÃO SOBRE ESTE DOCUMENTO...3 Descrição geral... 3 Requisitos... 3 Termos... 4 Convenções... 4 INTRODUÇ ÃO...4

Leia mais

Vídeo Vigilância Abordagem Open-Source

Vídeo Vigilância Abordagem Open-Source Vídeo Vigilância Abordagem Open-Source Alunos: Justino Santos, Paulo Neto E-mail: eic10428@student.estg.ipleiria.pt, eic10438@student.estg.ipleiria.pt Orientadores: Prof. Filipe Neves, Prof. Paulo Costa

Leia mais

1. Introdução ao. Crystal Reports

1. Introdução ao. Crystal Reports 1. Introdução ao Crystal Reports Como é sabido e geralmente aceite por todos nós, vivemos um período onde a complexidade dos negócios é cada vez maior, tal como o prova a intensificação da concorrência,

Leia mais

Mestrado em Segurança da Informação e Direito no Ciberespaço

Mestrado em Segurança da Informação e Direito no Ciberespaço Escola Naval Mestrado em Segurança da Informação e Direito no Ciberespaço Segurança da informação nas organizações Supervisão das Politicas de Segurança Computação em nuvem Fernando Correia Capitão-de-fragata

Leia mais

Opções para impressão de códigos de barras para impressoras Zebra em ambientes Oracle WMS e MSCA RELATÓRIO INFORMATIVO SOBRE APLICAÇÃO

Opções para impressão de códigos de barras para impressoras Zebra em ambientes Oracle WMS e MSCA RELATÓRIO INFORMATIVO SOBRE APLICAÇÃO Opções para impressão de códigos de barras para impressoras Zebra em ambientes Oracle WMS e MSCA RELATÓRIO INFORMATIVO SOBRE APLICAÇÃO Direitos autorais 2004 ZIH Corp. Todos os nomes e números de produtos

Leia mais

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS Este anexo apresenta uma visão geral das seguintes plataformas: 1. Plataforma Microsoft.NET - VB.NET e C#; 2. Plataforma JAVA; 3. Plataforma Android, ios e Windows

Leia mais

Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada

Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada Insight completo sobre IDG/Oracle Relatório de pesquisa de SOA Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada Alinhamento

Leia mais

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 20.10.2006. Faculdade de Ciências da Universidade de Lisboa

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 20.10.2006. Faculdade de Ciências da Universidade de Lisboa Alexandre Zua Caldeira Tecnologias de Middleware 2006/2007 Faculdade de Ciências da Universidade de Lisboa 20.10.2006 1 Introdução Definições Limitações do Middleware Estudado Integração com Web Services

Leia mais

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware. Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas

Leia mais

Plataforma integrada para testes em arquitecturas orientadas a serviços

Plataforma integrada para testes em arquitecturas orientadas a serviços Plataforma integrada para testes em arquitecturas orientadas a serviços Índice Introdução... 2 A solução... 2 Plataforma Integrada (principais características)... 4 Eliminar limitações à execução de testes

Leia mais

NOTIFICAÇÃO DE NEGÓCIO

NOTIFICAÇÃO DE NEGÓCIO NOTIFICAÇÃO DE NEGÓCIO O Microsoft Business Solutions for Supply Chain Management Navision Business Notification ajudao a gerir a sua empresa mais facilmente e eficazmente. Pode identificar qualquer problema

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

Sem o recurso às tecnologias disponibilizadas pela Microsoft, a solução criada seria difícil de obter num tão curto espaço de tempo.

Sem o recurso às tecnologias disponibilizadas pela Microsoft, a solução criada seria difícil de obter num tão curto espaço de tempo. Caso de Sucesso Microsoft Finsolutia cria solução completa de suporte ao negócio com.net Framework 3.5 Sumário País: Portugal Indústria: Banking&Finance Perfil do Cliente A Finsolutia é uma joint venture

Leia mais

TRABALHO #1 Sistemas de Informação Distribuídos: Reflexão sobre a segurança

TRABALHO #1 Sistemas de Informação Distribuídos: Reflexão sobre a segurança DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Negócio Electrónico, 2006/2007 TRABALHO #1 Sistemas de Informação Distribuídos: Reflexão sobre a segurança

Leia mais

Arquitecturas de Sistemas de Informação

Arquitecturas de Sistemas de Informação Arquitecturas de Sistemas de Informação Arquitectura Tecnológica Arquitectura Tecnológica O que é: É a escolha dos tipos de tecnologia que devem ser utilizados para dar suporte a cada um dos sistemas e

Leia mais

GUIA INTEGRAÇÃO ELECTRÓNICA PLATAFORMA DE INTEROPERABILIDADE DA ADMINISTRAÇÃO PÚBLICA

GUIA INTEGRAÇÃO ELECTRÓNICA PLATAFORMA DE INTEROPERABILIDADE DA ADMINISTRAÇÃO PÚBLICA GUIA INTEGRAÇÃO ELECTRÓNICA PLATAFORMA DE INTEROPERABILIDADE DA ADMINISTRAÇÃO PÚBLICA versão 0.9 25 de Maio de 2009 Agência para a Modernização Administrativa, IP Rua Abranches Ferrão n.º 10, 3º G 1600-001

Leia mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Relatório de Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos

Leia mais

WORKFLOW. Mapeamento de Processos de Negócio 26/11/2009. Tadeu Cruz, Prof. M.Sc. TODOS OS DIREITOS RESERVADOS

WORKFLOW. Mapeamento de Processos de Negócio 26/11/2009. Tadeu Cruz, Prof. M.Sc. TODOS OS DIREITOS RESERVADOS WORKFLOW Mapeamento de Processos de Negócio Tadeu Cruz, Prof. M.Sc. TODOS OS DIREITOS RESERVADOS É proibido a reprodução total ou parcial de qualquer forma ou por qualquer meio sem a expressa autorização

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

GS1 EPCglobal: O que necessita saber...

GS1 EPCglobal: O que necessita saber... GS1 EPCglobal: O que necessita saber... GS1 EPCglobal Em 1999, um grupo de produtores e distribuidores identificou o potencial da RFID - Radio Frequency IDentification (Identificação por Rádio Frequência)

Leia mais

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc. Implementar servidores de Web/FTP e DFS Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Conteúdo programático Introdução ao protocolo HTTP Serviço web

Leia mais

Inteligência de Gestão de Redes e Serviços (2011/12)

Inteligência de Gestão de Redes e Serviços (2011/12) Departamento de Ciências e Tecnologias da Informação Inteligência de Gestão de Redes e Serviços (2011/12) Laboratório 1 (versão 3.0): Criação de serviços usando Parlay/OSA Notas prévias à realização do

Leia mais

O Sistema GS1 Normas para os T&L

O Sistema GS1 Normas para os T&L O Sistema GS1 Normas para os T&L MARCA Optimize as suas Operações Workshop Movimente Normas GS1 Eficiência nos T&L 29 Novembro, Hotel Villa Rica - Lisboa O QUE É A GS1? Sem Fins Lucrativos Neutra em relação

Leia mais

APLICATIVOS CORPORATIVOS

APLICATIVOS CORPORATIVOS Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 3 APLICATIVOS CORPORATIVOS PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos de Sistemas

Leia mais

Secção I. ƒ Sistemas empresariais cruzados

Secção I. ƒ Sistemas empresariais cruzados 1 Secção I ƒ Sistemas empresariais cruzados Aplicações empresariais cruzadas 2 ƒ Combinações integradas de subsistemas de informação, que partilham recursos informativos e apoiam processos de negócio de

Leia mais

Oracle BPM 11g. Análise à Plataforma

Oracle BPM 11g. Análise à Plataforma Oracle BPM 11g Análise à Plataforma Maio de 2010 Tive o privilégio de ser convidado a participar no "EMEA BPM 11g beta bootcamp" em Abril de 2010, no qual tive contacto mais próximo com a última versão

Leia mais

Informática. Conceitos Básicos. Informação e Sistemas de Informação. Aula 3. Introdução aos Sistemas

Informática. Conceitos Básicos. Informação e Sistemas de Informação. Aula 3. Introdução aos Sistemas Informática Aula 3 Conceitos Básicos. Informação e Sistemas de Informação Comunicação Empresarial 2º Ano Ano lectivo 2003-2004 Introdução aos Sistemas A Teoria dos Sistemas proporciona um meio poderoso

Leia mais

An enterprise distributed system

An enterprise distributed system An enterprise distributed system 2º Trabalho Prático Tecnologias de Distribuição e Integração 4º Ano do Mestrado Integrado em Engenharia Informática e Computação João Carlos Figueiredo Rodrigues Prudêncio

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

Conceito. As empresas como ecossistemas de relações dinâmicas

Conceito. As empresas como ecossistemas de relações dinâmicas Conceito As empresas como ecossistemas de relações dinâmicas PÁG 02 Actualmente, face à crescente necessidade de integração dos processos de negócio, as empresas enfrentam o desafio de inovar e expandir

Leia mais

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Web Services Ricardo Mendão Silva Universidade Autónoma de Lisboa r.m.silva@ieee.org November 29, 2014 Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November

Leia mais

Dynamic Data Center. A infra-estrutura de suporte às SOA. Francisco Miller Guerra Senior Product Manager Fujitsu Siemens Computers

Dynamic Data Center. A infra-estrutura de suporte às SOA. Francisco Miller Guerra Senior Product Manager Fujitsu Siemens Computers Dynamic Data Center A infra-estrutura de suporte às SOA Francisco Miller Guerra Senior Product Manager Fujitsu Siemens Computers As necessidades do negócio pressionam continuamente as infra-estruturas

Leia mais

Thalita Moraes PPGI Novembro 2007

Thalita Moraes PPGI Novembro 2007 Thalita Moraes PPGI Novembro 2007 A capacidade dos portais corporativos em capturar, organizar e compartilhar informação e conhecimento explícito é interessante especialmente para empresas intensivas

Leia mais

Extracto on Line Aplicação Local Guia do Utilizador

Extracto on Line Aplicação Local Guia do Utilizador Extracto on Line Aplicação Local Guia do Utilizador Índice 1. Sobre o Guia... 4 1.1 Objectivo... 4 1.2 Utilização do Guia... 4 1.3 Acrónimos e Abreviações... 4 2. Introdução ao Extracto on Line Aplicação

Leia mais

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Luís Filipe Borges Pinto Resumo: Este projecto consiste na implementação de uma aplicação WEB para monitorização

Leia mais

Áreas de utilização do GED e o que levar em consideração no Projeto de Implantação de GED em uma empresa Simone de Abreu

Áreas de utilização do GED e o que levar em consideração no Projeto de Implantação de GED em uma empresa Simone de Abreu Áreas de utilização do GED e o que levar em consideração no Projeto de Implantação de GED em uma empresa Simone de Abreu Cerca de dois milhões de pessoas estão trabalhando em aproximadamente 300 mil projetos

Leia mais

Apresentação do Portfólio da ITWV Soluções Inteligentes em Tecnologia

Apresentação do Portfólio da ITWV Soluções Inteligentes em Tecnologia P ORTFÓ FÓLIO Apresentação do Portfólio da ITWV Soluções Inteligentes em Tecnologia versão 1.1 ÍNDICE 1. A EMPRESA... 3 2. BI (BUSINESS INTELLIGENCE)... 5 3. DESENVOLVIMENTO DE SISTEMAS... 6 3.1. PRODUTOS

Leia mais

Business Intelligence Framework

Business Intelligence Framework Business Intelligence Framework José Peixoto and Júlio Lopes Departamento de Informática Universidade do Minho Abstract. Este artigo apresenta os elementos que constituem a Framework desenvolvida, bem

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE Kellen Kristine Perazzoli, Manassés Ribeiro RESUMO O grande avanço tecnológico vivenciado nos últimos anos, os web services vem sendo utilizados trazendo

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

Informática. Aula 9. A Internet e seu Uso nas Organizações

Informática. Aula 9. A Internet e seu Uso nas Organizações Informática Aula 9 A Internet e seu Uso nas Organizações Curso de Comunicação Empresarial 2º Ano O Que é a Internet? A Internet permite a comunicação entre milhões de computadores ligados através do mundo

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

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Outubro de 2003 ISBN: 972-8426-76-3 Depósito legal: 202574/03

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Outubro de 2003 ISBN: 972-8426-76-3 Depósito legal: 202574/03 FICHEIROS COM EXEMPLOS Envie um e-mail* para software@centroatlantico.pt para conhecer os endereços de Internet de onde poderá fazer o download dos ficheiros com os exemplos deste livro. * O leitor consente,

Leia mais

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

Com esta tecnologia Microsoft, a PHC desenvolveu toda a parte de regras de negócio, acesso a dados e manutenção do sistema.

Com esta tecnologia Microsoft, a PHC desenvolveu toda a parte de regras de negócio, acesso a dados e manutenção do sistema. Caso de Sucesso Microsoft Canal de Compras Online da PHC sustenta Aumento de 40% de Utilizadores Registados na Área de Retalho Sumário País: Portugal Industria: Software Perfil do Cliente A PHC Software

Leia mais

GIBDQA: GESTÃO INTEGRADA DE BASES DE DADOS DA QUALIDADE DA ÁGUA

GIBDQA: GESTÃO INTEGRADA DE BASES DE DADOS DA QUALIDADE DA ÁGUA GIBDQA: GESTÃO INTEGRADA DE BASES DE DADOS DA QUALIDADE DA ÁGUA Sandra CARVALHO 1, Pedro GALVÃO 2, Cátia ALVES 3, Luís ALMEIDA 4 e Adélio SILVA 5 RESUMO As empresas de abastecimento de água gerem diariamente

Leia mais

Arquitecturas de Serviços Internet Service Bus

Arquitecturas de Serviços Internet Service Bus Arquitecturas de Serviços Internet Service Bus João Pedro Martins jota@create.pt http://blogit.create.pt/blogs/joaomartins http://www.arquitecturadesoftware.org/blogs/joaomartins Agenda S de Serviço Serviços,

Leia mais

Centro e-learning da TecMinho

Centro e-learning da TecMinho Centro e-learning da TecMinho Dias A 1, Fernandes D 1 1 TecMinho/Gabinete de Formação Continua da Universidade do Minho, Guimarães, Portugal Resumo. A TecMinho/Gabinete de Formação Contínua da Universidade

Leia mais

PHC TeamControl CS. A gestão de equipas e de departamentos

PHC TeamControl CS. A gestão de equipas e de departamentos PHC TeamControl CS A gestão de equipas e de departamentos A solução que permite concretizar projectos no tempo previsto e nos valores orçamentados contemplando: planeamento; gestão; coordenação; colaboração

Leia mais

Open Operational Platform

Open Operational Platform Open Operational Platform Visão Tecnológica 20.01.2009 Agenda Enquadramento Arquitectura Características Diferenciadoras Case Study 2 Enquadramento 3 Mobilidade Optimização Processos Tecnologia Operações

Leia mais

MÓDULO II UTILIZAÇÃO DE SISTEMAS DE GESTÃO DA FORMAÇÃO ONLINE

MÓDULO II UTILIZAÇÃO DE SISTEMAS DE GESTÃO DA FORMAÇÃO ONLINE MÓDULO II UTILIZAÇÃO DE SISTEMAS DE GESTÃO DA FORMAÇÃO ONLINE Objectivos gerais do módulo No final do módulo, deverá estar apto a: Identificar um Sistema de Gestão da Formação Online; Analisar as diversas

Leia mais

PALAVRAS CHAVE RESUMO

PALAVRAS CHAVE RESUMO ESIG2001 SPATIAL INTELLIGENCE INFORMAÇÃO GEOGRÁFICA COMO MEIO DE SUPORTE À DECISÃO João Machado Costa, Rui Marques Ferreira Novabase www.novabase.pt joao.machado@novabase.pt PALAVRAS CHAVE Spatial Information

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

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,

Leia mais

Sistemas Operativos I

Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sistema Operativo Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsável

Leia mais

Gestão Documental com Alfresco

Gestão Documental com Alfresco Gestão Documental com Alfresco Gestão Documental com Alfresco Setembro 2011 1 Situação actual Principais fontes de informação nas Organizações: Estruturadas: Bases de dados Não estruturadas: Arquivos de

Leia mais

Sistemas de Informação no sector da Construção. João Poças Martins, FEUP/GEQUALTEC, 2011 1

Sistemas de Informação no sector da Construção. João Poças Martins, FEUP/GEQUALTEC, 2011 1 Sistemas de Informação no sector da Construção João Poças Martins, FEUP/GEQUALTEC, 2011 1 Sistemas de Informação no sector da Construção 1. SI na Construção. Introdução 2. ERP 3. BIM 4. Outras aplicações

Leia mais

Qpoint Rumo à Excelência Empresarial

Qpoint Rumo à Excelência Empresarial 2 PRIMAVERA BSS Qpoint Rumo à Excelência Empresarial Numa era em que a competitividade entre as organizações é decisiva para o sucesso empresarial, a aposta na qualidade e na melhoria contínua da performance

Leia mais

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1 LEIA ISTO PRIMEIRO IBM Tivoli, Versão 4.2.1 O IBM Tivoli, Versão 4.2.1, é uma solução para controlar a distribuição de software e o inventário de gerenciamento de recursos em um ambiente multiplataformas.

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

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

A Importância de gerir ficheiros nas Organizações

A Importância de gerir ficheiros nas Organizações A Importância de gerir ficheiros nas Organizações Transferência de Ficheiros: Porquê? É um suporte acessível para transferência de informação entre aplicações e entre sistemas heterogéneos Possibilita

Leia mais

GS1 Contributo para uma Classificação Global

GS1 Contributo para uma Classificação Global GS1 Contributo para uma Classificação Global GS1 Portugal e o Sistema GS1 1ª Reunião da Rede Portuguesa sobre Composição dos Alimentos Projecto PortFIR 16 Dezembro 2008 Agenda Quem somos Sistema GS1 Quem

Leia mais