Os web services X3 

Pré-requisitos

O servidor XTEND não acede ao back-office X3 que através da chamada de web services X3 para o acesso aos dados ou o tratamento das ações utilizadores.

O programador XTEND deve ter adquirido uma boa conhecimento da atualização em obra dos web services X3 antes de empreender a realização de uma aplicação XTEND (arquitectura, pool de conexões, publicação, testes...).

Por contra nenhuma competência em desenvolvimento não requerido para programar a chamada dos web services via as classes stub/proxy.

O servidor de web services

É indispensável de dispor ao menos um servidor de web services sobre o qual serão publicados os sub-programas ou objectos X3 utilizados para as aplicações XTEND.

Pode-se escolher por exemplo o mesmo servidor X3WEB que aquele que alberga o servidor XTEND.

A primeira etapa consiste a assegurar que este servidor está correctamento configurado.

Identificação do servidor

O servidor de web service está identificado por um hostname e uma porta tcp Para a seguida do documento nós utilizamos o endereço hostname:28880.

SOAP/HTTP

Simple Object Access Protocol e Hypertext Transfer Protocol são os protocolos utilizados para a chamada dos web services X3

O servidor de web service deve estar acessível

Se assegurar que o endereço hostname:port está acessível a partir do servidor XTEND.

porta é a porta do servidor web frontal, o valor por defeito é 28880

Para tal é suficiente de verificar que o endereço http://hostname:28880/root/ afixa bem a página de acolho do servidor de administração após registo da palavra passe (sage/sage) por defeito.

Se a página não está afixada
  • se assegurar que os serviços Apache/Tomcat são bem lançados
  • se assegurar que a encomenda "ping hostname" reenvia uma resposta

As soluções/dossiers X3 devem estar publicados

Todas as soluções/dossiers X3 aos quais acedem as aplicações XTEND devem ser publicados sobre o servidor X3WEB que alberga o servidor de web services.

Esta operação é efectuada pelo administrador via a consola X3 no momento da configuração do servidor X3WEB

A lista das aplicações publicadas e acessóvel via o menu 'Home/Administration'

As pools de conexões devem estar arrancados

Pool de conexão

O servidor de web services coloca à disposição as aplicações terceiras um conjunto de conexões X3 (cliente X3 de tipo web service) reagrupados por "grupo de entrada" ou "pool"

As pools de conexões são criadas e configuradas via a consola X3. A consola permite entre outro de parametrizar o número de conexões da pool

O número de coneções atribui à pool determinada o número de pedidos (SOAP) que podem ser tratados simultâneamnte por estas pools. Quando todas as conexões são ocupadas, os pedidos são atualizados em fila de espera.

Configuração do servidor

O servidor de web service deve dispor de pelo menos uma pool de conexão (grupo de entradas) por solução/dossier que publica as web services com destino das aplicações XTEND.

Estas pools de conexão devem estar no estado "arranque" e devem dispor de pelo menos uma conexão livre (<poolentry>) .

A lista das pools de conexões está acessível via a função "Servidor de web services/Pools de conexões".

Tempos de resposta

Os tempos de resposta de uma aplicação XTEND e cuja "fluidez" do estabelecimento web dependem fortemente dos tempos de resposta obtidos no momento de chamada dos web services. Nós recomedamos de controlar regularmente :

  • A disponibilidade das conexões das pools de web services
  • Dimensionar correctamente o número de conexões das pools (licenças web services)
  • a taca de carga do servidor X3
  • Atenção aos tratamentos batch

Publicação dos web services

A publicação das web services está efectuada pela função X3/
"Desenvolvimento>Dicionário tratamentos>Tratamentos>Web services".

Web services objet X3

Para publicar um web service objet é suficiente de criar uma ficha web service em indicando o nome de publicação (cghamada também alias) e o código de objeto (mais o código transação).

A publicação de um objecto X3 dá acesso a todas as ações de objeto (ler, criar, registar, suprimir por defeito) e na lista esquerda.

O botão de ação "Suprimir" permite de "duplicar" o web service.

Web services sub-programa

Para publicar um web service sub-programa falta então criar uma ficha sub-programa que permite declarar os parâmetros e os grupos de publicação via a função:
"Desenvolvimento>Dicionário tratamentos>Tratamentos>Sub-programas"

Falta em seguida publicar este web service (botão publicação) e lhe atribuir um alias como para o web service objet.

Grupo de publicação

Os grupos de publicação permitem de associar logicamente os parãmetros (de mesma dimensão) para formar as entidades distintas.

Cada grupo (ou entidade) pode ser considerado como um registo de uma tabela ou como um tipo estrutura ou registo

São utilizados na parametrização XTEND para efetuar os "mappings" entre os parâmetros dos web services e as entidades XTEND.

Para os sub programas

Exemplo para um sub programa que reenvia 6 parãmetros que representam uma lista de endereços de entrega (shipaddr, shipcity, shipzip) e uma lista de endereços de faturações (invaddr, invcity, invzip). Estes parâmetros poderão ser reagrupados em 2 entidades ou grupos lógicos SHIPADDR e INVADDR.

Para os objectos

Os nomes dos grupos de publicação são gerados por X3 Correspondem aos códigos dos blocos dos ecrãs.

Teste dos web services

É fortemente recomendado testar os web services sub-programas ou objetos X3 via a função via a função "Testador de web services" do servidor X3WEB antes de os utilizar numa aplicaação XTEND.

Localização dos web services em XTEND

XTEND localiza um web service por um identificador único válido para todos os estabelecimentos do dossier X3

Este identificador faz referância à ficha de localização de um web service que contém entre outros as coordenados do servidor de web service (hostname e porta) e alias do pool de conexões.

Função
"Desenvolvimento>Utilitário>Diversos>Pools Web services"