320 likes | 428 Views
Tópicos. Nível Aplicação CASE’s e SASE’s Common Application Service Elements Associação entre Aplicações ACSE RTSE ROSE CCR. Nível Aplicação. Estrutura do nível Aplicação.
E N D
Tópicos • Nível Aplicação • CASE’s e SASE’s • Common Application Service Elements • Associação entre Aplicações • ACSE • RTSE • ROSE • CCR Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Nível Aplicação Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Estrutura do nível Aplicação • Application process (RSE) existe sempre mesmo que a aplicação não comunique com outra entidade. A OSIE existe quando a aplicação tem necessidade de comunicar. • A OSIE pode ser precisa em várias aplicações diferentes com as mesmas necessidades de comunicação. São assim identificadas funcionalidades comuns que agrupadas em módulos podem ser instanciados por diferentes aplicações e usados para fins idênticos. • ASE’s: Application Service Elements: Conjunto integrado de funções que no seu todo fornecem uma ou mais capacidades de comunicação precisas a várias aplicações. • Os serviços oferecidos por estes módulos aliviam o programador de pensar na sua concepção, concentrando-se somente na programação da aplicação e sua interface com os módulos de que a aplicação necessita para estabelecer a comunicação. Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
CASE’s e SASE’s • Os protocolos da camada de aplicação são classificados em: • Common Application Specific Elements (CASE); • Specific Application Specific Elements (SASE). • Os elementos de serviço CASE são requisitados em geral pelas aplicações. Os elementos SASE são incluídos quando a sua funcionalidade específica é necessária. • Exemplos de SASE’s: • FTAM: File Transfer, Access and Management • JTM: Job Transfer and Manipulation • X.400: Correio Electrónico Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Common Application Service Elements • Association Control Service Element (ACSE) • permite estabelecer e terminar associações entre entidades aplicação; • Reliable Transfer Service Element (RTSE) • permite a transferência fiável de informação entre entidades pares • Remote Operations Service Element (ROSE) • permite invocar operações numa máquina remota • Commitment, Concurrency and Recovery (CCR) • permite recuperar de falhas durante a execução duma tarefa usando procedimentos de salvaguarda e retoma de operações Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Associação entre aplicações • No contexto do nível aplicacional não é correcto o termo conexão entre aplicações, mas existe sim, uma associação entre aplicações. • Estabelece o ambiente de comunicações: • Contexto de aplicação: lista de ASE’s usadas; • Sintaxe abstracta: natureza das APDU’s a transferir; • Oferece base para coordenar interacções entre aplicações • identificação exacta das partes comunicantes (podem existir várias instâncias duma mesma aplicação) Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
ACSE e suas APDU’s • É normalmente o primeiro módulo a ser usado • Estabelecimento de associação: A-ASSOCIATE (serviço confirmado: AARQ/AARE) • Terminação normal da associação: A-RELEASE (serviço confirmado: RLRQ/RLRE) • Terminação anormal (aborto) da associação: • iniciada por uma das entidades aplicação: A-ABORT (serviço não confirmado: ABRT) • iniciada pelo fornecedor do serviço: A-P-ABORT Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
ACSE ACSE A-ASSOCIATE.Req AARQ Ind. Rsp. Cnf. AARE (+/-) Estabelecimento da Associação • Parâmetros do A-ASSOCIATE: • Contexto de Aplicação (AARQ/AARE) • Identificação do chamador (*/ ) • Identificação do chamado (*/*) • Informações do utilizador (*/ ) • Resultado (aceitação/rejeição) ( /*) • Fonte do resultado ( /*) • Diagnóstico ( /*) Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
ACSE ACSE A-RELEASE.Req RLRQ Ind. Rsp. Cnf. RLRE (+/-) Terminação Normal da Associação • Parâmetros do A-RELEASE: • Razão (RLRQ/RLRE) • Informações do utilizador (opcional (*/*) • Resultado (aceitação/rejeição) (obrigatório) ( /*) Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
ACSE ACSE A-ABORT.Req ABRT Ind. Aborto da Associação • Parâmetros do A-ABORT: • Fonte (ABRT) • Informações do utilizador (opcional) ACSE ACSE • Parâmetros do A-ABORT: • Fonte é indicada pelo serviço de apresentação A-P-ABORT.ind A-P-ABORT.ind Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
RTSE • Objectivos: • Transferência robusta de APDU’s, isto é, com recuperação de falhas na associação ou no sistema terminal (não da rede), sem perdas, duplicação ou falta de sequência dos dados. • Esconde a complexidade da camada apresentação sobre a qual implementa serviços simples de transferência de dados. • Recupera de falhas de associação (não de rede…) duma forma positiva, isto é , tentando restabelecer a associação sem que o utilizador se aperceba. Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
RTSE Elemento de Utilizador Elemento de Utilizador ASEs ASEs Protocolo RT RTSE RTSE ACSE Associação ACSE Serviço Apresentação Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Serviços RTSE • Gestão da associação: • O utilizador do RTSE (por ex. O ROSE) tem primeiro de iniciar o serviço para estabelecimento da associação. Pode ou não usar o ASCE para esse fim; • No fim, o utilizador invoca o término normal da associação; • São inclusos também os serviços de aborto da associação; • Transferência de dados: • Envio de mensagens através dos serviços de transferência; • Cada mensagem enviada é confirmada (+/-); caso (-) é reenviada; • Gestão do turno: • Paralelo com a vez de transmitir dados em modo half-duplex; • O turno identifica quem pode transmitir APDU’s para a entidade RTSE par; Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Serviço Tipo de serviço Função RT-OPEN Confirmado Estabelecimento da associação RT-CLOSE Confirmado Término da associação RT-TRANSFER Confirmado Transferência de dados RT-TURN-PLEASE Não confirmado Requisição da vez RT-TURN-GIVE Não confirmado Passagem da vez RT-U-ABORT Não confirmado Aborto iniciado pelo utilizador RT-P-ABORT Iniciado fornecedor Aborto iniciado pelo fornecedor Serviços RTSE Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Serviço RT-OPEN RT-CLOSE RT-TRANSFER RT-TURN-PLEASE RT-TURN-GIVE RT-U-ABORT RT-P-ABORT Parâmetros das Primitivas RTSE Parâmetros Modo de diálogo; Vez inicial; Dados; parâmetros do A-Associate Dados; parâmetros do A-Release APDU do utilizador; tempo de transferência; resultado (+/-) Prioridade - Dados do utilizador - Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
RT-CLOSE.Req RT-OPEN.Req RT-OPEN.ind RT-CLOSE.ind RTSE chamador RTSE chamado Sessão RT RT-OPEN.cnf (+) RT-OPEN.rsp (+) RT-TRANSFER.Req RT-TRANSFER.ind RT-TRANSFER.cnf (+) RT-TURN-GIVE.Req RT-TURN-GIVE.ind RT-TRANSFER.Req RT-TRANSFER.ind RT-TRANSFER.cnf (+) RT-TURN-PLEASE.Req RT-TURN-PLEASE.ind RT-TURN-GIVE.ind RT-TURN-GIVE.Req RT-CLOSE.cnf (+) RT-CLOSE.rsp (+) Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Sessão RT Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
ROSE • Objectivos: • Fornecer uma interface à entidade aplicação para execução de operações remotas, efectuadas noutra entidade aplicação. • Paradigma cliente/servidor: emissão de pedido de operação remota; tentativa de satisfazer o pedido; envio de réplica sob a forma de resultado ou de erro. • Nem todas as operações exigem que a entidade remota responda • Nem sempre é a mesma entidade que inicia a operação. (depende da Classe de associação) • O utilizador do ROSE necessita apenas de especificar qual a operação que vai efectuar, fornece os argumentos associados e determina como os resultados recebidos devem ser formatados e entendidos. Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Classificação das Operações Remotas Classe de op. Modo de op. Réplica Classe 1 Síncrono Resultado ou erro Classe 2 Assíncrono Resultado ou erro Classe 3 Assíncrono Erro Classe 4 Assíncrono Resultado Classe 5 Assíncrono - • Dependendo do modo de operação (assíncrono ou síncrono), pode a mesma entidade efectuar mais que um pedido de operação remota sem que espere a resposta do pedido anterior, ou não. Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Especificação de Operações Remotas Tipo de op. Cliente Servidor Tipo A Operação X Operação Z Operação Y Operação Argumentos do Request Argumentos do Result Condições de erro Op. X Ud-tipo1 Ud-tipo3 erro1, erro2, erro4 Op. Y Ud-tipo2 Ud-tipo3 erro1, erro3 Op. Z Ud-tipo1 Ud-tipo3 erro1, erro3, erro4 Erro Especificação de erro Erro1 Erro-tipo1 Erro2 Erro-tipo2 ... Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Serviços ROSE Serviço Tipo de serviço Parâmetros RO-INVOKE Não Confirmado Classe e ID op..; ID invocação; Dados; Pri.; RO-RESULT Não Confirmado ID op.; ID invocação; Dados; Prioridade; RO-ERROR Não Confirmado ID erro; ID invocação; Dados; Prioridade; RO-REJECT-U Não Confirmado ID da invocação; Razão; Prioridade RO-REJECT-P Iniciado Fornecedor ID da invocação; Razão; Parâmetros retornados; • Cada Invocação duma operação é univocamente identificada por um número, tal que, a resposta consequente possa ser correctamente relacionada com o pedido respectivo; • Não existe alguma primitiva confirmada; Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Genérica ROSE APDU’s Tipo ID invocação Outros parâmetros RO-INVOKE ROIV ID invocação ID op. Argumentos Linked-ID RO-RESULT RORS ID invocação ID op. Resultados RO-ERROR ROER ID invocação ID. Erro. Parâmetros de erro RO-REJECT RORJ ID invocação Problema Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Procedimento Geral RO- qq.req Transfer.req Dados=APDU Preenchimento da APDU a partir dos parâmetros recebidos na primitiva Preenchimento dos parâmetros da primitiva a partir da APDU Transfer.ind APDU=Dados RO- qq.ind • O serviço de transferência de APDU’s pode ser encarregado ou directamente à camada de Apresentação ou ao RTSE Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Alternativas para a transferência de ROSE APDU’s A) User B) ROSE ROSE RTSE ACSE ACSE Apresentação A) RTSE presente no contexto de Aplicação; B) RTSE não presente no contexto de Aplicação; Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Fases da Associação Iniciador Iniciado A-ASSOCIATE.Req A-ASSOCIATE.ind • O ROSE exige uma associação (e não mais que uma); • Somente o iniciador da associação é que pode requerer a terminação normal desta • O iniciador não deve terminar a associação sem que antes todas as invocações de operações remotas tenham sido confirmadas A-ASSOCIATE.Cnf A-ASSOCIATE.rsp RO-INVOKE.Req RO-INVOKE.ind RO-RESULT.ind RO-RESULT.Req A-RELEASE.Req A-RELEASE.ind A-RELEASE.Cnf A-RELEASE.rsp Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Invocação de uma operação remota ROSE P P ROSE RTSE RTSE ROIV RO-INVOKE.Req RT-TRANSFER.Req RT-TRANSFER.ind RO-INVOKE.Ind RT-TRANSFER.cnf (+) ROIV ROIV RO-INVOKE.Req RO-INVOKE.Ind ROIV Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Réplica de uma operação remota ROSE ROSE RO-INVOKE.Req ROIV RO-INVOKE.Ind … Operação foi bem sucedida! RORS RO-RESULT.Req RO-RESULT.Ind RO-INVOKE.Req ROIV RO-INVOKE.Ind … Operação sem sucesso! ROER RO-ERROR.Req RO-ERROR.Ind RO-?.Req RO? RO-INVOKE/RESULT/ERROR.Ind RORJ RO-REJECT-U.Req RO-REJECT-U.Ind RO-INVOKE/RESULT/ERROR/REJECT-U.Req RO? … Operação rejeitada pelo fornecedor do serviço! RO-REJECT-P.Ind RORJ Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Razões de Rejeição A) Problema com RO-NVOKE.ind : • Duplicação da Invocação; (o invoke id. é duplicado: só classes 3, 4 e 5) • Operação não reconhecida; • Argumento não reconhecido; • Limitação de recursos; • Iniciador termina associação normalmente; • ID de operação ligada não reconhecido; B) Problema com RO-RESULT.ind : • Invocação não reconhecida; • Resposta não esperada; • Argumento não reconhecido; Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
Razões de Rejeição C) Problema com RO-ERROR.ind : • Invocação não reconhecida; • Resposta de Erro não esperada; • Erro não reconhecido; • Erro não esperado; • Argumento não reconhecido; D) Problema com APDU : • APDU não reconhecida; • APDU mal estruturada; • Campo da APDU não reconhecido; Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt
RO-INVOKE.Req ROIV RO-INVOKE.Ind Operação PAI ROIV RO-INVOKE.Req … Operação, para ser completada, necessita de invocar no invocador outra operação! RO-INVOKE.Ind Linked ID = Invoke ID (pai) Operação FILHA RO-RESULT.Req RORS RO-RESULT.Ind RO-RESULT.Req RO-RESULT.Ind Operações ligadas Nuno Valero Ribeiro Gab. F153 nribeiro@est.ips.pt