Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Treinamento no GRADEp Serviço Collector CollectorDemo e.

Slides:



Advertisements
Apresentações semelhantes
Projeto de Sistemas de Software Luana Lachtermacher
Advertisements

1 Java: Tratamento de Exceções Alcides Calsavara.
1 Estruturas de Controle Márcia J. N. Rodrigues Lucena Especialização em Técnicas e Ferramentas de Apoio à Decisão Departamento.
Ronaldo Celso Messias Correia
Técnicas e Projeto de Sistemas André Mesquita Rincon Processo de Software Técnico Subsequente – Módulo III.
Banco de Dados Aula 01: Conceitos Básicos
Requisito de uma aplicação expressa por um conjunto de parâmetros que devem ser providos pela rede sobre o fundamento fim- a-fim para preservar o.
Técnicas e Projeto de Sistemas
Grupo Paralelismo – Unesp RC
Trac é uma ferramenta open source e de interface web para controle de projetos de desenvolvimento de software. O objetivo do software é ajudar o desenvolvedor.
Container Managed Persistent Bean Kellyton Brito Projeto Compose
Sistemas Operacionais
Prof. Dr. Helder Anibal Hermini
(Como implementar multiplicação e divisão uma vez só :-)
Gustavo Vieira Pereira
Curso Grid Globus Monitoring and Discovery Service (MDS)
Treinamento no GRADEp Serviço Executor ExecutorDemo.
Slide 1 Rede Nacional de Ensino e Pesquisa Serviços do Middleware Treinamento em GRADEp – junho de 2005 GT GRADEp Middleware GRADEp Serviços.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Aplicação GeneAl Treinamento no GRADEp Aplicação GeneAl.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço OXManager Treinamento no GRADEp Serviço OXManager OXManagerDemo.
Treinamento no GRADEp HelloWorld Args. Slide 2 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 HelloWorld e Args Autoria Autora.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço ContextManager Treinamento no GRADEp Framework Master-Worker.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço ContextManager Treinamento no GRADEp Serviço ContextManager CtxManagerDemo.
Treinamento no GRADEp GRADEp Desktop DesktopSwing.
I Seminário Educação e Tecnologia A Informática e a Educação Escolar A GESTÃO DE LABORATÓRIOS PÚBLICOS DE INFORMÁTICA FÁBIO FERRENTINI SAMPAIO NÚCLEO DE.
DÚVIDAS FREQUENTES SOBRE A PROMOÇÃO DE GRAU 1. Como é feita a indicação para promoção de grau? a) O Presidente da Assoc. dos Preletores escolhe os preletores.
Servidores e Programação Web Redes de Computadores.
Introdução A fim de preparar a geração de código, deve-se relacionar o fonte estático do programa às ações em tempo de execução. Durante a execução, o.
Geração de Código Otimizações independentes de máquina.
O Fluxo de Testes © Alexandre Vasconcelos
Serviços Integrados na Arquitetura da Internet Apresentação: Fernando Nadal.
Introdução Software para Laboratórios de Análises Clínicas
Templates e Questões de Design Programas são geralmente construídos segundo um design que é relativamente bem mapeado nos mecanismos oferecidos pela linguagem.
UD de Sorocaba/ Iperó UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
Campus de Sorocaba UNIVERSIDADE ESTADUAL PAULISTA Recursos Computacionais Antonio Martins.
"Tudo o que acontece, acontece em algum lugar." Gilberto Câmara - INPE Gilberto Câmara - INPE.
"Tudo o que acontece, acontece em algum lugar."
Sensor Magnético de Efeito HALL
Sistemas de Tutoria Inteligente (STI) Visam proporcionar instrução de forma adaptada a cada aprendiz. STIs adaptam o processo de instrução a determinadas.
CT-300 – Seminário de Tese 1/25 Um Framework Padrão para Simulação de Modelos de Robôs Móveis de Robôs Móveis Juliano A. Pereira Prof. Carlos H. C. Ribeiro.
01/08/20061 CT-282 Tutores Inteligentes ITA - INSTITUTO TECNOLÓGICO DE AERONÁUTICA.
Segurança1 Política de Segurança Uma política de segurança é um conjunto de regras e práticas que regulam como uma organização gerencia, protege e distribui.
Capítulo VII – Tipos Enumerativos e Estruturas 7.1 – Tipos enumerativos 7.2 – A necessidade de estruturas 7.3 – Manipulação dos campos de uma estrutura.
Capítulo IX – Ponteiros 9.1 – Introdução 9.2 – Relação entre ponteiros e variáveis indexadas 9.3 – Alocação dinâmica de memória 9.4 – Variáveis indexadas,
O TÍTULO DO TRABALHO DEVE SER EM FONTE VERDANA, TAMANHO 66, LETRAS MAIÚSCULAS, EM NEGRITO SOBRENOME, Autor 1., SOBRENOME, Autor 2…., Verdana, 32, negrito,
Tema I TEMA DE DISCUSSÃO I Prof. Dr. Marcio Lobo Netto 1 o. Período / 2004 Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018.
I – Descrição da Infraestrutura Tecnológica Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018 O Produto Internet e suas Aplicações.
CONCLUSÕES A apresentação deste poster ocorrerá na I Jornada da ABEAD na Paraíba que acontecerá do dia 03 à 05 de novembro de 2010 no Hotel Caiçara em.
Implementação Do JXTA Como Protocolo De Transporte Do JacORB
Business Process Management e Workflow - jBPM Aluno: Filipe Ferraz Salgado Orientador: Francisco Reverbel Novembro 2006.
Organização de Sistemas de Computadores
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
Linguagens Formais e Tradutores Linguagens Regulares (Revisão)
Marco Antonio Montebello Júnior
Entendendo as definições de classe
The Data Warehouse Toolkit
Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:
Internet Aula 03. Histórico Durante a guerra fria, os EUA tiveram a necessidade de interligar laboratórios que trabalhavam para os militares; Essa interligação.
Conceitos Básicos de Redes de Computadores e acesso a Internet
Sistemas Operacionais e Windows XP Aula 04 – DCA0302.
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes.
Programação Concorrente com Thread Java
Anália Lima (alc5) Bruno Gentilini (bgda) Eduardo Souza (efs) Ivan França (ilfn) Infra-Estrutura de comunicação Aula Prática Programação de Sockets TCP.
Java em Redes de Computadores
Mapeamento de CSP para JCSP Patrícia Muniz (pmf) Rafael Duarte (rmd)
ArrayList e Genéricos Profs. PROG2 - UNISINOS.
Classes Objetos Atributos Métodos Coletor de Lixo (Garbage Collector ) Confraria do Java Nivelamento. Caroline, Marcelo e Luiz 12/05/2007.
Java: Interfaces Alcides Calsavara.
Transcrição da apresentação:

Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Treinamento no GRADEp Serviço Collector CollectorDemo e CollectorDemo2

Slide 2 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Autoria Autor Fábio Reis Cecin Versão v1, junho de 2005 v2, setembro de 2005, Geyer

Slide 3 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Sumário da apresentação 1 Visão geral – serviço Collector 2 Exemplo 1: CollectorDemo 3 Exemplo 2: CollectorDemo2 4 Collector: outras APIs

Slide 4 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Visão geral Monitoração e sensores As aplicações suportadas pelo middleware GRADEp podem executar com comportamentos diferentes de acordo com o ambiente em que estão inseridas, visando adaptação. As aplicações conscientes de contexto suportadas pelo middleware dependem, direta ou indiretamente, da informação extraída por sensores para perceberem o ambiente e tomarem decisões Exemplos de sensores: Ocupação atual da CPU (%) Memória livre (bytes)... Os sensores disponibilizados pelo serviço Collector são utilizados para alimentar o serviço ContextManager

Slide 5 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector

Slide 6 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Visão geral Coleta de dados de sensores: visão da aplicação A coleta de informações de sensores é feita pelo serviço Coletor (Collector) local de um nodo. Obtendo uma referência para o Coletor: Collector collector = (Collector) Exehda.getService(Collector.SERVICE_NAME); A partir do Coletor, a aplicação pode consultar sensores de duas formas: Consulta eventual ( polling): através do Coletor, realiza uma consulta direta a um sensor específico; Assinatura (modelo publicador-assinante): um objeto consumidor (da aplicação) registra, junto ao Coletor, interesse em determinados sensores e recebe uma chamada quando o Coletor detecta uma mudança de valores.

Slide 7 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Visão geral Coletor gerencia 0 ou mais monitores Cada monitor exporta N sensores para o coletor Monitor nativo (Solaris, Linux) Monitor da aplicação Monitor do runtime Java Para expandir o serviço Coletor, o desenvolvedor deve implementar a interface Monitor e registrar o seu serviço monitor junto ao Collector As aplicações devem utilizar a classe AppMonitor ao invés de implementar a interface Monitor devido a aspectos de segurança Coletor e consumidores: Um coletor possui um conjunto de consumidores que estão interessados no estado dos sensores

Slide 8 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Sumário da apresentação 1 Visão geral – serviço Collector 2 Exemplo 1: CollectorDemo 3 Exemplo 2: CollectorDemo2 4 Collector: outras APIs

Slide 9 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo Exemplo 1: Aplicação CollectorDemo Utiliza polling (consulta periódica) para obter o valor de sensores (indicados por nome) Local: /isam/isam-apps/collectordemo/ Arquivos: CollectorDemo.java Fonte da aplicação. collectordemo.isam Descritor de disparo da aplicação em formato XML do ISAM.

Slide 10 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo – imports CollectorDemo.java: (trechos selecionados) // Importa Coletor, Sensor, MonitoringData (valor de retorno // que contém dados monitorados) e ConsumerId // (identificador de consumidor registrado) import org.isam.exehda.Exehda; import org.isam.exehda.services.Collector; import org.isam.exehda.services.Collector.Sensor; import org.isam.exehda.services.Collector.MonitoringData; import org.isam.exehda.services.Collector.ConsumerId;

Slide 11 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo – variáveis public class CollectorDemo /*... */ { // o serviço Coletor local private Collector collector; // lista de sensores conhecidos pela aplicação (retornada pelo coletor) private Sensor[ ] sensors; // identificador de consumidor desta aplicação private ConsumerId id; // painel (interface gráfica) que exibe o valor dos sensores private Panel sensorsPane; // mapeia um nome de sensor para o componente de interface gráfica // (etiqueta de texto - label) responsável pela sua exibição private Hashtable labelsBySensorName;

Slide 12 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo – main() // ponto de entrada da aplicação public static void main( String[] args ) throws Exception { // 1. inicialização CollectorDemo frame = new CollectorDemo(); /*... aqui mais inicialização da interface... */ // 2. Consulta periódica a sensores (uma vez por segundo) for ( int i=0; i<100; i++) { Thread.currentThread().sleep(1000); frame.updateSensors(); } Próximo slide...

Slide 13 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo – Construtor public CollectorDemo() // construtor { //... aqui inicializa interface gráfica... // Obtém referência para o coletor local collector = (Collector) Exehda.getService(Collector.SERVICE_NAME); // Registra aplicação como consumidora e obtém ConsumerId // (fornece null como referência de interface de callback e, portanto, // a aplicação não será chamada pelo Collector) id = collector.addConsumer( null ); Próximo slide...

Slide 14 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Collector.addConsumer() O método addConsumer() da interface Collector registra um novo consumidor para o coletor do nodo: Retorna um objeto ConsumerId (identificador do consumidor); ConsumerId é usado depois para escolher os sensores de interesse do consumidor Recebe como argumento um objeto que implementa a interface MonitoringConsumer O MonitoringConsumer é chamado depois, quando um sensor de interesse do consumidor fornecer dados de interesse do consumidor Se for passado null neste parâmetro, o consumidor deverá fazer consulta periódica aos sensores pois não receberá callbacks public interface Collector { public ConsumerId addConsumer(MonitoringConsumer c); API

Slide 15 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo – Construtor (cont.) // obtém referência para a lista de sensores disponíveis no coletor sensors = collector.getSensors(); // retorna array: Sensor [ ] // Este consumidor (this.id) habilita todos os sensores disponíveis. // Necessário para que este consumidor possa depois consultar // qualquer um dos sensores. for ( int i=0; i< sensors.length; i++ ) { collector.setSensorEnabled( this.id, sensors[i], true ); } } // fim construtor Próximo slide

Slide 16 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Collector.setSensorEnabled() O método setSensorEnabled() da interface Collector controla a disponibilidade de um sensor para um consumidor específico: Argumentos: ConsumerId: ID do consumidor; Sensor: referência ao sensor a ser habilitado ou desabilitado junto ao consumidor especificado; boolean: true para habilitar o sensor, false para desabilitar. API public interface Collector { public void setSensorEnabled(ConsumerId c, Sensor s, boolean e);

Slide 17 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo – de volta ao main()... //.... voltando ao main(), após examinar o construtor... public static void main( String[ ] args ) throws Exception { // 1. inicialização CollectorDemo frame = new CollectorDemo(); /*... Inicialização da interface... */ // 2. Consulta periódica a sensores (uma vez por segundo) for ( int i=0; i<100; i++) { Thread.currentThread().sleep(1000); // aguarda 1 segundo frame.updateSensors(); } Próximo slide

Slide 18 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo – updateSensors() // realiza uma consulta a todos os sensores, exibindo na interface // o valor mais atualizado de cada sensor public void updateSensors() { // para cada sensor i... for ( int i=0; i< sensors.length; i++) { // consumidor id coleta diretamente dados do sensor i // (null: objeto MonitoringData pré-alocado - opcional) MonitoringData data = collector.probeSensor( id, sensors[i], null ); // atualiza interface: (nome do sensor, dados atuais do sensor) // obs.: cria label para cada nome de sensor sob demanda addSensor( sensors[i].getName().getSimpleName(), data.getString() ); } } Próximos 2 slides Nome do sensorValor sensorado

Slide 19 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Collector.probeSensor() O método probeSensor() da interface Collector realiza uma medição pontual de um dado sensor: Argumentos: ConsumerId: consumidor que está fazendo a medição; Sensor: sensor desejado; MonitoringData: objeto (opcional) MonitoringData pré-alocado para o valor de retorno; Retorna um objeto MonitoringData que contém o valor (dado) sensorado; public interface Collector { public void probeSensor(ConsumerId c, Sensor s, MonitoringData d); API

Slide 20 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector MonitoringData Um objeto do tipo MonitoringData representa um dado de monitoração. Métodos de MonitoringData: getSensorName() retorna o ResourceName do sensor que gerou este dado de monitoração; Por sua vez, ResourceName.getSimpleName() retorna o nome simples do sensor (em formato String). getString(), getInt() e os outros métodos get fazem a conversão automática do tipo de dado sensorado para o tipo requisitado (String, Integer, etc). API

Slide 21 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Sumário da apresentação 1 Visão geral – serviço Collector 2 Exemplo 1: CollectorDemo 3 Exemplo 2: CollectorDemo2 4 Collector: outras APIs

Slide 22 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo2 Exemplo 2: Aplicação CollectorDemo2 Utiliza estratégia publicador-assinante para obter o valor de sensores Local: /isam/isam-apps/collectordemo2/ Arquivos: CollectorDemo2.java Fonte da aplicação. collectordemo2.isam Descritor de disparo da aplicação em formato XML do ISAM.

Slide 23 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo2 – imports CollectorDemo2.java: (trechos selecionados) import org.isam.exehda.Exehda; import org.isam.exehda.services.Collector; import org.isam.exehda.services.Collector.Sensor; import org.isam.exehda.services.Collector.MonitoringData; import org.isam.exehda.services.Collector.ConsumerId; // interface de callback – para que a aplicação possar ser // chamada pelo Collector: Import org.isam.exehda.services.Collector.MonitoringConsumer;

Slide 24 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo2 -- membros public class CollectorDemo2 /*... */ implements ItemListener, MonitoringConsumer /*... */ { private Collector collector; // coletor private Sensor[ ] sensors; // sensores private ConsumerId id; // identificador deste consumer // painel que contém um checkbox para cada sensor private Panel sensorsPane; // associa um componente de interface checkbox a um // sensor (checkbox habilitado significa interesse no sensor) private Hashtable sensorsByBox; Próximo slide...

Slide 25 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector MonitoringConsumer Interface MonitoringConsumer é implementada por um objeto que recebe mensagens de atualização de sensores através do método update: public interface MonitoringConsumer { public void update(long timestamp, MonitoringData[] data); } timestamp: Tempo em que ocorreu a medição; data: Dados de medição de um ou mais sensores. Além dos dados, também contém uma referência para o(s) sensor(es). API

Slide 26 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo2 – main() // ponto de entrada da aplicação public static void main( String[ ] args ) throws Exception { // esta demo é mais orientada a eventos: // 1. construtor inicializa a aplicação; // 2. usuário habilita e desabilita sensores (checkboxes); // 3. o callback update() é invocado pelo serviço Collector para // atualizar os sensores que estão atualmente selecionados. CollectorDemo2 frame = new CollectorDemo2(); frame.pack(); frame.setVisible(true); } Construtor – próximo slide

Slide 27 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo2 -- Construtor public CollectorDemo2() { /*... inicializa interface... */ collector = (Collector) Exehda.getService(Collector.SERVICE_NAME); // registra um novo consumidor e especifica esta instância de // CollectorDemo2 como objeto de callback do consumidor // ( o objeto de callback implementa o método update() da // interface MonitoringConsumer ) this.id = collector.addConsumer( this ); // este método cria, associa e exibe um checkbox para cada sensor initSensors(); }

Slide 28 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo2 – itemStateChanged() // método especificado pela interface ItemListener, invocado // quando a checkbox associada a um sensor é ativada ou // desativada pelo usuário public void itemStateChanged(ItemEvent ev) { // obtém Sensor associado à checkbox que foi clicada Checkbox cb = (Checkbox) ev.getSource(); Sensor s = (Sensor) sensorsByBox.get(cb); // habilita ou desabilita o sensor junto a este consumidor (id) // (se a checkbox foi habilitada, habilita o sensor, senão desabilita) collector.setSensorEnabled( id, s, (ItemEvent.SELECTED == ev.getStateChange()) ); }

Slide 29 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector CollectorDemo2 – update() // update() : para implementar a interface MonitoringConsumer // informa o consumidor (assinante) sobre novos valores sensorados public void update( long timeStamp, MonitoringData[ ] data ) { System.out.println("\nTime stamp: "+timeStamp); for (int i=0; i<data.length; i++) { // para cada entrada reportada... if ( data[i] != null ) { // imprime o nome do sensor desta entrada do relatório... System.out.print( data[i].getSensorName().getSimpleName() ); System.out.print(" \t= "); //... e imprime o valor (sensored value) fornecido por este sensor System.out.println( data[i].getString() ); }

Slide 30 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Sumário da apresentação 1 Visão geral – serviço Collector 2 Exemplo 1: CollectorDemo 3 Exemplo 2: CollectorDemo2 4 Collector: outras APIs

Slide 31 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Collector.getSensor() O método getSensor() da interface Collector é utilizado para buscar um sensor pelo seu nome. Parâmetros: String: nome do sensor Retorna uma referência ao Sensor desejado public interface Collector { public Sensor getSensor(String nome); API

Slide 32 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Collector.removeConsumer() O método removeConsumer() da interface Collector remove (exclui do registro) um consumidor junto ao serviço coletor. Parâmetros: ConsumerId: ID do consumidor public interface Collector { public void removeConsumer(ConsumerId c); API

Slide 33 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Collector.addMonitor() O método addMonitor() da interface Collector registra um novo monitor. Parâmetros: Monitor: novo monitor a ser registrado no serviço coletor public interface Collector { public void addMonitor(Monitor m); Interface Monitor Reservada para sensores de sistema Interface AppMonitor estende a interface Monitor Para monitoração no nível da aplicação (sensores da aplicação) API

Slide 34 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Treinamento no GRADEp Serviço Collector CollectorDemo e CollectorDemo2