Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

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

Download "Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1"

Transcrição

1 Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

2 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação com Objetos Distribuídos Versão V1d.1, março 2014 Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 2

3 Súmul a Súmula questões e abordagens distribuição concorrência sincronização comunicação outras Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 3

4 Questões básicas Questões básicas distribuição: quais sãos os elementos de distribuição? Como um programa é estruturado na rede? criação: quem, onde e quando? nomeação: como identificar e encontrar os elementos distribuídos? concorrência: quais são os elementos de concorrência, principalmente local? Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 4

5 Questões básicas Questões básicas comunicação como os objetos distribuídos trocam informações? sincronização como as ações (threads) concorrentes se sincronizam? Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 5

6 Distribuição Distribuição elemento de distribuição objeto: mais comum nos ambientes de POD atuais processo exemplo: ORCA (Bal): processos compartilham objetos passivos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 6

7 Distribuição Criação (instanciação) Pelo servidor Cliente remoto acessa o objeto após criação Pelo cliente Cliente solicita a criação remota Compartilhamento A cada chamada Por um único cliente Por vários (ou todos) os clientes Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 7

8 Distribuição Ciclo de vida Controlado pelo servidor Controlado pelo criador (remoto) Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 8

9 Distribuição Nomeação Objetos com nomes (strings) Nome dado pelo programa (programador) criador Programas clientes conhecem o nome Servidor de nomes Mantém registros de nomes com referências a objetos Inclusão de nome + referência Retorna referência dado um nome Classe (componente) com nome Cliente solicita um objeto informando o nome da classe Objeto pode ser novo ou já existente Cliente recebe referência ao objeto Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 9

10 Distribuição Nomeação Referência remota Instanciação remota de objeto retorna referência remota Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 10

11 Concorrência Concorrência objetos passivos processos oferecem concorrência programação OO: normal (quase) exemplo: ORCA (Bal) processos ativos objetos passivos compartilhados por processos usualmente os objetos compartilhados por processos são explicitamente indentificados Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 11

12 Concorrência Concorrência (cont.) programas independentes modelo cliente/servidor clientes são concorrentes clientes compartilham servidores (objetos) programação de clientes e servidores é OO normal (quase) servidores podem necessitar de sincronização explícita exemplo: Java com RMI Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 12

13 Concorrência (cont.) Concorrência objetos concorrentes cada objeto pode ter um (ao menos) fluxo de execução próprio objetos ativos existem objetos ativos e passivos ativos passivos com fluxos próprios sem fluxo próprio (normal) concorrência interobjetos exemplos: Java threads, C# threads Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 13

14 Concorrência Concorrência (cont.) objetos com concorrência interna extensão da forma acima diversos fluxos são declarados em um objeto extra-métodos exemplo: SR: um resource com processos internos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 14

15 Concorrência Concorrência (cont.) chamadas concorrentes atendimento concorrente das chamadas concorrentes a um objeto servidor ou compartilhado chamadas feitas por vários clientes concorrentes pode ser combinada com programas independentes e objetos concorrentes Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 15

16 Concorrência Concorrência (cont.) chamadas concorrentes exige mecanismos de sincronização, normalmente de memória compartilhada semáforos, monitores,... concorrência intraobjetos exemplo: Java, CC++ Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 16

17 Concorrência Concorrência (cont.) concorrência intramétodo execução de um método pode ativar diversos fluxos normalmente os fluxos estão contidos no objeto modelo estruturado: parbegin/parend exemplo: CC++ Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 17

18 Sincronização Sincronização usualmente resolve os casos de exclusão mútua e sinalização intra-objetos monitores: exemplos: Java e C#, ambos na 1a versão semáforos variável contadora primitivas P(s) e V(s) barreiras locks Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 18

19 Sincronização Sincronização intra-objetos Java a partir da versão 1.5 contempla vários desses mecanismos API: sofisticada desempenhos distintos vários testes de desempenho (Web, II, ) Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 19

20 Sincronização Sincronização intra-objetos guardas condições de aceitação de uma chamada em caso negativo, chamada fica bloqueada até que condição seja verdadeira seções (blocos) de exclusão mútua exemplo: synchronized Java variáveis de condição (write-once) exemplo: CC++ Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 20

21 Sincronização Sincronização transações gerenciadas pelo programador gerenciadas pelo ambiente outros recursos além de exclusão mútua e sinalização tudo ou nada: estado pode retornar ao início da transação em caso de falha exemplo: J2EE/EJB Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 21

22 Comunicação Comunicação por troca de mensagem básica ponto a ponto normalmente assíncrona flexível: qualquer aplicação/problema mais eficiente mais complexa (difícil) diferente da comunicação usual em OO exemplo: Java sockets Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 22

23 Comunicação Comunicação por chamada de método mais simples similar à usual chamada de método em OO menos eficiente menos flexível exemplos Java RMI chamada remota em CORBA chamada remota em J2EE C# Remoting Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 23

24 Comunicação (mais) sofisticadas JavaSpaces JMS Espaço de objetos compartilhados Estado e comportamento J2EE Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 24

25 Comunicação Comunicação por protocolos Web exemplos http SOAP Java/servlet SOAP independente de linguagem, plataforma e protocolo de base (implementação) formato mensagem: XML Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 25

26 Sincronização Sincronização em comunicação Inter-programas Assincronismos clássicos do modelo send/receive exemplo: Java sockets inter-objetos (chamada remota de objeto) chamadas síncronas exemplo: Java RMI (RPC) chamadas assíncronas sem resposta chamadas com resposta no futuro Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 26

27 Outras questões importantes Questões Importantes persistência: mapeamento sobre SGBDs, APIs próprias,... replicação: para que? quando? protocolos de consistência? mapeamento em qual computador (cpu) um novo objeto será alocado? idem em caso de migração de um objeto? migração: mobilidade, agentes móveis segurança: principalmente em redes não locais desempenho gerência da concorrência gerência de objetos (servidores,...) comunicação Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 27

28 Questões Importantes Outras questões importantes interoperabilidade entre plataformas (hw e SO), linguagens,... heterogeneidade: acomodação herança: problema com sincronização escalonamento: aplicações de alto desempenho threads (tarefas) em servidores Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 28

29 Questões Importantes Outras questões importantes protocolos de comunicação independentes de hw SO linguagens adaptadas para computação móvel, ubíqua, embarcada,... dispositivos com restrições de memória, cpu, bateria,... Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 29

30 Resumo Sincronização Modelo de distribuição Objeto em geral Opções de criação Muitas opções Tipos de nomeação Nome e referência Sincronização local Opções clássicas (monitor, lock, semáforo, ) Comunicação Send/receive Chamada de método remoto Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 30

31 Exercícios Exercício a) quais das questões acima (até 3) voce acha mais importante? Justifique b) voce acha que um bom ambiente de POD ainda precisa resolver outras questões, por exemplo, devido ao surgimento de novos modelos de computação e aplicações? Quais? Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 31

32 Revisão Quais as questões clássicas (básicas)? Quais (ao menos 4) questões importantes? Modelo atual de concorrência? Modelo de sincronização apropriado para objetos? Modelo de comunicação apropriado para objetos? Revisão Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 32

Sistemas Distribuídos Aula 10

Sistemas Distribuídos Aula 10 Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação

Leia mais

Vamos fazer um pequeno experimento

Vamos fazer um pequeno experimento 1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira [email protected]

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: [email protected] 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com

Leia mais

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos

Leia mais

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA: Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires [email protected]! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização

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

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Introdução Comunicação entre Processos: Soquetes Comunicação por datagrama UDP Comunicação

Leia mais

Resumo: Sistemas Operacionais Abertos

Resumo: Sistemas Operacionais Abertos Resumo: Sistemas Operacionais Abertos Prof. Michael A. Pontes Processos Um processo é um programa em execução. Enquanto um processo é executado, ele muda de estado. O estado de um processo é definido pela

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java Aula 12 - Threads e Concorrência em Java Conteúdo Programático desta aula Aplicar os conceitos e threads, processos concorrentes e sincronização em pequenos programas. Aplicar e verificar os conceitos

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos época de recurso, 28 de Janeiro de 2009 1º Semestre, 2008/2009 NOTAS: Leia com atenção cada questão antes de responder.

Leia mais

Programação Distribuída e Paralela Apresentação

Programação Distribuída e Paralela Apresentação Programação Distribuída e Paralela Apresentação Programação Distribuída e Paralela (C. Geyer) Apresentação V4.2 S 1 Autoria Autoria Local Versão 4.2 Fev 2014 C. Geyer INF UFRGS Disciplinas INF01008 Programação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Introdução Instructor's Guide for Colouris et al. SDs de diferentes tipos compartilham importantes propriedades fundamentais e

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

SIST706 Sistemas Distribuídos

SIST706 Sistemas Distribuídos Slide01 Introdução e Conceitos de Sistemas Distribuídos SIST706 Sistemas Distribuídos 2013/1 Prof. Jéfer Benedett Dörr @: [email protected] profjefer.wordpress.com Sistema Distribuído Definição de Andrew

Leia mais

Programação orientada a objetos

Programação orientada a objetos J100 com Programação orientada a objetos TM SE Helder da Rocha ([email protected]) argonavis.com.br 1 Objetivos Este curso tem como objetivo iniciá-lo em Java... mas não apenas isto Visa também a ajudá-lo

Leia mais

Desenvolvimento Cliente-Servidor 1

Desenvolvimento Cliente-Servidor 1 Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados

Leia mais

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

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

Leia mais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno

Leia mais

Sistemas distribuídos. Prof. Emiliano Monteiro

Sistemas distribuídos. Prof. Emiliano Monteiro Sistemas distribuídos Prof. Emiliano Monteiro Serviços web (web services) Nos serviços web um cliente específico de uma determinada aplicação interage pela Internet com um serviço que possui uma interface

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens

Leia mais

Conceitos básicos sobre computadores

Conceitos básicos sobre computadores SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores Prof. Vanderlei Bonato: [email protected] Sumário O que é um computador e onde podemos encontrá-los? Divisão:

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua

Leia mais

Sistemas Operacionais Aula 3

Sistemas Operacionais Aula 3 Sistemas Operacionais Aula 3 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS Tecnologia em Análise e Desenvolvimento de Sistemas 5ª. Série Programação Distribuída A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido

Leia mais

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81 Sumário 1 Caracterização de Sistemas Distribuídos 1 1.1 Introdução 2 1.2 Exemplos de sistemas distribuídos 3 1.3 Tendências em sistemas distribuídos 8 1.4 Enfoque no compartilhamento de recursos 14 1.5

Leia mais

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; ! Sistemas Distribuídos Aspectos de Projeto de SD Prof. Msc. André Luiz Nasserala Pires [email protected] Aspectos de Projeto em SD! Transparência;! Abertura;! ;! Heterogeneidade;! Segurança;! Tratamento

Leia mais

Sistemas de Objetos Distribuídos

Sistemas de Objetos Distribuídos Sistemas de Objetos Distribuídos Alex Carneiro Carlos Eduardo Elmadjian Karina Awoki Prof. Fabio Kon POO 2016.1 Agenda Conceitos Histórico CORBA Demos Comparação com SOA Conclusão 1 CONCEITOS Sistemas

Leia mais

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto? LabSO Gerência de AULA 3 Flávia Maristela ([email protected]) Romildo Martins ([email protected]) Porque eu preciso entender este assunto? Para entender como um computador consegue executar

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Tópicos O conceito de Características de Carlos Ferraz [email protected] Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito

Leia mais

O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.

O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST. Web Services Por que os Web Services são atrativos para a integração de sistemas? Pois os Web services são componentes que possibilitam que as aplicações se comuniquem utilizando protocolos padrão da internet

Leia mais

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos Aula 1- Introdução aos Sistemas Distribuídos OBJETIVOS DA DISCIPLINA: Compreender os conceitos de Sistemas Distribuídos; Conhecer os principais modelos de arquitetura; Entender a importância dos conceitos

Leia mais

Processos e Threads. Ciclo 2 AT3. Prof. Hermes Senger

Processos e Threads. Ciclo 2 AT3. Prof. Hermes Senger Processos e Threads Ciclo 2 AT3 Prof. Hermes Senger Nota O presente material foi elaborado com base no material didático do livro Sistemas Operacionais, 3ª edição, de H.M.Deitel, P.J. Deitel, D.R. Choffnes,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos UERN Sistemas Distribuídos Prof. André Gustavo [email protected] Sistemas Distribuídos Ementa: Conceitos relacionados com Sistemas Distribuídos. Mecanismos dos Sistemas Operacionais para suporte a distribuição.

Leia mais

Programação concorrente (processos e threads)

Programação concorrente (processos e threads) Programação concorrente (processos e threads) Programação concorrente Por que precisamos dela? Para utilizar o processador completamente Paralelismo entre CPU e dispositivos de I/O Para modelar o paralelismo

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA Identificação: Disciplina: INE5645 - Programação Paralela e Distribuída Carga horária: 72 horas-aula Teóricas: 36 Práticas: 36 Período: 2º semestre de 2014 (em

Leia mais

Comunicação entre processos COMUNICAÇÃO ENTRE PROCESSOS. Comunicação entre processos - troca de mensagens

Comunicação entre processos COMUNICAÇÃO ENTRE PROCESSOS. Comunicação entre processos - troca de mensagens Comunicação entre processos Memória Compartilhada: os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Sem Memória Compartilhada:

Leia mais

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos Sistemas operacionais modernos criam vários processadores virtuais, cada um para executar um programa. Para monitorar

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Características de Sistemas Distribuídos Carlos Ferraz [email protected] 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens

Leia mais

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Aula #6: Programação paralela em sistemas de memória compartilhada. ISUTIC - 2016 Eng. Alexander Rodríguez Bonet Aula de hoje Regiões paralelas. Cláusulas de âmbito. Partilha

Leia mais

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

Invocação Remota. Prof. Leonardo Barreto Campos.   1/29 Invocação Remota Prof. Leonardo Barreto Campos 1/29 Sumário Introdução Chamada de Procedimento Remoto Invocação a Método Remoto Leitura Complementar Bibliografia 2/29 Introdução Essa aula trata como os

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

COMUNICAÇÃO ENTRE PROCESSOS

COMUNICAÇÃO ENTRE PROCESSOS Comunicação entre processos Memória Compartilhada: os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Sem Memória Compartilhada:

Leia mais

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles. Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

ANEXO V Edital nº 03508/2008

ANEXO V Edital nº 03508/2008 ANEXO V Edital nº 03508/2008 Projeto de integração das informações de mandado de prisão e processos dos Tribunais Regionais Federais e do Tribunal de Justiça do Distrito Federal e Territórios O objetivo

Leia mais

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação MULTIPROCESSADORES

Leia mais

Remote Procedure Call. Programação distribuída e paralela (C. Geyer) RPC 1

Remote Procedure Call. Programação distribuída e paralela (C. Geyer) RPC 1 Remote Procedure Call Programação distribuída e paralela (C. Geyer) RPC 1 Autoria Autores C. Geyer Local II-UFRGS Versão V11.4 2014-2 Disciplinas SOII Programação distribuída e paralela (C. Geyer) RPC

Leia mais

Principais conceitos de CORBA

Principais conceitos de CORBA Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Tecnologia em Sistemas para Internet Aula 03 Introdução à Objetivos Conhecer características básicas sobre escalabilidade de SDs; Apresentar alguns exemplos de sistemas distribuídos e características de

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

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

Leia mais

Técnicas Avançadas de Programação

Técnicas Avançadas de Programação Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos

Leia mais

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003 Arquitetura de Aplicações J2EE Jorge Fernandes Outubro de 2003 J2EE O que é Como se organiza Como funciona Elementos Arquitetura Típica Componentes de Software Reuso é um processo Publicar interfaces Distribuir

Leia mais

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores Sistemas Operacionais Sincronização: Semáforos Problema dos Leitores/Escritores Autoria Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina:

Leia mais

IBM WebSphere MQ. Introdução

IBM WebSphere MQ. Introdução Introdução Arquitectura Application Messaging Interface WebSphere Aplication Server WebSphere Business Integration Server Vantagens e desvantagens Introdução Plataforma de integração e infraestrutura de

Leia mais

DESENVOLVIMENTO DE SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

DESENVOLVIMENTO DE SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa Prof. Marcelo de Sá Barbosa LISTA DE EXERCÍCIOS GRUPO 1: MÓDULO 1: Caracterização de Sistemas Distribuídos; Internet; Intranets; Computação Móvel e Ubíqua; Compartilhamento de recursos e a web; Serviços

Leia mais

Programação Concorrente

Programação Concorrente INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica

Leia mais

Programação Paralela e Distribuída

Programação Paralela e Distribuída INE 5645 Programação Paralela e Distribuída Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. Introdução 2. Programação Paralela 3. Controle de Concorrência 4.

Leia mais

Quando Distribuir é bom

Quando Distribuir é bom Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.

Leia mais

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads AULA Nº 08 SISTEMAS OPERACIONAIS Threads Contextualizando Na aula passada Sincronização de Processos Aula de hoje Threads O Modelo de Processo 1) Utilizado para agrupar recursos 2) Um espaço de endereço

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

Programação distribuída e paralela (C. Geyer) RPC 1

Programação distribuída e paralela (C. Geyer) RPC 1 Programação distribuída e paralela (C. Geyer) RPC 1 Autores C. Geyer Local II-UFRGS Versão v6 2008-2 Disciplinas SOII Programação distribuída e paralela (C. Geyer) RPC 2 Bibliografia base original dos

Leia mais

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1 ÍNDICE 12. Sistemas Operacionais de Redes 2 12.1. Conceito 2 12.2. Redirecionador 3 12.3. Arquiteturas 3 12.4. Par a Par 4 12.5. Cliente-Servidor 4 12.6. Os Sistemas Operacionais de Redes e as Arquiteturas

Leia mais

Ruby e JRuby em... Paralelos e Distribuídos. Felipe Barden Lucas Fialho Zawacki

Ruby e JRuby em... Paralelos e Distribuídos. Felipe Barden Lucas Fialho Zawacki Ruby e JRuby em... Paralelos e Distribuídos Felipe Barden 151343 Lucas Fialho Zawacki 172072 Sobre o que vamos falar? A linguagem Ruby e suas aplicações em programação paralela e distribuída. A implementação

Leia mais

Objetos e Componentes Distribuídos: EJB

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

Leia mais