# Terminais

* [Conceito](#conceito)
* [Contas Conectadas](#contas-conectadas)
* [Gerenciamento dos Terminais](#gerenciamento-dos-terminais)
  * [Informações do Terminal](#informacoes-do-terminal)
  * [Testar a Conexão](#testar-a-conexao)
  * [Logs do Terminal](#logs-do-terminal)
  * [Excluir um Agente](#excluir-um-agente)

### **Conceito** <a href="#conceito" id="conceito"></a>

Um terminal é uma entidade lógica que representa a conexão de um único **"Agente"**, instalado em uma máquina e vinculado a um usuário, ao "**Espaço de Trabalho"** desse usuário no **Skyone Studio**.

Um "**Espaço de Trabalho"** pode conter vários terminais. Além disso, qualquer usuário do espaço pode executar o Agente.

Em uma máquina com um **"Agente"** instalado, um terminal atua como um intermediário para permitir que uma aplicação acesse o Banco de Dados de uma empresa ou a interface REST de um ERP. Isso possibilita várias integrações diferentes sem a necessidade de uma API pública. Assim, diversos fluxos dentro de um "**Espaço de Trabalho"** podem usar o mesmo terminal, conectados por uma ou mais contas de usuário.

Após instalar e configurar um **"Agente"** em um ambiente local (On Premises), automaticamente é criado um terminal no **Skyone Studio**. Daí em diante, você pode escolher e usar esse terminal no **Skyone Studio** para configurar contas do tipo REST ou Banco de Dados. Quando você seleciona um terminal na configuração dessas contas, as credenciais da conta são enviadas ao Agente para serem usadas localmente.

Você pode associar várias contas conectadas a um único terminal. Isso significa que você pode criar diversos usuários em um banco de dados para serem utilizados em diferentes integrações. Cada usuário poderá ser configurado em uma conta distinta, mas todas as contas apontarão para o mesmo terminal.

{% hint style="warning" %}
O **terminal** de um **"Agente"** é **permanentemente monitorado**, de forma que o **Skyone Studio** sempre sabe quando ele está conectado e operacional. Por outro lado, a **queda de um terminal**, percebida através da desconexão do **"Agente"** a ele conectado, implica a **queda de todas as contas conectadas a ele associadas**.
{% endhint %}

{% hint style="info" %}
É possível instalar quantos **"Agentes"** você quiser, para um mesmo usuário ou **"Espaço de Trabalho",** desde que sejam instalados em diferentes dispositivos e com nomes e localização distintos. Cada um deles aparecerá como um diferente terminal no **Skyone Studio**.
{% endhint %}

### **Contas Conectadas** <a href="#contas-conectadas" id="contas-conectadas"></a>

Por padrão, o campo "**Terminal"** de uma conta do tipo REST ou Banco de Dados é deixado em branco, o que corresponde à não utilização do **"Agente"** durante a conexão. Para utilizar um **"Agente"** previamente instalado, você deverá selecionar um dentre os terminais (ativos ou não) que estão configurados no sistema:

<figure><img src="https://2406186417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlGHvosl2xodpQaXzCzxY%2Fuploads%2FevPENxSk7c1LuO1XsSbi%2FAFEB5B2C-51DB-42A9-B07E-2C1169A3FCD2.png?alt=media&#x26;token=c4d28aa9-23de-4311-b86a-932aae9cae85" alt=""><figcaption><p>Exemplo de configuração de conta conectada</p></figcaption></figure>

{% hint style="warning" %}
Quando você utiliza um "**Terminal"** numa conta, a execução de operações em um módulo (testes) ou em um fluxo (testes ou execução) somente ocorrerá se o **"Agente"** estiver sendo executado e o status do "**Terminal"** estiver ativo (verde).
{% endhint %}

### **Gerenciamento dos Terminais** <a href="#gerenciamento-dos-terminais" id="gerenciamento-dos-terminais"></a>

Na aba "**Terminais"** você verá todos os terminais conectados ao "**Espaço de Trabalho"** selecionado. Caso não tenha ainda instalado e configurado um agente, poderá baixar o "**Agente"** clicando em "**Baixar Agente".**

Após a configuração de um ou mais **Agentes**, a lista dos terminais disponíveis e seus respectivos detalhes e status serão exibidos na tela:

<figure><img src="https://2406186417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlGHvosl2xodpQaXzCzxY%2Fuploads%2FgCONtEXQs0DAw21Llqog%2FyF4VmzuLdU.png?alt=media&#x26;token=730430b7-9ba6-4bc6-a557-59e48eb20247" alt=""><figcaption></figcaption></figure>

Cada linha corresponde a uma entrada de "**Agente"** com as suas informações básicas. As informações desta tela são dinâmicas, **com atualização automática em alguns segundos**.

Sendo que:

* **ID**: identificador único do "**Agente"**&#x20;
* **Nome do Agente**: nome atribuído na configuração do "**Agente"**&#x20;
* **Conectado em**: última vez que o "**Agente"**  se conectou
* **IP do Agente**: endereço IP do computador onde o "**Agente"**  foi instalado, exibido apenas quando este está conectado
* **Host** **ID**: assinatura do host que identifica unicamente a máquina onde o "**Agente"**  está instalado
* **Status:** status da conexão do "**Agente"**&#x20;

&#x20;

#### **Informações do Terminal** <a href="#informacoes-do-terminal" id="informacoes-do-terminal"></a>

Para visualizar informações detalhadas de um terminal:

1. Em "**Terminais",** escolha o "**Agente"** que deseja visualizar e clique no ícone de "**Mais Opções";**
2. Selecione "**Visualizar";**

<figure><img src="https://2406186417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlGHvosl2xodpQaXzCzxY%2Fuploads%2FEgiULqeYkwACE7hnVBnU%2Fchrome_4pLZwyuy1r.gif?alt=media&#x26;token=68f6a9be-d7cf-41e6-b065-9770b20d850d" alt=""><figcaption></figcaption></figure>

3. A tela visualização das **Informações do Terminal** será exibida e você verá os seguintes campos:

* **Host ID**: assinatura do host, que identifica de forma única a máquina onde o "**Agente"**  está instalado
* **Nome do Agente**: nome fornecido na configuração do "**Agente"**&#x20;
* **Localização do Agente**: localização fornecida na configuração do "**Agente"**&#x20;
* **IP do Agente**: endereço IP da máquina onde o "**Agente"**  está instalado
* **Conectado em**: data da última conexão, no formato DD/MM/AAAA HH:MM:SS
* **Último controle do APC**: última vez que o **Skyone Studio** enviou uma APC (Agent Procedure Call - chamada realizada pelo "**Agente"** )
* **Último dado do APC**: última vez que o **Skyone Studio** recebeu mensagens
* **Controles entregues pelo APC**: quantidade de mensagens enviadas
* **Dados recebidos pelo APC**: quantidade de mensagens recebidas
* **Contas Conectadas**: contas que apontam para o "**Terminal"**

<figure><img src="https://2406186417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlGHvosl2xodpQaXzCzxY%2Fuploads%2FNXlK6o9KSHy4XrzFkeF6%2FB059E0EF-446A-485B-B8FE-469CB17A177B.png?alt=media&#x26;token=10a4ee90-42d0-4e2e-8e10-e0c14eea6205" alt=""><figcaption></figcaption></figure>

#### **Testar a Conexão** <a href="#testar-a-conexao" id="testar-a-conexao"></a>

O status da conexão garante que existe uma conexão estabelecida, porém não garante o funcionamento completo. O teste de conexão executa um teste completo envolvendo o "**Agente"** .

Para testar a conexão:

1. Em "**Terminais",** escolha o "**Agente"**  cuja conexão deseja testar e clique em "**Mais Opções"** (ícone de três pontos);
2. Selecione "**Testar Conexão";**

<figure><img src="https://2406186417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlGHvosl2xodpQaXzCzxY%2Fuploads%2FjfEOvXCLNZGIwesXGyeC%2Fimage.png?alt=media&#x26;token=cbaf46ca-fe28-4a6d-951c-7da379347738" alt=""><figcaption></figcaption></figure>

3. Aguarde a conexão ser testada e o resultado.

#### Logs do Terminal <a href="#logs-do-terminal" id="logs-do-terminal"></a>

Para ver os logs de um terminal:

1. Em "**Terminais",** escolha o "**Agente"**  que deseja ver os logs e clique no ícone de "**Mais Opções";**
2. Selecione "**Logs";**

<figure><img src="https://2406186417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlGHvosl2xodpQaXzCzxY%2Fuploads%2FNrbpdaSRCd2L5xOo9RYk%2Fchrome_A22SMeryT5.gif?alt=media&#x26;token=445a6976-3c80-4b5d-bca5-99eebac9f390" alt=""><figcaption></figcaption></figure>

3. Os logs do terminal será exibido (se houver).

<figure><img src="https://2406186417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlGHvosl2xodpQaXzCzxY%2Fuploads%2FCMbueqMPeDEyBgS2rfz0%2Fimage.png?alt=media&#x26;token=9a669a41-d678-4a77-968c-b1cae821ef05" alt=""><figcaption></figcaption></figure>

#### **Excluir um Agente** <a href="#excluir-um-agente" id="excluir-um-agente"></a>

Caso você exclua um "**Agente"**  da aba "**Terminais**" e queira depois voltar a utilizar a aplicação, será necessário desinstalar e reinstalar a aplicação. Isto também é necessário caso deseje alterar as configurações iniciais de instalação (**Espaço de Trabalho**, **conta do Skyone Studio**, **Nome** e **Localização do Agente**).

Para excluir um "**Agente",** siga os seguintes passos:

1. Em "**Terminais",** escolha o Agente que deseja excluir e clique no ícone de "**Mais Opções";**
2. Selecione "**Excluir";**

<figure><img src="https://2406186417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlGHvosl2xodpQaXzCzxY%2Fuploads%2FH7lRrkS3Qx4QtVFI4KcP%2Fchrome_rWVaDtuWs6.gif?alt=media&#x26;token=ee46fdfe-cb8d-424c-a272-650c0f4a5f6b" alt=""><figcaption></figcaption></figure>

3. Digite o nome do terminal que deseja excluir e, em seguida, confirme a ação clicando em "**Excluir"**;

<figure><img src="https://2406186417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlGHvosl2xodpQaXzCzxY%2Fuploads%2FsScGM2tTtomFfq2ORB3C%2Fimage.png?alt=media&#x26;token=50d93a17-9566-44e4-9e51-982ee35b8142" alt=""><figcaption></figcaption></figure>

4. De volta ao "**Agente"** , a conexão ao servidor será interrompida. Para configurar novamente o "**Agente"**  será necessária a desinstalação e reinstalação.

<br>
