TP1 - Shared Gallery - Sistemas Distribuídos

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

Download "TP1 - Shared Gallery - Sistemas Distribuídos"

Transcrição

1 a) General description Este projeto consistiu na criação de um sistema que permite aos utilizadores terem acesso a uma galeria partilhada de fotografias. Uma galeria consiste em vários álbuns. Cada álbum consiste num conjunto de fotos. Os utilizadores acedem à galeria através de uma aplicação com uma interface gráfica. Usando esta aplicação, o utilizador pode: ver todos os álbuns existentes na galeria, criar um álbum, apagar um álbum, aceder às imagens de um álbum, adicionar imagens ao álbum e remover imagens de um álbum. Os álbuns e as imagens serão guardados em vários servidores. A aplicação tem de esconder do utilizador a natureza distribuída dos conteúdos da galeria. Por exemplo, um álbum pode ter os seus conteúdos espalhados pelos vários servidores, mas devem ser apresentados ao utilizador como um conjunto unificado de imagens. Nós não conseguimos terminar a implementação de todo o projeto, sendo que as únicas partes implementadas por completo são (usando os tópicos da página da cadeira): Server discovery: Os clientes devem encontrar os servidores sem a necessidade de inserir o endereço do servidor no cliente, usou-se o multicast como sugerido pelos professores da cadeira; Base web services: Implementa um sistema que suporta as funções da aplicação usando Web Services SOAP; b) Limitations of the delivered code O código submetido deste projeto contém a implementação completa dos dois tópicos acima referidos (Server discovery e Base web services), os quais podem ser testados correndo a classe Server.java e em seguida correndo a classe SharedGallery.java. Todas as funções a realizar com a aplicação gráfica funcionam usando este tipo de servidor. O código submetido deste projeto contém uma tentativa de implementação do servidor REST, a qual não está a funcionar corretamente, visto dar imensos erros ao tentar correr esse servidor. c) Clear explanation of the mechanisms employed Discovery of servers: O mecanismo de deteção de servidores utilizado foi o multicast, o qual foi também sugerido no enunciado do projeto. Neste mecanismo, os servidores juntam-se a um grupo multicast e ficam infinitamente à espera de pedidos do cliente. Os clientes criam uma thread que infinitamente procura servidores, através do envio de pacotes Datagram para o grupo multicast, e após estabelecer a conexão ao servidor guarda o URL; Detection of server failure: Este ponto não foi implementado, pois pretendíamos realizá-lo quando tivéssemos os dois servidores SOAP e REST a funcionar corretamente, que só conseguimos implementar o primeiro; Handling of faults: Ao longo do projeto, os erros são tratados utilizando exceções, as quais são levantadas quando existe algum erro, tanto na criação da conexão entre o servidor e o cliente assim como na interação do utilizador com a interface gráfica. Ano Letivo 2015/2016 Página 1

2 d) Discussion of the implementation decisions Todas as decisões tomadas durante a realização deste trabalho foram baseadas nas aulas práticas e teóricas lecionadas que precederam a implementação do trabalho, pois foram dadas por ordem crescente de dificuldade coincidente com o enunciado disponibilizado pelos professores da cadeira. As aulas em que nos baseamos foram as seguintes: WebServices em Java: Esta aula foi utilizada para percebermos como funcionam os WebServices SOAP em Java; Descoberta de Serviços em Java: Esta aula foi utilizada para a realização do servidor e cliente SOAP, respetivamente RESTful WebServices em Java + Jersey: Apesar de não termos acabado a implementação deste servidor, tentámos utilizar esta aula para percebermos como funcionavam os WebServices REST em Java. Ano Letivo 2015/2016 Página 2

3 e) Acknowledgments Gostaríamos de prestar o nosso agradecimento ao professor Nuno Preguiça, regente da unidade curricular obrigatória Sistemas Distribuídos, inserida no Mestrado Integrado em Engenharia Informática da Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa e também ao professor Sérgio Duarte por todas as ajudas que deram, mostrando-se sempre disponível para esclarecer alguma dúvida que surgisse durante a realização do trabalho. Trabalho elaborado por: Miguel Gaspar, nº41686, Turno p2 Pedro Arguelles, nº41616, Turno p4 Ano Letivo 2015/2016 Página 3

4 g) Server APIs package sd.srv; import java.io.file; import java.io.ioexception; import java.net.datagrampacket; import java.net.inetaddress; import java.net.multicastsocket; import java.nio.file.files; import java.util.arrays; import java.util.list; import java.util.stream.collectors; import java.nio.file.standardopenoption; import javax.jws.webmethod; import javax.jws.webservice; import public class Server { private static File root; public Server(){ public Server(String path){ root = new File(path); public List<String> getlistofpictures(string albumname) { File albumpath = new File(root+"/"+albumName); if(albumpath.exists()){ return Arrays.asList(albumPath.listFiles()).stream().filter(f -> ispicture(f)).map(f -> new String(f.getName())).collect(Collectors.toList()); public List<String> getlistofalbums(){ return Arrays.asList(root.listFiles()).stream().filter(f -> f.isdirectory() &&! f.getname().startswith(".")).map(f -> new String(f.getName())).collect(Collectors.toList()); Ano Letivo 2015/2016 Página 4

5 public byte[] getpicturedata(string albumname, String picturename){ File dir = new File(root+"/"+albumName+"/"+pictureName); if(dir.exists()) return new Picture(dir).getData(); public Album createalbum(string name){ File dir = new File(root+"/"+name); if(!dir.exists()){ dir.mkdir(); return new Album(name); public void deletealbum(string albumname){ String path = root+"/"+albumname; File dir = new File(path); if(dir.exists()) dir.delete(); public Picture uploadpicture(string albumname, String picturename, byte[] data){ File albumpath = new File(root+"/"+albumName); File picpath = new File(root+"/"+albumName+"/"+pictureName); if(albumpath.exists() &&!picpath.exists()){ try { Files.write(picPath.toPath(),data, StandardOpenOption.CREATE_NEW); return new Picture(picPath); catch (IOException e) { e.printstacktrace(); public boolean deletepicture(string albumname, String picturename){ File dir = new File(root+"/"+albumName+"/"+pictureName); if(dir.exists()){ dir.delete(); return true; return false; Ano Letivo 2015/2016 Página 5

6 boolean ispicture(file f) { String filename = f.getname(); int i = filename.lastindexof('.'); String ext = i < 0? "" : filename.substring(i + 1).toLowerCase(); return f.isfile() && EXTENSIONS.contains(ext) &&!filename.startswith("."); List<String> EXTENSIONS = Arrays.asList(new String[] { "jpg", "jpeg", "png" ); //url e port sao args public static void main(string args[]) throws Exception { String localhost = InetAddress.getLocalHost().getHostAddress(); int port = 8080; Endpoint.publish(" new Server()); root = new File("C:\\Users\\Pedro\\Desktop\\Galeria"); if(!root.isdirectory()) throw new RuntimeException(root + " is not a directory..."); System.err.println("Server started: //Get the address that we are going to connect MulticastSocket socket = new MulticastSocket(4440); InetAddress address = InetAddress.getByName(" "); socket.joingroup(address); while(true){ byte[] buffer = new byte[65536]; DatagramPacket packet = new DatagramPacket(buffer,buffer.length); socket.receive(packet); String msg = new String(buffer); if(msg.trim().equalsignorecase("client request")){ byte[] response = (" DatagramPacket responsepacket = new DatagramPacket(response, response.length); responsepacket.setaddress(packet.getaddress()); responsepacket.setport(packet.getport()); socket.send(responsepacket); Ano Letivo 2015/2016 Página 6

7 Ano Letivo 2015/2016 Página 7

Programação Orientada por Objectos com Java. Ademar Aguiar. www.fe.up.pt/~aaguiar [email protected]. 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 [email protected] 1 Java Networking java.net.* 141 Package java.net Java dispõe de diversas classes para manipular e processar informaçã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

Reader e Writer para streams de caracteres (texto).

Reader e Writer para streams de caracteres (texto). Folha 1-1 Recordando POO: Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo

Leia mais

INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo

INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo Requisitos de Ambiente: Desenvolvido por: Fabrício Alves e Daniela Claro contato: [email protected], [email protected] Java 1.6

Leia mais

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26 Sistemas de Objetos Distribuídos Revisão Java e Java ORBs Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosRevisão Java e

Leia mais

Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads.

Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

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

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

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

Web Services. EclipseSDK/DB2 Construindo/Consumindo Serviços

Web Services. EclipseSDK/DB2 Construindo/Consumindo Serviços Web Services EclipseSDK/DB2 Construindo/Consumindo Serviços Mario C. Ponciano a.k.a: Razec http://razec.wordpress.com [email protected] 28 de Novembro 2009 2 Sumário Objetivo... 3 Requisitos... 3 Desenvolvimento...

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Exercício de Estrutura de dados. Java Fila

Exercício de Estrutura de dados. Java Fila Exercício de Estrutura de dados Java Fila Obs.: Esse projeto foi um exercício realizado em sala de aula da matéria de Estrutura de dados com o Profº Frederico Augusto Siqueira Gentil Aqui está sendo relatado

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

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 ([email protected]) Rede A Rede B Rede C 2015/01 - INF02799 Sistema

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

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística. Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística. package ProjetoIntegrador; import java.io.bufferedreader; import

Leia mais

Web Services no JEE 7. Prof. Fellipe Aleixo ([email protected])

Web Services no JEE 7. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Web Services no JEE 7 Prof. Fellipe Aleixo ([email protected]) O que são Web Services? Web services are client and server applications that communicate over the World Wide Web's (WWW) HyperText

Leia mais

Tratamento de Erro e Javadoc. Professor: Norton T. Roman

Tratamento de Erro e Javadoc. Professor: Norton T. Roman Tratamento de Erro e Javadoc Professor: Norton T. Roman Tratamento de Erro import java.lang.string; import java.io.bufferedreader; import java.io.inputstreamreader; import java.lang.integer; O que vai

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Implementação do analisador de logs do Servidor Web com base nos requisitos da unidade curricular de Estatística, de acordo com o roteiro abaixo: Recuperar o conteúdo do

Leia mais

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: HTTP porto 80

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: HTTP porto 80 Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: Cliente Web browser HTTP porto 80 Servidor web JDBC RMI XML... Base de Dados Aplicação em Java...

Leia mais

Programação Orientada a Objeto Java

Programação Orientada a Objeto Java Programação Orientada a Objeto Java Aula 2 Introdução a Programação Java Sintaxe da Linguagem e Principais Conceitos Profª Kelly Christine C. Silva Sumário Construção do programa Saída de dados Entrada

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

SisJus Sistema de Cadastro de Processos Jurídicos. We are able to do the better Team. Setembro de 2009, Maceió AL

SisJus Sistema de Cadastro de Processos Jurídicos. We are able to do the better Team. Setembro de 2009, Maceió AL SisJus Sistema de Cadastro de Processos Jurídicos We are able to do the better Team Setembro de 2009, Maceió AL Sumário OBJETIVO...3 Objetivo geral...3 OBJETIVOS ESPECÍFICOS...3 Requisitos...4 Requisitos

Leia mais

Orientação a Objetos (em Java)

Orientação a Objetos (em Java) Orientação a Objetos (em Java) Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/2012.1/es1 Programação Estruturada Composição dos Programas Um programa écomposto por

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Introdução Exceções São eventos que

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

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 [email protected] UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE

Leia mais

Jersey + SSL/TLS. A biblioteca Jersey suporta web services REST acessíveis por SSL/TLS

Jersey + SSL/TLS. A biblioteca Jersey suporta web services REST acessíveis por SSL/TLS REST + HTTPS/SSL Jersey + SSL/TLS A biblioteca Jersey suporta web services REST acessíveis por SSL/TLS Através de SSL/TLS, o acesso aos recursos disponibilizados pelo servidor fazem-se sobre um canal seguro,

Leia mais

Java possui 4 tipos de dados. Estes tipos de dados são divididos em: boolean, character, integer e float.

Java possui 4 tipos de dados. Estes tipos de dados são divididos em: boolean, character, integer e float. 1 - Tipos de Dados em Java Java possui 4 tipos de dados. Estes tipos de dados são divididos em: boolean, character, integer e float. a. Boolean Um dado boolean poderá assumir somente dois valores: true

Leia mais

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF [email protected]. Novembro/2005

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br. Novembro/2005 Java Básico Matrícula de Alunos Marco Antonio, Arquiteto de Software TJDF [email protected] Novembro/2005 Objetivos OO: trocar mensagens entre os objetos Exception: tratar exceções Análise: implementar

Leia mais

Orientação a Objetos AULA 09

Orientação a Objetos AULA 09 Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este

Leia mais

LINGUAGEM JAVA - RESUMO

LINGUAGEM JAVA - RESUMO LINGUAGEM JAVA - RESUMO 1.1. Estrutura Geral de um Programa 1. ESTRUTURAS BÁSICAS public class nome do programa public static void main(string[] args) instruções do programa 1.2. Tipos Primitivos de Dados

Leia mais

Exercícios de fixação: Listas

Exercícios de fixação: Listas Exercícios de fixação: Listas Exercício 1 : Inlcuindo o driver ao seu projeto 1. No Eclipse, vamos criar um novo projeto chamado CursoJavaJDBC. 2. Copie o driver do MySQL para o seu projeto. a. localize

Leia mais

JDBC - Java Data Base Connectivity

JDBC - Java Data Base Connectivity JDBC - Java Data Base Connectivity JDBC API para Bases de Dados relacionais. Permite o desenvolvimento de aplicac~oes que interagem com BD relacionais de modo uniforme e independente dos diferentes SGBD.

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

Só podem ser executados por uma Thread que detenha o lock do objecto

Só podem ser executados por uma Thread que detenha o lock do objecto Transferência de controle entre Threads Os métodos wait(), notify() notifyall(), da classe Object, Permitem a transferência de controlo de uma Thread para outra. Só podem ser executados por uma Thread

Leia mais

POO Programação Orientada a Objetos

POO Programação Orientada a Objetos POO Programação Orientada a Objetos Mãos à Obra Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 O sistema Nossa empresa foi contratada por uma pequena gravadora de música que deseja entrar

Leia mais

Orientação a Objetos (em Java)

Orientação a Objetos (em Java) Orientação a Objetos (em Java) Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/2010.2/es1 Programação Estruturada Composição dos Programas Um programa écomposto por

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível. Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

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

MsC. João Maria MsC. Liviane Melo

MsC. João Maria MsC. Liviane Melo Disciplina: Programação Orientada à Objetos AULA 02 Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio Esp. Felipe Dantas MsC. João Maria MsC. Liviane Melo 2 Tipo Tamanho Alcance

Leia mais

Aula teórica 11. Tema 11. Repetição. Ciclo while Ciclo do-while Ciclo for

Aula teórica 11. Tema 11. Repetição. Ciclo while Ciclo do-while Ciclo for Tema 11. Repetição Ciclo while Ciclo do-while Ciclo for Aula teórica 11 Objectivos da aula: No final da aula estudante deve: Utilizar correctamente as instruções de repetição. Saber escolher entre as instruções

Leia mais

Capítulo 4 - Polimorfismo

Capítulo 4 - Polimorfismo Capítulo 4 - Polimorfismo 1. POLIMORFISMO: VAMOS NOS ADAPTAR... 1 1.1 APRENDENDO A PREVER O FUTURO... 1 1.2 O QUE É POLIMORFISMO... 1 1.3 TIPOS DE POLIMORFISMO... 4 1.4 PERGUNTAS - EXERCÍCIO... 5 1. Polimorfismo:

Leia mais

Arquiteturas para Sistemas Distribuídos I

Arquiteturas para Sistemas Distribuídos I Arquiteturas para Sistemas Distribuídos I Pedro Ferreira Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Tópicos Estilos Arquiteturais: formas de desenhar o software do SD Organização

Leia mais

Tipos de dados e comandos POO

Tipos de dados e comandos POO Tipos de dados e comandos POO Prof. Marcio Delamaro 1/46 Objetivo Vamos ver quais são os tipo de dados primitivos da linguagem Vamos ver quais são os principais comandos 2/46 Tipos Tipo Tamanho int 4 bytes

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

Código-Fonte da Prática 02

Código-Fonte da Prática 02 Código-Fonte da Prática 02 Sumário Classe ConexaoDB... 2 Classe PropriedadesBD... 5 Arquivo conexao.properties... 6 Programação Comercial Walderson Shimokawa 1 Classe ConexaoDB package br.edu.univag.util.sql;

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

Interfaces POO. Prof. Marcio Delamaro

Interfaces POO. Prof. Marcio Delamaro Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso

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

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

Nota Fiscal Alagoana. Manual para Envio de Arquivo de Cupons Fiscais via Webservice

Nota Fiscal Alagoana. Manual para Envio de Arquivo de Cupons Fiscais via Webservice GOVERNO DO ESTADO DE ALAGOAS CSGII - COORDENADORIA SETORIAL DE GESTÃO DA INFORMÁTICA E INFORMAÇÃO Nota Fiscal Alagoana Manual para Envio de Arquivo de Cupons Fiscais via Versão 1.0 20/04/2009 Índice Analítico

Leia mais

Conexão Socket na MIDP

Conexão Socket na MIDP Conexão Socket na MIDP A comunicação entre diferentes sistemas é comum na programação, e esta regra não desaparece na construção de aplicativos para pequenos dispositivos e, consequentemente, com o Java

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

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

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar [email protected] 1 Multithreading 154 Objectivos Ser capaz de: Explicar os conceitos básicos de multithreading Criar threads múltiplos

Leia mais

Programação com sockets (em Java)

Programação com sockets (em Java) com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission

Leia mais

SInOA - Sistema de Informação da Ordem dos Advogados

SInOA - Sistema de Informação da Ordem dos Advogados SInOA - Sistema de Informação da Ordem dos Advogados Acesso ao Direito Portal da Ordem dos Advogados Manual de Utilizador: Substituição em escalas Versão 1.0 Julho de 2010 ÍNDICE 1 ESCALAS 1.1 Substituição

Leia mais

Sockets com Java Parte I

Sockets com Java Parte I Sockets com Java Parte I Neste artigo veremos como desenvolver aplicações em Java que podem comunicar-se via rede local ou via internet, usando sockets. Leia mais em: Sockets com Java Parte I http://www.devmedia.com.br/sockets-com-java-parte-i/

Leia mais

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos 1. Para a construção de uma aplicação gráfica se faz necessário conceber a interface de aplicação, identificando-se

Leia mais

Guia para instalação da Loja demonstração

Guia para instalação da Loja demonstração Guia para instalação da Loja demonstração Índice Capítulo 1... 3 Analisando a loja exemplo... 3 Capítulo 2... 6 Instalação da Loja... 6 Página 2 de 7 Capítulo 1 Analisando a loja exemplo No arquivo Loja_demonstracao.zip

Leia mais

Plataforma de elearning. NetForma davinci Web 2.0-3.0

Plataforma de elearning. NetForma davinci Web 2.0-3.0 Plataforma de elearning NetForma davinci Web 2.0-3.0 1. Introdução Neste documento apresentaremos as principais especificidades da Plataforma NetForma davinci Web 2.0-3.0, tendo em vista a sua utilização

Leia mais

Utilização das classes Java para comunicação TCP/IP e UDP/IP

Utilização das classes Java para comunicação TCP/IP e UDP/IP Utilização das classes Java para comunicação TCP/IP e UDP/IP Programação com Objetos Distribuídos (C. Geyer) Java Sockets 1 Autor Autores Local Cláudio Geyer Maurício Lima Pilla Instituto de Informática

Leia mais