A ponte do aplicativo WebFacing permite que você interconecte novos aplicativos da Web (escritos com EGL, por exemplo) com aplicativos WebFacing e/ou HATS existentes.
Com esta tecnologia, seus aplicativos podem ser modernizados de maneira rápida e fácil usando o WebFacing e/ou o HATS e novos aplicativos da Web podem ser incluídos iterativamente para tirar vantagem das tecnologias da Web mais recentes.
A ponte do aplicativo permite que aplicativos WebFacing transfiram o controle e os dados para outros aplicativos da Web como EGL, fornecendo a capacidade de combinar aplicativos HATS, WebFacing e EGL em um único aplicativo. Isto vai além da obtenção de dados do IBM® i em um aplicativo da Web usando o acesso ao banco de dados direto ou chamando um programa de lote por meio de um Serviço da Web. Ele permite vincular seu novo aplicativo da Web a um aplicativo IBM i e dados de compartilhamento interativos.
O aplicativo WebFacing e o aplicativo da Web correspondente podem ser empacotados como um arquivo EAR para implantação. O arquivo EAR pode ser criado usando a perspectiva Java™ EE do IDE. Entretanto, o aplicativo WebFacing e o aplicativo da Web também podem ser implementados como arquivos EAR separados na mesma instância do servidor de aplicativos.
Para suportar a interoperabilidade entre um aplicativo WebFacing e outro aplicativo da Web, um registro de ligação de DDS deve ser criado e a Configuração da Web da Ponte do Aplicativo deve ser configurada para esse registro. Um registro de ligação de DDS é o registro DDS padrão contendo campos definidos como campos ocultos (uso de H), que é possível usar para transferir dados. O registro de ligação DDS nunca é realmente exibido. Ele é simplesmente usado para transferir dados e controle para o aplicativo da Web especificado na URL do aplicativo de Destino da Configuração da Web de Ponte do Aplicativo quando seu aplicativo IBM i executa WRITE no registro.
Consulte a Configuração da Web de Ponte do Aplicativo em Utilizando Web Settings com sua Origem DDS para obter informações adicionais sobre como criar um registro de ligação de DDS.
O Cenário 1 transmite dados do aplicativo WebFacing para o aplicativo da Web especificado na URL do aplicativo de Destino da Configuração da Web de Ponte do Aplicativo quando o aplicativo IBM i executa WRITE e READ no registro de ligação de DDS. O aplicativo WebFacing irá, então, aguardar uma resposta do aplicativo da Web. O aplicativo da Web irá, então, ler os dados através do atributo de pedido "LinkageData", fazer quaisquer atualizações e enviar de volta as atualizações para o aplicativo WebFacing; nesse ponto o aplicativo WebFacing retomará o controle.
O Cenário 2 é suportado através da chamada programática do WebFacing, o que permite especificar qualquer comando CL com ou sem parâmetros para iniciar um aplicativo WebFacing. O aplicativo WebFacing é executado, em seguida, transmite dados de volta ao aplicativo da Web especificado na URL do Aplicativo de Destino da Configuração da Web de Ponte de Aplicativo quando o aplicativo IBM i executa WRITE no registro de ligação DDS. Para este cenário, a palavra-chave FRCDTA deve ser especificada no registro de ligação DDS para que o aplicativo possa finalizar com êxito. Consulte Invocando Programaticamente os Aplicativos WebFacing a partir de Outros Aplicativos da Web para obter informações adicionais sobre a chamada programática.
Transmitindo o controle do WebFacing para outro aplicativo da Web
Em ambos os cenários acima, WRITE é executada em um registro de ligação DDS para transmitir o controle do WebFacing para outro aplicativo da Web. Isto é feito usando o método de encaminhamento do Java EE na URL especificada em URL do Aplicativo de Destino da Configuração da Web da Ponte de Aplicativos. O aplicativo WebFacing usará a primeira parte da URL do aplicativo de destino como a raiz de contexto e encaminhará o aplicativo WebFacing para a parte restante da URL. Se a URL do aplicativo de destino for /appContextRoot/appEntryPoint, o aplicativo WebFacing usará appContextRoot como a raiz de contexto e encaminhará para appEntryPoint. O aplicativo WebFacing incluirá o atributo de pedido "forwarded" com o valor "WF" no objeto do pedido antes de encaminhar. Isto permitirá o recebimento do tempo de execução do aplicativo para executar qualquer ação especial, se necessário, no recebimento do controle a partir de um encaminhamento.
Transmitindo o controle de outro Aplicativo da Web para o WebFacing
No Cenário 1, ao transmitir o controle de volta ao aplicativo WebFacing e para ter as atualizações de dados adequadas, o aplicativo da Web deve incluir o atributo "forwarded" no objeto do pedido antes do encaminhamento. O atributo de pedido deve ser "EGL" para um pedido encaminhado de um aplicativo EGL e "CUSTOM" para um pedido encaminhado de outro aplicativo da Web. Isto permitirá o recebimento do aplicativo WebFacing para executar qualquer ação especial, se necessário, no recebimento do controle a partir de um encaminhamento. O ponto de entrada para o aplicativo WebFacing é "/webfacing/WebFacing.do".
Trocando dados entre o WebFacing e outro aplicativo da Web
Os dados da ponte do aplicativo entregues por meio do registro de ligação DDS para o aplicativo WebFacing são salvos em um HashMap Java, com o nome de campo como a chave no HashMap e o valor do campo como o valor para a chave associada. Um atributo de pedido chamado "LinkageData" será usado para fornecer acesso ao HashMap.
Os valores do campo no registro de ligação DDS serão armazenados como dados da cadeia Unicode no HashMap. O outro aplicativo da Web atualizará os campos no HashMap conforme necessário e enviará o HashMap de volta ao aplicativo WebFacing por meio do atributo de pedido "LinkageData". Um valor do campo deve conter esses caracteres que são permitidos pelo tipo de dado de DDS correspondente e possuir o comprimento adequado; caso contrário, ele será descartado pelo aplicativo WebFacing.