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.
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.
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:
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.
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.