Desenvolvimento Cliente-Servidor 1



Documentos relacionados
Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Distribuídos

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC

Sistemas Distribuídos

SISTEMAS DISTRIBUIDOS

Sistema centralizado O Paradigma Cliente/Servidor

Paradigma Cliente/Servidor

UNIVERSIDADE. Sistemas Distribuídos

Web Technologies. Tópicos da apresentação

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5


Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

SISTEMAS DISTRIBUÍDOS

UFG - Instituto de Informática

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

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

INE Sistemas Distribuídos

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

Service Oriented Architecture SOA

Departamento de Informática

Sistemas Distribuídos

Curso de Aprendizado Industrial Desenvolvedor WEB

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

Web Services. (Introdução)

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/ Faculdade de Ciências da Universidade de Lisboa

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Sistemas Distribuídos

Arquitetura de Sistemas Operativos

Departamento de Informática

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Modelos de Arquiteturas. Prof. Andrêza Leite

Serviços Web: Introdução

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Tecnologia de Sistemas Distribuídos Capítulo 8: Sistemas de Ficheiros Distribuídos Paulo Guedes

Introdução. Sistemas Distribuídos. Mas, o que é um sistema distribuído? Seriamente. Professor: Paulo Jorge Marques. Professora Práticas: Pinki Meggi

Mestrado em Segurança da Informação e Direito no Ciberespaço. Segurança da informação nas organizações Gestão de Configuração

Sistemas Distribuídos

Sistemas Distribuídos

Tipos de Computadores

Sistemas Distribuídos

Programação de Sistemas

Programação de Sistemas

Servidor de Dados. Sistemas de Informação Módulo 4

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes

SIMA. Sistema Integrado de Monitorização, Controlo e Alarme

Adriano Reine Bueno Rafael Barros Silva

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

Sistemas Distribuídos Arquiteturas Middlewares

Sistemas Distribuídos

Arquiteturas de Sistemas Distribuídos

Sistemas Cliente-Servidor

Rede de Computadores II

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Comunicando através da rede

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

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

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

Sistemas Distribuídos Aula 2

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

UFG - Instituto de Informática

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

Padrões Arquiteturais e de Integração - Parte 1

Programação para Internet I. 2. O protocolo HTTP. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Departamento de Informática

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

PROJETO E IMPLANTAÇÃO DE INTRANETS

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

REDES COM INTEGRAÇÃO DE SERVIÇOS

World Wide Web e Aplicações

Fábio Costa e Miguel Varela

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Escola Superior de Tecnologia de Setúbal. Projecto Final

Comunicação. Parte II

Serviço a Pedido ( On Demand ) da CA - Termos e Política de Manutenção Em vigor a partir de 1 de Setembro de 2010

Prof. Sandrina Correia

Transcrição:

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 1 Desenvolvimento Cliente- 1.1 Características de um sistema -servidor 1.2 Diferentes 'versões' de -servidor 1.2.1 es de ficheiros 1.2.2 es de bases de dados 1.2.3 es de transacções 1.2.4 es de groupware 1.2.5 es de objectos 1.2.6 es de web 1.3 Middleware 1.4 Balanceamento -servidor 1.5 Cliente-servidor 2 camadas vs 3 camadas 1.6 Componentes de uma arquitectura -servidor 1.6.1 Componentes do 1.6.2 Componentes do servidor 1.6.3 Componentes do middleware Alexandre Bragança Pág 2

1.1 Características de um sistema -servidor Serviço Cliente-servidor é uma relação entre processos que estão a correr em máquinas diferentes. O processo servidor é o fornecedor dos serviços. O é o consumidor de serviços. Fundamentalmente uma arquitectura -servidor implemente uma separação lógica de funções baseada no conceito de serviço. Recursos partilhados Um servidor pode servir vários s ao mesmo tempo e gerir os acessos a recursos partilhados. Protocolos assimétricos Existe uma relação de muitos-para-um entre s e servidor. Os s iniciam o diálogo através da requisição de um serviço. Os servidores esperam passivamente os pedidos dos s. Localização transparente O servidor é um processo que pode residir na mesma máquina que o ou numa máquina diferente que esteja ligada através de uma rede. Um programa pode ter o papel de, servidor ou ambos. Independência O conceito inerente às arquitecturas -servidor baseia-se em software que deve ser independente de hardware ou sistemas operativos. Alexandre Bragança Pág 3

Baseado na transmissão de mensagens Clientes e servidores devem estar ligados de forma 'fraca', ou seja, não deve ser obrigatório que o servidor esteja a correr para que o possa correr. Sistemas deste tipo são normalmente baseados em mensagens. A mensagem é o mecanismo de transporte para os pedidos e respostas dos serviços. Encapsulamento de serviços Um servidor deve ser um programa 'especializado'. As mensagens transmitem o pedido de serviço ao servidor. O servidor é que deve ser responsável pela forma como implementa o serviço. A forma de implementar os serviços pode ser melhorada/alterada sem implicações ao nível dos s. Escalabilidade Os sistemas -servidor podem evoluir facilmente quer por adição de novos s quer por evolução para novas máquinas servidoras mais potentes. Integridade O código e dados do servidor devem ser mantidos centralmente. Desta forma reduzem-se os custos de manutenção e aumenta-se a integridade dos dados. Alexandre Bragança Pág 4

1.2 Diferentes 'versões' de -servidor 1.2.1 es de ficheiros Pedidos de ficheiros de ficheiros Num sistema deste género o executa pedidos de registos de ficheiros ao servidor de ficheiros através da rede. É uma forma muito primitiva de serviço de dados e provoca uma troca muito elevada de mensagens pela rede. São no entanto sistemas necessários para a partilha repositórios de ficheiros em rede (documentos, imagens, desenhos, etc. ). 1.2.2 es de bases de dados Instruções SQL SGBD Num servidor de base de dados o que é transmitido na rede (do para o servidor) são instruções de SQL. O resultado da instruções de SQL são envidas para o. O código que processo as instruções SQL e os dados residem na mesma máquina (o servidor). É o servidor que determina quais os registos resultantes da instrução e são apenas estes que são enviados pela rede. Nos servidores de ficheiros todos os registos são enviados pela rede e é o que determina aqueles que interessam. Alexandre Bragança Pág 5

1.2.3 es de transacções Transacções SGBD Monitor TP Com os servidores de transacções os s invocam procedimentos remotos que residem no servidor (com uma base de dados). Estes procedimentos remotos são constituídos por grupos de instruções SQL. As instruções do procedimento são executadas na totalidade ou então falha tudo. Ao contrário do simples servidor de base de dados neste caso o programador tem que escrever código no e no servidor. Estes sistemas usualmente designam-se de OLTP (Online Transaction Processing) 1.2.4 es de groupware Mensagens Groupware de Groupware O objectivo dos sistemas groupware é o de facilitar a gestão de informação semi-estruturada (ou não-estruturada) tal como texto, imagem, e-mail, etc.. Para além disso normalmente estes sistemas também implementam capacidades de automação de workflow. Estes sistemas suportam-se sobre sistemas de transmissão de mensagens. Existem diversos sistemas que embora se possam interligar são implementados de formas diferentes. Alexandre Bragança Pág 6

1.2.5 es de objectos ORB ORB Invocação de Métotos Remotos RMI / RPC ORB Objectos OBJ Um sistema deste tipo é implementado através de um conjunto de objectos que podem comunicar entre si. Objectos comunicam com objectos servidores através do Object Request Broker (ORB). Quando o invoca um método num objecto remoto o ORB localiza a instância do objecto servidor, invoca o método e retorna o resultado ao objecto. As tecnologias concorrentes nesta área são o CORBA e o DCOM. 1.2.6 es de web HTML HTTP - TCP/IP Documentos HTML CGI Java O novo modelo introduzido pela internet consiste em s 'leves', 'portáveis' e 'universais' que comunicam com servidores 'super pesados' (servem milhares ou milhões de s). A comunicação é feita por um protocolo do tipo RPC designado por HTTP. Alexandre Bragança Pág 7

1.3 Middleware 'Aquilo' que se encontra entre o e o servidor Começa com a API que o utiliza para invocar um serviço, inclui a transmissão do pedido pela rede assim como da resposta. O Middleware não inclui o software que executa o serviço (esta é a função do servidor) O Middleware não inclui o interface (esta é uma função do ) Existem 2 categorias de middleware Middleware genérico Normalmente inclui tudo o que tem que ver com transporte (stacks de comunicação, serviços de directório, serviços de autenticação, RPCs, etc.). Serviços de Middleware Middleware especifico de base de dados (ODBC ) Middleware especifico de groupware (MAPI, VIM ) Middleware especifico de serviços de objectos (CORBA, DCOM ) Middleware especifico de internet (HTTP, SSL ) Middleware de gestão especifico (ORB ) 1.4 Balanceamento -servidor Como distribuir uma aplicação entre e servidor? Groupware e servidores de Web são servidores 'pesados' es de ficheiros e de base de dados são exemplos de s 'pesados' Objectos distribuídos estão no meio (normalmente ) Alexandre Bragança Pág 8

1.5 Cliente-servidor 2 camadas vs 3 camadas As aplicações podem normalmente ser divididas logicamente em interface, lógica de negócio e base de dados No chamado -servidor a 2 níveis a lógica de negócio está dividida entre e servidor No servidor a 3 níveis (ou n níveis) existe um nível independente só para a lógica de negócio. Esta solução permite um desempenho e uma evolução superior. O exemplo por excelência desta arquitectura são as soluções de objectos distribuídos. As soluções Web também se enquadram normalmente desta categoria. 1.6 Componentes de uma arquitectura -servidor 1.6.1 Cliente Baseia-se fundamentalmente no interface gráfico da aplicação. Cada vez mais este é um Object Oriented User Interface (OOUI). Acede a serviços através do middleware 1.6.2 Executa a parte de serviços da aplicação. Utiliza normalmente servidores específicos de software (SGBDs (relacionais ou OO), Monitores TP, servidores de groupware, servidores de objectos e servidores de Web) 1.6.3 Middleware Executa no e no servidor. Normalmente está dividido em stacks de transporte (TCP/IP, NetBios, IPX/SPX, SNA, ), Sistemas Operativos de Rede ou serviços de rede (NOS = serviços de directório, segurança, RPC, mensagens, etc.) e serviços específicos de middleware (ODBC, Mail, ORB, HTTP, ) Alexandre Bragança Pág 9