• Nenhum resultado encontrado

4. Análise e Desenvolvimento

4.3. Desenvolvimento da Plataforma

4.3.4. Integração da plataforma

Esta secção descreve a integração das refeições registadas na nossa plataforma com outros espaços web,

pertencentes às próprias empresas de restauração. O web service desenvolvido devolve as refeições de uma de-terminada empresa de restauração (identificada pelo nome de utilizador da plataforma), num determinado dia da semana e a identificação de cada refeição (pratoId) que deverá ser corretamente preenchida na construção da listagem de refeições na parte do consumidor deste serviço.

DEFINIÇÃO DO WEB SERVICE:

A construção de um Web Service na ferramenta Outsystems é simplificado, tal como demonstra a figura 79. Para mais informações sobre a criação de Web Services está disponibilizado num URL da bibliografia deste documento [23].

Figura 79 - Adicionar Web Service

Após adicionar um novo Web Service do tipo SOAP [24], construímos um método que correspondesse aos nossos objetivos, no seio do modelo de negócio. Para preencher as informações necessárias numa listagem de refeições de uma empresa de restauração foram necessários três pedidos à base de dados.

No primeiro pedido, ilustrado na figura 80, selecionamos todas as refeições da tabela prato pertencentes ao utilizador por cada dia da semana, campos estes futuramente introduzidos no consumo do Web Service.

Figura 80 – Query: Consulta de refeições.

Após a seleção de refeições da tabela prato, selecionamos cada tipo de refeição de acordo com o identi-ficador de cada refeição ({prato}.[id]). Este identificador foi utilizado para que fosse possível, na plataforma externa interligar os tipos de prato com cada prato da tabela prato. (figura 81)

Figura 81 - Query: Consulta de Tiposdepratos

Novamente, identificamos cada refeição para lhe acrescentar o que será incluído de acordo com os re-gistos da tabela inclui (figura 82). Como já referimos cada refeição, possui um identificador que nos permite apresentar todas as informações inerentes.

Figura 82 - Query: Consulta de inclui

Concluímos este método, com a atribuição de variáveis dos resultados obtidos, listados em cada pedido realizado à base de dados. Com estas variáveis do tipo output, ou seja, com a saída destes valores, será possível

A atribuição à variável Listaderefeicoes do resultado da query de consulta de refeições (figura 80).

A atribuição à variável ListaTipoPrato do resultado da query de consulta dos tipos de prato de cada refeição (figura 81).

A atribuição à variável ListaInclui do resultado da query de consulta da tabela inclui (figura 82) de cada refeição.

Figura 83 - Atribuição de variáveis

O Web Service está disponibilizado no seguinte URL: http://diaria.pt/diaria_pt/Web Service.asmx. Co-mo podeCo-mos observar, a identificação de cada empresa de restauração é feita através da indicação do nome de utilizador da mesma. Futuramente, numa fase de produção poderão ser adicionados mais campos de entrada, tal como palavra-passe, ou outros campos identificadores da empresa de restauração.

DESCRIÇÃO DO WEB SERVICE

Uma vez que este serviço estará disponível para qualquer linguagem de programação, iremos detalhar o XML resultante do mesmo. A figura 84 ilustra a introdução de valores referentes às variáveis que já referimos: nome de utilizador, dia atual e pratoId. Note-se que o valor introduzido para a variável pratoId é zero, uma vez que esta será preenchida de acordo com a linha corrente de cada refeição apresentada na sua listagem.

Figura 84 - XML: Pedido de listagem de refeições

A figura 85 representa o XML com a listagem de refeições de acordo com os parâmetros de entrada in-troduzidos. Nesta fase são apenas listadas as refeições disponíveis do utilizador e dia da semana introduzido. Após a preparação desta listagem, será possível ao consumidor deste serviço identificar o pratoId de cada refei-ção, conseguindo desta forma apresentar as informações referentes às tabelas tipodeprato e inclui.

Figura 85 - XML: Listagem de Refeições

Após a listagem de refeições cada linha irá possuir o pratoId correspondente, a figura 86 ilustra um exemplo do pedido da listagem de informações das tabelas tipodeprato e inclui de acordo com o pratoId. Neste caso utilizamos o pratoId com o valor 108, referente à primeira linha da tabela. Este processo terá de ser repetido conforme o número de refeições diárias de cada empresa de restauração que utilize este serviço.

Figura 86 - XML: Pedido de listagem de tipodeprato e inclui.

A figura 87 representa as informações inerentes a cada refeição de acordo com o pratoId com o valor 108. São apresentadas duas listagens que contém as informações sobre o que será incluído em cada refeição e o seu tipo.

Figura 87 - Listagem das informações da tabela tipodeprato e inclui.

CONSUMO DO WEB SERVICE

De novo, utilizamos a ferramenta Outsystems para um cliente que consome o Web Service acima referi-do. É pertinente afirmar que o consumo foi realizado na versão nove da ferramenta Outsystems, e que a disponi-bilização do mesmo, tal como toda a plataforma diaria.pt foram contruídos na versão sete. Optamos pela versão nove da ferramenta Outsystems, nesta demostração do consumo do Web Service, uma vez que já referimos neste documento, o seu processo de instalação e alguns exemplos da sua implementação. Com o seu sistema cloud,

obtivemos imediatamente acesso à listagem de refeições, online o que facilitou a apresentação e o sucesso desta componente, disponível em: http://carlosmendes97.outsystemscloud.com/restaurante.

Integramos a nossa componente Web Service, de acordo com o protocolo SOAP, automaticamente con-figurado na ferramenta Outsystems, introduzimos o URL do método disponibilizado para a listagem de refeições (figura 88).

Figura 88 - Consumo Web Service por URL

Ao submeter o consumo do Web Service é gerada uma função, representada na figura 89, que requisita três parâmetros de entrada para o seu bom funcionamento: o dia atual, nome de utilizador da empresa de restau-ração e oidentificador de cada refeição (pratoId), este identificador inicialmente é associado ao valor zero, no entanto é atualizado ao longo de cada linha da listagem final (figura 90).

Figura 89 - Resultado do consumo Web Service

No caso da integração desenvolvida na ferramenta Outsystems, utilizamos dois Web Blocks que, de acordo com o identificador da refeição (pratoId) da própria linha, listam as informações adicionais do mesmo.

Figura 90 - Listagem final de refeições

Assim, pretendemos poupar algum tempo a todos os gestores de empresas de restauração que pretendam listar as suas refeições diárias na nossa plataforma e nas suas próprias páginas web. Consumindo o nosso Web Service, apenas necessitarão de introduzir os dados uma só vez. Esta tecnologia integradora é independente da linguagem utilizada, ou seja, este serviço pode ser integrado com diferentes tecnologias web utilizadas pelas pá-ginas web de cada empresa de restauração. Desta forma, apresenta-se como um serviço dinâmico e de fácil aces-so para cada utilizador.

Documentos relacionados