Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Este tutorial está em desenvolvimento

1. Visão geral

Tutoriais integrados a interface do LS-WEB são tutoriais que podem ser executados pelos usuários do testbed de forma rápida e fácil onde o usuário apenas necessita ter acesso a interface WEB e o tutorial será executado utilizando o próprio OMF. Os tutoriais podem ter entradas configuradas de acordo com o experimento que o usuário deseja rodar e é mostrado ao usuário a saída do console da execução do OMF, além de ter a possibilidade de mostrar ao usuário a coleta dos dados do experimento em forma de gráficos e em tempo real. Os tutoriais podem ser acessados via portal LS-WEB pelo menu "Tutorials" que está disponível a todo usuário logado na ilha que possui suporte aos tutoriais.

...

  • "~/LS-Sched/Controller/ExperimentController.php": Classe controladora do que diz respeito aos experimentos no LS-Sched. Ela irá conter a definição do método que poderá ser utilizado pela API.
  • "~/LS-Sched/Model/ExperimentModel.php": Classe para manipulação de dados do que diz respeito aos experimentos, ou seja, é ela que é responsável por buscar os dados dos experimentos nas bases de dados do OML.
  • "~/LS-Sched/Service/ExperimentService.php": Classe de serviços auxiliares ao experimento. Nela, por exemplo, é que é realizada a leitura da saída do console do OMF para o experimento que está sendo executado.

 

3.1 Experiment Controller

Para criar um novo método na API LS-Sched basta criar um método público na classe ExperimentController. O nome do método criado dentro da classe será o nome do método chamado pela API, logo se você criar um método de nome teste, ele poderá ser chamado passando o parâmetro "?method=teste" para à API.

...

  • Basta adicionar um "case" dentro do switch das linhas 11~35 com o nome de seu método definindo quais são os parâmetros obrigatórios ($obParams) e os parâmetros opcionais ($opParams).
    • Basta colocar dentro do array a chave contendo o nome do parâmetro e o valor contendo o tipo dele.
    • Os tipos aceitáveis aceitos são:
      • numeric
      • string
      • bool
      • array
      • double

...

  • Observe que nas linhas 8~11 já foi codificado uma forma de liberar o acesso para métodos que não precisam da key, ou seja, para você liberar seu método basta adiciona-lo no array contido na linha 8.
  • Caso seja necessário, você pode programar neste método outras formas de autorização, lembrando que o "parent::beforeFilter()" possui a validação padrão que é verificar se foi passado como parâmetro a chave de acesso e se ela é válida.

 

 

3.2 Experiment Model

Apenas será necessário modificar essa classe nos seguintes caso:

  • Nova aplicação instrumentada.
  • Necessidade de modificar a forma de coleta dos dados do OML de alguma aplicação existente.
  • Outros?

Caso você entre em algum dos casos listados acima, basta criar um método nas suas condições na classe e utiliza-lo na controladora ou na classe de serviços como desejar.

3.3 Experiment Service

Caso seja necessário realizar alguma atividade complementar durante a execução, configuração ou até mesmo coleta dos dados do experimento, como ler algum arquivo do sistema, você pode criar um método que o faça nessa classe e a partir daí utiliza-lo na controladora de modo similar ao que foi demonstrado na seção 3.1.