Objetos e Componentes Distribuídos: EJB e CORBA

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

Download "Objetos e Componentes Distribuídos: EJB e CORBA"

Transcrição

1 : 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

2 Objetivos Nesta aula iremos apresentar a solução baseada em middleware para programação em um ambiente distribuído usando componentes.

3 Plano de Aula Objetos e Componentes Distribuídos: EJB Arquitetura CORBA De Objetos a Componentes Essência dos Componentes Componentes e Sistemas Distribuídos Enterprise JavaBeans Modelo de Componentes EJB POJOs e anotações Contêineres EJB

4 Arquitetura CORBA

5 Arquitetura CORBA Projetada para suportar a função do ORB agente de requisição de objeto; O ORB permite aos clientes invocar métodos em objetos remotos; Essa invocação ocorre em um contexto em que clientes e servidores podem ser implementados em uma variedade de linguagens de programação; Importante: O CORBA fornece invocações estáticas e dinâmicas: Estáticas: quando a interface remota do objeto CORBA é conhecida no momento da compilação (mais utilizada); Dinâmicas: caso contrário.

6 Arquitetura CORBA Núcleo ORB Responsável por todo o processo de comunicação entre clientes e servidores; O Núcleo ORB fornece ainda: Operações que o permitem ser iniciado e parado; Operações para fazer a conversão entre referências de objeto remoto e strings; Operações para fornecer listas de argumentos para requisições usando invocação dinâmica;

7 Arquitetura CORBA Adaptador de Objeto Faz a ligação entre objetos CORBA com interfaces IDL e as interfaces da linguagem de programação das classes serventes correspondentes; Suas tarefas: Criar referências de objetos remoto para objetos CORBA; Enviar cada RMI, por meio de um esqueleto, para o servente apropriado; Ativa e desativa serventes; Um adaptador de objeto fornece para cada objeto CORBA um nome de objeto exclusivo; Cada objeto CORBA é registrado em seu adaptador de objetos, o qual mantém uma tabela de objetos remotos;

8 Arquitetura CORBA Esqueleto As classes de esqueleto são geradas na linguagem de programação do servidor por um compilador de IDL; Assim como no RMI JAVA, ele faz: Envia as invocações remotas a serventes apropriados; Desempacota os argumentos nas mensagens de requisição; Empacota as exceções e os resultados nas mensagens de resposta; Stub/proxies de cliente São escritos na linguagem do cliente; As classes de um proxy (para LP O. O) ou um conjunto de procedimentos stub (para LP procedurais) é gerada a partir de uma interface IDL por um compilador de IDL; O que ele faz: Empacota e desempacota, assim como o Esqueleto.

9 Arquitetura CORBA Repositório de Implementações É responsável por ativar servidores registrados sob demanda e por localizar servidores em execução; Armazena um mapeamento dos nomes de adaptadores de objeto para nomes de caminho de arquivos contendo implementações de objeto; As implementações e os adaptadores de objetos são registrados nos repositórios de implementações quando os programas servidores são instalados; Quando as implementações de objeto são ativadas nos servidores, o nome do computador (hostname) e o número da porta são adicionados;

10 Arquitetura CORBA Repositório de Interfaces É responsável por fornecer informações sobre as interfaces IDL registradas para clientes e servidores que as exigirem; Usado por exemplo quando um cliente recebe uma referência remota de um objeto para o qual ele não possui o proxy; Usado em invocações dinâmicas; Nem todos os ORBs fornecem repositórios de interfaces;

11 Arquitetura CORBA

12 Serviços CORBA O CORBA inclui especificação de serviços que podem ser exigidos por objetos distribuídos; O Serviço de Nomes é uma adição essencial em qualquer ORB; Alguns outros serviços: Serviço de negócio: funciona como um Trading Service, permitindo localizar objetos pelos atributos; Serviço de eventos: permite que objetos transmitam notificações para assinantes; Serviços de Segurança: suporta vários serviços de segurança como autenticação, controle de acesso, comunicação segura, etc;

13 De Objetos a Componentes O CORBA tem um papel fundamental na história dos Sistemas Distribuídos; Ele apresentou uma solução viável para os principais problemas na programação de Sistemas Distribuídos: Heterogeneidade; Portabilidade e operação conjunta de software de sistemas distribuídos; A definição de vários Serviços CORBA também foi fundamental (segurança, confiabilidade, etc); Porém apontamos alguns problemas enfrentados pelo desenvolvedor ao usar o CORBA;

14 De Objetos a Componentes Problemas do Middleware Orientado a Objetos Dependências Implícitas Requisito: Há necessidade clara de não apenas especificar as interfaces oferecidas por um objeto, mas também as dependências desse objeto com relação a outros na configuração distribuída. Interação com o Middleware Requisito: Há uma necessidade evidente de simplificar a programação de aplicações distribuídas para apresentar uma clara separação de preocupações entre código relacionado à operação em uma estrutura de middleware e código associado a aplicação, e de permitir que o programador se concentre exclusivamente neste último. Falta de separação de aspectos relacionados à distribuição Requisito: A separação de aspectos mencionados anteriormente também devem abranger o tratamento dos diversos serviços do sistema distribuído e, quando possível, as complexidades do tratamento de tais serviços devem ficar ocultas do programador. Falta de suporte para distribuição Requisito: As plataformas de middleware devem fornecer suporte intrínseco para a distribuição, para que o software distribuído possa ser instalado e implantado da mesma maneira que um software para uma máquina, com as complexidade de distribuição ocultas ao usuário. Objetos e Componentes Distribuídos

15 De Objetos a Componentes Esses quatro requisitos levam ao surgimento de estratégias baseadas em componentes para o desenvolvimento de sistemas distribuídos, junto ao surgimento de middleware baseado em componentes, incluindo o estilo de middleware chamado de servidores de aplicação.

16 Essência dos Componentes Definição de componentes segundo Szyperki: Um componente de software é uma unidade de composição com interfaces especificadas por contratos e somente dependências contextuais explícitas. Importante: Toda dependência contextual deve ser explícita; As dependências também são representadas como interfaces; Um componente de software é especificado em termos de um contrato, o qual inclui: Um conjunto de interfaces fornecidas As interfaces que o componente oferece como serviços para outros componentes; Um conjunto de interfaces exigidas As dependências que esse componente tem em termos de outros componentes que devem estar presentes e conectados a ele para que ele funcione corretamente.

17 Componentes e Sistemas Distribuídos Diversas tecnologias baseadas em componentes vem surgindo: Enterprise JavaBeans CCM (CORBA Component Model) O Middleware baseado em componentes adiciona suporte significativo para o desenvolvimento e implementação de sistemas distribuídos; Na visão dos middlewares baseados em componentes dois pontos são fundamentais: O conceito de Contêineres (fundamental para Middlewares baseados em Componentes) Suporte para a distribuição.

18 Contêineres Os contêineres suportam um padrão comum, geralmente encontrado em aplicações distribuídas: Um cliente front-end (frequentemente web) Um contêiner contendo um ou mais componentes que implementam a lógica de negócio/aplicação; Serviços de sistema que gerenciam os dados associados no armazenamento persistente. As tarefas de um contêiner são: Fornecer um ambiente hospedeiro no lado do servidor gerenciado para os componentes; Fornecer a separação de aspectos, isto é os componentes tratam das necessidades da aplicação e o contêiner trata de problemas dos sistemas distribuídos e do middleware.

19 Contêineres

20 Contêineres O Middleware que suporta o padrão contêiner e a separação de aspectos por esse padrão é conhecido como servidor de aplicação; Esse estilo de programação distribuída esta sendo amplamente utilizada no ambiente corporativo; Atualmente existem diversos servidores de aplicativos: IBM WebSphere Application Server (EJB) Red Hat Jboss (EJB) Oracle GlassFish (EJB) Apple WebObjects para MacOS Zope Application Server para Python.

21 Suporte para Distribuição O Middleware baseado em componentes fornece suporte para a distribuição de configurações de componentes; São usados descritores de distribuição (DD) (geralmente em XML), que descrevem completamente como a configuração deve ser implantada em um ambiente distribuído. Atualmente há um uso maior das anotações; Lembrando: Os componentes são distribuídos em contêineres; Os contêineres interpretam os DDs, geralmente usando alguma ferramenta associada; Os DDs auxiliam na conexão dos componentes, a fornecer o nível de segurança correto, suporte para transações, etc.

22 Enterprise JavaBeans EJB é uma especificação de arquitetura de componentes gerenciada no lado do servidor; Os componentes conhecidos como beans do EJB, oferecem suporte direto a arquitetura de três camadas apresentadas anteriormente; O EJB é gerenciado. O Contêiner responde por vários serviços, tais como: Transação, Segurança e Ciclo de Vida; O EJB é uma arquitetura de componente pesada : Sobrecarga de complexidade pelo gerenciamento do contêiner; Tem como objetivo, manter uma forte separação entre as várias funções envolvidas no desenvolvimento de aplicações distribuídas. Objetos e Componentes Distribuídos

23 Modelo de Componentes do EJB No EJB um bean é um componente que oferece um ou mais interfaces de negócio para clientes; Estas interfaces podem ser remotas ou local; Esta interface de negócio é nossa interface fornecida; As interfaces exigidas são apresentadas através de injeção de dependências; Um bean é representado pelo conjunto de interfaces de negócio remotas e locais, junto a uma classe de bean associada que implementa as interfaces; Inicialmente vamos discutir dois estilos de bean: Bean de Sessão: usam a invocação remota ou local. Bean baseado em mensagem: usam JMS.

24 POJOs e anotações Programar em EJB ficou mais fácil devido ao uso EJBs POJOs (Plain Old Java Objects objetos Java puros) junto a anotações EJB; As anotações foram introduzidas no Java 1.5 como um mecanismo para associar metadados a pacotes, classes, métodos, parâmetros e variáveis; Por exemplo, anotações são usadas para indicar se as interfaces de negócio de um EJB são Remotas ou public interface public interface Frete{...} Vamos perceber na implementação que anotações são usadas por todo o EJB.

25 Contêineres EJB O gerenciamento do EJB como sistema distribuído é feito de forma implícita usando interceptação; Os contêineres fornecem políticas em áreas que incluem: Gerenciamento de Transação; Segurança; Persistência; Ciclo de Vida, etc. Geralmente os contêineres são previamente configurados com as políticas padrões; O Contêiner usa a injeção de dependência, com a qual um agente externo (contêiner) é responsável por gerenciar e solucionar as relações entre um componente e suas dependências (interfaces exigidas).

26 Contêineres EJB

27 Dúvidas Página do Professor Mauro:

28 Próxima Aula Web Services: Introdução e Arquitetura.

29 Referências Sistemas Distribuídos - Conceitos e Projeto, George Coulouris, 4ª Edição - Editora Bookman, 784 páginas.

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

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

Padrões Arquitetônicos

Padrões Arquitetônicos 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

Prof. Me. Sérgio Carlos Portari Júnior

Prof. Me. Sérgio Carlos Portari Júnior Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade

Leia mais

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

Java 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

Plataformas de Distribuição de Objetos

Plataformas de Distribuição de Objetos Plataformas de Distribuição de Objetos Denominações Equivalentes: Modelos de Componentes Modelos de Integração de Objetos Motivação: Reuso de objetos Redução do Tempo e do Custo de Desenvolvimento de Software

Leia mais

Web Services REST. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Web Services REST. 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

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

Java para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets

Java para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets Java para Web & EJB Teoria, prática e questões Módulo Introdução e Servlets Introdução ao Desenvolvimento Web com Java Tópicos Aplicações, componentes e containers web Aplicações web Modelo de aplicações

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como

Leia mais

Common Object Request Broker Architecture

Common Object Request Broker Architecture Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores

Leia mais

7.1 Trabalhos Relacionados

7.1 Trabalhos Relacionados 7 Conclusões O desenvolvimento de aplicações adaptáveis traz novos desafios em relação ao desenvolvimento de software convencional. Em parte, isso está relacionado às diferentes características das diversas

Leia mais

Sistemas Distribuídos: Conceitos e Projeto RPC e RMI

Sistemas Distribuídos: Conceitos e Projeto RPC e RMI Sistemas Distribuídos: Conceitos e Projeto RPC e RMI Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 15 de abril

Leia mais

Sistemas Distribuídos

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

Leia mais

PMR3507 Fábrica digital

PMR3507 Fábrica digital LSA Laboratório de Sistemas de Automação www.pmrlsa.poli.usp.br PMR3507 Fábrica digital Do EDI ao SOA Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas

Leia mais

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP Aluno: Abel Luiz Cechinel Orientador: Paulo Fernando da Silva Sumário Introdução; Fundamentação Teórica; Desenvolvimento; Conclusão;

Leia mais

JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB

JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB INTRODUÇÃO AO DESENVOLVIMENTO WEB COM JAVA Tópicos Aplicações, componentes e containers web Aplicações web Modelo de aplicações

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 Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas SOA e Web Services 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 Arquitetura

Leia mais

Introdução a CORBA. Renato Cerqueira. Departamento de Informática, PUC-Rio

Introdução a CORBA. Renato Cerqueira. Departamento de Informática, PUC-Rio Introdução a CORBA Renato Cerqueira Departamento de Informática, PUC-Rio Ferramentas de Programação p/ SD Vários níveis de abstração Sockets (TCP/IP) Chamada de Procedimentos Remotos (RPC) Objetos Distribuídos

Leia mais

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Rede de computadores Cliente- servidor. Professor Carlos Muniz Rede de computadores Professor Carlos Muniz Definição Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores.

Leia mais

INTRODUÇÃO. RPC x RMI

INTRODUÇÃO. RPC x RMI 1 INTRODUÇÃO RPC x RMI 2 INTRODUÇÃO RPC Remote procedure call Este termo é utilizado para aplicativos clientes que fazem normalmente chamadas a procedimentos remotos que estão em outro processo e hosts.

Leia mais

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE

Leia mais

Modelo de Componentes CORBA

Modelo de Componentes CORBA Modelo de Componentes CORBA Cláudia Brito L. N. da Silva cblns@cin.ufpe.br Roteiro 1. Visão geral 2.! Definindo componentes! Implementando componentes! Empacotando componentes! Instalando componentes!

Leia mais

Introdução a Computação em Nuvem

Introdução a Computação em Nuvem Introdução a Computação em Nuvem 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

Leia mais

Arquiteturas. Capítulo 2

Arquiteturas. Capítulo 2 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas Híbridas Arquiteturas e Middleware Sistemas Distribuídos

Leia mais

Microsoft Visual Studio Community 2013

Microsoft Visual Studio Community 2013 Microsoft Visual Studio Community 2013 Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação

Leia mais

Sistemas Distribuídos CORBA. Edeyson Andrade Gomes.

Sistemas Distribuídos CORBA. Edeyson Andrade Gomes. Sistemas Distribuídos CORBA Edeyson Andrade Gomes www.edeyson.com.br Introdução Middleware Camada de software que abstrai a complexidade e a heterogeneidade do ambiente distribuído Objetivos Facilita a

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito

Leia mais

Programação Distribuída. Arquiteturas

Programação Distribuída. Arquiteturas Programação Distribuída Arquiteturas Programação Distribuída A arquitetura de um Sistema Distribuído diferencia entre a organização de componentes de software e a realização física. A organização de sistema

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Arquiteturas Capítulo 2 Sistemas Distribuídos ORGANIZAÇÃO + INTERAÇÃO SOFTWARE ARQUITETURAS DE SISTEMAS ARQUITETURAS DE SOFTWARE + MÁQUINA REAL

Leia mais

Análise comparativa entre as especificações de objetos distribuídos DCOM e CORBA

Análise comparativa entre as especificações de objetos distribuídos DCOM e CORBA Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Análise comparativa entre as especificações de objetos distribuídos DCOM e CORBA Acadêmico: Rubens Bósio Orientador: Marcel Hugo Blumenau,

Leia mais

Arquiteturas. capítulo

Arquiteturas. capítulo Arquiteturas capítulo 2 Modelos de arquitetura de sistemas distribuídos Clientes realizam pedidos a servidores Client invocation invocation Server result Server result Client Key: Process: Computer: Modelos

Leia mais

5 Trabalhos Relacionados

5 Trabalhos Relacionados 5 Trabalhos Relacionados Durante o trabalho desenvolvido nesta dissertação foram estudadas diversas tecnologias que têm objetivos semelhantes ao nosso. Os trabalhos estudados apresentam modelos de programação

Leia mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data Warehouse ETL. Rodrigo Leite Durães. Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 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

Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/ v0.1

Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/ v0.1 Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/2013 - v0.1 Orientação a objetos Classe Métodos Visibilidade Tipo de retorno Tipo dos parâmetros Atributos Tipo Visibilidade

Leia mais

Introdução a Sistemas Distribuídos

Introdução a Sistemas Distribuídos 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

Comunicação. capítulo

Comunicação. capítulo Comunicação capítulo 4 Camadas de protocolos: Modelo OSI Camadas de protocolos: Mensagem Protocolos de baixo nível Estas camadas implementam as funções básicas que envolvem uma rede de computadores: Física:

Leia mais

Engenharia de Software

Engenharia de Software Arquitetura de Sistemas Distribuídos Cap. 12 Sommerville 8 ed. Introdução: É um software que usa várias máquinas para executar suas tarefas. Praticamente todos os sistemas baseado em grandes computadores

Leia mais

Arquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web

Arquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web Arquitetura e Objetos Distribuídos em CORBA Aula 3 Especificações OMA Object Web The Client/Server Evolution O que é a tecnologia CORBA? CORBA Common Object Request Broker Architecture Uma camada de software

Leia mais

Web Services REST e JSON

Web Services REST e JSON 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

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Bruno Costa Silva 1, Ricardo Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil brunocostasilva62@hotmail.com,

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2013-2 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

3 Trabalhos relacionados

3 Trabalhos relacionados 3 Trabalhos relacionados Adaptação e implantação dinâmicas são requisitos de aplicações em diversos domínios. Diversas abordagens são capazes de promover adaptação e implantação em tempo de execução. Alguns

Leia mais

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS Modelos: Para que um sistema, ao ser projetado, alcance as características de um sistema distribuído, esse deve ser desenvolvido em cima de algum modelo de computação

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Arquitetura 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 Arquitetura

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 nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização

Leia mais

Web Presentation Patterns - Controllers

Web Presentation Patterns - Controllers Instituto Superior Técnico 29 de Novembro de 2004 1 2 3 Page Controller Front Controller 4 5 Porquê Usar Web Applications Não necessita instalar software no cliente. Acesso universal fácil. Interface comum

Leia mais

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Introdução Necessidade de diminuir a complexidade na interação código-banco de dados para o programador,além de diminuir

Leia mais

Arquitetura em Camadas

Arquitetura em Camadas Arquitetura em Camadas 1 Introdução Em aplicações OO de médio e grande porte, diversos aspectos devem ser considerados: Apresentação Lógica da aplicação Lógica do negócio Persistência de Objetos Camada

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

Plataformas de Distribuição de Objetos

Plataformas de Distribuição de Objetos Plataformas de Distribuição de Objetos Denominações Equivalentes: Modelos de Componentes Modelos de Integração de Objetos Motivação: Reuso de objetos Redução do Tempo e do Custo de Desenvolvimento de Software

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

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 - Arquitetura Em sistemas distribuídos a meta é separar aplicações das plataformas subjacentes,

Leia mais

Aspectos para Construção de Aplicações Distribuídas

Aspectos para Construção de Aplicações Distribuídas Aspectos para Construção de Aplicações Distribuídas Cristiano Amaral Maffort maffort@gmail.com Programa de Pós-Graduação em Informática PUC Minas Belo Horizonte MG 12 de junho de 2007 Middleware Objetivo:

Leia mais

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 11 Serviços de Envio de

Leia mais

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru 1 Introdução Atualmente a demanda pela construção de novos sistemas de software tem aumentado. Junto com esse aumento também cresce a complexidade das soluções que estão sendo desenvolvidas, o que torna

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído 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

Leia mais

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

SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE

SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE 12/2013 Acadêmico: Rogério Mello Vanti Orientador: Paulo Fernando da Silva Roteiro Introdução Fundamentação teórica Resultados

Leia mais

Introdução ao Desenvolvimento de

Introdução ao Desenvolvimento de Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo

Leia mais

Sistemas Corporativos Visão Geral e Arquitetura

Sistemas Corporativos Visão Geral e Arquitetura INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS NATAL-CENTRAL DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

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 nassserala@gmail.com Aspectos de Projeto em SD! Transparência;! Abertura;! ;! Heterogeneidade;! Segurança;! Tratamento

Leia mais

SISTEMAS DISTRIBUIDOS

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

Leia mais

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling. Tópicos Comunicação Carlos Ferraz cagf@cin.ufpe.br Elementos básicos de comunicação Transmissão de dados Endereçamento Sincronismo Enfileiramento (Bufferização) Confiabilidade Portas e sockets UDP RPC:

Leia mais

Nuvem e Virtualização Redes Programáveis

Nuvem e Virtualização Redes Programáveis Nuvem e Virtualização Redes Programáveis Visão Geral da Nuvem A computação em nuvem envolve muitos computadores conectados em uma rede, possibilitando que eles sejam fisicamente localizados em qualquer

Leia mais

Introdução a Computação em Nuvem

Introdução a Computação em Nuvem Introdução a Computação em Nuvem 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

Leia mais

CBSE. Independência e Padronização. Características da CBSE. Fundamentos da CBSE. Middleware e Processo 22/05/2013

CBSE. Independência e Padronização. Características da CBSE. Fundamentos da CBSE. Middleware e Processo 22/05/2013 DCC / ICEx / UFMG CBSE Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo A CBSE foi proposta na década de 90 Foi motivado pelo limitado suporte

Leia mais

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos Eduardo Santana de Almeida Daniel Lucrédio Calebe de Paula Bianchini Antonio Francisco do

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

Serviços Web: Introdução

Serviços Web: Introdução 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

Classes de Projeto. Prof. Anderson Cavalcanti UFRN-CT-DCA

Classes de Projeto. Prof. Anderson Cavalcanti UFRN-CT-DCA Classes de Projeto Prof. Anderson Cavalcanti UFRN-CT-DCA Linhas Gerais sobre as Classes de Projeto Especificação de Classes de Projeto Especificação de classes de fronteira Responsáveis pela interação

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 12 Beans Orientados a

Leia mais

Enterprise Java Beans (I)

Enterprise Java Beans (I) Enterprise Java Beans (I) Professor: Diego Passos UFF dpassos@ic.uff.br Baseado no material original cedido pelo Professor Carlos Bazilio Java Beans Conceito já discutido na disciplina. São classes Java

Leia mais

Módulo II Arquitetura em Camadas

Módulo II Arquitetura em Camadas Módulo II Arquitetura em Camadas Prof. Ismael H F Santos April 08 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Arquitetura de camadas de Software Arquiteturas em Camadas Padrões para

Leia mais

Protocolo Request-Reply

Protocolo Request-Reply n n n n Protocolo Request-Reply Modelo de Objeto Remoto Semânticas de Invocação Remota Arquitetura de Invocação Remota Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Características de

Leia mais

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Disciplina: Banco de Dados Prof: Márcio Palheta, Esp.

Leia mais

Enterprise JavaBeansTM

Enterprise JavaBeansTM J530 Aplicações distribuídas usando Enterprise JavaBeansTM e Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivos Oferecer uma introdução prática à tecnologia Enterprise JavaBeansTM (EJB) Este

Leia mais

CENTRO UNIVERSITÁRIO DO TRIÂNGULO INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE CIÊNCIA DA COMPUTAÇÃO OBJETOS DISTRIBUÍDOS ELIANA SILVA SOUZA

CENTRO UNIVERSITÁRIO DO TRIÂNGULO INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE CIÊNCIA DA COMPUTAÇÃO OBJETOS DISTRIBUÍDOS ELIANA SILVA SOUZA CENTRO UNIVERSITÁRIO DO TRIÂNGULO INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE CIÊNCIA DA COMPUTAÇÃO OBJETOS DISTRIBUÍDOS ELIANA SILVA SOUZA Uberlândia, dezembro de 2000 CENTRO UNIVERSITÁRIO DO

Leia mais

JINI. Rodrigo Campiolo João Bosco Mangueira Sobral. Disciplina: Computação Distribuída Curso: Sistemas de Informação

JINI. Rodrigo Campiolo João Bosco Mangueira Sobral. Disciplina: Computação Distribuída Curso: Sistemas de Informação JINI Rodrigo Campiolo João Bosco Mangueira Sobral Disciplina: Computação Distribuída Curso: Sistemas de Informação O que é Jini É um sistema distribuído baseado na idéia de federação de grupos de usuários

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

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 Arquitetura Web e Serviços 2 Contentores Java e o Ciclo de Vida 4 Servlets com o NetBeans

Leia mais

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Sistema Operacional. Prof. Leonardo Barreto Campos.   1/30 Sistema Operacional Prof. Leonardo Barreto Campos 1/30 Sumário Introdução Middleware e SO de Rede SO de Rede Processos e Threads Leitura Complementar Bibliografia 2/30 Introdução A tarefa de qualquer sistema

Leia mais

2 Componentes de Software

2 Componentes de Software 2 Componentes de Software A proposta de componentes de software surgiu no final dos anos 60 como uma tentativa de suprir a necessidade de construir software de forma rápida e barata [12]. Entretanto, foi

Leia mais

Processos ca 3 pítulo

Processos ca 3 pítulo Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais