Instalação e Configuração do Web API
Para o perfeito funcionamento do sistema, a instalação deve seguir os requisitos abaixo:
- Windows Server 2012 ou superior;
- Serviço de IIS instalado;
- .NET 6 Runtime & Hosting (x64);
- Certificado SSL Https (Este ponto é necessário caso seja usado a porta 443 – HTTPS) para o projeto de integração.
Siga o passo a passo para fazer a instalação do serviço de IIS e todos seus componentes para o perfeito funcionamento da aplicação.
Através do menu iniciar, acesse a tela Server Manager e clique em Add roles and features.
Com a tela de Add roles and features aberta, acesse a aba Server Roles no menu lateral esquerdo.
No menu Server Roles, selecione a opção Web Server (IIS) e clique em Add Features.
Após clicar em Add Features, clique em Next para ir até a aba Features e clique novamente em Next para seguir até a aba Role Services. Nessa aba, verifique se os seguintes componentes estão selecionados:
Com todos os componentes selecionados, clique em Next e, por fim, pressione Install.
Com o processo de instalação do IIS concluído, siga para a instalação do .NET 6 Runtime & Hosting (x64).

Para instalar, baixe a aplicação sinalizada acima, inicie a instalação e clique em Install. Após a conclusão da instalação, o IIS deverá ser configurado. Este ponto será abordado no próximo capítulo deste manual.
Com os arquivos do projeto de integração API enviado pela Alcis, basta descarregá-los dentro da pasta C:\inetpub\wwwroot do servidor.
Com esse processo concluído, acesse o IIS Manager e crie um site clicando com botão direito em Sites e, em seguida, na opção Add Website....
Nesta página serão configurados o nome do site, o diretório do projeto (onde estão os arquivos que foram extraídos) e a porta de acesso.
Importante
Caso o tipo HTTPS seja escolhido, será necessário a instalação de um certificado SSL. A configuração HTTPS é recomendada pela Alcis por questões de segurança, visto que, no HTTPS, o tráfego de informações é criptografado.
Para configurar via HTTPS, siga os passos descritos na imagem abaixo.
Com o site criado, acesse a página Application Pools, clique com botão direito no Pool com mesmo nome do site criado e, por fim, clique na opção Basic Settings….
Altere o campo .NET CLR Version para No Managed Code e clique em OK.
Ao concluir os passos acima, finalize realizando um teste da aplicação clicando em Browse Website.
Após o clique, uma página será aberta com a seguinte URL: http://localhost/. Insira a palavra docs ao final da URL (Ex.: http://localhost/docs) para finalizar a configuração da aplicação. A seguinte tela será retornada:

Copie os arquivos do projeto de integração API enviados pela Alcis Software para Logística e os cole dentro da pasta C:\inetpub\wwwroot do servidor.
Após concluir o processo acima, acesse o IIS Manager e crie um site clicando com o botão direito em Sites e, em seguida, no botão Add Website.
Nesta página pode-se configurar o nome do site, o diretório do projeto (com os arquivos que foram extraídos) e a porta de acesso.
Importante
O notificador obrigatoriamente deve ser criado com o Type como HTTP, e não pode estar na mesma porta do projeto de integração API.
Com o site criado, acesse a página Application Pools, clique com botão direito no Pool com mesmo nome do site criado e clique na opção Basic Settings.
Altere o campo .NET CLR Version para No Managed Code e clique em OK.
Configurando a API principal
Para realizar a configuração de acesso ao banco de dados, acesse os diretórios onde encontram-se os arquivos do projeto de integração e notificação e abra o arquivo chamado appsettings.json (Ex: C:\inetpub\wwwroot\ApiIntegrationWmsAd e C:\inetpub\wwwroot\ ApiNotificationWmsAd). Com o arquivo aberto, localize a sessão chamada ConnectionStrings.
Nesta sessão será necessário alterar os parâmetros ALIAS DO CLIENTE, USUÁRIO DO BANCO, SENHA DO BANCO e IP (URL) DO BANCO para as informações relacionadas ao WMS.
Sendo que:
- User Id = usuário do banco;
- Password = senha do banco;
- HOST = IP (URL) do banco;
- SERVICE_NAME = nome do banco.
Importante
O ALIAS será usado em todas as integrações como passagem de parâmetro. O processo de alteração do arquivo connections.json deve ser feito sempre para os dois projetos, Integração e Notificação.
Configurando a API Gateway
Para realizar a configuração de acesso ao banco de dados, acesse os diretórios onde encontram-se os arquivos do projeto de integração e notificação e abra o arquivo chamado connections.json (Ex: C:\inetpub\wwwroot\ApiIntegrationWmsAd e C:\inetpub\wwwroot\ ApiNotificationWmsAd). Com o arquivo aberto, localize a sessão chamada ConnectionStrings.
Nesta sessão será necessário alterar os parâmetros ALIAS DO CLIENTE, USUÁRIO DO BANCO, SENHA DO BANCO e IP (URL) DO BANCO para as informações relacionadas ao WMS.
Sendo que:
- User Id = usuário do banco;
- Password = senha do banco;
- HOST = IP (URL) do banco;
- SERVICE_NAME = nome do nanco.
Importante
O ALIAS será usado em todas as integrações como passagem de parâmetro. O processo de alteração do arquivo connections.json deve ser feito sempre para os dois projetos, Integração e Notificação.
Verifique se o serviço do GatewayNotifAPI está funcionando corretamente abrindo o navegador Google Chrome e digitando a URL http://url-servidor:porta/hc(onde url-servidor é o IP do servidor e porta é a porta de acesso). As informações deverão ser retornadas conforme a imagem:
Abaixo estão listados os scripts necessários para a configuração do banco de dados, que possibilitará a realização das chamadas da API de notificação.
Importante
Ao criar uma ACL, verifique se a mesma já existe no banco de dados. Caso já possua uma criada, com as mesmas informações, as ACLs que estão localizadas em lower_port, upper_port e host, serão substituídas. Portanto, sempre verifique e, caso seja necessário usar uma nova ACL, com mesmas portas e endereço IP, deve-se usar a ACL existente, bastando apenas adicionar as permissões de ‘resolve’ e ‘connect’ na mesma.
select c.acl, c.principal, c.privilege from dba_network_acl_privileges c; select * from dba_network_acls c;
select c.acl, c.principal, c.privilege from dba_network_acl_privileges c; select * from dba_network_acls c;
-- Script para criar a ACL e conceder as permissoes de "connect" e "resolve" para o OWNER
BEGIN
-- 1) Criar ACL
DBMS_NETWORK_ACL_ADMIN.create_acl(acl => '/sys/acls/ALCIS_GATEWAY_API.xml',
description => 'ACL para Alcis Gateway API',
principal => 'AD_CORE_12_0', -- OWNER do banco de dados
is_grant => TRUE,
privilege => 'connect',
start_date => SYSTIMESTAMP,
end_date => NULL);
-- 2) Concede privilegio de "connect" para o OWNER
--DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => '/sys/acls/ALCIS_GATEWAY_API.xml',
-- principal => 'AD_CORE_12_0', -- OWNER do banco de dados
-- is_grant => true,
-- privilege => 'connect');
-- 3) Concede privilegio de "resolve" para o OWNER
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => '/sys/acls/ALCIS_GATEWAY_API.xml',
principal => 'AD_CORE_12_0', -- OWNER do banco de dados
is_grant => true,
privilege => 'resolve');
-- 4) Assina um endpoint a ACL
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => '/sys/acls/ALCIS_GATEWAY_API.xml',
host => 'apihml.alcis.com.br', -- Endereco do Servidor foi instalado o "Alcis Gateway API"
lower_port => '8099',
upper_port => '8099');
COMMIT;
END;
Parâmetros a serem alterados:
- principal = owner do banco do WMS Alcis;
- host = IP ou DNS da API de notificação da Alcis;
- lower_port = porta;
- upper_port = porta.
BEGIN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => '/sys/acls/NOT-PROD-API.xml', principal => 'LTS_HML_CORE_11_1', is_grant => true, privilege => 'connect');
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => '/sys/acls/NOT-PROD-API.xml', principal => 'LTS_HML_CORE_11_1', is_grant => true, privilege => 'resolve');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => '/sys/acls/NOT-PROD-API.xml', host => '192.168.0.44', lower_port => '80', upper_port => '80');
COMMIT;
END;
BEGIN
--UNASSIGN (remover) regra dentro do ACL
DBMS_NETWORK_ACL_ADMIN.UNASSIGN_ACL(acl => '/sys/acls/api-alcis.xml', host => '192.168.58.44', lower_port => null, upper_port => null);
END;
English
Español
English
Español


