Worklight: Padrão de Manipulador de Recurso

Use esse padrão para fornecer serviços para aplicativos remotos que usam as APIs de Worklight. Os serviços são expostos aos aplicativos remotos como procedimentos do adaptador Worklight que são chamados a partir do JavaScript no aplicativo.

O padrão é customizado implementando manipuladores para cada um desses procedimentos, como subfluxos no WebSphere Message Broker. O padrão fornece cumprimento da política de segurança e armazenamento em cache global.

Um diagrama mostrando o comportamento do padrão.

Solução

Os serviços seguem um modelo orientado a recursos com ações CRUD (Criar, Ler, Atualizar, Excluir) para o recurso.

Cada adaptador fornece até quadro procedimentos para um único recurso - um procedimento para cada uma das ações CRUD. O padrão é customizado implementando um manipulador de procedimento para cada procedimento. Os manipuladores de procedimento são implementados como subfluxos.

O padrão gera o adaptador que é executado no Worklight Server e um fluxo de mensagens que manipula a solicitação recebida do adaptador. Esse fluxo de mensagens do manipulador de solicitação roteia a solicitação para o subfluxo do manipulador de procedimento relevante dependendo do procedimento do adaptador que foi chamado pelo aplicativo remoto.

Uma conexão HTTP é estabelecida entre o adaptador em execução no Worklight Server e o fluxo de mensagens do manipulador de solicitação em execução no Message Broker. O Worklight é o cliente HTTP e o Message Broker é o servidor HTTP para essa conexão.

O aplicativo remoto chama o procedimento do adaptador transmitindo um objeto JavaScript para uma função do JavaScript na API do Worklight. A árvore de mensagens propagada para o subfluxo está no domínio JSON e contém os dados do objeto JavaScript fornecidos pelo aplicativo remoto.

Antes de chamar o subfluxo do manipulador de procedimento correto, a solicitação é verificada com relação a uma política de segurança. Assim que a segurança tiver sido verificada, o processamento pode continuar no subfluxo do manipulador de procedimento. Para operações de leitura, um cache de memória é verificado para ver se a instância de recurso está disponível sem processamento adicional.

Security

A segurança é opcional. Se a segurança estiver ativada, o aplicativo remoto deverá fornecer um token de segurança para o procedimento do adaptador. O padrão fornece policy enforcement points (PEPs) de segurança que são chamados em um servidor LDAP como o policy decision point (PDP) de segurança.

Os dois aspectos de segurança fornecidos por esse padrão são autenticação e autorização

A autenticação é usada para assegurar que a solicitação seja de um usuário válido. Isso é executado verificando se o token fornecido pelo aplicativo remoto é válido. O token é uma combinação do ID do usuário, um caractere de dois-pontos e uma senha. Esses valores são concatenados e codificados em base64 pelo aplicativo remoto. O padrão decodifica essa sequência e passa o ID do usuário e a senha para o servidor LDAP para autenticação. Essa validação é executada antes de qualquer outro processamento ser iniciado no fluxo de mensagens.

As verificações de autorização são executadas depois que o ID do usuário e a senha são autenticados. A mensagem de solicitação de entrada é analisada para determinar qual ação (CRUD) está sendo solicitada no recurso.

A autorização verifica para assegurar que o usuário autenticado é permitido chamar a ação solicitada. O padrão suporta dois grupos de autorização:

Cache

O armazenamento em cache é opcional. Se o armazenamento em cache estiver ativado, ele será fornecido utilizando a tecnologia WebSphere Extreme Scale (WXS) integrada ao Message Broker.

Cada vez que o manipulador de procedimento de leitura é chamado, o valor retornado é incluso no cache. Sempre que a mesma instância do recurso é atualizada ou excluída por meio desse adaptador, ela é removida do cache.

Consulte Tarefas a Serem Concluídas Após a Geração do Padrão para obter detalhes sobre as opções de implementação e como o cache pode ser compartilhado entre grupos de execução e brokers por meio da rede para alcançar a escala horizontal.

Implementação

O padrão gera um aplicativo Message Broker que deve ser implementado no tempo de execução do Message Broker. O adaptador Worklight deve ser implementado no Worklight Server para fornecer a interface entre o aplicativo remoto e o serviço da web em execução no Message Broker.

Restrições no uso do padrão
Adaptadores Worklight
Tarefas para concluir antes de aplicar o padrão
Parâmetros para o padrão
Tarefas a concluir após gerar o padrão