Plataforma para Agentes

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

Download "Plataforma para Agentes"

Transcrição

1 Plataforma para Agentes JATLite - Java Agent Template, Lite O que é o JATLite? Pacote de programas em Java permitindo: rápida criação de Agentes de Software e sistemas que comunicam, usando a Internet, de forma robusta. Capacidades específicas de comunicação De uso geral. A arquitectura dos Agentes é deixada ao projectista

2 JATLite: Infraestrutura Agent Message Router (AMR) Encaminhador de Mensagens Agentes JATLite aceita alteração dinâmica dos endereços Registo de nome e password, conecta/desconecta da Internet, envia e recebe Uso de TCP/IP standard e sockets para a comunicação Message Router programa em Java stand-alone correndo no host ligado à Internet Encaminha as mensagens entre agentes. Facilita informação sobre endereços IP Agentes applets usam o Router correndo na máquina do servidor HTTP como proxy para comunicar com outros Agentes

3 JATLite: Arquitectura Arquitectura do JATLite como uma hierarquia de camadas Templates (moldes) para a construção de Agentes Classes Java pré-definidas em diversas camadas facilitando a construção dos Agentes Protocol Layer Router Layer KQML Layer Pacotes Base Layer Abstract Layer Camadas JATLite

4 JATLite: Arquitectura Camadas JATLite Abstract Layer classes abstractas necessárias à implementação JATLite Base Layer communicação TCP/IP básica sem restrições na linguagem e protocolo de comunicação KQML Layer restrição da linguagem: memorização e análise ( parsing ) de Mensagens em KQML Router Layer routing (encaminhamento) das mensagens em vez de polling(directo): todos os agentes enviam/recebem mensagens via router ultrapassa restrições de segurança dos applets podendo comunicar com agentes em outras máquinas 2 pacotes importantes: RouterLayer.AgentClient: package para os agentes clientes RouterLayer.Router: package do router

5 JATLite: Arquitectura Camadas (Layers) do JATLite Protocol Layer suporta os serviços standard da internet: SMTP (simple mail), FTP agentes stand-alone podem usar os serviços existentes SMTP e FTP sem os serviços proxy do Router agentes applet tem de usar o Router como proxy para ligar aos servidores SMTP ou FTP em outras máquinas diferentes KQML message Router (FTP Proxy) KQML message Applet Agent Data FTP FTP Server FTP Stand-alone Agent

6 JATLite:Router Router Polling (directo) vs. Queuing (indirecto) Queuing Agente emissor Polling Ligação crítica Agente receptor - problemas quando a ligação não pode ser establecida (N receptores) Agente Ligação crítica Router Ligação do lado do receptor Agente emissor receptor - memorização de mensagens (queuing): guarda mensagem - mecanismo de routing : envia mensagem quando ligação do lado do receptor está establecida (Receptor ligou ao Router) Agent Name Service (ANS) Router é um ANServer mantendo os endereços dos Agentes, que podem alterar-se dinamicamente não é necessário para a passagem de mensagens mas um agente pode perguntar ao Router o endereço de outro Agente

7 JATLite:Router Router Comunicação dos Agentes Applets Browser Applet Agent HTTP Server Máquina Router Stand-alone Agent Applet Agent

8 Características do Router Message queuing As mensagens são memorizadas em ficheiros e recuperadas ou apagadas de acordo com o pedido do agente Message routing As mensagens serão dirigidas para os receptores apropriados quando possível Agent Name Service Registo só agentes que se registaram podem usar o Router Segurança teste de segurança usando a password do agente com um dado nome Lista de Agentes JATLite:Router mensagem para conhecer todos agentes registados e seus estados de ligaçã

9 JATLite:Router Características do Router Desligar mensagem de desligar interrupção acidental (sem mensagem) agentes stand-alone : Reserva de Mensagem» Router testa ligação ao agente em períodos temporais» falhando essas tentativas várias vezes, o agente é apagado do registo» Período de tempo e número de vezes de teste são parâmetros dados podem reservar-se mensagens para serem enviadas num tempo e endereço específicos

10 Exemplo - Router Layer JATLite:Exemplo import java.io.*; import Abstract.*; import KQMLLayer.*; import RouterLayer.AgentClient.*; public class PingPong extends RouterClientAction { public static String localhost = brooks.fe.up.pt ; Router Layer criação de de Agente public PingPong(String id, String pw, String host, int port) throws Exception { super(); //RouterClientAction constructor //id,host,port,type,description String s = id+, +host+, +port+,messagerouter,(agent-info :password +pw+ ) ; Address myaddress = new Address(s); s = Router,alf.fe.up.pt,1234,MessageRouter,(MessageRouter) ; Address routeraddress = new Address(s); s = RouterRegistrar,alf.fe.up.pt,1235,MessageRouter,(MessageRouterRegistrar) ; Address registraraddress = new Address(s); setmyaddress(myaddress); //agent address setrouteraddress(routeraddress); //Router address setregistraraddress(registraraddress); //registrar address try { createserverthread(myaddress.getid getid(), Thread.NORM_PRIORITY); register(); //register to Router connect(); //connect to Router } catch(connectionexception e) { throw new Exception(e.toString()); } //server listener

11 JATLite:Exemplo public boolean Act(Object o) { String message = (String) o; //invoked automatically when a message is received try { KQMLmail mail = new KQMLmail(message, 0); //KQMLmail wrap the KQMLmessage _mailqueue.addelement(mail); //message repository (to delete message after) KQMLmessage kqml = mail.getkqmlmessage(); //get KQMLmessage object String perf = kqml.getvalue( performative ); String content = kqml.getvalue( content ); } if(perf.equals( tell ) && content!= null) { System.out.println(content); acknowledge(kqml.getvalue( sender ), content); addtodeletebuffer(0); } else { senderrormessage(kqml); return false; } } catch (Exception e) { return false; } return true; //send delete message to Router Exemplo-Router Layer Exemplo public void processmessage(string command, Object obj) {} //not implemented

12 JATLite:Exemplo Exemplo - Router Layer protected void acknowledge(string receiver, String tocontent) throws Exception { KQMLmessage sendkqml = new KQMLmessage(); sendkqml.addfieldvaluepair( performative, tell ); sendkqml.addfieldvaluepair( sender, this.getname()); sendkqml.addfieldvaluepair( receiver, receiver); //... if(tocontent.equals( (ping) )) sendkqml.addfieldvaluepair( content, (pong) ); else sendkqml.addfieldvaluepair( content, (ping) ); } sendmessage(sendkqml); //send message to Router: throws ConnectionException protected void senderrormessage(kqmlmessage kqml) throws Exception { String msg = (error :sender + this.getname() + :receiver + kqml.getvalue( sender ) + :content ( + kqml.getsendstring() + )) ; sendmessage(msg); //send Router: throws ConnectionException and ParseException addtodeletebuffer(0); //send delete message to Router } public static void main(string argv[]) throws Exception { PingPong pinga = new PingPong( ping, xyz, localhost, 2222); //create pinga PingPong ponga = new PingPong( pong, hjk, localhost, 2223); //create ponga pinga.start(); ponga.start(); //start agent action pinga.sendkqmlmessage( (tell :sender + pinga.getname() + :receiver + ponga.getname() + :content (ping)) ); //or sendmessage sleep(60000); pinga.disconnect(); ponga.disconnect(); //disconnect from Router pinga.unregister(); ponga.unregister(); //unregister from Router pinga.endaction(); ponga.endaction(); //clean up and stop agent action System.exit(0); Setembro } 2003

13 Plataforma para Agentes: PVM PVM: Parallel Virtual Machine - Desenvolvida no início dos anos 90 tem dezenas de milhar de utilizadores - Considerada como um standard de facto para computação distribuída - Características: -Redes Heterogéneas (liga diferentes plataformas e linguagens) - Entrada/saída dinâmica de participantes - Tarefas podem aparecer/desaparecer dinamicamente - passagem de mensagens (envio e recepção de blocos, envio para grupos,...) - Grupos dinâmicos - Tolerância a falhas detectadas automaticamente - Ferramentas de debug próprias (XPVM) - Corre em Unix/Linux e Windows - Consome cerca de 5Mb na instalação - obtida em: htt://

14 Plataformas para Agentes Outras PLATAFORMAS para desenvolvimento e comunicação de Agentes: JINI da SUN microsystems; JAVA Spaces; Leasing JADE Java Agent Development Environment; de acordo com as normas da FIPA BEEGENT fornecido pela Toshiba; facilidades para desenvolver agentes BDI; KQML ZEUS fornecido pela BT; editor de ontologia simples; KQML AGLETS da IBM; Agentes móveis JATLiteBean: desenvolvimento do JATLite

Plataforma para Agentes

Plataforma para Agentes Plataforma para es JATLite - Java Template, Lite O que é o JATLite? http://java.stanford.edu/ http://www.fe.up.pt/~eol/aiad/jatlite/doc/index.html Pacote de programas em Java permitindo: rápida criação

Leia mais

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema

Leia mais

User Datagram Protocol

User Datagram Protocol User Datagram Protocol UDP: Protocolo utiliza para distinguir para qual usuário ou aplicativo deve ser encaminhado um datagrama destinado a uma máquina que esteja executando mais de um processo. Problemas:

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Camada de Aplicação. Redes Industriais Prof. Rone Ilídio

Camada de Aplicação. Redes Industriais Prof. Rone Ilídio Camada de Aplicação Redes Industriais Prof. Rone Ilídio Itens do Livro Redes de Computadores e a Internet, Kurose 5ª edição 2 Camada de Aplicação 2.1 Princípios de aplicações de rede 2.1.1 Arquiteturas

Leia mais

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Num sistema de objectos distribuídos, dois conceitos são fundamentais. Folha 9-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

Instituto Superior de Engenharia de Lisboa

Instituto Superior de Engenharia de Lisboa Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)

Leia mais

Programação Orientada por Objectos com Java. Ademar Aguiar. www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt. MRSC, Programação em Comunicações

Programação Orientada por Objectos com Java. Ademar Aguiar. www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt. MRSC, Programação em Comunicações Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Java Networking java.net.* 141 Package java.net Java dispõe de diversas classes para manipular e processar informação

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Aula 1 REST em Java JAX-RS (Jersey) Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 REST : REPRESENTATIONAL STATE TRANSFER Padrão arquitetural para

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa é transferido

Leia mais

1. Estude e implemente a classe Exemplo1 apresentada abaixo:

1. Estude e implemente a classe Exemplo1 apresentada abaixo: P. Fazendeiro & P. Prata POO FP09/1 Exceções Uma exceção (Exception) é um sinal gerado pela máquina virtual de Java em tempo de execução indicando uma situação de erro da qual é possível recuperar. O objectivo

Leia mais

JavaTM RMI - Remote Method Invocation

JavaTM RMI - Remote Method Invocation JavaTM RMI - Remote Method Invocation Java e Engenharia de Software Orientada a Objetos por Jorge H. C. Fernandes (jhcf@di.ufpe.br) CESAR-DI-UFPE Julho de 1999 Objetivos desta Aula Mostrar o modelo de

Leia mais

Data and Computer Network Endereçamento IP

Data and Computer Network Endereçamento IP Endereçamento IP P P P Prof. Doutor Félix Singo Camadas do TCP/IP Data and Computer Network Aplicação: Camada mais alta Protocolos de Aplicações clientes e servidores HTTP, FTP, SMTP, POP Transporte: Estabelece

Leia mais

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa

Leia mais

Programação com Sockets

Programação com Sockets Programação com LP4 Ciência da Computação 1 Comunicação entre processos Nível mais baixo É um tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java São estruturas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Chamada Remota de Procedimento março de 2019 RPC: motivação A B send (B, &pedido) receive (B, &resposta) como facilitar esse padrão tão comum? encapsulamento de detalhes de comunicação criação, envio e

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa

Leia mais

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD

Leia mais

Módulo 13. Socket. Programação Orientada a Objetos Java (Rone Ilídio)

Módulo 13. Socket. Programação Orientada a Objetos Java (Rone Ilídio) Módulo 13 Socket Programação Orientada a Objetos Java (Rone Ilídio) O que é socket? Definição: Interface da camada de transporte que permite comunicação entre dois processos que podem estar em computadores

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar - Aula 5 - PROGRAMAÇÃO DISTRIBUÍDA COM RMI 1 (Remote Method Invocation) 1. INTRODUÇÃO Sistemas distribuídos necessitam que aplicações, executando em vários espaços de endereçamento, normalmente em diferentes

Leia mais

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Middleware de Aplicações Paralelas/Distribuídas

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Middleware de Aplicações Paralelas/Distribuídas Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro

Leia mais

Sockets: Sumário. Resumo das Propriedades de UDP e de TCP

Sockets: Sumário. Resumo das Propriedades de UDP e de TCP Sockets: Sumário Sockets TCP Modêlo. API de Java. API da biblioteca C. Avaliação Crítica de Sockets. 1 Resumo das Propriedades de UDP e de TCP Propriedade UDP TCP Abstracção Mens. Stream Baseado em Conexão

Leia mais

4 Conceito de Herança

4 Conceito de Herança 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Camada de aplicação Um protocolo da camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes,

Leia mais

Sockets e Threads em Java

Sockets e Threads em Java Sockets e Threads em Java U N I V E R S I D A D E T E C N O L Ó G I C A F E D E R A L D O P A R A N Á D E P A R T A M E N T O A C A D Ê M I C O D E E L E T R Ô N I C A P R O F. V I T O R Y A N O Comunicação

Leia mais

Java TM Applets. Java Deployment Course: Aula 3. por Jorge H. C. Fernandes DI-UFPE 30 de Abril de 1999

Java TM Applets. Java Deployment Course: Aula 3. por Jorge H. C. Fernandes DI-UFPE 30 de Abril de 1999 Java TM Applets Java Deployment Course: Aula 3 por Jorge H. C. Fernandes (jhcf@di.ufpe.br) DI-UFPE 30 de Abril de 1999 Java Applets Copyright 1999, 1998, 1997 Jorge H. C. Fernandes (jhcf@di.ufpe.br) Todos

Leia mais

Funcionalidade e Protocolos da Camada de Aplicação

Funcionalidade e Protocolos da Camada de Aplicação Funcionalidade e Protocolos da Camada de Aplicação Network Fundamentals Capítulo 3 1 Aplicações A Interface entre usuário e Rede de Dados A Camada de aplicação provê recursos para enviar e receber dados

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos RPC Remote Procedure Call 1 Fonte: Alcides Calsavara e Thais V. Batista Chamada de Procedimentos Remotos (RPC) Motivação: comunicação baseada em operações de entrada/saída Ideal:

Leia mais

Camada de Aplicação da Arquitetura TCP/IP

Camada de Aplicação da Arquitetura TCP/IP Arquitetura de Redes de Computadores e Tecnologia de Implementação de Redes 2016.1 Camada de Aplicação da Arquitetura TCP/IP Curso Técnico Integrado em Informática Turma: INT.INF.3M Arquitetura de Redes

Leia mais

ESQUEMA AULA PRÁTICA 1

ESQUEMA AULA PRÁTICA 1 P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente JBuilder Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado JBuilder. Start

Leia mais

PADI 2014/15. Aula 3.Net Remoting

PADI 2014/15. Aula 3.Net Remoting PADI 2014/15 Aula 3.Net Remoting Sumário 1..Net Remoting .NET Remoting Comunicação entre aplicações Permite invocar métodos em objectos remotos Qualquer objecto pode ser usado remotamente Objectos remotos

Leia mais

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. P. Fazendeiro & P. Prata POO FP0/1 ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

Serviços de Comunicações Capítulo 3

Serviços de Comunicações Capítulo 3 Capítulo 3 A Camada de Transporte da Arquitectura TCP/IP 3.1 Portos e Sockets 3.2 O Protocolo UDP 3.3 O Protocolo TCP 1 3.1. Portos e Sockets A Camada de Transporte fornece transferência de dados fim-a-fim

Leia mais

ESQUEMA AULA PRÁTICA 1

ESQUEMA AULA PRÁTICA 1 P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente JBuilder Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado JBuilder. Start

Leia mais

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades. REST Representational State Transfer É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades. Não é um padrão. Exemplo ASP.NET Web API namespace WebAPIApp.Models

Leia mais

Projecto hipotético para resolvermos hoje

Projecto hipotético para resolvermos hoje Projecto hipotético para resolvermos hoje 12/13 Sistemas Distribuídos 1 Projecto hipotético para resolvermos hoje Implementar servidor de contagem que mantém contador e oferece estas operações aos clientes:

Leia mais

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

Redes de Computadores. A arquitectura protocolar TCP/IP

Redes de Computadores. A arquitectura protocolar TCP/IP A arquitectura protocolar TCP/IP A arquitectura TCP/IP! Possui apenas 4 camadas ou níveis Aplicação FTP Telnet HTTP Transporte TCP UDP Rede IP Acesso à Rede Ethernet Pacotes por rádio ponto a ponto 2 Nível

Leia mais

Programação Java. Tratamento de Exceções

Programação Java. Tratamento de Exceções Programação Java Tratamento de Exceções Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Motivações para Exceções Um método pode detectar uma falha mas não estar apto a resolver sua

Leia mais

Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile)

Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile) Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile) 1. Instalar no Visual Studio 2017 o workload Azure Development

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 10: Pacotes, excepções e asserções LEEC@IST Java 1/58 Pacotes revisão (1) Um pacote é um mecanismo de agrupamento de informação: Os pacotes podem conter outros pacotes,

Leia mais

Message Oriented Middleware (MOM)

Message Oriented Middleware (MOM) Message Oriented Middleware (MOM) November 1, 2009 Sumário Comunicação Assíncrona (MOM) Conceito Java Message Service Implementação Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes

Leia mais

JADE : Java Agent DEvelopment Framework JADE

JADE : Java Agent DEvelopment Framework JADE : Java Agent DEvelopment Framework http:// sharon.cselt.it/projects/jade Framework para desenvolvimento de software, no projecto de sistemas multi-agente e aplicações conforme as normas da FIPA Escrito

Leia mais

Sistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21

Sistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21 Sistemas de Objetos Distribuídos Primeira Aplicação Java ORB Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosPrimeira Aplicação

Leia mais

Resumo das Propriedades de UDP e de TCP

Resumo das Propriedades de UDP e de TCP Relembrando... Processos duma aplicação distribuída comunicam via mensagens. O formato e o significado destas mensagens depende do protocolo usado. As mensagens são transportadas entre processos através

Leia mais

Sockets. André Restivo. April 29, Faculdade de Engenharia da Universidade do Porto. André Restivo (FEUP) Sockets April 29, / 27

Sockets. André Restivo. April 29, Faculdade de Engenharia da Universidade do Porto. André Restivo (FEUP) Sockets April 29, / 27 Sockets André Restivo Faculdade de Engenharia da Universidade do Porto April 29, 2013 André Restivo (FEUP) Sockets April 29, 2013 1 / 27 Sumário 1 Introdução 2 Cliente/Servidor 3 API C++ 4 André Restivo

Leia mais

Arquitectura de Redes

Arquitectura de Redes Arquitectura de Redes Revisões de alguns conceitos dados em RSD Camadas Protocolares Aplicação Cabeç Dados Transporte Cabeç Dados Internet Cabeç Dados Revisões Ligação Física Cabeç Dados Dados TCP/IP PDU

Leia mais

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de

Leia mais

STD29006 Sistemas Distribuídos

STD29006 Sistemas Distribuídos STD29006 Sistemas Distribuídos Comunicação II Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/std 05 de setembro

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

JAVA. Professor: Bruno Toledo

JAVA. Professor: Bruno Toledo JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código

Leia mais

Programação Na Web. Servlets: Ciclo de Vida. Agenda. Visão geral sobre ciclo de vida. Nascimento de uma Servlet. Execução de uma Servlet

Programação Na Web. Servlets: Ciclo de Vida. Agenda. Visão geral sobre ciclo de vida. Nascimento de uma Servlet. Execução de uma Servlet Programação Na Web Servlets: Ciclo de Vida 1 António Gonçalves Agenda Visão geral sobre ciclo de vida Nascimento de uma Servlet Execução de uma Servlet Destruição de uma Servlet 2 Servlet Life Cycle 1

Leia mais

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Tratamento de Exceções Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Terminologia Definições: Exceção é a ocorrência de uma condição anormal durante a execução de um método Falha

Leia mais

Integração por Web Services

Integração por Web Services Integração por Web Services Versão 1.1 Maio 2010 Índice Índice... 2 Introdução... 3 Arquitectura PRIMAVERA... 4 User Interface... 4 Motor... 4 Interface para o Administrador... 5 Motores PRIMAVERA em Web

Leia mais

Agilizando o processo de redeploy de aplicações Java

Agilizando o processo de redeploy de aplicações Java classghost_ ClassGhost Agilizando o processo de redeploy de aplicações Java Conheça a funcionalidade deste framework que contribui para a agilidade e produtividade no processo processo de redeploy de aplicações

Leia mais

Protocolos e Serviços de Redes

Protocolos e Serviços de Redes Protocolos e Serviços de Redes Redes de Computadores Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/rdc charles.garrocho@ifsp.edu.br Técnico

Leia mais

Sumário. Message Oriented Middleware (MOM) Sincronização na Comunicação. Comunicação Assíncrona

Sumário. Message Oriented Middleware (MOM) Sincronização na Comunicação. Comunicação Assíncrona Sumário Message Oriented Middleware (MOM) October 16, 2008 Comunicação Assíncrona (MOM) Conceito Java Message Service Implementação Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes

Leia mais

Firewall - Inspeção com estado. (Stateful Inspection)

Firewall - Inspeção com estado. (Stateful Inspection) Proxy e FIREWALL Firewall - Inspeção com estado. (Stateful Inspection) As primeiras gerações de firewall eram ditos "stateless". Cada pacote é analisado individualmente, sem levar em conta pacotes anteriores

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores LEIC-T 2015/16 Guia de Laboratório 3 Programação com sockets, camada rede e protocolo IP Objectivos Este guia tem por objectivo a aquisição de conhecimentos sobre a programação de

Leia mais

Boas práticas com Orientação a Objetos. Paulo Silveira

Boas práticas com Orientação a Objetos. Paulo Silveira Boas práticas com Orientação a Objetos Paulo Silveira paulo.silveira@caelum.com.br Rapidissímo overview IFs e switches X herança Vantagens e desvantagens do uso de Herança Casos errados do uso de herança

Leia mais

SAN (Storage Area Network)

SAN (Storage Area Network) SAN (Storage Area Network) Definição San é uma sub-rede de alto débito de dispositivos de armazenamento patilhados (exemplo discos e tapes) e servidores. As SAN s estão directamente ligadas à rede (redes

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra

Leia mais

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela

Leia mais

Sistemas de Telecomunicações 2012/2013

Sistemas de Telecomunicações 2012/2013 Departamento de Engenharia Electrotécnica Sistemas de Telecomunicações 2012/2013 Trabalho 0: Demonstração do ambiente Java Aprendizagem do desenvolvimento de aplicações Aula 3 Aplicação com sockets orientados

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Carlos Bazilio Isabel Rosseti Depto de Ciência e Tecnologia Pólo Universitário de Rio das Ostras Universidade Federal Fluminense Motivação prever na implementação do sistema situações

Leia mais

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar

Leia mais

Redes de comunicação. Mod 2 Redes de computadores. Professor: Rafael Henriques

Redes de comunicação. Mod 2 Redes de computadores. Professor: Rafael Henriques Redes de comunicação Mod 2 Redes de computadores 1 Professor: Rafael Henriques Apresentação 2 Professor: Rafael Henriques Introdução às redes de computadores; Tipos de rede; Diagramas de encaminhamento;

Leia mais

Número: Nome: Página 1 de 7. Duração da prova: 1h30m. Grupo I [7] Considere o seguinte excerto (incompleto) de um programa cliente em SUN RPC:

Número: Nome: Página 1 de 7. Duração da prova: 1h30m. Grupo I [7] Considere o seguinte excerto (incompleto) de um programa cliente em SUN RPC: Número: Nome: Página 1 de 7 LEIC/LETI 2016/17, Repescagem do 1º Teste de Sistemas Distribuídos 4 de julho de 2017 Responda no enunciado, usando apenas o espaço fornecido. Identifique todas as folhas. Uma

Leia mais

Exceções AULA 13. Ricardo Massa F. Lima Sérgio C. B. Soares

Exceções AULA 13. Ricardo Massa F. Lima Sérgio C. B. Soares Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Exceções AULA 13 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Exceções Objetivo Depois desta aula você será capaz

Leia mais

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos; Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP2 2 semestre de 2016. Nome Assinatura Observações:

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Programação Orientada a Objetos SANTOS, Rafael (PLT) Programação Orientada a Objetos SANTOS, Rafael (PLT) Possibilita atribuições em sequência na mesma instrução Retorna o valor atribuído Atribuições compostas: incluem a própria variável: +=, *=, -=, etc

Leia mais

Paradigmas de Computação Paralela

Paradigmas de Computação Paralela Paradigmas de Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho 9 Novembro 2017 Paradigmas de Computação Paralela

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Professor: Fernando Maia da Mota Orientações Básicas Leia atentamente as instruções para cada questão. A prova deverá ser feita a lápis ou caneta (preta ou azul) em uma folha de rascunho que será fornecida

Leia mais

Redes de Computadores II. Programação com Sockets em Python

Redes de Computadores II. Programação com Sockets em Python v.2016 Redes de Computadores II Programação com Sockets em Python Prof. Ricardo Couto A. da Rocha rcarocha@ufg.br UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE

Leia mais

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

A linguagem Java foi projetada tendo em vista os seguintes objetivos: Java Disciplina: Programação II Professora: Mai-Ly Vanessa Histórico do Java Em 1991 a Sun Microsystems financiou uma pesquisa sobre o que seria a nova onda digital. Desta pesquisa resultou a criação da

Leia mais

TITULO: N o : REVISÃO: PROCESSO DE INSTALACAO E CONFIGURACÃO SCX 6545

TITULO: N o : REVISÃO: PROCESSO DE INSTALACAO E CONFIGURACÃO SCX 6545 1. Instalação... 3 2. Apresentação do Painel de Controle... 5 3. Configurando tipo de papel... 6 4. Definir a data e a hora... 6 5. Alterar o idioma do visor... 7 6. Cadastrando o Endereço TCP / IP no

Leia mais

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II JAVA Décima Segunda Aula 1 Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Vetores Tratamento de Exceções

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Pacotes e Encapsulamento Msc. Paulo de Tarso F. Júnior 1 Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes e interfaces

Leia mais

Módulo 3 Nível Transporte

Módulo 3 Nível Transporte Nível Transporte Redes de Computadores - LTIC António Casimiro 2º Semestre 2014/15 Adaptado a partir de: Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross, Addison Wesley,

Leia mais

Protocolos e Serviços de Redes

Protocolos e Serviços de Redes Protocolos e Serviços de Redes Redes de Computadores Charles Tim Batista Garrocho Instituto Federal de Minas Gerais IFMG Campus Ouro Branco garrocho.github.io charles.garrocho@ifmg.edu.br Sistemas de Informação

Leia mais

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Invocação de Métodos Remotos RMI (Remote Method Invocation) Invocação de Métodos Remotos RMI (Remote Method Invocation) Programação com Objetos Distribuídos Um sistema de objetos distribuídos permite a operação com objetos remotos A partir de uma aplicação cliente

Leia mais

Tratamento de Exceções em Java

Tratamento de Exceções em Java Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Tratamento de Exceções em Java Professor: César Melo Slides baseados em materiais preparados pela Profa.

Leia mais

CEF 2 PLANIFICAÇÃO ANUAL. Instalação e Configuração de. Computadores em Redes Locais e à Rede Internet. Ano Letivo 2012/2013

CEF 2 PLANIFICAÇÃO ANUAL. Instalação e Configuração de. Computadores em Redes Locais e à Rede Internet. Ano Letivo 2012/2013 PLANIFICAÇÃO ANUAL Instalação e Configuração de Computadores em Redes Locais e à Rede Internet CEF 2 Instalação e Operação de Sistemas Informáticos Ano Letivo 2012/2013 Ano Letivo: 2012/2013 E 2013/2014

Leia mais

Network Programming. Conceitos Básicos A classe InetAddress Programação de Socket TCP Programação de Socket UDP

Network Programming. Conceitos Básicos A classe InetAddress Programação de Socket TCP Programação de Socket UDP Network Programming Conceitos Básicos A classe InetAddress Programação de Socket TCP Programação de Socket UDP Conceitos Básicos Internet e seus serviços TCP/IP IP UPD vs TCP InetAddress Classe usada para

Leia mais

Java Spaces Exemplos

Java Spaces Exemplos Java Spaces Exemplos Programação com Objetos Distribuídos (C. Geyer) Java Spaces - Exemplos V0 1 Autoria! Autores! Local " Cláudio Geyer " Instituto de Informática " UFRGS " disciplina: Programação com

Leia mais

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I Arquitetura de Rede Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I 2 Tipos de arquiteturas Cliente-Servidor Peer-to-Peer Arquitetura Híbrida Cliente-Servidor

Leia mais

Linguagem Java - Introdução

Linguagem Java - Introdução Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean

Leia mais

Aplicações com Banco de Dados e Cliente-Servidor

Aplicações com Banco de Dados e Cliente-Servidor Aplicações com Banco de Dados e Cliente-Servidor Aula #231 EBS 211 POO e UML Prof Luiz Fernando S Coletta luizfsc@tupaunespbr Campus de Tupã Roteiro Rede de computadores; Aplicação cliente/servidor; Sockets

Leia mais

Conexão do Banco de Dados localhost

Conexão do Banco de Dados localhost Conexão do Banco de Dados localhost Ligar Xampp e Instalar Workbench Observe que o MySQL direciona para a porta 3306, pois estamos trabalhando no computador local. É necessário ligar o MySQL no XAMPP.

Leia mais

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU Aula 1 POO 1 Prática Profa. Elaine Faria UFU - 2019 Introdução Java Linguagem de programação poderosa Utiliza o paradigma Orientado a Objetos Muito utilizada em aplicativos para Internet e para redes Difundida

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Programação Estruturada e Orientada a Objetos

Programação Estruturada e Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Prof. Marcelo Cunha Parte 6

Prof. Marcelo Cunha Parte 6 Prof. Marcelo Cunha Parte 6 www.marcelomachado.com ARP (Address Resolution Protocol) Protocolo responsável por fazer a conversão entre os endereços IPs e os endereços MAC da rede; Exemplo: Em uma rede

Leia mais

Prof. Rogério Rocha 1

Prof. Rogério Rocha  1 Uma estrutura de dados é um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente. Diferentes tipos de estrutura de dados são adequados a

Leia mais

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

Lista de exercícios I - RESPOSTAS Servlets e banco de dados www.posse.ueg.br Home Page: http://www.posse.ueg.br/index.php/conexao-ueg/meuperfil/userprofile/ronaldo Dado o diagrama de classe abaixo: Lista de exercícios I - RESPOSTAS Servlets e banco de dados 1.

Leia mais