OpenDreams Core  1.7
Membros públicos
Referência ao interface tecgraf::openbus::opendreams::v1_7::IOpenDreams

A interface do serviço principal do OpenDreams é a IOpenDreams. Mais...

import "opendreams.idl";

Mostrar lista completa dos membros

Membros públicos

DRMAA::v1_7::Session getSession (in string projectId) raises ( DRMAA::v1_7::AuthorizationException, DRMAA::v1_7::InternalException, ProjectNotFoundException)
 obtém uma sessão de um usuário para um projeto do CSBase.
DRMAA::v1_7::Session getSessionByProjUserId (in string projectId, in string userId) raises ( DRMAA::v1_7::AuthorizationException, DRMAA::v1_7::InternalException, ProjectNotFoundException)
 Obtém uma sessão para um projeto do CSBase cujo dono não é o próprio usuário associado ao login da credencial da chamada a esse método.

Descrição detalhada

A interface do serviço principal do OpenDreams é a IOpenDreams.

Essa interface é oferecida pelos sistemas CSBase por um componente de serviço publicado em um barramento Openbus.

A interface do IOpenDreams permite obter uma sessão DRMAA que gerencia a submissão de jobs. Além disso, a interfaca permite consultar quais os servidores de execução de algoritmos (SGA) estão disponíveis para uso.

Tarefa:
Implementar o método que consulta os SGAs disponíveis.

Definido na linha 198 do ficheiro opendreams.idl.


Documentação dos métodos

DRMAA::v1_7::Session tecgraf::openbus::opendreams::v1_7::IOpenDreams::getSession ( in string  projectId) raises ( DRMAA::v1_7::AuthorizationException, DRMAA::v1_7::InternalException, ProjectNotFoundException)

obtém uma sessão de um usuário para um projeto do CSBase.

O usuário da sessão é aquele que está associado ao login da credencial da chamada a esse método, obtida por uma conexão ao barramento Openbus. Nos sistemas CSBase, as submissões de comandos ocorrem dentro do contexto de um projeto. Esse projeto é usado para ler e escrever os dados de entrada e saída da submissão de comandos da sessão. O método getSession() recebe como parâmetro de entrada o nome de um projeto (já existente) do usuário associado a credencial da requisição.

Se o login da credencial não for de um usuário no sistema CSBase, a exceção tecgraf::openbus::DRMAA::v1_7::AuthorizationException é lançada. Se o usuário existir mas não possuir um projeto com o nome passado como parâmetro, a exceção tecgraf::openbus::opendreams::v1_7::ProjectNotFoundException é lançada. Outros erros internos ao CSBase são lançados na exceção tecgraf::openbus::DRMAA::v1_7::InternalException.

Somente existe uma sessão ativa para cada usuário e projeto. Se já houver uma sessão ativa para o usuário e o projeto, essa mesma sessão é retornada. Se não existir uma sessão ativa para o usuário e projeto, uma nova sessão é criada.

Parâmetros:
[in]projectIdo nome do projeto que estará associado a sessão retornada.
Retorna:
A referência remota para um objeto que implementa uma sessão DRMAA.
Excepções:
tecgraf::openbus::DRMAA::v1_7::AuthorizationExceptionSe o login da credencial não for de um usuário no sistema CSBase.
ProjectNotFoundExceptionSe o usuário da credencial não possuir um projeto com o nome projectId.
tecgraf::openbus::DRMAA::v1_7::InternalExceptionSe ocorrer algum erro interno no sistema CSBase durante a execução da chamada.
DRMAA::v1_7::Session tecgraf::openbus::opendreams::v1_7::IOpenDreams::getSessionByProjUserId ( in string  projectId,
in string  userId 
) raises ( DRMAA::v1_7::AuthorizationException, DRMAA::v1_7::InternalException, ProjectNotFoundException)

Obtém uma sessão para um projeto do CSBase cujo dono não é o próprio usuário associado ao login da credencial da chamada a esse método.

O usuário associado ao login da credencial deve possuir acesso de leitura e escrita ao projeto do usuário cujo identificador é passado como parâmetro de entrada do método. Esse projeto é usado para ler e escrever os dados de entrada e saída da submissão de comandos da sessão. O método getSessionByProjUserId recebe como parâmetros de entrada o nome de um projeto (já existente) e o login do usuário dono desse projeto.

Se o login da credencial não for de um usuário no sistema CSBase ou se esse usuário não possuir acesso de escrita ao projeto passado como parâmetro, a exceção tecgraf::openbus::DRMAA::v1_7::AuthorizationException é lançada. Se o usuário passado como parâmetro não existir ou não for dono do projeto, a exceção tecgraf::openbus::opendreams::v1_7::ProjectNotFoundException é lançada. Outros erros internos ao CSBase são lançados na exceção tecgraf::openbus::DRMAA::v1_7::InternalException.

Somente existe uma sessão ativa para cada usuário e projeto. Se já houver uma sessão ativa para o usuário e o projeto, essa mesma sessão é retornada. Se não existir uma sessão ativa para o usuário e projeto, uma nova sessão é criada.

Parâmetros:
[in]projectIdO nome do projeto que estará associado a sessão retornada.
[in]userIdO usuário dono do projeto
Excepções:
tecgraf::openbus::DRMAA::v1_7::AuthorizationExceptionSe o login da credencial não for de um usuário no sistema CSBase ou se esse usuário não possuir acesso de escrita ao projeto projectId do usuário userId.
ProjectNotFoundExceptionSe o usuário userId não existir ou não possuir um projeto com o nome projectId.
tecgraf::openbus::DRMAA::v1_7::InternalExceptionSe ocorrer algum erro interno no sistema CSBase durante a execução da chamada.

A documentação para este interface foi gerada a partir do seguinte ficheiro:
 Tudo Classes Namespaces Ficheiros Funções Variáveis Definições de tipos Enumerações Valores da enumeração