GUIA DE UTILIZAÇÃO CONSOLA WEB DE CONFIGURAÇÃO SOFIA2

Documentos relacionados
GUIA DE UTILIZAÇÃO CONSOLA WEB DE CONFIGURAÇÃO SOFIA2

DESENVOLVIMENTO DE UM CLIENTE SOFIA2 (KP) SEGUINDO A ARQUITETURA KP-MODELO

PRIMEIROS PASSOS COM A PLATAFORMA SOFIA2

Manual de Utilização. Site Manager. Tecnologia ao serviço do Mundo Rural

MANUAL ARTSOFT Mobile POS

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

02 - Usando o SiteMaster - Informações importantes

GlobalPhone - Central Telefónica. Manual do Portal de Selfcare Utilizador

ZS Rest. Manual Avançado. Ementas : e SMS. v2011

Manual de Utilização. GESTOR DE METADADOS DOS AÇORES (GeMA) Setembro de Versão 4.0

Curso Básico Sistema EMBI

PLATAFORMA INFORMÁTICA DE REQUISIÇÃO DE POLICIAMENTO DE ESPETÁCULOS DESPORTIVOS (PIRPED)

Manual do Painel Administrativo

MANUAL DO UTILIZADOR

Manual de Transição TWT Sítio de Disciplina para Moodle 2.6

COLIBRI Ambiente Colaborativo Multimédia MÓDULO MOODLE. Rui Ribeiro FCCN - Dezembro 2010

Gestor de Reservas. Guia do Utilizador

GIAE ONLINE. J.P.M & Abreu, Lda.

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO

GUIA PARA O PREENCHIMENTO DOS FORMULÁRIOS ENTIDADE GESTORA ERP PORTUGAL

Sistema de Gestão de Ciclo de Vida de Farmácias AVP003. Manual de Utilizador Externo - Entregas ao Domicílio e Vendas via Internet

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

XD Fase B - Novas Implementações

WF Processos. Manual de Instruções

LeYa Educação Digital

ÍNDICE. Acesso para agências...3. Organização por pastas...4. Download das facturas a partir do site...5. Pesquisa de facturas...8

Guia rápido de criação e gestão de um espaço no SAPO Campus

COFANET. Guia do Usuário Para Seguro de Crédito.

Anexo III Funcionamento detalhado do Sistema Montador de Autoria

PMAT. Sistema de Análise e Acompanhamento de Operações. Manual. Desenvolvido pelo BNDES AS/DEGEP

PROCESSO JUDICIAL ELETRÔNICO PJe

NetEye Guia de Instalação

GUIA BÁSICO DA SALA VIRTUAL

Manual de Utilizador Documentos de Transporte. TOConline. Suporte. Página - 1

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO

GUIA RÁPIDO PARA USUÁRIOS MIGRADOS DO SAGA PortalOne

SAMUO APP: MANUAL DO ADMINISTRADOR

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI

MANUAL DO USUÁRIO. Guia de orientações e conceitos para manipulação da plataforma Miraklon. VERSÃO Vigência

GUIA RÁPIDO SISTEMA ANTIFURTO THEFT DETERRENT

Elaborado por SIGA-EPT. Projeto SIGA-EPT: Manual do Usuário Almoxarifado

LinkCities MANUAL GESTOR DE CONTEÚDOS. Cities all together, make a better world. Copyright 2014 Link Think. Todos os direitos reservados.

DHL PROVIEW MANUAL O DHL PROVIEW DÁ-LHE TOTAL CONTROLO SOBRE OS SEUS ENVIOS.

SECUNDÁRIA DE CAMARATE Plataforma Office 365. Alojamento de ficheiros - OneDrive para Empresas

Manual do utilizador. Aplicação de agente

MANUAL ARTSOFT Mobile Pre Sales

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1

Sumário: Fluxo Operacional... 3 Contatos Agenda Online Reservas de Salas Tarefas... 42

TUTORIAL. Como criar um blogue/página pessoal no WordPress

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Manual AGENDA DE BACKUP

Manual do Visualizador NF e KEY BEST

MANUAL DE UTILIZAÇÃO

Tutorial do administrador do HelpCenterLive (Sistema de Ajuda)

FAQ s ELEVATION Express

Manual do Atendente. Treinamento OTRS Help Desk

Manual de Administração Intranet BNI

GUIA DE USUÁRIO - GU-

Guia de utilização. Gestão de Mensagens. Março 2009

Tutorial do módulo Carteira Nacional de Militante

Manual Administrador - Mídia System

GUIA INTEGRA SERVICES E STATUS MONITOR

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Controladoria-Geral da União

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

MANUAL DO UTILIZADOR TABLET PARA O SETOR DA RESTAURAÇÃO

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

Manual do usuário. v1.0

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

PRIMAVERA EXPRESS: Funcionalidades do Produto

ADSE DIRETA MANUAL DE UTILIZAÇÃO PARA PRESTADORES DA REDE DA ADSE

Sistema de Informação Integrado da Universidade de Évora

Administração da disciplina

Pesquisa e organização de informação

WecDB WecDB Consulta Web Facilitada ao Banco de Dados

TEMA: Processo de multas Configurações, workflow e funcionalidades

Guia para a declaração de despesas no Programa SUDOE

Novo Order Manager para o Software NobelProcera

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET

Manual XML-Validador-Conversor Registar recursos humanos

DarkStat para BrazilFW

WEBSITE DEFIR PRO

Manual de Utilização do PLONE (Gerenciador de página pessoal)

Noções de. Microsoft SQL Server. Microsoft SQL Server

Manual Q-Acadêmico 2.0 Módulo Web - Aluno

2. INSTALAÇÃO E CONFIGURAÇÃO

Procedimentos para Reinstalação do Sisloc

Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti

Manual Utilizador - Gestão de Processos de Acidentes de Trabalho e Doenças Profissionais - Front-Office

Manual do Usuário - Plataforma Simulados

Sistema de Chamados Protega

SMS Corporativo Manual do Usuário

Aplicações de Escritório Electrónico

Transcrição:

GUIA DE UTILIZAÇÃO CONSOLA WEB DE CONFIGURAÇÃO SOFIA2 FEVEREIRO 2015 Versão 6

1 ÍNDICE 1 ÍNDICE... 2 2 INTRODUÇÃO... 6 2.1 REQUISITOS... 6 2.2 OBJETIVOS E ÂMBITO DO PRESENTE DOCUMENTO... 6 3 ACESSO À CONSOLA WEB... 7 3.1 SOLICITAR O REGISTO DE UTILIZADOR... 7 3.2 ACESSO À CONSOLA WEB... 9 4 ACESSO ROL UTILIZADOR... 12 5 ACESSO ROL COLABORADOR... 14 6 ACESSO ROL ADMINISTRADOR... 17 7. GESTÃO DE ONTOLOGIAS... 20 7.1. INTRODUÇÃO DE ONTOLOGIAS... 20 7.2. INTRODUÇÃO DE ONTOLOGIAS, CAMPO A CAMPO... 23 7.3. CRIAÇÃO DE ONTOLOGIAS A PARTIR DO EXCEL... 27 7.4. ESTADO DE TRANSFERÊNCIA DE EXCEL... 33 7.5. CRIAÇÃO DE UMA ONTOLOGIA A PARTIR DA COLEÇÃO... 34 7.6. LISTA DE ONTOLOGIAS... 35 7.7. MODIFICAÇÃO DE ONTOLOGIAS... 36 7.8. ELIMINAÇÃO DE ONTOLOGIAS... 39 7.9. SUBSCRIÇÃO A ONTOLOGIAS... 39 7.10. AUTORIZAÇÕES DAS MINHAS ONTOLOGIAS... 42 8. GESTÃO ONTOLOGIAS DE GRUPO... 45 8.1. LISTA DE ONTOLOGIAS DE GRUPO... 46 8.2. MODIFICAÇÃO DE ONTOLOGIAS DE GRUPO... 48 8.3. ELIMINAR ONTOLOGIAS DE GRUPO... 48 8.4. SUBSCRIÇÃO A ONTOLOGIAS DE GRUPO... 49 Consola Web SOFIA2 Página 2/171

8.5. AUTORIZAÇÕES DE ONTOLOGIAS DE GRUPO... 52 9. GESTÃO DE KPS/APPS... 55 9.1. CRIAÇÃO DE KPS/APPS... 55 9.2. LISTA DE KPS... 57 9.3. MODIFICAÇÃO DE UM KP... 58 9.4. GESTÃO DE TOKENS... 60 9.5. GESTÃO DE INSTÂNCIAS DE KPS... 62 10. CONTENTOR KPS/APPS... 66 10.1. CRIAR KPS/APPS NO CONTENTOR... 66 11. REGRAS... 68 11.1. CRIAR REGRA COM WIZARD... 68 11.2. CRIAÇÃO SCRIPT... 69 11.2.1. Scripts do tipo Timmer... 69 11.2.2. Scripts sobre ontologias... 72 11.2.2.1. Scripts sobre Ontologias Principais... 73 11.2.3. Scripts de tipo Cep... 75 11.3. LISTA DE SCRIPT... 77 11.4. DETALHE DE SCRIPT... 78 11.5. EDIÇÃO DE SCRIPT... 79 11.6. REGRAS CEP... 80 11.7. EVENTO CEP... 81 12. GESTÃO DE ASSETS... 84 12.1. CRIAR ASSET... 84 12.2. LISTAR ASSETS... 86 12.3. DETALHE DE ASSETS... 87 12.4. MODIFICAÇÃO DE ASSETS... 88 12.5. CRIAR TIPO DE ASSET... 88 Consola Web SOFIA2 Página 3/171

12.6. LISTAR TIPOS DE ASSET... 92 12.7. DETALHE DE TIPO DE ASSET... 93 12.8. MODIFICAR OS TIPOS DE ASSET... 94 12.9. CRIAR NÓ... 95 12.10. LISTAR NÓS... 97 12.11. DETALHE DE NÓ... 97 12.12. MODIFICAÇÃO DE UM NÓ... 98 13. VISUALIZAÇÕES... 100 13.1. MEUS GADGETS... 100 13.1.1. Criar Gadgets... 100 13.2. MEUS DASHBOARDS... 101 13.2.1. Criar Dashboards... 101 14. FERRAMENTAS... 103 14.1. CONSOLA BDTR E BDH... 103 14.2. GESTÃO CONSULTAS PREDEFINIDAS... 109 14.3. KPS ATIVOS... 112 13.3.1 Pesquisa e consulta de instâncias de KPs Ativos... 114 13.3.2 Realizar consultas BDTR sobre o KP Ativo... 115 13.4. ENVIO DE MENSAGENS SSAP... 115 13.5. VALIDAR UMA MENSAGEM JSON... 117 13.6. VISUALIZAÇÃO DO ESTADO DE PROCESSOS... 120 15. GESTÃO SW... 122 15.1. GESTÃO DE CONFIGURAÇÃO DE SOFTWARE... 122 15.2. ATRIBUIÇÃO DA CONFIGURAÇÃO DE SOFTWARE EM KPS... 125 16. ADMINISTRAÇÃO... 127 16.1. GESTÃO DE UTILIZADORES... 127 16.1.1. CRIAR UTILIZADORES... 127 Consola Web SOFIA2 Página 4/171

16.1.2. LISTAR UTILIZADORES... 129 16.1.3. MODIFICAÇÃO DE UTILIZADORES... 130 16.2. GESTÃO DE MODELOS DE ONTOLOGIAS... 131 16.2.1. CRIAR UM NOVO MODELO... 131 16.2.2. LISTAR MODELO... 134 16.2.3. EDIÇÃO DE MODELOS... 135 16.3. GESTÃO DE PEDIDOS... 136 16.4. GESTÃO DE OPERAÇÕES... 137 16.5. OPÇÕES DE ADMINISTRAÇÃO... 138 17. API MANAGER... 139 17.1. MINHA API KEY... 141 17.2. MINHAS APIS... 142 17.2.1. Janela de Criação de API... 144 17.2.2. Janela de Consulta de API... 156 17.2.3. Janela de Modificação de API... 156 17.3. AUTORIZAÇÕES APIS... 161 17.4. SUBSCRIÇÃO A APIS... 162 17.5. MINHAS SUBSCRIÇÕES... 164 18. SOCIAL MEDIA... 169 18.1. UTILIZADORES TWITTER... 169 18.2. PESQUISA... 169 18.3. TENDÊNCIAS... 169 18.4. CONFIGURAÇÕES DE ACESSO... 170 Consola Web SOFIA2 Página 5/171

2 INTRODUÇÃO 2.1 Requisitos Antes de ler este guia, recomenda-se a leitura do guia SOFIA2-Conceitos SOFIA2.doc 2.2 Objetivos e âmbito do presente documento O presente documento apresenta os conceitos básicos da Consola Web integrada na Plataforma de SOFIA2. Através da Consola Web, os utilizadores em função de seu rol poderão realizar um conjunto de ações, como subscrever-se a ontologias, criar KPs, criar Ontologias, Consola Web SOFIA2 Página 6/171

3 ACESSO À CONSOLA WEB SOFIA2 pode implementar-se numa infraestrutura própria ou na Cloud. Existe uma versão Cloud de SOFIA2 que será a utilizada neste guia. A consola da Web está acessível na URL: http://sofia2.com/console 3.1 Solicitar o registo de utilizador Se é a primeira vez que acede a esta consola e não dispõe de utilizador será necessário solicitar o registo, para isso deverá carregar no link registo de utilizador. (link) para solicitar o Consola Web SOFIA2 Página 7/171

Uma vez enviado o pedido, validar-se-á o mesmo e, se este estiver correto ativar-se-á o utilizador com o rol de UTILIZADOR. Consola Web SOFIA2 Página 8/171

3.2 Acesso à Consola Web Uma vez criado o utilizador poderá aceder à Consola Web com o novo utilizador: Quando se cria um utilizador na Plataforma, cria-se com o Rol UTILIZADOR, o que implica apenas um acesso limitado e de leitura à Plataforma. Consola Web SOFIA2 Página 9/171

Pode solictar-se acesso à Plataforma com o Rol de COLABORADOR, o que permite inserir dados na Plataforma. Para isso, deve carregar no link que se encontra na parte superior da página, onde se indica o utilizador com login efetuado na plataforma: Utilizador: xxxx [ROL_UTILIZADOR]. No formulário que se apresenta a seguir, carregue no botão Alterar para Colaborador: Consola Web SOFIA2 Página 10/171

Enviar-se-á um pedido de alteração de Rol para o rol de Colaborador ao Administrador. Quando o Administrador receber o pedido, este poderá aceitá-lo ou recusá-lo, informando o utilizador através de um correio eletrónico da resolução do pedido. Caso o pedido de alteração seja aceite, o utilizador poderá, ao efetuar o login novamente na consola, verificar se tem acesso a mais funcionalidades. Consola Web SOFIA2 Página 11/171

4 ACESSO ROL UTILIZADOR Um utilizador com o rol de Utilizador tem acesso a estas opções de menu: ONTOLOGIAS Minhas Subscrições ONTOLOGIAS DE GRUPO Minhas Subscrições KPs/APPs SOFIA2 Meus KPs/APPs Meus Tokens Minhas Instâncias KP/APP FERRAMENTAS Consulta BDTR e BDH KPs Ativos Envio de Mensagens SSAP Validar Mensagens SSAP Consola Web SOFIA2 Página 12/171

API MANAGER Subscrição a APIs Minhas Subscrições Minha API Key Consola Web SOFIA2 Página 13/171

5 ACESSO ROL COLABORADOR Um utilizador com o rol de Colaborador tem acesso a estas opções de menu: ONTOLOGIAS Criar Ontologia Criar Ontologia campo a campo Criar Ontologia a partir de Excel Minhas Ontologias Minhas Subscrições Autorizações das minhas Ontologias ONTOLOGIAS DE GRUPO Criar Ontologia de Grupo Minhas Ontologias de Grupo Minhas Subscrições Autorizações das minhas Ontologias KPs/APPs SOFIA2 Meus KPs/APPs Meus Tokens Minhas Instâncias de KP/APP o REGRAS DE ASSETS Criar Regra com Wizard Meus Scripts Consola Web SOFIA2 Página 14/171

Minhas Regras CEP Meus Eventos CEP ATIVOS Meus Assets Visualizar Assets Tipos de Assets Nós VISUALIZAÇÕES Meus Gadgets Meus Dashboards FERRAMENTAS Consola BDTR e BDH Gestão Consultas Predefinidas KPs Ativos Envio de Mensagens SSAP Validar Mensagem SSAP Visualização de Estado de Processos GESTÃO SW Minhas Configurações SW Consola Web SOFIA2 Página 15/171

Atribuição Configuração API MANAGER Minhas APIs Autorizações APIs Subscrição a APIs Minhas Subscrições Minha API Key Consola Web SOFIA2 Página 16/171

6 ACESSO ROL ADMINISTRADOR Um utilizador com o rol de Administrador tem acesso a estas opções de menu: ONTOLOGIAS Criar Ontologia Criar Ontologia campo a campo Criar Ontologia a partir de Excel Minhas Ontologias Autorizações das minhas Ontologias ONTOLOGIAS DE GRUPO Criar Ontologia de Grupo Minhas Ontologias de Grupo Autorizações das minhas Ontologias KPs/APPs SOFIA2 Meus KPs/APPs Meus Tokens Minhas Instâncias de KP/APP o REGRAS DE ASSETS Criar Regra com Wizard Meus Scripts Minhas Regras CEP Meus Eventos CEP Consola Web SOFIA2 Página 17/171

ATIVOS Meus Assets Visualizar Assets Tipos de Assets Nós VISUALIZAÇÕES Meus Gadgets Meus Dashboards FERRAMENTAS Consola BDTR e BDH Gestão Consultas Predefinidas KPs Ativos Envio de Mensagem SSAP Validar Mensagem SSAP Visualização de Estado de Processos GESTÃO SW Minhas Configurações SW Atribuição Configuração Consola Web SOFIA2 Página 18/171

ADMINISTRAÇÃO Gestão de Modelos de Ontologias Gestão de Operações Gestão de Pedidos Gestão de Utilizadores API MANAGER Minhas APIs Autorizações APIs Minhas Subscrições Minha API Key Consola Web SOFIA2 Página 19/171

7. GESTÃO DE ONTOLOGIAS Permite realizar uma Gestão Completa de Ontologias, isto é: Criar e Modificar Ontologias Procurar Ontologias por critérios Procurar Ontologias e subscrever-se às mesmas. O objetivo das ontologias é ser o esquema através do qual se validarão as inserções de ontologias por parte dos KPs. 7.1. Introdução de Ontologias Através da opção de menu Ontologia, um utilizador com o rol colaborador ou rol de administrador poderá definir e introduzir no Sistema novas ontologias. Pode aceder ao formulário a partir do menu, na opção Criar Ontologia, o utilizador deverá indicar: Nome com o qual pretende identificar a nova ontologia Versão atual do modelo selecionado. Campo não editável Se a ontologia será ativa Se a ontologia será pública para os utilizadores restantes. Tempo de passagem da informação armazenada na Base de Dados de Tempo Real (BDTR) para a Base de Dados de informação Histórica (BDH). Selecionar-se-á uma programação para esse passo. Se pretende que o campo permaneça vazio, não se ativará esse passo. Se em vez de realizar a passagem da informação da BDTR para a BDH, se desejar eliminar a informação. Ao selecionar esta opção, o período selecionado como Tempo de passagem, passa a considerar-se como Tempo de eliminação da informação armazenada na BDTR. Esta opção é desativada se não houver um período de eliminação. Consola Web SOFIA2 Página 20/171

Classe pré-processamento passagem da BDTR para a BDH: inclui uma caixa de verificação que disponibiliza um campo de texto para introduzir o nome de uma classe (deve existir no classpath, através de um plugin) que realizará o MapReduce na passagem dos dados da BDTR para a BDH. Quer a caixa de verificação, assim como a caixa de texto apenas estão disponíveis para os utilizadores administradores. Dependências entre Ontologias: Inclui uma caixa de verificação que indica se a ontologia será uma ontologia principal ou não. Se selecionar esta opção, poder-se-ão criar ontologias que se estendem a partir de esta. Além disso inclui uma caixa de combinação, na qual (não sendo uma ontologia principal) poderá selecionar-se a ontologia principal a partir da qual se estenderá (cujo esquema utilizar-se-á para a nova ontologia secundária). Se não se selecionar nenhuma opção, a ontologia será uma ontologia que se tratará de forma normal. Definir-se-ão 3 tipos de Ontologias: o Ontologias Principais. Serão Ontologias abstratas (sem instâncias) sobre as quais não se poderá realizar nenhum tipo de operação. o Ontologias Secundárias. Serão ontologias que se estenderão a partir de uma Ontologia Principal (utilizarão o respetivo esquema). Manterão a sua própria configuração quanto à segurança e backup nas BD. o Ontologias de tipo geral. As ontologias que se conhecem até agora (a gestão e funcionamento das mesmas utilizadas até agora). A Ontologia Principal apenas será visível para os utilizadores Administradores, para o utilizador criador e para os utilizadores que tenham sido autorizados a aceder à mesma. Para cada um destes utilizadores, apresentar-se-á a Ontologia Principal na listagem de Ontologias e na caixa de combinação Ontologia principal a partir da qual se estende este componente. Modelo ou ficheiro xsd a utilizar na definição da ontologia: Caso selecione o ficheiro xsd após examinar o ficheiro, deverá carregar no botão Gerar Ontologia para que no editor se carregue o esquema associado ao mesmo. Comentario [A1]: Ontologia PAI Consola Web SOFIA2 Página 21/171

O esquema da ontologia Descrição para indicar o que se pretende representar com a ontologia. Consola Web SOFIA2 Página 22/171

Os utilizadores com o rol de Administrador ou Colaborador terão privilégios para criar ontologias. No caso particular do Colaborador, uma vez que este tenha criado a ontologia adquirirá as permissões ALL sobre essas ontologias. Embora não seja o proprietário, o administrador terá plenos privilégios sobre todas as ontologias. Como ajuda para a introdução de uma ontologia, existe um gerador de Instâncias JSON. Se carregar no botão Gerar Instância, apresentar-se-á na secção Instância JSON um exemplo de uma instância da ontologia que se pretende introduzir, tendo em conta o esquema da ontologia. 7.2. Introdução de Ontologias, campo a campo De forma análoga, ao introduzir ontologias, um utilizador poderá criar ontologias sem a necessidade de escrever diretamente o esquema JSON da respetiva ontologia. Para isso, a consola de administração oferece no menu, na secção de Ontologias, a opção Criar Ontologia campo a campo. Oferece ao utilizador as mesmas opções que a janela de Introdução de ontologias da secção anterior, com as mesmas funcionalidades (Ver secção 10.1 Introdução de Ontologias), em conjunto com um formulário para a definição das propriedades, que deve ter a ontologia ao ser introduzida: Consola Web SOFIA2 Página 23/171

Neste formulário é possível introduzir todas as propriedades da ontologia a criar, incluindo o respetivo tipo de dados e indicando se se trata de uma propriedade exigida ou não. Uma vez definida a propriedade, ao carregar no botão Adicionar, esta será incluída na tabela de propriedades da ontologia. Consola Web SOFIA2 Página 24/171

Os tipos de dados disponíveis para criar propriedades, a partir do assistente são os básicos de JSON-Schema, em conjunto com os tipos timestamp e geometry para explorar as capacidades da BDTR, processando estes tipos de dados. Uma vez definidas todas as propriedades da ontologia, estas serão apresentadas na tabela de propriedades, onde poderão ser eliminadas, caso se detete que alguma propriedade não deve fazer parte da ontologia. Antes de gerar o esquema da ontologia, é possível indicar se aceita propriedades adicionais às declaradas ou não. Para isso, dispõe da caixa de combinação Additional Properties (Propriedades Adicionais). Caso não se indique o valor ou se se indicar como false (falso), a ontologia não permitirá adicionar instâncias da ontologia com outras propriedades diferentes às indicadas. Caso se indique como true (verdadeiro), serão admitidas outras propriedades diferentes das indicadas. Uma vez especificadas as propriedades e a restrição Additional Properties (Propriedades Adicionais), é possível gerar o esquema da ontologia ao carregar no botão Gerar ontologia. Isto fará com que no editor de ontologias da página apareça o esquema JSON da ontologia com a definição das propriedades indicadas. Consola Web SOFIA2 Página 25/171

Este esquema é editável, para que antes de criar a ontologia na plataforma, seja possível editar manualmente o esquema para por exemplo adicionar outros campos com outros tipos de dados. A estar conforme com o esquema, é possível criar a ontologia ao carregar no botão criar. NOTA: Não é possível gerar uma ontologia sem propriedades, exceto se especificar a restrição additional properties a true. Isto é, para não existirem ontologias que imponham nas suas instâncias de ontologia a restrição de ontologias vazias. Consola Web SOFIA2 Página 26/171

7.3. Criação de Ontologias a partir do Excel Através desta opção, é possível criar automaticamente uma ontologia a partir de um ficheiro Excel ou csv. Esta opção de menu está disponível para o Rol de Colaborador e Rol de Administrador. A janela apresentada nesta opção será a seguinte: Este ecrã é similar à janela Criar Ontologia, mas inclui um controlo para permitir a seleção de um ficheiro de tipo Excel/CSV. Esse ficheiro conterá a informação referida numa ontologia nova Consola Web SOFIA2 Página 27/171

que se pretende criar ou adicionar a uma ontologia já existente. Esta situação pode configurarse na opção Modo de carregamento. Também existem duas opções a partir das quais pode fazer o download do ficheiro: Local e Servidor. Se selecionar a opção Servidor aparecem os ficheiros Excel/CSV carregados previamente nesse servidor. Por outro lado, se marcar a origem do ficheiro Local, permitir-se-á selecionar o Excel/CSV a transferir, ao carregar em Selecionar arquivo. Se o arquivo for de tipo CSV, apresentar-se-á um campo adicional que servirá para indicar que carácter delimitador se utilizará nesse ficheiro (para poder analisá-lo). Consola Web SOFIA2 Página 28/171

Este campo (Delimitador CSV) será editável e esse carácter utilizar-se-á para a análise do arquivo para o carregamento dos respetivos dados. Também deve selecionar-se o carácter decimal utilizado no ficheiro. Adicionalmente, indicar-se-á se o arquivo a carregar inclui cabeçalhos que contenham os ids das colunas e que servirão para identificar os atributos da ontologia a gerar. Uma vez selecionados estes dados, carregar-se-á no botão Transferir atributos em Excel/CSV. Uma tabela que incluirá os dados do Excel será carregada: - Caso a primeira fila contenha cabeçalhos:. Caso não contenha cabeçalhos: Consola Web SOFIA2 Página 29/171

- Na primeira coluna mostra-se o Identificador da mesma. Se não selecionou a caixa Ids da coluna na primeira fila estão apresentar-se-ão vazios/não preenchidos. Em ambos os casos é um campo editável. - Na segunda coluna apresentam-se os dados correspondentes à segunda fila do ficheiro, para servir de exemplo. - Na terceira coluna apresenta-se o tipo de dados a que pertencem. Na versão atual são permitidos os tipos: String, Boolean, Number, Geometry-LAT e Geometry-LON. É modificável e o utilizador deve defini-lo. Em princípio está selecionado o tipo String. o Quanto aos tipos, apenas se permite um tipo geográfico (uma caixa de combinação de Geometry-LAT e Geometry-LON). Sempre que houver um desses tipos, também tem de estar presente o outro. Para validação adicional, não se podem selecionar vários tipos desses dois (mais de um Geometry-LAT ou mais de um Geometry- LON). - A quarta coluna apresenta uma caixa de verificação que permitirá selecionar as colunas que serão carregadas durante o processo. Por baixo da tabela incluem-se dois botões. Gerar Esquema e Selecionar outro ficheiro. O botão Selecionar outro ficheiro eliminará o ficheiro selecionado e eliminará os atributos, o esquema gerado e a instância associada ao esquema da tabela. Ao carregar em Gerar Esquema, gerar-se-á o esquema correspondente, utilizando para isso os atributos selecionados na tabela (com os respetivos identificadores e tipos associados) e o nome da ontologia. Carregar-se-á na secção Esquema e implementar-se-á de forma automática. Consola Web SOFIA2 Página 30/171

Por baixo do esquema, encontra-se o botão Gerar Instância. Se se carregar em Gerar Instância, gerar-se-á uma instância da ontologia utilizando o esquema gerado. Consola Web SOFIA2 Página 31/171

Para terminar, deverá carregar em Criar, para criar a ontologia e carregar os dados incluídos no Excel. Finalizado o processo, será reencaminhado para a janela de consulta, onde se apresentará um relatório de carregamento de dados: Para além de se criar a ontologia, transferir-se-á a informação desta na BDTR, ficando assim pronta para ser consumida. Consola Web SOFIA2 Página 32/171

7.4. Estado de transferência de Excel Através desta opção, é possível consultar o estado de transferência de ficheiros Excel nas Minhas ontologias. Esta funcionalidade está concebida para ficheiros de grande tamanho onde o processo de carregamento pode ser longo. Esta opção de menu está disponível para o Rol de Colaborador e Rol de Administrador. A janela apresentada nesta opção será a seguinte: Aparece uma lista com os processos de carregamento das Minhas ontologias a partir do Excel/CSV onde se indica o Nome da ontologia, Estado em que se encontra, número de registos carregados e a data/hora do último carregamento realizado. Se se selecionar o botão apresenta-se um resumo do último carregamento. Ao carregar em Atualizar estado de carregamento voltam a carregar-se os dados da tabela com a informação atualizada dos processos carregados. Consola Web SOFIA2 Página 33/171

7.5. Criação de uma Ontologia a partir da Coleção Através desta opção é permitido criar ontologias a partir de coleções de MongoDB. Ao ligar-se a uma instância de MongoDB já existente, converte-se visualmente uma coleção numa ontologia. Esta opção de menu está disponível para o Rol de Colaborador e o Rol de Administrador. A janela apresentada nesta opção será a seguinte: Ao selecionar uma coleção das existentes na BDTR aparece o Registo da Coleção com o botão Gerar Esquema. Ao carregar em Gerar esquema apresenta-se o detalhe do esquema da ontologia a criar Consola Web SOFIA2 Página 34/171

Por último, no ponto Parametrização podemos configurar a ontologia: ativa, pública/privada e configuração BDTR e BDH. Para guardar a ontologia carregue no botão Criar. 7.6. Lista de Ontologias Apenas os utilizadores registados na plataforma com roles de Colaborador e Administrador terão a possibilidade de listar ontologias na plataforma. Os utilizadores Administradores terão plenos direitos sobre todas as ontologias, por outro lado o Colaborador poderá gerir todas as ontologias que sejam da sua propriedade. Ao aceder à funcionalidade através da opção de menu Minhas Ontologias apresentar-se-á a seguinte página: Consola Web SOFIA2 Página 35/171

Será permitido realizar pesquisas sobre as ontologias às quais tem permissões. Para filtrar a informação apresentada na lista, podem ser preenchidos os campos: Nome. Será permitido realizar pesquisas parciais, isto é, se se introduzir um A e se carregar no botão Procurar serão apresentadas as ontologias que começam por essa letra. Descrição: Poderão realizar-se pesquisas sobre textos que posam estar contidos nas descrições. Para aceder ao detalhe das ontologias que se apresentam na listagem, deverá carregar-se no botão situado à direita de cada uma das entradas apresentadas na listagem. As opções que se permitem realizar a partir desta janela dependerão das permissões que tem o utilizador, que está a visualizar a ontologia: Utilizadores com sessão iniciada e com o rol de Administrador: Todas as opções (modificar e eliminar). Utilizadores registados com o rol de Colaborador: Todas as opções aplicáveis às ontologias das quais é proprietário, para as restantes ontologias poderá apenas visualizá-las em modo de consulta. 7.7. Modificação de ontologias As ontologias poderão ser modificadas a partir da opção de menu Minhas Ontologias e apenas se tiver permissões para esse efeito. Tem de clicar no ícone ver, que aparece na lista de ontologias: e posteriormente no botão Modificar. Consola Web SOFIA2 Página 36/171

É possível modificar toda a informação de uma ontologia (descrição, esquema, identificação, etc.). Os campos Versão e Versão de Modelo utilizada fazem referência à Versão de Modelo Atual e à Versão com a qual se criou a ontologia, são campos unicamente informativos, tal como o campo Nome. Aparecerá um formulário como o da criação, mas com a informação da ontologia introduzida no momento da criação: Consola Web SOFIA2 Página 37/171

Consola Web SOFIA2 Página 38/171

As ontologias poderão ser editadas pelos utilizadores que têm privilégios para esse efeito: Administradores: Poderão editar qualquer ontologia. Colaboradores: Apenas poderão editar as suas próprias ontologias ou as ontologias nas quais tem permissões. 7.8. Eliminação de ontologias A partir da Consola Web também é possível eliminar ontologias. Ao modificar uma ontologia é possível indicar se a ontologia estará ativa ( ) ou não ( ). Pode considerar-se a eliminação lógica da ontologia. As permissões para poder eliminar a ontologia são idênticas às de edição: Administradores: Poderão editar qualquer ontologia. Colaboradores: Apenas poderão editar as suas próprias ontologias ou sobre as quais tem permissões. Também é possível eliminar uma ontologia se tiver permissões para isso ou se for o proprietário da mesma. É necessário aceder ao detalhe da ontologia, a partir da listagem de ontologias e carregar no botão Eliminar. Caso se trate de uma Ontologia Principal, apenas poderá eliminar-se se não existir nenhuma Ontologia secundária que se estenda da mesma. 7.9. Subscrição a Ontologias Pode aceder-se a esta opção de menu a partir do Rol de Colaborador e Rol do Utilizador. A partir da opção de menu Minhas Subscrições é possível pesquisar ontologias pelos seguintes filtros: Nome da ontologia Consola Web SOFIA2 Página 39/171

Descrição Ao clicar no botão Pesquisar pesquisar-se-ão todas as ontologias que cumpram os filtros indicados. As ontologias apresentadas nas duas listas que aparecem na página serão: Lista de Ontologias: As ontologias públicas às quais pode subscrever o utilizador registado e que ainda não foram subscritas. Lista das minhas Subscrições: As ontologias próprias, as que já foram subscritas e às quais o administrador concedeu permissões ao utilizador. Consola Web SOFIA2 Página 40/171

A partir de qualquer uma das duas listas, os utilizadores poderão subscrever ou anular a subscrição às ontologias apresentadas. Para isso, na lista carregará na opção de detalhe da ontologia à qual pretende subscrever ou eliminar a subscrição. Ao fazer clique em aparecerá outra vista na qual se apresentará informação sobre a ontologia e os botões mesma. para efetuar a subscrição ou eliminar a Consola Web SOFIA2 Página 41/171

Se carregar em Subscrever, aparecerá uma janela como a seguinte: Ao carregar em Aceitar o utilizador estará subscrito à ontologia e receberá notificações sobre a mesma de forma periódica. É importante indicar que uma vez que um utilizador se subscreveu a uma ontologia, este adquire as permissões de QUERY nesse mesmo momento. O utilizador poderá anular a subscrição às ontologias, a partir da lista lista das minhas subscrições ao clicar em e ao carregar no botão Anular subscrição. Aparecerá uma janela como a seguinte, que permitirá anular a subscrição à ontologia. Ao carregar em Aceitar, o utilizador deixará de receber notificações de inserções de ontologia. 7.10. Autorizações das minhas Ontologias Apenas os utilizadores com o rol de administrador terão acesso e poderão alterar as permissões que têm os utilizadores sobre as ontologias do Sistema. A Plataforma conta com três roles: Administrador Colaborador Utilizador Conforme o rol, os utilizadores terão ou não determinadas permissões para interoperar na Plataforma. ROL_UTILIZADOR: Utilizadores com permissões básicas. Os utilizadores com este rol poderão subscrever e realizar consultas sobre as ontologias e dados públicos, assim Consola Web SOFIA2 Página 42/171

como criar os seus próprios KPs. O detalhe pode verificar-se no ponto 4 Acesso Rol Utilizador. ROL_COLABORADOR: São utilizadores que poderão criar KPs e ontologias, definir consultas e subscrever-se a ontologias. O detalhe pode verificar-se no ponto 5 Acesso Rol Colaborador. ROL_ADMINISTRADOR: São utilizadores que poderão gerir todas as áreas da Consola Web da Plataforma, poderão registar utilizadores, ontologias, KPs, outro tipo de informação, definir autorizações entre utilizadores e ontologias. O detalhe pode verificarse no ponto 6 Acesso Rol Administrador. As permissões que um utilizador tem numa ontologia estão limitadas pelo rol e pelas permissões que o administrador aplicar através desta funcionalidade. As permissões que se podem associar a cada utilizador em relação com uma ontologia são as seguintes: QUERY: Permitirá realizar consultas sobre as inserções de ontologias realizadas pelos KPs, introduzidos pelo utilizador proprietário. INSERT: Permitirá realizar inserções de ontologia através dos KPs introduzidos pelo utilizador proprietário. ALL: Com estes privilégios, o utilizador poderá incluir as permissões QUERY e INSERT numa antologia. Ao aceder à funcionalidade através da opção de menu, observa-se a lista das permissões que tem cada utilizador para cada uma das ontologias: Para criar uma nova autorização, deve selecionar-se um utilizador, uma ontologia e o tipo de permissão que se pretende conceder ao utilizador selecionado para a ontologia e carregar no botão Guardar. Consola Web SOFIA2 Página 43/171

Uma vez aplicadas as permissões, estas serão apresentadas na lista inferior. A lista de autorizações está localizada na parte inferior da página, permitindo a eliminação dos registos apresentados ao carregar no botão situado à direita de cada associação de privilégios. Para que um utilizador possa criar Ontologias Secundárias a partir de uma Principal, o utilizador criador (o um utilizador com o ROL_AMINISTRADOR) deve autorizar o utilizador a utilizar a Ontologia Principal previamente. Consola Web SOFIA2 Página 44/171

8. GESTÃO ONTOLOGIAS DE GRUPO Através da opção de menu Criar Ontologia de Grupo um utilizador com o rol colaborador ou o rol administrador poderá definir e criar no Sistema novas ontologias de grupo. O formulário está acessível a partir do menu na opção de Ontologias de Grupo, o utilizador deverá indicar: Nome com o qual deseja identificar a nova ontologia de grupo Tempo em segundos durante o qual o SIB deve compor as instâncias de grupo. Se a ontologia será pública para os restantes utilizadores. Descrição para indicar o que pretende representar a ontologia de grupo. Deverá selecionar as ontologias que compõem a ontologia de grupo. As ontologias disponíveis para selecionar são ontologias públicas e sobre as quais o utilizador tem permissões. O utilizador poderá criar uma ou várias instâncias de ontologia de grupo. Para criar uma instância de ontologia, deverá definir-se um nome de instância o Deverá selecionar-se para cada uma das ontologias de grupo que compõem a ontologia de grupo, o atributo de agrupamento. o E para cada atributo de agrupamento o valor pelo qual se pretende agrupar, também para cada uma das ontologias. Ao aceder à funcionalidade, o aspecto será o seguinte: Consola Web SOFIA2 Página 45/171

Os utilizadores com rol de Administrador o Colaborador terão privilégios para criar ontologias de grupo e poderão criar as ontologias sobre as quais têm permissões. 8.1. Lista de Ontologias de Grupo Apenas os utilizadores registados na plataforma com rol de Colaborador e Administrador terão a possibilidade de Listar ontologias de grupo da plataforma. Os utilizadores Administradores Consola Web SOFIA2 Página 46/171

terão plenos direitos sobre todas as ontologias, por outro lado o Colaborador poderá gerir todas as ontologias que sejam da sua propriedade. Ao aceder à funcionalidade através da opção de menu Minhas Ontologias Grupo apresentarse-á a seguinte página: Permitir-se-á realizar pesquisas nas ontologias, nas quais tem permissões. Para filtrar a informação apresentada na lista, poderão preencher-se os campos: Nome. Permitir-se-á realizar pesquisas parciais, isto é, se se introduzir um A e se carregar no botão Procurar apresentar-se-ão sob a forma de uma lista as ontologias de grupo que começam por essa letra. Descrição Para aceder ao detalhe das ontologias de grupo que se apresentam na lista, deverá carregar no botão situado à direita de cada uma das entradas mostradas na lista. Ao aceder ao detalhe da ontologia de grupo apresentar-se-á o detalhe da ontologia e poder-seá modificar ou eliminar a ontologia de grupo se tiver permissões para esse efeito. As opções que se permitem realizar a partir desta janela dependerão das permissões que tem o utilizador que está a visualizar a ontologia: Utilizadores com sessão iniciada e com rol o Administrador: Todas as opções. Utilizadores registados com o rol Colaborador: Todas as opções sobre as ontologias de que é proprietário, para as restantes ontologias que pode visualizar apenas poderá aceder em modo consulta. Consola Web SOFIA2 Página 47/171

8.2. Modificação de Ontologias de Grupo As ontologias de grupo poderão ser modificadas a partir da opção de menu Minhas Ontologias de grupo, ao clicar na ontologia de grupo que se pretende alterar, no ícone de edição que aparece na lista de ontologias:. É possível modificar toda a informação de uma ontologia de grupo (descrição, temporizador, identificação, etc.). Também é possível modificar os valores das instâncias definidas, assim como criar novas instâncias ou eliminá-las, ao clicar na instância que se pretende modificar. Aparecerá um formulário como o de criação, mas com a informação da ontologia introduzida no momento da criação: Os utilizadores com permissões poderão editar ontologias: Administradores: Poderão editar qualquer ontologia. Colaboradores: Apenas poderão editar as suas próprias ontologias. 8.3. Eliminar Ontologias de Grupo A partir da Consola Web também é possível eliminar ontologias de grupo, ao modificar uma ontologia de grupo é possível indicar se a ontologia estará ativa ( ) ou não ( ). Pode considerar-se a eliminação lógica da ontologia. Consola Web SOFIA2 Página 48/171

As permissões para poder eliminar a ontologia são as mesmas que para opção de edição: Administradores: Poderão editar qualquer ontologia. Colaboradores: Apenas poderão editar as suas próprias ontologias. 8.4. Subscrição a Ontologias de Grupo Pode aceder-se a esta opção do menu com o Rol de Colaborador e Rol de Utilizador. A partir da opção de menu Minhas Subscrições é possível procurar ontologias de grupo através dos seguintes filtros: Nome da ontologia de grupo Descrição: Ao clicar no botão Procurar procurar-se-ão todas as ontologias de grupo que cumprem os critérios dos filtros indicados. As ontologias que serão apresentadas nas duas listas que aparecem na página serão as seguintes: Lista de Ontologias de grupo: As ontologias de grupo públicas às quais o utilizador não está subscrito. Lista das Minhas Subscrições: As ontologias de grupo às quais o utilizador está subscrito ou sobre as quais o administrador concedeu permissões ALL, INSERT ou QUERY ao utilizador. Consola Web SOFIA2 Página 49/171

A partir das listas, os utilizadores poderão subscrever ou anular a subscrição das ontologias apresentadas ao carregar subscrição. na ontologia de grupo à qual pretende subscrever-se ou anular a Ao clicar em na lista de ontologias de grupo, aparecerá outra visualização na qual se apresentará informação sobre a ontologia de grupo e os botões. Consola Web SOFIA2 Página 50/171

Se carregar em Subscrever aparecerá uma janela com a mensagem seguinte: Ao carregar em Aceitar o utilizador estará subscrito à ontologia e receberá notificações sobre a mesma de forma periódica. É importante indicar que uma vez que um utilizador se subscreveu a uma ontologia, este adquire as permissões de QUERY na mesma altura. O utilizador poderá anular a subscrição das ontologias a partir da lista lista das minhas subscrições, ao clicar em e ao carregar no botãon Anular Subscrição. Aparecerá uma janela como a seguinte, que permitirá anular a subscrição à ontologia. Ao carregar em Aceitar, o utilizador deixará de receber notificações de inserções de ontologia. Consola Web SOFIA2 Página 51/171

8.5. Autorizações de Ontologias de Grupo Apenas os utilizadores com o rol de administrador poderão aceder à ontologia e alterar as permissões que têm os utilizadores sobre as ontologias do Sistema. A Plataforma conta com três roles: Administrador Colaborador Utilizador Conforme o rol, os utilizadores terão umas ou outras permissões para interoperar com a Plataforma. ROL_UTILIZADOR: Utilizadores com permissões básicas. Os utilizadores com este rol poderão subscrever e realizar consultas sobre as ontologias e dados públicos, assim como criar os seus próprios KPs. É possível ver o detalhe no ponto 4 Acesso Rol Utilizador. ROL_COLABORADOR: São utilizadores que poderão introduzir KPs e ontologias, definir consultas e subscrever-se a ontologias. É possível ver o detalhe no ponto 5 Acesso Rol Colaborador. ROL_ADMINISTRADOR: São utilizadores que poderão gerir todas as áreas da Consola Web da Plataforma, poderão registar utilizadores, ontologias, KPs, outro tipo de informação, definir autorizações entre utilizadores e ontologias. É possível ver o detalhe no ponto 6 Acesso Rol Administrador. As permissões que um utilizador tem sobre uma ontologia são limitadas pelo rol e pelas permissões que o administrador aplica através desta funcionalidade. As permissões que se podem associar a cada utilizador em relação com uma ontologia são as seguintes: QUERY: Permitirá realizar consultas sobre as inserções de ontologias que realizam os KPs introduzidos pelo utilizador proprietário. INSERT: Permitirá realizar inserções de ontologia para os KPs introduzidos pelo utilizador proprietário. ALL: O utilizador com estes privilégios sobre uma ontologia englobará as permissões QUERY e INSERT. Ao aceder à funcionalidade através da opção de menu, observar-se-á a lista das permissões que tem cada utilizador para cada uma das ontologias: Consola Web SOFIA2 Página 52/171

Para criar uma nova autorização, é necessário selecionar o utilizador, a ontologia de grupo e a permissão que se pretende aplicar ao mesmo e carregar no botão de Guardar. Uma vez aplicadas as permissões, aparecerá na lista inferior a nova autorização junto com as restantes autorizações. É possível eliminar uma autorização ao carregar na lista no botão situado à direita de cada associação de permissões: Consola Web SOFIA2 Página 53/171

Consola Web SOFIA2 Página 54/171

9. GESTÃO DE KPs/APPs Permite gerir os KPs com os quais vai interatuar a Plataforma: Criar e modificar KPs Procurar KPs Ver KPs Ativos Gerir os Tokens e instâncias associadas a um KP. 9.1. Criação de KPs/APPs Através da opção de menu Meus KPs/APPs, qualquer utilizador registado na plataforma poderá criar no Sistema novos KPs. Ao clicar na opção Criar KP o utilizador deverá completar o formulário com a seguinte informação: Identificação do KP Chave de encriptação: Esta chave permitirá enviar mensagens encriptadas através de XXTEA. No guia APIs SOFIA2 pormenoriza-se a utilização da interface de KP para utilizar este método de encriptação. Descrição do KP Poder-se-ão selecionar as Ontologias ou ontologias de grupo com as quais vai trabalhar o KP Outra meta-informação de interesse para o KP. Os campos obrigatórios são o Identificador de KP e uma ou várias ontologias associadas ao KP. Os campos restantes são opcionais, mas é recomendável definir o KP da forma mais clara possível para que represente bem a sua tarefa. Pode aceder-se dentro da Consola Web à criação de KPs, a partir do formulário de pesquisa de KPs. Uma vez que se acede à funcionalidade, apresenta-se o formulário: Consola Web SOFIA2 Página 55/171

Preencher-se-á a informação do nosso novo KP. Uma vez preenchidos os campos para definir um novo KP carregar-se-á no botão Criar situado na parte inferior direita do formulário. Se não se preencher algum dos campos obrigatórios, não será permitido criar o KP apresentando uma mensagem informativa. Uma vez guardada a informação do novo KP, apresentar-se-á o detalhe do KP criado: Conforme mencionado anteriormente neste ponto, qualquer utilizador poderá criar KPs na plataforma, mas dependendo das permissões de que dispõe o utilizador, poder-se-ão criar KPs sobre umas ontologias ou outras: Utilizador com o rol de Administrador: Poderá criar KPs em qualquer ontologia criada na plataforma. Consola Web SOFIA2 Página 56/171

Utilizador com o rol de Colaborador e Restantes Utilizadores: Poderá criar KPS nas ontologias sobre as quais tem algum tipo de privilégio: o Poderá criar KPs Consumer nas ontologias sobre as quais tem permissões QUERY ou ALL. o Poderá criar KPs Producer nas ontologias sobre as quais tem permissões INSERT ou ALL. o Poderá criar KPs Proconsumer nas ontologias sobre as quais tem permissões ALL. É importante sublinhar que não se especifica o tipo de KP na criação de KP a nível do fornecedor/consumidor de informação, é um aspecto intrínseco às ontologias com as quais está relacionado e os privilégios que tem o utilizador sobre essas ontologias. 9.2. Lista de KPs A partir desta funcionalidade permite-se listar todos os KPS sobre os quais o utilizador com sessão iniciada tem privilégios. Ao aceder à funcionalidade a partir da opção de menu Meus KPs/APPs apresenta-se o formulário de pesquisa com a lista de KPs sobre os quais o utilizador tem acesso: Permite realizar-se pesquisas nos seguintes campos: Ontologia: Ontologias com as quais está relacionado um KP. Consola Web SOFIA2 Página 57/171

Ontologia de grupo: Ontologias de grupo com as quais pode estar relacionado o KP Nome: Nome ou Identificador do KP. Permitir-se-á realizar as pesquisas parciais, isto é, se se introduzir um A e se carregar no botão Procurar serão apresentados os KPs que começam por essa letra. Descrição: O funcionamento é como o do campo Nome. Uma vez introduzidos os valores para realizar o filtro deve carregar-se no botão Procurar situado na parte inferior direita do formulário. Adicionalmente, a partir do formulário tem a opção de criar um novo KP e aceder à funcionalidade descrita no ponto 9.1. A partir da lista, poder-se-á aceder ao detalhe do KP, modifica-lo ou eliminá-lo Os KPs que se apresentarão em função do rol do utilizador com sessão iniciada na Consola Web serão os seguintes: Utilizadores com o rol de Administrador: Poderão realizar toda a operativa definida em todos os KPs criados na plataforma. Utilizadores com o rol de Colaborador e restantes utilizadores: Poderão gerir os KPs que criaram na plataforma. 9.3. Modificação de um KP A partir da opção de menu Meus KPs/APPs, ao carregar na opção, os utilizadores poderão modificar toda a informação do KP (identificação, descrição, ontologias, etc.) Uma vez que se acedeu à funcionalidade, apresenta-se o formulário de edição: Consola Web SOFIA2 Página 58/171

As validações e restrições realizadas nesta página são as mesmas que as definidas para a criação do KP. Após efetuar as alterações necessárias no KP, carregar-se-á no botão Guardar situado na parte inferior direita do formulário para registar essas alterações. Se efetuou esta ação corretamente, registar-se-ão as alterações e apresentar-se-á o detalhe do KP, com as alterações aplicadas. Consola Web SOFIA2 Página 59/171

Os KPs poderão ser editados, em função dos roles do utilizador registado na Consola Web. Estão são: Utilizadores com o rol de Administrador: Poderão realizar toda a operativa definida em todos os KPs criados na plataforma. Utilizadores com o rol de Colaborador e restantes utilizadores: Poderão gerir os KPs que criaram na plataforma. 9.4. Gestão de Tokens A partir desta funcionalidade, permite-se gerir os Tokens associados a um KP. Todos os utilizadores registados na plataforma terão acesso e poderão gerir os Tokens nos KPs sobre os quais têm permissões: Utilizadores com o rol de Administrador: Poderá gerir os Tokens de todos os KPs introduzidos na plataforma. Utilizadores com o rol de Colaborador e restantes Utilizadores: Poderá gerir os Tokens de todos os KPs de que são proprietários. Ao aceder à funcionalidade através da opção de menu Meus Tokens apresentar-se-á a seguinte página: Para poder Gerir os Tokens de um KP deve selecionar-se primeiro o KP. Poder-se-ão realizar pesquisas através dos seguintes campos: Proprietário. Nome KP: Nome ou Identificador do KP. Permitir-se-á realizar pesquisas parciais, isto é, se se introduzir um A e se carregar no botão Procurar apresentar-se-ão os KPs que Consola Web SOFIA2 Página 60/171

começam por essa letra. Função apenas visível para utilizadores com o rol de Administrador. Preencha os campos com os quais pretende efetuar o filtro e carregue no botão Procurar situado por baixo à direita: Uma vez apresentada a lista de KPs filtrada, poder-se-á selecionar um KP para aceder aos seus Tokens. Carregar-se-á no registo da tabela do KPs sobre o qual se pretende ver o detalhe. Apresentar-se-á na parte inferior da janela os Tokens relacionados com o KP. Pode realizar-se a seguinte operativa sobre os Tokens apresentados na lista: Ativar ou Desativa um Token: Ativar-se-á ou desativar-se-á através do campo da caixa de verificação incluído na coluna da lista Ativo. É importante assinalar que a opção Desativar o Token implicará que os consumidores/produtores de informação não poderão comunicar entre si através do SIB até que se ative novamente. Consola Web SOFIA2 Página 61/171

Eliminar o Token: implica uma eliminação física do Token, sendo assim realizar esta ação implicará uma alteração na configuração de todas as instâncias do KP afetado, caso se pretenda que estas sejam novamente ligadas ao SIB. Para gerar mais Tokens para o KP selecionado, deverá selecionar-se um número entre 1 e 10 no campo de seleção situado à esquerda do botão Gerar Tokens localizado na parte inferior esquerda da lista de Tokens. Uma vez selecionado o número de Tokens que se pretende gerar, carregar-se-á no botão Gerar Tokens. Ao gerar o número de Tokens selecionados, apresentar-se-á uma mensagem informativa indicando que a operação se realizou corretamente. Uma vez criados, os Tokens serão apresentados numa lista no estado Desativo por defeito: 9.5. Gestão de Instâncias de KPs Na Sofia2, são permitidos dois tipos de instâncias de KPs, as Instâncias de KP Dinâmicas e as Instâncias de KPs Estáticas: Instâncias de KPs Estáticas: São as Instâncias de KP registadas na plataforma através da Consola Web. Este tipo de instância está associado a um KP em concreto. Permite-se a respetiva gestão a partir da Consola Web conforme pormenorização a seguir. Instâncias de KPs Dinâmicas: São geradas em função das mensagens SSAP JOIN que enviam os KPs para ligar-se ao SIB e destroem-se uma vez que o KP envia a mensagem SSAP LEAVE para finalizar a sessão. O seu tempo de vida é o tempo de duração da sessão SSAP. A operação sobre as instâncias de KPs será restrita da seguinte forma: Consola Web SOFIA2 Página 62/171

Os utilizadores que tiverem um rol de Administrador associado poderão aceder à Gestão de Instâncias de KPs para todos as Instâncias de todos os KPs introduzidos na plataforma. Os restantes utilizadores poderão gerir as Instâncias dos KPs, dos quais são proprietários. Ao aceder à funcionalidade através da opção do menu Minhas Instâncias KP/APP é apresentada a seguinte página: A partir desta página efetua-se um primeiro filtro dos KPs sobre os quais pretende atuar. Uma vez localizado o KP sobre o qual se pretende trabalhar, deverá carregar no botão situado na parte direita do KP na lista. A seguir, apresentar-se-á a seguinte janela para gerir as Instâncias do KP selecionado: Consola Web SOFIA2 Página 63/171

Conforme pode verificar no ecrã, a informação seguinte é apresentada: Identificação: Apresenta o identificador da Instância. o Instâncias Dinâmicas: para o caso das Instâncias dinâmicas, fará referência ao identificador enviado na mensagem SSAP JOIN, que não fará a validação, exceto para verificar de que não se trata de uma Instância Estática registada pela plataforma. Uma mensagem JOIN com um identificador de instância utilizado para abrir uma sessão prévia, provoca a expiração da sessão prévia e abre uma nova sessão com a sessionkey que é enviada na resposta da segunda mensagem JOIN. o Instâncias Estáticas: Informa o valor introduzido pelo criador da Instância. Último IP: Indica o último IP com a qual se conectou a instância do KP. Modo IPStrict: O valor da coluna fará referência às Instâncias Estáticas, indicando se se utiliza ou não este modo de controlo: Se o modo IPStrict está desativado: Uma segunda JOIN com o mesmo identificador de KP gerará uma nova sessão SSAP encerrando a antiga sem verificar o IP do qual provém. Contudo, atualizará o campo do último endereço IP. Se o modo IPStrict está ativado: Uma segunda JOIN com o mesmo identificador de KP gerará uma nova sessão SSAP encerrando a antiga, apenas se provir a partir do IP que tenha essa instância de KP armazenada. Caso provenha de um IP distinto, esta é rejeitada. Instância Estática: Apresentar-se-ão as Instâncias de KP geradas dinamicamente como as instâncias de KP registadas de forma estática. Quando esta coluna estiver Consola Web SOFIA2 Página 64/171

marcada indicará que a Instância apresentada é do tipo estático, caso contrário indicará que se trata de uma instância dinâmica. Para as instâncias geradas dinamicamente, não é permitida a edição nem a eliminação das mesmas. É permitido realizar as seguintes operações nas Instâncias de KPs Estáticas introduzidas na plataforma a partir da lista: Eliminação: Para poder eliminar uma Instância Estática deverá carregar no botão situado à direita das Instâncias de KP apresentadas. Ao carregar no botão eliminar, se estiver uma sessão aberta, está tornar-se-á inválida nesse preciso momento, não permitindo à Instancia do KP comunicar com o SIB. Edição: Para poder editar uma Instância Estática, deve carregar-se no botão situado à direita das Instâncias de KP apresentadas. Uma vez localizada a Instância Estática sobre a qual se pretende trabalhar, carregar-se-á no botão indicado, acedendo à seguinte página de edição: No formulário indicado, permitir-se-á editar a seguinte informação: Identificador do KP: Permitir-se-á modificar o nome identificativo da instância do KP. É necessário ter em conta que ao alterar o nome identificativo com uma sessão ativa, essa instância tornará a mesma inválida. Modo IPStrict: Permitir-se-á ativar e desativar o modo de controlo. As alterações realizadas ao modo de controlo afetarão a sessão ativa, se aplicável. Consola Web SOFIA2 Página 65/171

10. Contentor KPs/APPs O contentor de KPs consiste num novo modelo que permite a implementação de Apps Sofia2, gerindo a respetiva execução e encarregando-se do envio ao SIB da informação gerada pelo KP. 10.1. Criar KPs/APPs no Contentor Para criar um KP em Contentor deve aceder-se à opção de menu Contentor KPs/APPs, Criar KPs/APPs em contentor e é apresentada a seguinte janela: Nesta janela é necessário especificar a informação acerca do KP que vai ser criado. KP: Identificador do KP registado em Sofia2 a registar no contentor. Consola Web SOFIA2 Página 66/171

Instância de KP: Identificador de KP a registar no contentor Tipo de contentor de KP: Na versão atual todos os KPs são temporizados e executamse periodicamente conforme a expressão CRON. Linguagem: Linguagem de programação do KP, permite ao contentor selecionar o runtime com o qual executa o KP. Timeout: Tempo em segundos que o contentor atribui ao KP para completar a sua execução. Se o KP não finalizar a execução nesse tempo, o contentor abortará a execução. Descrição: Descrição informativa do contentor. Prefixo de ficheiros de mensagens: Prefixo que terá os ficheiros de mensagens gerados pelo ficheiro executável. Propriedades: Pares chave-valor, com as propriedades que necessita o programa. Estas propriedades são utilizadas pelo contentor de KPs para criar um ficheiro no diretório de execução com essas propriedades. O ficheiro de propriedades terá o mesmo nome que o programa em conjunto com a extensão.properties. Para consultar a lista de KPs no contentor de KPs, dispõe-se na consola da opção: Contentor KPs/APPs > Meus KPs/APPs em Contentor. A partir desta lista pode visualizar-se, modificar e eliminar os KPs em contentores. Consola Web SOFIA2 Página 67/171

11. REGRAS A partir desta funcionalidade, permitir-se-á a gestão de Regras CEP e Script para os seguintes tipos de utilizadores: Para os utilizadores registados na plataforma que tenham um rol de Administrador associado, é-lhes permitido gerir todas as regras introduzidas na plataforma. Para os utilizadores registados na plataforma que tenham o rol de Colaborador associado, estes poderão criar Regras CEP e Script em Ontologias nas ontologias onde têm permissões Insert ou All. Apenas poderão visualizar e modificar Regras CEP e Script em Ontologias que introduziram. 11.1. Criar Regra com Wizard A partir desta funcionalidade, podem criar-se Regras CEP e Script de uma forma simples. Acede-se à mesma ao selecionar a opção de menu Criar Regra com Wizard e aparece a seguinte janela: Ao selecionar a opção que se pretende realizar e ao carregar no botão Seguinte acede-se à criação da Regra com o assistente, passando por vários passos para agilizar e simplificar a respetiva criação. Consola Web SOFIA2 Página 68/171

11.2. Criação Script Para aprofundar o conhecimento sobre o desenvolvimento de Scripts em SOFIA, recomendase a leitura do Guia de Script. Pode aceder-se à funcionalidade através da opção de menu Meus Script e ao carregar no botão Criar Script. Visualizar-se-ão as seguintes páginas em função do tipo de Script a criar. (Scripts do tipo Timmer, Scripts em Ontologias, Scripts em Ontologias Principais e Scripts do tipo Cep): 11.2.1. Scripts do tipo Timmer Os Script do tipo Timmer têm a característica principal de que são executados apenas num determinado período de tempo configurável e não estão associados a nenhum outro evento. Para criar Script temporizados deverão preencher-se os campos seguintes: Identificação: Deverá indicar-se o nome identificativo do Script. Consola Web SOFIA2 Página 69/171

Temporizador: Tempo em segundos que indica a frequência com a qual se executará o Script sempre que estiver Ativo. Permite-nos introduzir expressões CRON. Operações disponíveis: Pode selecionar-se entre as operações criadas anteriormente as opções que se pretende adicionar nos diferentes blocos (If, Then, Ose, Error) para facilitar a criação do Script. Timeout: Tempo em segundos que permitirá cancelar um Script que demora mais tempo a executar-se do que o indicado. Bloco THEN: Para este tipo de Script dever-se-á indicar este campo. Os restantes campos opcionais na criação de um Script Temporizado são os seguintes: Ativo: Deverá marcar-se este campo para que se execute o Script. Bloco IF: Caso se indique este campo, sempre que executar o script, avaliar-se-á a condição que se indica, devolvendo o controlo ao contentor de Script. Para poder devolver neste bloco os valores true ou false ao contentor de Script, deverá utilizar-se a instrução return true ou return false dentro do bloco de Script para que o contentor de Script possa controlar o fluxo pretendido na sua execução. Bloco ELSE: Para este tipo de Script, este campo é opcional. É necessário que o Bloco IF seja indicado para selecionar o Bloco ELSE, não faria sentido o Bloco ELSE não indicar o bloco IF. Para que se execute este bloco de Script, o resultado do Bloque IF deve ser false Bloco ERROR: Embora opcional, este campo é importante, caso haja algum erro não controlado na execução do Script, o contentor de Scripts executaria esse bloco. Um exemplo de criação de Script temporizado seria o seguinte: Consola Web SOFIA2 Página 70/171

Conforme indicado anteriormente, apenas poderão criar Scripts Temporizados os utilizadores registados na plataforma com o rol associado de Administrador. Caso tenha a sessão iniciada com um utilizador com o rol associado de Colaborador, apresentar-se-á a seguinte mensagem na parte inferior do formulário de criação de Scripts: Caso se inclua alguma instrução que viole as restrições de Segurança Ativa conforme se demonstra na imagem, apresentar-se-á uma mensagem com a informação do erro: Consola Web SOFIA2 Página 71/171

11.2.2. Scripts sobre ontologias Os Scripts sobre Ontologias têm a principal característica de que se executam sempre que se realiza uma inserção de determinada ontologia indicada pelo criador do Script. Para criar um Script sobre ontologias dever-se-á preencher os campos: Identificação: Dever-se-á indicar o nome identificativo do Script. Ontologia: Apresentar-se-á um quadro com as ontologias disponíveis sobre as quais o utilizador com sessão iniciada tem as permissões de INSERT ou ALL. Conforme a seleção, apresentar-se-ão no quadro de Ontologias Selecionadas da direita. Timeout: Tempo em segundos que permitirá cancelar um Script que demora mais tempo a executar-se do que o indicado. Bloco IF: Sempre que se executar o script, avaliar-se-á a condição que se indica neste campo, devolvendo o controlo ao contentor de Script. Para poder devolver neste bloco os valores true ou false ao contentor de Script, dever-se-á utilizar a instrução return true ou return false dentro do bloco de Script para que o contentor de Script possa controlar o fluxo pretendido na respetiva execução. Bloco THEN: Neste bloco indicar-se-ão as ações a executar pelo contentor de Script uma vez avaliada a condição do Bloco IF com o resultado true. Para este tipo de Script dever-se-á indicar este campo. Os restantes campos opcionais na criação de um Script sobre ontologias: Ativo: Dever-se-á marcar este campo para que se execute o Script. Bloco ELSE: Para este tipo de Script, este campo é opcional. É necessário que o bloco IF seja indicado para assinalar o bloco ELSE, não faria sentido o Bloco ELSE, se não se indicasse o Bloco IF. Para que se execute este bloco de Script, o resultado do bloco IF deve ser false. Bloco ERROR: Embora opcional, este campo é importante, caso haja algum erro não controlado na execução do Script ou o contentor de Scripts executaria esse bloco. Consola Web SOFIA2 Página 72/171

Uma vez preenchidos os dados para criar um novo Script, para se guardar os dados, dever-seá carregar no botão Criar situado na parte inferior direita do formulário. As validações que se realizarão para este tipo de Script são as mesmas que para os Script Temporizados, exceto os campos obrigatórios exigidos. Uma vez guardado o Script, apresentar-se-á a página de detalhe do Script criado, conforme explicado no ponto 10.4 Detalhe de Script. 11.2.2.1. Scripts sobre Ontologias Principais Os Scripts sobre Ontologias Principais têm a principal característica de que se executam sempre que se realiza uma inserção de determinada ontologia principal indicada pelo criador do Script. Para criar o Script sobre ontologias principais, dever-se-á preencher os campos seguintes: Consola Web SOFIA2 Página 73/171

Identificação: Dever-se-á indicar o nome identificativo do Script. Ontologia: Apresentar-se-á um quadro com as ontologias disponíveis sobre as quais o utilizador com sessão iniciada tem as permissões de INSERT ou ALL. Conforme a seleção, apresentar-se-ão no quadro de Ontologias Selecionadas da direita. Timeout: Tempo em segundos que permitirá cancelar um Script que demora mais tempo a executar-se do que o indicado. Bloco IF: Sempre que se executar o script, avaliar-se-á a condição que se indica neste campo, devolvendo o controlo ao contentor de Script. Para poder devolver neste bloco os valores true ou false ao contentor de Script, dever-se-á utilizar a instrução return true ou return false dentro do bloco de Script para que o contentor de Script possa controlar o fluxo pretendido na respetiva execução. Bloco THEN: Neste bloco indicar-se-ão as ações a executar pelo contentor de Script uma vez avaliada a condição do Bloco IF com o resultado true. Para este tipo de Script dever-se-á indicar este campo. Os restantes campos opcionais na criação de um Script sobre ontologias: Ativo: Dever-se-á marcar este campo para que se execute o Script. Bloco ELSE: Para este tipo de Script, este campo é opcional. É necessário que o bloco IF seja indicado para assinalar o bloco ELSE, não faria sentido o Bloco ELSE não indicar o Bloque IF. Para que seja executado este bloco de Script, o resultado do bloco IF deve ser false. Bloco ERROR: Embora opcional, este campo é importante, caso haja algum erro não controlado na execução do Script ou o contentor de Scripts executaria esse bloco. Consola Web SOFIA2 Página 74/171

Uma vez preenchidos os dados para criar um novo Script, para se guardar os dados, dever-seá carregar no botão Criar situado na parte inferior direita do formulário. As validações que se realizarão para este tipo de Script são as mesmas que para os Script Temporizados, exceto os campos obrigatórios exigidos. Uma vez guardado o Script, apresentar-se-á a página de detalhe do Script criado, conforme explicado no ponto 10.4 Detalhe de Script. 11.2.3. Scripts de tipo Cep Os Scripts de tipo Cep têm a principal característica de que se executam sempre que se produz uma ocorrência indicada pelo criador do Script. Para criar o Script de tipo Cep, dever-se-ão preencher os campos: Identificação: Dever-se-á indicar o nome identificativo do Script. CEP: Apresentar-se-á um quadro com as regras Cep disponíveis. Conforme a seleção, apresentar-se-ão no quadro de Cep Selecionadas da direita. Timeout: Tempo em segundos que permitirá cancelar um Script que demora mais tempo a executar-se do que o indicado. Consola Web SOFIA2 Página 75/171

Bloco IF: Sempre que se executar o script, avaliar-se-á a condição que se indica neste campo, devolvendo o controlo ao contentor de Script. Para poder devolver neste bloco os valores true ou false ao contentor de Script, dever-se-á utilizar a instrução return true ou return false dentro do bloco de Script para que o contentor de Script possa controlar o fluxo pretendido na respetiva execução. Bloco THEN: Neste bloco indicar-se-ão as ações a executar pelo contentor de Script uma vez avaliada a condição do Bloco IF com o resultado true. Para este tipo de Script dever-se-á indicar este campo. Os restantes campos opcionais na criação de um Script de tipo Cep são: Ativo: Dever-se-á marcar este campo para que se execute o Script. Bloco ELSE: Para este tipo de Script, este campo é opcional. É necessário que o bloco IF seja indicado para assinalar o bloco ELSE, não faria sentido o Bloco ELSE não indicar o Bloco IF. Para que se execute este bloco de Script, o resultado do bloco IF deve ser false. Bloco ERROR: Embora opcional, este campo é importante, caso haja algum erro não controlado na execução do Script, o contentor de Scripts executará esse bloco. Consola Web SOFIA2 Página 76/171

11.3. Lista de Script Poder-se-á aceder à funcionalidade através da opção de menu Meus Scripts. Os utilizadores que tiverem permissões para aceder a esta funcionalidade visualizarão a seguinte página: Consola Web SOFIA2 Página 77/171

Ao aceder à página, apresentam-se todos os Scripts criados sobre os quais se têm permissões. Dependendo do utilizador que acedeu, visualizar-se-ão diferentes Scripts: Utilizadores registados na plataforma com o rol associado de Administrador: Poderão visualizar-se todos os Scripts, quer os Temporizados assim como os Scripts criados sobre uma ontologia. Utilizadores registados na plataforma com o rol associado de Colaborador: Visualizarão os Scripts sobre os quais têm permissões de INSERT ou ALL, independentemente de que tenham sido os criadores o não. A partir do formulário, permite-se realizar pesquisas por nome/identificador do Script e poderão realizar-se pesquisas parciais pelo início do nome do Script. A partir da lista, pode verificar-se o detalhe de um Script ao carregar no botão situado à direita de cada Script. Ao carregar no botão, será reencaminhado para a página de detalhe do Script criado, conforme explicado no ponto 10.4 Detalhe de Script. 11.4. Detalhe de Script Pode aceder-se a esta funcionalidade a partir da Lista de Scripts e quando se realizou com êxito a criação de um novo Script: Consola Web SOFIA2 Página 78/171

A partir do detalhe de Script, permite-se realizar a seguinte operação: 11.5. Edição de Script A edição de Scripts conterá as funções semelhantes à criação de Scripts, detalhada no ponto 10.2 Novo Script. Ao aceder à funcionalidade a partir do Detalhe de Script mencionado no ponto anterior, apresenta-se a seguinte página: Consola Web SOFIA2 Página 79/171

11.6. Regras CEP A partir desta funcionalidade, podem criar-se Regras CEP. Acede-se à mesma, selecionando a opção de menu Regras, Minhas Regras CEP e aparece a seguinte janela: Ao carregar no botão Criar regra, apresentam-se os dados de configuração da Regra CEP, conforme exemplo a seguir: Consola Web SOFIA2 Página 80/171

Deve selecionar-se em Eventos CEP, o evento ao qual vai fazer referência a nova Regra CEP e carregar em Adicionar para acrescentá-la ao quadro From. Nesse quadro especificamos a query/filtro que se deve preencher. No quadro Select especifica-se o atributo da ontologia que se seleciona em caso de êxito e no quadro Insert Into introduzimos o nome de saída que também será o nome atribuído à Regra CEP. 11.7. Evento CEP Para criar um Evento CEP, acede-se à opção de menu Regras, Meus Eventos CEP, aparece a seguinte janela e carrega-se no botão Criar Evento: Consola Web SOFIA2 Página 81/171

Os dados do Evento CEP configuram-se da seguinte forma: Deve selecionar-se a ontologia à qual estará associado o Evento e carregar em Carregar Campos. Uma vez carregados os campos da ontologia, selecionam-se os campos que se vão incluir no evento e carrega-se em Criar para guardar o evento. Consola Web SOFIA2 Página 82/171

O evento foi criado com êxito se se mostrar no final o detalhe desse evento. A partir do detalhe do evento, pode efetuar uma modificação alterando os atributos da ontologia definidos anteriormente por outros elementos. A partir do botão Eliminar, procede-se à eliminação do evento, aparecendo uma mensagem de confirmação da eliminação. Consola Web SOFIA2 Página 83/171

12. GESTÃO DE ASSETS 12.1. Criar Asset A funcionalidade descrita neste ponto permite criar Assets, que devem estar associados a um Tipo de Asset, um KP e uma Instância do KP selecionado. Os utilizadores que podem aceder a esta funcionalidade são os utilizadores introduzidos na plataforma com roles de administrador ou colaborador associado: Os utilizadores com o rol de administrador associado: poderão criar Assets em qualquer instância de KP ou Tipo de Asset introduzido na plataforma. Os utilizadores com o rol de colaborador poderão introduzir um Asset em qualquer Tipo de Asset introduzido na plataforma, mas poderão apenas associá-lo a Instâncias de KP, que sejam da sua propriedade. Ao aceder à opção Meus Assets e ao carregar no botão Criar apresenta-se a página de criação de Asset: Consola Web SOFIA2 Página 84/171

A informação necessária para se introduzir um Asset na plataforma é a seguinte: Identificação: Nome identificativo do Asset. O campo será obrigatório. Tipo de Asset: Tipo de Asset a que pertence. Após selecionar o Tipo de Asset ao qual se pretende associar o Asset, apresentar-se-ão as propriedades configuráveis associadas ao Tipo de Asset, com as quais se introduzirá o Asset. KP: O KP sobre o qual se introduzirá o Asset. Uma vez selecionado o KP, apresentarse-ão as instâncias associadas ao KP no campo do presente formulário Instância. Os KPs apresentados dependerão do rol associado ao utilizador registado como se indica mais acima. Instância: Em função do KP selecionado, apresentar-se-ão as respetivas Instâncias Estáticas introduzidas na plataforma. Consola Web SOFIA2 Página 85/171

Responsável: O responsável que se pretende associar à gestão do Asset. O campo será opcional. Descrição: Descrição do Asset. Altitude: Campo para indicar a localização geográfica do Asset. Longitude: Campo para indicar a localização geográfica do Asset. Nó: Nó ou local ao qual estará associado o Asset, este campo é opcional. TAGs: Tags de pesquisa do Asset dentro de um nó, os tags serão compostos por caracteres alfanuméricos separados por vírgulas e sem espaços, este campo também e opcional. Uma vez preenchida a informação com a qual se pretende criar o Asset para tornar efetivas as alterações, deverá carregar-se no botão Criar situado na parte inferior direita da página. 12.2. Listar Assets A lista de Assets mostra todos os Assets introduzidos na plataforma quer para os utilizadores com o rol de administrador associado assim como para o rol de colaborador. Caso os utilizadores tenham um rol de colaborador associado, apenas poderão visualizar os Assets dos quais são proprietários. Após selecionar a opção Meus Assets apresentar-se-á a lista de todos os Assets introduzidos na plataforma: Consola Web SOFIA2 Página 86/171

As operações que se podem realizar nos diferentes Assets introduzidos na plataforma são as seguintes: Visualização do detalhe ao carregar no botão. Edição do Asset ao carregar no botão. Eliminação de Asset ao carregar no botão. 12.3. Detalhe de Assets Ao aceder a esta funcionalidade, a página apresentada deverá ser a seguinte: Consola Web SOFIA2 Página 87/171

12.4. Modificação de Assets Esta funcionalidade permitirá modificar a informação associada a um Asset, uma vez que este tenha sido criado. Ao aceder à funcionalidade, apresentar-se-á uma página similar à de criação: A operação é a mesma que para a criação de Assets, uma vez preenchida a informação com a qual se pretende modificar o Asset para tornar efetivas as alterações, dever-se-á carregar no botão Guardar situado na parte inferior direita da página. 12.5. Criar tipo de Asset Os utilizadores que poderão aceder a esta funcionalidade são os utilizadores com roles associados de colaborador e de administrador, permitindo-lhes criar Tipos de Assets. Acede-se através da opção de menu Tipos de Assets e, ao selecionar o botão Criar a página que se apresenta é a seguinte: Consola Web SOFIA2 Página 88/171

Os campos que se apresentam no formulário são os seguintes: Nome do Tipo: Nome identificador do tipo de asset a criar. O campo será obrigatório. Descrição: Descrição do tipo de Asset. O campo será opcional. URL Imagem: Direção do servidor externo, onde se localizará a imagem que define o tipo de Asset. O campo será opcional. Imagem: Imagem que se armazenará na plataforma que define o tipo de Asset. O campo será opcional. Propriedades do Tipo: Este tipo de propriedades será comum a todos os Assets criados deste tipo. Não são configuráveis para cada Asset criado, conforme explicado a seguir, na diferença das Propriedades configuráveis para cada Asset. A criação de propriedades para o tipo de Asset é opcional. o Nome Propriedade Consola Web SOFIA2 Página 89/171

o Valor: Valor fixo para todos os Assets que sejam do mesmo tipo. o Descrição: Descrição da propriedade do Asset que se vai criar. Propriedades de Configuração: São propriedades que se definem para cada criação de um Asset. Não se introduz nenhum valor na propriedade, uma vez que o valor é solicitado no processo de criação de um Asset em concreto. A criação de propriedades configuráveis para o Asset será opcional. o Nome: Nome da propriedade que se apresentará no processo de criação de um Asset. o Descrição: Descrição da propriedade. Para adicionar Propriedades do Tipo de Asset e Propriedades de Configuração de Asset devem preencher-se os campos obrigatórios de cada formulário: Uma vez preenchidos, deve carregar no botão situado na parte inferior direita de cada formulário. Ao carregar no botão indicado, adicionar-se-ão à lista que se situa na parte inferior. As alterações não serão efetivas até que se tenha preenchido o formulário da informação relativa a todo o Tipo de Asset. Caso se pretenda eliminar as propriedades introduzidas, deverá carregar-se no botão situado na parte direita da propriedade apresentada na lista. Consola Web SOFIA2 Página 90/171

Uma vez preenchida a informação com a qual se pretende introduzir o Tipo de Asset, para tornar efetivas as alterações, deverá carregar-se no botão Criar situado na parte inferior direita da página. Uma vez guardadas as alterações, apresentar-se-á na lista de Tipos de Asset introduzidos na plataforma com o novo Tipo de Asset, cujo funcionamento se detalha no seguinte ponto: Consola Web SOFIA2 Página 91/171

Como nota importante a ter em conta, uma vez criado um Asset associado a algum dos Tipos de Asset que se tenham introduzidos na plataforma, estes não poderão ser eliminados do sistema. 12.6. Listar tipos de Asset A lista de Tipos de Assets mostra todos os tipos de Assets introduzidos na plataforma para os utilizadores com o rol de administrador associado assim como para o rol de colaborador. Após carregar na opção correspondente Tipos de Assets, apresentar-se-á a lista de todos os Tipos de Assets introduzidos na plataforma: Consola Web SOFIA2 Página 92/171

As operações que se podem realizar nos diferentes Tipos de Assets introduzidos na plataforma são as seguintes: Visualização do detalhe: Ao carregar no botão apresentar-se-á o detalhe do tipo de Asset conforme se indica no ponto 11.7 Detalhe do Tipo de Asset. Edição do Tipo de Asset: Ao carregar no botão será reencaminhado para a janela de edição de Tipo de Asset definida no ponto 11.8 Modificação de Tipo de Asset. Eliminação do Tipo de Asset : Poder-se-ão eliminar apenas os Tipos de Asset que não tenham associados nenhum Asset no momento da eliminação. Caso tenha Assets associados ao Tipo de Asset no momento da criação, aparecerá uma mensagem de erro. 12.7. Detalhe de Tipo de Asset Ao aceder a esta funcionalidade, a página apresentada deverá ser a seguinte: Consola Web SOFIA2 Página 93/171

12.8. Modificar os tipos de Asset Esta funcionalidade permitirá modificar a informação associada a um Tipo de Asset, uma vez que este tenha sido criado. Ao aceder à funcionalidade apresentar-se-á uma página similar à de criação de Tipos de Assets, a única diferença é que não se permitirá editar o nome do Tipo de Asset: Consola Web SOFIA2 Página 94/171

A operação é a mesma que a de criação de Tipos de Assets. Uma vez preenchida a informação com a qual se pretende modificar o Tipo de Assets para tornar efetivas as alterações, dever-se-á carregar no botão Guardar situado na parte inferior direita da página. 12.9. Criar Nó Através desta funcionalidade, permite-se criar Nós ou locais onde pode localizar um Asset. Os utilizadores que podem criar nós são os que estão introduzidos na plataforma com roles de administrador ou de colaborador. Para aceder, é necessário selecionar a opção de menu Nós e o botão Criar. Consola Web SOFIA2 Página 95/171

A informação necessária para introduzir um nó é a seguinte: Identificador: Nome identificativo do Nó, campo obrigatório. TAGs: Tags de pesquisa de nó, constituído por caracteres alfanuméricos separados por vírgulas, campo obrigatório. Principal: Nó principal, um nó ou local pode pertencer a outro nó ou local, não podem existir relações recursivas. Campo opcional Altitude: Campo para indicar a localização geográfica do Nó. Campo opcional. Longitude: Campo para indicar a localização geográfica do Nó. Campo opcional Descrição: Descrição do nó. Campo opcional. Consola Web SOFIA2 Página 96/171

12.10. Listar Nós Ao selecionar a opção Nós, apresenta-se a lista com todos os nós introduzidos na plataforma, quer para os utilizadores administradores assim como colaboradores, estes últimos apenas poderão ver os Nós dos quais são proprietários. As operações que se podem realizar nos diferentes Nós introduzidos na plataforma são as seguintes: Visualização do detalhe ao carregar no botão. Edição do Nó ao carregar no botão. Eliminação de Nó ao carregar no botão. 12.11. Detalhe de Nó Ao aceder a esta janela, a partir da lista de nós, seleciona-se a opção ver seguinte: e aparece o Consola Web SOFIA2 Página 97/171

12.12. Modificação de um Nó Esta funcionalidade permitirá modificar a informação associada a um Nó. Para aceder à mesma, deve selecionar-se a opção Editar. Consola Web SOFIA2 Página 98/171

A operação é a mesma que a de criação de Nós, uma vez preenchida a informação com a qual se pretende modificar o Nó para tonar efetivas as alterações, deverá carregar no botão Guardar situado na parte inferior direita da página. Consola Web SOFIA2 Página 99/171

13. VISUALIZAÇÕES 13.1. Meus Gadgets Na opção de menu Visualizações, selecione Meus Gadgets e aparecerá a seguinte janela: 13.1.1. Criar Gadgets Deve carregar-se no botão Criar Gadget na parte superior direita. Consola Web SOFIA2 Página 100/171

Ao selecionar o tipo de gadget que se pretende criar, aparece uma janela para escolher um KP e atribuir um nome ao gadget. Caso se selecione a opção de HTML Externo, devemos introduzir a URL externa. Para guardar, carregue no botão Criar. Estes Gadgets podem selecionar-se para criar um Dashboard. 13.2. Meus Dashboards Um Dashboard é uma interface gráfica, onde o utilizador pode administrar distintos widgets. Ao aceder à opção de menu Visualizações e selecionar Meus dashboards aparece a seguinte janela: 13.2.1. Criar Dashboards Ao carregar no botão Criar Dashboard acede-se à janela de criação. Consola Web SOFIA2 Página 101/171

Ao carregar no ícone adicionar ( selecionados. ) aparecem as opções de novos widgets que podem ser Selecionam-se os pretendidos e estes vão sendo adicionados ao Dashboard. Uma vez terminado, para guardar o Dashboard deve carregar-se no botão Criar. Consola Web SOFIA2 Página 102/171

14. FERRAMENTAS Estas Ferramentas permitem interatuar com a Plataforma. 14.1. Consola BDTR e BDH Permite realizar consultas nas ontologias armazenadas na plataforma para recuperar as instâncias de tais ontologias enviadas pelos KPs. Existem duas bases de dados para armazenamento de ontologias: BDTR (Base de dados em tempo real): Armazena as últimas instâncias de cada ontologia durante um intervalo de tempo considerado como tempo real para cada ontologia. BDH (Base de dados histórica): Armazena para cada ontologia as instâncias que deixaram de pertencer ao intervalo de tempo real. Esta base de dados tem como objetivo o armazenamento histórico para um futuro processamento desta informação. A partir da consola de administração, pode-se consultar ambas as bases de dados através da ferramenta Consola BDTR e BDH na secção Ferramentas do menu: Consola Web SOFIA2 Página 103/171

A ferramenta consiste num formulário, a partir do qual se pode enviar uma condição à base de dados correspondente, BDTR ou BDH, que tem de selecionar-se numa caixa de combinação, em conjunto com o tipo de linguagem utilizado na condição (Nativo ou SQL-Like). Também se dispõe de uma caixa de combinação que registará o historial das consultas executadas. Consultas à BDTR: Para realizar consultas sobre ontologias na base de dados em tempo real, é necessário selecionar: o Na caixa de combinação Base de dados: A opção BDTR. o Na caixa de combinação Tipo: O tipo de linguagem utilizado na condição: SQL-Like: Se se utiliza a linguagem de tipo SQL. Nativo: Se se utiliza a linguagem nativa da BDTR (MongoDB). o No campo de texto Query: A condição a executar na BDTR, escrita no tipo de linguagem selecionada na caixa de combinação Tipo. o No quadro Ontologias (de Grupo) disponíveis: selecionar uma ontologia sobre a qual vai efetuar a consulta, fazendo duplo clique na mesma, para que o campo de texto Query se atualize. Consola Web SOFIA2 Página 104/171

Como se pode verificar, executámos uma condição que utiliza a linguagem SQL-Like. O equivalente no modo Nativo para a consulta anterior seria db.sensorhumedad.find({"sensorhumedad.medida":12}) Os resultados da condição são apresentados na própria página como um documento JSON, que inclui a instância da ontologia, junto com a informação de contexto adicionada pelo SIB quando se armazenou a instância: Consola Web SOFIA2 Página 105/171

Consultas à BDH: Para realizar consultas sobre dados históricos de ontologias na base de dados histórica, é necessário selecionar: o Na caixa de combinação Base de dados: A opção BDH. o Na caixa de combinação Tipo: Bloqueia-se a opção SQL-Like, uma vez que a linguagem nativa do Driver da BDH (Impala), não sendo possível utilizar outra. o No campo de texto Query: A condição a executar na BDH, escrita na linguagem SQL-Like. Devido às características da BDH, apenas se permitem condições de tipo SELECT e INSERT. Consola Web SOFIA2 Página 106/171

o No quadro Ontologias (de Grupo) disponíveis: selecionar uma ontologia sobre a qual vai efetuar a consulta, fazendo duplo clique na mesma, para que o campo de texto Query se atualize. Os resultados da condição apresentam-se na própria página como um documento JSON, que devolve a informação em colunas de uma tabela e uma matriz com os resultados na tabela. Para isso, devolvem-se dois atributos: o colunas: Array com meta-informação de cada coluna da tabela de resultados Nome Tipo de dados Índice nos resultados o valores: Matriz com cada um dos registos da tabela de resultados O resultado de uma condição tem o seguinte aspecto: { "columns": [ {"name":"id","type":"varchar","index":1}, Consola Web SOFIA2 Página 107/171

} {"name":"timestamp_","type":"integer","index":2}, {"name":"mensajealarma","type":"varchar","index":3}, {"name":"mensajeexcepcion","type":"varchar","index":5}, {"name":"causa","type":"varchar","index":6}, {"name":"contextdata session_key","type":"varchar","index":7}, {"name":"contextdata user_id","type":"varchar","index":8}, {"name":"contextdata kp_id","type":"varchar","index":9}, {"name":"contextdata kp_identificador","type":"varchar","index":10}, {"name":"contextdata timestamp_","type":"varchar","index":11} ], "values": [ ["ObjectID(52fa4787fee7acf12f75a893)",null,"","3.0","69.0","\"KPproductor HT01\"","1391976200443.0"], ["ObjectID(52fa530375926e9d0a8d4a66)",null,"","","",""," ","3.0","69.0","\"KPproductorHT01\"","1391976200441.0"], ["ObjectID(52fa53e475926e9d0a8d4a67)",null,"","","",""," ","3.0","69.0","\"KPproductorHT01\"","1391976200431.0"], ] Consola Web SOFIA2 Página 108/171

14.2. Gestão Consultas Predefinidas Permite realizar consultas predefinidas sobre ontologias armazenadas na plataforma para recuperar as instâncias das ontologias enviadas pelos KPs. Podem efetuar-se consultas em dois tipos de linguagens: o SQL-Like: Se se utiliza a linguagem de tipo SQL. o Nativa: Se se utiliza a linguagem nativa da BDTR (MongoDB). Consola Web SOFIA2 Página 109/171

A ferramenta apresenta uma lista de Consultas predefinidas com as opções de Ver, Editar, Executar ou Apagar. Ao selecionar Executar, apresenta-se um formulário com os dados da consulta realizada e o resultado da mesma. Consola Web SOFIA2 Página 110/171

Pode selecionar-se uma consulta predefinida anteriormente ou criar uma consulta nova da seguinte forma. Consola Web SOFIA2 Página 111/171

o Identificação: Atribuir um nome à consulta. o Na caixa de combinação Tipo: O tipo de linguagem utilizada na condição: SQL-Like: Se se utiliza a linguagem de tipo SQL. Nativa: Se se utiliza a linguagem nativa da BDTR (MongoDB). o No quadro Ontologias disponíveis: selecionar uma ontologia sobre a qual vai efetuar a consulta, fazendo duplo clique na mesma. o No quadro Consulta: inserir a query que se pretende guardar. 14.3. KPs Ativos Os utilizadores com sessão iniciada na Consola Web poderão consultar KPs através da opção de menu KPs Ativos. Consideram-se KPs ativos, quando algumas das instâncias de KP iniciaram uma sessão satisfatória que se mantém em vigor no SIB. Ao aceder à funcionalidade, apresenta-se o seguinte formulário de pesquisa: Consola Web SOFIA2 Página 112/171

Permite-se realizar pesquisas por: Utilizador: Apenas estará ativo para Utilizadores com rol de Administrador. Ontologia ou ontologias de grupo relacionadas com os KPs ativos. Nome: Nome ou Identificador do KP. Permitir-se-á realizar pesquisas parciais, isto é, se se introduzir um A e se carregar no botão Procurar, apresentar-se-ão os KPs que começam por essa letra. Descrição do KP. Uma vez preenchido o formulário de pesquisa para poder ver os resultados deve carregar no botão Procurar situado na parte inferior direita do formulário: Consola Web SOFIA2 Página 113/171

A lista inclui três opções, para realizar consultas em BDTR e KP. ver as instâncias ativas do KP selecionado, para para consultar os últimos valores inseridos pelo 13.3.1 Pesquisa e consulta de instâncias de KPs Ativos A partir da lista de KPs Ativos, pode aceder-se às instâncias ativas para um KP. Apresentar-se-ão as instâncias de KPs para o KP selecionado na lista ao carregar na opção : Consola Web SOFIA2 Página 114/171

13.3.2 Realizar consultas BDTR sobre o KP Ativo A partir da lista de KPs Ativos, poderão realizar-se consultas à BDTR ao carregar no botão situado na lista à direita de cada KP Ativo. Ao carregar no botão indicado, é apresentada a página seguinte: Na página indicada, apresenta-se um esboço de query para orientar o utilizador na possível consulta BDTR a executar e as ontologias com as quais está relacionado o KP Ativo. A consulta prepara a query com os atributos das ontologias e localizações, onde se devem localizar os valores para poder realizar essa consulta: [VALUE], desta forma facilita-se a possibilidade de realizar uma consulta sobre a BDTR. Deve substituir-se [VALUE] pelo valor pretendido e eliminar os caracteres especiais [ ]. 13.4. Envio de Mensagens SSAP Para poder testar o protocolo de mensagens standard SSAP (Smart Space Access Protocol), acede-se a esta opção de menu. Consola Web SOFIA2 Página 115/171

Conforme se indica no Guia SOFIA2-APIs SOFIA2 pode enviar-se mensagens SSAP ao SIB e simular uma comunicação entre KP e SIB a partir desta opção de menu. Ao aceder à mesma, apresenta-se a página com duas áreas de texto, a da esquerda deverá conter a Mensagem SSAP que se pretende enviar ao SIB e à direita a mensagem síncrona de resposta do SIB: Uma vez introduzida a mensagem SSAP, deverá carregar no botão Enviar Pedido situado mais abaixo à esquerda. Neste caso, enviou-se uma mensagem JOIN ao SIB, sendo que, caso se realize o início de sessão corretamente, a resposta é a mensagem de resposta com o id de sessão: A resposta do SIB é um JSON sem formato e para formatar a mesma carregar-se-á no botão Formatar mensagem situada mais abaixo à direita. Ao carregar nesse botão, aparecerá a mensagem de resposta do SIB formatada num quadro de texto na parte inferior da página. Consola Web SOFIA2 Página 116/171

Através do SIB validar-se-á que as mensagens SSAP que se enviam não violam as permissões estabelecidas. Para mais informação sobre as mensagens SSAP, pode rever o Guia SOFIA2- Conceitos SOFIA2. 13.5. Validar uma Mensagem JSON Para poder verificar se uma instância definida numa Ontologia está correta, acede-se a esta opção de menu. Ao aceder, apresenta-se a página com três partes distintas: - A primeira, um seletor no qual se poderá escolher a Ontologia sobre a qual pretendemos definir a nossa instância. Uma vez selecionada, apresentar-se-á o respetivo esquema JSON. - A segunda, um editor JSON no qual se mostrará o esquema da ontologia. Poderá modificar o modo de visualização do esquema. - A terceira, um quadro de texto no qual se introduzirá a nossa instância em formato JSON. Consola Web SOFIA2 Página 117/171

Uma vez introduzida a instância, carregar-se-á no botão Validar situado mais abaixo à direita. Neste caso, enviou-se uma instância que pertence à Ontologia SensorHumidade. A consola informar-nos-á da validade da Instância que introduzimos. Neste caso: Consola Web SOFIA2 Página 118/171

Consola Web SOFIA2 Página 119/171

Caso a instância tenha algum erro: Neste caso, somos avisados de que a instância não é válida para a Ontologia SensorHumidade, o esquema da instância não está correto. 13.6. Visualização do Estado de Processos Esta ferramenta permite-nos visualizar o estado de um processo como Scripts ou Regras CEP. Consola Web SOFIA2 Página 120/171

Apresentar-se-ão os processos executados pela plataforma. Ao carregar na lista, na opção aparecerá uma janela como a seguinte, com os dados do processo e os tempos de execução. Consola Web SOFIA2 Página 121/171

15. GESTÃO SW A partir desta secção, poderão definir-se versões de software e configurações das aplicações implementadas em Gateway, assim como listar as configurações atribuídas e criadas. Apenas os utilizadores com o rol de Administrador e Colaborador terão acesso a este menu. É necessário ter em conta as seguintes considerações: Um KP poderá ter várias aplicações de software e cada aplicação poderá ter várias configurações de software. Apenas uma configuração de software poderá estar ativa de cada vez. Uma vez ativada uma configuração e atribuída a um KP e Instância, esta não poderá ser modificada. Quando se modifica uma aplicação ou configuração de software, melhorar-se-á a versão e por defeito guardar-se-á como desativada. o Por defeito, quando se modifica ou se clona uma configuração ou aplicação de software, estas serão guardadas como desativadas. Poderão clonar-se as configurações de software assim como as aplicações de software com as respetivas atribuições. Por defeito ao efetuar a clonagem, as configurações guardar-se-ão como desativadas. As aplicações de software poderão desativar-se, mas não poderão eliminar-se do Sistema e, apenas se poderão modificar se estas não foram atribuídas a nenhum KP ou Instância de KP. Com esta gestão podem realizar-se atualizações massivas que afetem um grande número de KPs e/ou instâncias de KPs. 15.1. Gestão de Configuração de Software Ao aceder à opção do menu Minhas configurações SW apresentar-se-á uma lista com as aplicações e configurações de software que criou o utilizador com sessão iniciada na Plataforma. Consola Web SOFIA2 Página 122/171

Um administrador poderá ver todas as aplicações e configurações de software criadas no Sistema. Na parte superior da janela inclui-se um campo que permite efetuar um filtro pelo nome da aplicação de software. Inclui-se um filtro por utilizador, apenas disponível para utilizadores com o rol de Administrador. Na lista apresenta-se o nome da aplicação, versão, proprietário, descrição e se está ou não ativa. A lista inclui também a opção para consultar o detalhe da configuração de software ou para modificar, para o caso de que não tenha sido aatribuída a aplicação de software. Na primeira parte da janela há um botão Criar Configuração que nos reencaminha para outra janela, para introduzir uma nova aplicação de software e a sua configuração. A UI Criar Configuração é composta por duas partes principais, Dados de Gestão de SW e Dados da Configuração Na primera parte, indicaremos os dados de gestão de software como: Nome da aplicação: O sistema indicar-nos-á se tentamos criar uma aplicação de sofware com um nome que já existe. Ativa: Indica-nos se se pretende ativar ou não a aplicação de software. Aplicação: Permite selecionar o war com o software a ser utilizado pelos clientes. Consola Web SOFIA2 Página 123/171

Descrição: Descrição a incluir na aplicação de software. Na parte de dados de configuração, indicaremos as propriedades de configuração de software ( por exemplo: kp, instância de kp, token de ligação, ip, porta de ligação, etc.) Uma vez creada a aplicação de software, será apresentado o detalhe com todos os dados. A partir da janela do detalhe, poderá clonar-se (, ) as configurações da aplicação assim como a aplicação de sofware. Por defeito ao efectuar a clonagem, está é guardada com os dados desativados. Consola Web SOFIA2 Página 124/171

15.2. Atribuição da Configuração de Software em KPs Através desta opção, é possível listar as atribuições de aplicações e configuração de software para KPs e Instâncias de Kps. A partir desta funcionalidad será possível estabelecer atribuições concretas a um KP e Instância de KP, assim como realizar atribuições massivas como atribuir a mesma configuração de software a todas as instâncias de um KP, através da seleção *. ou estabelecer uma configuração de software para todos os KPs e Instâncias de KP através de *. Consola Web SOFIA2 Página 125/171

Uma atribuição poderá ser eliminada ao carregar no ícone da atribuição a eliminar. Consola Web SOFIA2 Página 126/171

16. ADMINISTRAÇÃO Permite: Procurar Utilizadores Criar,modificar e eliminar utilizadores 16.1. Gestão de Utilizadores 16.1.1. Criar utilizadores Apenas os utilizadores registados na plataforma com o rol de Administrador poderão aceder a esta funcionalidade. Para introduzir novos utilizadores, basta clicar no menu, na opção de Gestão de Utilizadores, Criar Utilizador e completar o formulário. Deverá indicar: Nome e password para aceder ao sistema: Estes campos deverão ser indicados. Nome completo do utilizador: Campo Opcional. E-mail: Campo obrigatório. Rol que terá o utilizador: Os roles que se podem associar ao utilizador são os seguintes: o Rol de Administrador o Rol de Colaborador o Rol de Utilizador Se o utilizador está ativo Data de criação e de eliminação do utilizador na Plataforma: A data de criação é obrigatória, a data de eliminação é opcional. Consola Web SOFIA2 Página 127/171

Uma vez preenchido o formulário com os campos necessários para criar um utilizador deverá carregar no botão Criar situado na parte inferior direita do formulário: Ao criar o utilizador na plataforma apresenta-se a janela de detalhe do utilizador: Consola Web SOFIA2 Página 128/171

A partir dos dados do utilizador é possível Cancelar, Criar um novo Utilizador, Modificar o utilizador o Eliminar o utilizador criado, através dos diferentes botões. 16.1.2. Listar utilizadores Apenas os utilizadores registados na plataforma com o rol de Administrador poderão aceder a esta funcionalidade. É possível consultar a qualquer altura os utilizadores da Plataforma, através da opção de menu Gestão de Utilizadores: Permitir-se-á filtrar a informação que se apresenta na lista: Consola Web SOFIA2 Página 129/171

Utilizador: Permitir-se-á realizar pesquisas parciais, isto é, se se introduzir um A e se carregar no botão Procurar serão listados os utilizadores, cujo nome começa por essa letra. E-mail. Uma vez introduzidos os valores através dos quais pretende efetuar o filtro, deverá carregar no botão Procurar situado na parte inferior direita do formulário. Adicionalmente, pode criar-se um novo utilizador através do botão Criar Utilizador situado à direita do botão Procurar. As opções que se podem realizar em cada um dos utilizadores da lista são as seguintes: Detalhe do utilizador Edição de Utilizadores Eliminar Utilizador : Ao carregar no botão de eliminação apresentar-se-á uma mensagem de confirmação. Uma vez aceite, eliminar-se-á o utilizador. 16.1.3. Modificação de utilizadores Apenas os utilizadores registados na plataforma com o rol de Administrador poderão aceder a esta funcionalidade. Ao selecionar a opção de menu Gestão de Utilizadores na lista de utilizadores, com a opção Editar poderá modificar toda a informação de um utilizador da Plataforma que tenha sido introduzido: Consola Web SOFIA2 Página 130/171

As validações realizadas serão as mesmas que as validações efetuadas aquando da criação de um utilizador. 16.2. Gestão de Modelos de Ontologias Permite gerir os modelos que servem de base às Ontologias. 16.2.1. Criar um Novo Modelo Apenas os utilizadores com sessão iniciada na Consola Web com o rol de Administrador poderão gerir os modelos introduzidos. Através desta funcionalidade, permite-se introduzir os modelos de ajuda à criação de novas ontologias, facilitando assim a sua definição. Ao aceder através da opção de menu Gestão de Modelos de Ontologias, o botão criar Modelo apresentará o seguinte formulário de criação de modelos: Consola Web SOFIA2 Página 131/171

Para poder criar um novo modelo, deverá preencher-se o formulário com os campos obrigatórios: Nome: Nome identificativo do modelo. Deverá sempre ser indicado. Versão: Campo informativo da versão inicial do modelo (não modificável). Editor de modelo: Área de edição de modelo. Deverá ser indicado e será validado como esquema JSON ao introduzir-se na plataforma. Descrição: Opcionalmente, poderá incluir-se um texto descritivo do modelo. Uma vez indicados os campos obrigatórios para introduzir o modelo, deverá carregar no botão Criar situado na parte inferior direita do formulário de pesquisa. Uma vez introduzido o modelo na plataforma, apresentar-se-á o detalhe do mesmo: Consola Web SOFIA2 Página 132/171

Adicionalmente, a partir do detalhe do modelo será possível Criar um novo modelo, Modificar o modelo, Eliminar o modelo ou Cancelar a ação: Caso o modelo não passe na validação de esquema JSON, aparecerá a mensagem de erro seguinte: Na criação de modelos, devem ser tidos em conta os atributos reservados para a definição de Esquemas JSON. Os atributos mais habituais são os seguintes: requerido: Este atributo do esquema indica que a instância da ontologia deverá ter um valor. Consola Web SOFIA2 Página 133/171

propriedades: Este atributo define um objeto que conterá definições de propriedade que concretizará os valores que deverão ter as instâncias de ontologia. Itens: Este atributo define os valores permitidos para uma instância de array. Por defeito: Este atributo define um valor por defeito para a propriedade a que faz referência. título: atributo que deve conter o título do elemento a que faz referência. tipo: indica a tipologia da propriedade a que faz referência no JSON. Para mais informação acerca dos atributos de definição de esquemas JSON pode consultar-se na direção: http://tools.ietf.org/html/draft-zyp-json-schema-03. Atualmente, SOFIA2 está testado conforme o draft-04 de JSON. 16.2.2. Listar Modelo Apenas poderão aceder os utilizadores registados com o rol de Administrador. Ao aceder à funcionalidade, apresentar-se-á a seguinte lista: Permitir-se-á filtrar a informação que consta na lista: Consola Web SOFIA2 Página 134/171

Nome: Nome ou Identificador de Modelo. Permitir-se-á realizar pesquisas parciais, isto é, se se introduzir um A e se carregar no botão Procurar, aparecerão os modelos que começam por essa letra. Descrição: É possível efetuar uma procura através do texto que poderá constar na descrição do modelo. Uma vez introduzidos os valores através dos quais se pretende efetuar o filtro, deverá carregar no botão Procurar situado na parte inferior direita do formulário. Adicionalmente, pode criar-se um modelo através do botão Criar situado à direita do botão Procurar. As opções que se podem realizar em cada um dos modelos apresentados na lista é o seguinte: Detalhe do modelo Edição do modelo Eliminar modelo : Ao carregar no botão de eliminação, apresentar-se-á uma mensagem de confirmação, uma vez aceite, eliminar-se-á o modelo. 16.2.3. Edição de modelos Poderá aceder-se à edição de um modelo a partir da lista ou após a criação de um modelo. Ao aceder à página, aparecerá um formulário como o de criação de modelos, onde se realizam as mesmas validações. A versão do modelo aumentará de uma unidade: Consola Web SOFIA2 Página 135/171

Para aplicar as alterações no modelo alterado, deverá carregar no botão Guardar situado na parte inferior direita do formulário. 16.3. Gestão de Pedidos Apenas para os utilizadores com o rol de Administrador poderá gerir os pedidos dos utilizadores para passar do rol de Utilizador ao rol de Colaborador. Ao aceder à opção do menu Administração e Gestão pedidos aparece a seguinte janela: Consola Web SOFIA2 Página 136/171

A partir desta consola podem ser aceites ou rejeitados os pedidos dos utilizadores. Se se carregar em Aceitar, o utilizador em questão passa a ter automaticamente o rol de Colaborador. 16.4. Gestão de Operações Ao selecionar a opção de menu Gestão de Operações acede-se à seguinte janela: A partir da lista de operações, pode ver, editar e eliminar as operações. Pode criar-se uma nova operação ao carregar no botão Criar Operação. Consola Web SOFIA2 Página 137/171

Devem completar-se os campos Identificação, Descrição e inserir a Operação em groovy. Para finalizar deve carregar no botão Criar. 16.5. Opções de Administração Recentemente, incluiu-se a opção de Esvaziar Cache da Consola Web de Sofia2. Através da eliminação de cache, eliminam-se os dados desnecessários, agilizando os processos da web. Para isso, devemos aceder à opção de menu Administração, Opções de Administração e aparece a seguinte janela com o botão Esvaziar Cache: Consola Web SOFIA2 Página 138/171

17. API MANAGER Utilizar-se-á esta secção para permitir disponibilizar Ontologias como APIs assim como para registar APIs externas no sistema. Existirá também um mecanismo para permitir o acesso às APIs através de autorizações a utilizadores concretos. Realizar-se-á a subscrição a APIs publicadas e poder-se-á consultar o API Key gerado para a invocação das mesmas. Este módulo permite que os utilizadores da Plataforma possam interatuar com SOFIA2 através de recursos REST, sem a necessidade de utilizar os conceitos avançados de SOFIA2 (ontologias, KPs, ), permitindo além disso que SOFIA2 disponha de um catálogo de APIs REST, que permitirá ao utilizador aceder à informação armazenada para desenvolver as suas próprias aplicações ou ampliar as próprias de uma forma simples. Através da inclusão e registo de APIs externas faculta-se ainda um repositório integrado de APIs. Apenas os utilizadores com o rol de Administrador e Colaborador terão acesso às opções Minhas APIs e Autorizações APIs. As restantes opções estão disponíveis para todos os utilizadores, excepto a Subscrição a APIs que está disponível para utilizadores com o rol de Colaborador e Utilizador. Consola Web SOFIA2 Página 139/171

Fluxo de Trabalho: Durante a criação dos utilizadores, gerar-se-á um token de utilizador que se utilizará para a invocação das APIs. Consola Web SOFIA2 Página 140/171

17.1. Minha API Key Na janela Minha API Key poderá consultar-se o Token e voltar a gerá-lo para obter outro novo. Se o utilizador Administrador consulta os dados de um utilizador, apresentar-se-á a sua API KEY, caso tenha sido gerado. Consola Web SOFIA2 Página 141/171

17.2. Minhas APIs Esta opção permitirá gerir as APIs disponibilizadas ou registadas pelos utilizadores. A esta opção apenas terão acesso os utilizadores com roles de COLABORADOR ou ADMINISTRADOR. A lista mostrará todas as APIs que se encontrem registadas no sistema: A primera parte da janela mostrará uma série de filtros. Para utilizadores com o rol de COLABORADOR incluir-se-ão os filtros Procurar e Estado. Para utilizadores com o rol de ADMINISTRADOR inclui-se um campo adicional de pesquisa de Uilizador, que permitirá discriminar os utilizadores que disponibilizarão a API. A seguir, apresentam-se os controlos que se utilizarão para realizar a pesquisa ou para Criar uma nova API (reencaminhando-o para a janela de criação de APIs). Consola Web SOFIA2 Página 142/171

Na lista, apresentar-se-á um registo por cada API. Em cada registo inclui-se: Imagem que representa a API (caso não se tenha apresentado uma imagem por defeito). Nome da API e respetivo número de versão (precedida por V ). Utilizador proprietário da API. Estado da API. Descrição da API. Controlo que permite alterar o estado da API de forma direta. Se se carregar no controlo para alterar o estado (Publicar, Solicitar ou Eliminar dependendo do caso), realizar-se-á a modificação e será novamente aqpresentada a janela. Se se carregar no Nome Versão da API ou na imagem da API, será redirecionado para a janela de consulta de dados da API. Consola Web SOFIA2 Página 143/171

17.2.1. Janela de Criação de API Permitirá incorporar uma API ao catálogo de APIs disponíveis. Registar uma API Externa no sistema ou disponibilizar uma Ontologia como API. Para isso, deverão introduzir-se os seguintes campos: Nome: Identificador único da API. Pública: Definirá se a API é acessível para todos os utilizadores ou se é necessário conceder uma autorização aos mesmos para que possam subscrever-se. Versão: Versão da API. Recalcula-se automaticamente a partir do nome da mesma. Categoría: Categoria genérica a que pertencerá a API e que facultará a sua localização. API Externa: Selecionar-se-á se se pretende registar uma API no sistema. Se selecionar esta opção, desativar-se-á o campo Ontologia, apresentar-se-á o campo EndPoint base Externo e mostrar-se-á a secção de Autorização e Operações correspondente ao registo de uma API Externa. Ontologia: Se não se seleccionar a opção anterior, isto é, para o caso de uma API disponibilizada a partir de uma Ontologia, este controlo ativar-se-á e será através deste controlo com o qual se selecionará essa Ontologia. Para os utilizadores com o rol de Colaborador, apenas serão apresentadas as ontologias das quais são proprietários, enquanto para os utilizadores com o rol de Adminsitrador, apresentar-se-ão todas as ontologias públicas e ativas. Se se selecionar uma Ontologia, gerar-se-ão automaticamente o nome (e o cálculo da versão correspondente), assim como o caminho de cada uma das operações (a partir do nome da API e da sua versão). Imagem: Representará a API no sistema. Se não se introduzir nenhuma, se~rá apresentada uma imagem por defeito. EndPoint: Endereço EndPoint do serviço que será gerado automaticamente a partir do identificador e da versão da API. Enpoint base externo: Endereço EndPoint do serviço final a registar no sistema. Apresentar-se-á se estiver a registar uma API externa no sistema. Descrição: Descrição geral da API. Meta-Inf: Metainformação útil para localizar a API. Consola Web SOFIA2 Página 144/171

Autenticação: Para o caso de se tratar de uma API Externa, apresentar-se-á uma secção que permitirá introduzir atributos de autenticação. Operações. Toda a informação associada a cada uma das operações disponíveis na API. Ao introduzir uma API externa ou ao disponibilizar-se uma Ontologia, apresentarse-á uma ou outra interface. O Nome, Versão, EndPoint, EndPoint Externo, Descrição como Meta-Inf são campos obrigatórios, não permitindo ao sistema realizar a introdução se algum se encontra vazio. A seguir examinaremos a janela correspondente à disponibilização de uma Ontologia como API. A primeira parte da janela tem o aspecto seguinte: Consola Web SOFIA2 Página 145/171

A parte correspondente às operações: Através de cada um dos botões que representam cada Operação, pode selecionar-se as operações que estarão disponíveis na API. Após carregar nos controlos pretendidos, deverá introduzir-se a informação necessária, neste caso a informação que descreva cada uma das operações selecionadas. Após este passo, a janela será a seguinte: Consola Web SOFIA2 Página 146/171

Após introduzir a informação necessária e carregar no botão Criar, realizar-se-á a criação do novo registo e navegar-se-á pela janela de Consulta de Dados da API, Consola Web SOFIA2 Página 147/171

Para uma API Externa, a primeira parte da janela será idêntica à seguinte: Consola Web SOFIA2 Página 148/171

Deverá introduzir-se a URL do EndPoint base externo para a invocação da API Externa. Este tipo de APIs poderá ter uma autenticação associada (para a invocação do serviço subjacente) que pode configurar-se através da secção de Autenticação: Adicionar-se-á um tipo e uma descrição. Consola Web SOFIA2 Página 149/171

Se se selecionar o tipo Básico, adicionar-se- uma entrada na secção de Autenticação: Poderá editar e eliminar essa autenticação, assim como atribuir-lhe um valor ao atributo Authorization Este valor terá que indicar um dos atributos do pedido para servir como valor de autenticação. Caso introduza um valor por defeito, o mesmo será utilizado para a invocação da API Externa, sem que o utilizador tenha de informar a mesma. Caso a invocação seja feita através de Cabeçalhos, ao efetuar a seleção, a interface apresentará o seguinte: Ao carregar em Adicionar Cabeçalho, adicionar-se-ão os distintos Cabeçalhos que serão necessários introduzir no pedido à API. Tal como anteriormente mencionado, podem ser atribuídos valores por defeito para que não seja necessário a introdução dos mesmos por parte do utilizador na invocação. Consola Web SOFIA2 Página 150/171

Após introduzir os dados e guardar, estes aparecerão na interface. Uma vez efetuada a Autenticação, será necessário definir pelo menos uma operação. Para isso, utilizar-se-á a secção Operações: Se carregar no botão Adicionar Operação, apresentar-se-á a seguinte interface: Consola Web SOFIA2 Página 151/171

Devem introduzir-se os campos correspondentes: - Método da operação HTTP (GET, POST, PUT ou DELETE). - Nome da operação (identificador). - EndPoint Base Operação:Se for introduzido, para a operação em questão substituirá o EndPoint do API. - Rota relativa: constroi-se para completar a rota do EndPoint geral. - Descrição : Informação que descreve a operação. Após carregar em guardar, apresentar-se-á a operação criada na lista: Poder-se-ão editar os respetivos dados gerais ou eliminar a operação. Se se carregar no nome da operação, asparecerão as opções: Consola Web SOFIA2 Página 152/171

Poderá adicionar-se os restantes parâmetros associados à operação, os headers assim como queryparams. Após carregar no botão correspondente, apresentar-se-á a interface de entrada: Deverá introduzir-se uma série de dados: - Nome: Identificação do Parâmetro - Condição: Se for exigido (o parâmetro é obrigatório), se for opcional (não é necessário que se informe, mas será necessário tê-lo em conta) ou constante (o parâmetro introduzir-se-á na invocação independentemente se o utilizador o informa ou não). - Tipo: Tipo de dados do atributo, em princípio string, boolean ou number. - Valor: Valor do atributo, se pretender a respetiva indicação. Caso a condição seja constante, será obrigatório. - Descrição: Informação sobre o parâmetro introduzido. Após carregar em guardar, apresentar-se-ão os dados por janela: Consola Web SOFIA2 Página 153/171

Poder-se-á modificar e eliminar todos os parâmetros introduzidos anteriormente. Para o caso dos Cabeçalhos, o procedimento será idêntico. Uma vez introduzidos todos os dados necessários, se se carregar em criar, finalizar-se-á o registo da API Externa. Consola Web SOFIA2 Página 154/171

Consola Web SOFIA2 Página 155/171

17.2.2. Janela de Consulta de API A janela apresenta a informação introduzida na janela de Criação, embora apresente a imagem introduzida, assim como o estado da API (Criada). Como opções incluem-se Cancelar, que voltará à janela Minhas APIs, Criar, que o redirecionará para a janela de Criação de APIs e Modificar, que carregará a janela de modificação da API apresentada por janela. Caso se trate de uma API Externa registada no sistema, poder-se-á aceder aos valores de todos os atributos de autenticação assim como aos de cada Operação definida. 17.2.3. Janela de Modificação de API A primeira parte da janela, para uma API gerada como disponibilização de uma Ontologia, presenta o seguinte aspecto: Consola Web SOFIA2 Página 156/171

E a parte das operações: Apresentar-se-á a informação relativa à API, permitindo a modificação da mesma. Como campos editáveis incluem-se: Categoria, Imagem, EndPoint, Descrição, Meta-inf e todos os campos associados às Operações. Poder-se-á modificar ou eliminar qualquer das operações existentes assim como adicionar operações novas (conforme permitido igualmente na janela de criação). Após introduzir as alterações, se carregar em guardar, aplicar-se-ão as alterações e será novamente apresentada a janela de consulta da API. Consola Web SOFIA2 Página 157/171

Se carregar em cancelar, cancelar-se-ão as alterações introduzidas e voltará para a janela de consulta de dados da API. Para uma API Externa registada em Sofia2, a janela será idêntica a esta: e posteriormente a de Autenticação e Operações: Consola Web SOFIA2 Página 158/171

Como campos editáveis incluem-se: Categoria, Imagem, EndPoint base Externo, Descrição, Meta-inf e todos os campos associados às Operações. Na secção de Autenticação e Operações, todos os campos e atributos são editáveis. Além disso, para ambos os casos (Externos e disponibilizados) inclui-se um controlo para alterar o estado da API, através do qual se realiza diretamente a alteração de estado da API (não armazena as restantes alterações realizadas). Consola Web SOFIA2 Página 159/171

O ciclo de vida das APIS será o seguinte: Após o processo de Criação da API, passará para o estado Criada. É o estado inicial de todas as APIs. Se pretende que a API esteja disponível para os restantes utilizadores, dever-se-á publicar (estado Publicado). Nessa altura, os restantes utilizadores poderão subscreverse à API para poder utilizá-la. Em determinado momento, devido à existência de uma nova versão da API, poderá pretender a remoção das versões anteriores. Nesse caso, essas versões passarão para o estado Rejeitado. Continuarão instaladas, mas já não serão visíveis ou invocáveis pelos utilizadores. Finalmente, poder-se-á eliminar qualquer API que estiver rejeitada. Consola Web SOFIA2 Página 160/171

17.3. Autorizações APIs Quando se cria uma API, disponibiliza-se uma Ontologia ou se regista uma API Externa existente no sistema, oferece-se a opção de torna-la pública. Se selecionar essa opção, todos os utilizadores poderão subscrever-se à API, podendo utilizá-la a partir desse momento. Caso a API se defina como não pública, dever-se-á facultar um sistema de permissões aos utilizadores. Para implementar esta funcionalidade, utiliza-se a janela de autorizações. Apenas terão acesso a esta janela os utilizadores com perfis de Administrador e Colaborador. A janela terá um aspecto idêntico a este: Na primeira parte, apresentam-se todos os utilizadores do sistema com roles de Utilizador e Colaborador (exceto o próprio utilizador com sessão iniciada) em conjunto com todas as APIs das quais é proprietário o utilizador (no caso de utilizadores Administradores apresentar-se-ão todas as APIs). Na parte inferior da janela, apresentar-se-ão as permissões existentes no sistema dos utilizadores sobre as APIs. Isto é, que utilizadores têm acesso e a que APIs podem aceder. Esta mesma interface serve para atribuir permissões aos utilizadores. Após selecionar um utilizador na primeira caixa de combinação e uma API na segunda, se carregar no botão Guardar, armazenar-se-á a permissão no sistema, podendo o utilizador aceder à API (ou subscrever-se à mesma). Consola Web SOFIA2 Página 161/171

Da mesma forma, nesta mesma janela, permite-se eliminar as permissões introduzidas, ao carregar no botão eliminar, que se encontra em cada um dos registos da tabela. 17.4. Subscrição a APIs Através desta opção um utilizador poderá registar-se para poder utilizar as APIs registadas. Para os utilizadores com o rol de ADMINISTRADOR, esta janela não apresentará nenhuma API, já que será possível invocar todas as APIs. Para os utilizadores com o rol de COLABORADOR aparecerão as APIs disponíveis, das quais não são proprietários, já que as próprias serão invocáveis. Para os restantes utilizadores, aparecerão todas as APIs registadas. Na primeira parte da janela incluem-se os filtros. Como primeira verificação, observam-se as distintas categorias disponíveis. Ao carregar nessas categorias, realizar-se-á o filtro das APIs (a opção Todas não filtra nenhuma em específico, apresenta todas as APIs disponíveis). O seguinte filtro realiza uma pesquisa nos campos de Identificação, descrição e meta-inf da API. Após carregar em procurar, apresentar-se-ão os resultados da pesquisa. Consola Web SOFIA2 Página 162/171

Os registos da tabela mostrarão os mesmos campos que na gestão de APIs, no entanto os registos não estão acessíveis para consultar. Em cada registo inclui-se um controlo que permite realizar a subscrição a essa API. Após carregar no controlo Subscrever, recarregar-se-á a página, desaparecendo o registo da lista (ao estar já subscrito ao mesmo). Consola Web SOFIA2 Página 163/171

17.5. Minhas Subscrições Nesta janela, apresentar-se-ão as subscrições ativas de cada utilizador. Para utilizadores com o rol de ADMINISTRADOR, aparecerão todas as APIS, já que têm acesso a todas. Para os utilizadores com o rol de COLABORADOR apresentar-se-ão todas as APIs das quais são proprietários, assim como todas as APIs às quais estão subscritos. Para os restantes utilizadores, aparecerão as APIs nas quais estão subscritos. A janela será idêntica à seguinte: Em cada registo incluem-se dados associados a cada API. Poder-se-á navegar até o detalhe das APIs ao carregar no link com o nome do API e apresentar-se-á uma janela como a seguinte: Consola Web SOFIA2 Página 164/171

Consola Web SOFIA2 Página 165/171

Além disso, a partir das Minhas Subscrições, para cada API na qual estamos subscritos, incluem-se dois controlos: Anular subscrição: Permite anular a subscrição do utilizador à API selecionada. Teste: Através deste controlo abre-se a janela que permite invocar a API registada. A partir desta interface poder-se-á invocar as distintas operações da API. Selecionar-se-á a operação correspondente, introduzir-se-á o token de utilizador no campo (X-SOFIA2-APIKey) e os parâmetros necessários para invocar a operação. Incluem-se as seguintes operações: Dever-se-á introduzir em todas o token de utilizador no campo X-SOFIA2-APIKey. INSERT: Operação com o método HTTP POST em /sofia2.com/sib-api/api/{version}/{api]/ enviando na caixa de texto do pedido uma instância da ontologia disponibilizada. "Feed": { "assetid": "1", "assettype": "CuadroOectrico", "assetsource": "CuadroEntrada", "type": "VIRTUAL", Consola Web SOFIA2 Página 166/171

"timestamp": {"$date": "2014-05-19T13:57:39.342Z"}} UPDATE: Operação com o método HTTP PUT em /sofia2.com/sib-api/api/{version}/{api]/ enviando na caixa de texto do pedido um objeto com: - Objeto da instância a atualizar da BTDR - Novos dados da instância no mesmo formato descrito no esquema da sua ontologia. {"_id" : {"$oid" : "5388701fdef773767496e05d"}, "Feed": {"assetid" : "2", "assettype" : "CuadroOectrico", "assetsource" : "CuadroEntrada", "type" : "VIRTUAL", "timestamp" : { "$date" : "2014-05-19T13:57:39.342Z"}}} DELETE: Operação com o método HTTP DELETE em /sofia2.com/sib-api/api/{version}/{api]/ enviando na caixa de texto do pedido um objeto com: - Objeto da instância a eliminar da BTDR. {"_id" :{ "$oid" : "5388701fdef773767496e05d"}} QUERY: Implementam-se dois métodos: - Operação com o método HTTP GET em /sofia2.com/sib-api/api/{version}/{api]/ enviando na caixa de texto do pedido um objeto com: o Id da instância a atualizar da BTDR - Operação com o método HTTP GET em /sofia2.com/sib-api/api/{version}/{api]/ enviando na caixa de texto do pedido um objeto com: o $targetdb: Base de dados sobre a qual se realizará a consulta: BDTR BDH o $filter: Consulta sql a realizar nas BD. QUERY OPS: Operação com o método HTTP GET em /sofia2.com/sib-api/api/{version}/{api]/ enviando na caixa de texto do pedido um objeto com: Consola Web SOFIA2 Página 167/171

o $querytype:tipo de consulta. SQLLIKE o $query: Consulta SQL a realizar nas BD. Incluem-se as opções INSERT, UPDATE e DELETE. Caso as APIs Externas se comportem da mesma forma, a interface de invocação construir-se-á de forma dinâmica em função das operações e dos atributos da API. Consola Web SOFIA2 Página 168/171

18. SOCIAL MEDIA 18.1. Utilizadores Twitter A partir da Consola Web de Sofia2, pode aceder-se a conteúdo de Social Media, neste caso à rede social Twitter. A partir da opção de Menu Social Media, utilizadores Twitter podem procurar-se utilizadores do Twitter pelo seu nome_utilizador. Também devemos escolher a configuração de acesso com a qual queremos aceder à rede social. 18.2. Pesquisa A partir da opção de Menu Social Media, Pesquisa podem procurar-se tweets, ao introduzir a palavra-chave a procurar e ao selecionar a configuração de acesso com a qual pretendemos aceder à rede social. 18.3. Tendências A partir da opção de Menu Social Media, Tendências podem procurar-se as últimas tendências do Twitter, selecionando nas combinações a zona geográfica de interesse (Global, Espanha, EU, França, Reino Unido, Itália, Portugal, Alemanha ou México) e a configuração de acesso com a qual queremos aceder à rede social. Consola Web SOFIA2 Página 169/171

Ao carregar no botão Procurar aparece uma janela com as últimas tendências da rede social: 18.4. Configurações de Acesso Ao aceder à opção de menu Social Media, Configurações de Acesso aparece a seguinte janela com a lista de configurações registadas: Pode criar-se uma configuração de acesso à rede social Twitter ao carregar no botão Criar Configurações de Acesso. Consola Web SOFIA2 Página 170/171