|
Acadêmico(a): Matheus Heiden |
Título: Gerenciador de web service e organizador de requisições |
|
Conclusão: |
Esse artigo apresentou o desenvolvimento de uma aplicação gerenciadora de API, a qual recebe requisições a Web Services configurados nela, para assim validar as requisições (se estão obedecendo limites definidos dentro das configurações do gerenciador de API), assim podendo bloquear requisições ou enviá-las. Para desenvolvimento da aplicação foi utilizado o ambiente de desenvolvimento Visual Studio Code e a linguagem JavaScript em conjunto com o interpretador Node.JS. A aplicação teve como objetivos específicos fornecer um ponto de entrada para receber requisições, o qual foi implementado utilizando o servidor web fornecido pelo interpretador Node.JS. Para a implementação das interfaces foi implementada uma API da aplicação utilizando a arquitetura RESTful, que fornece a criação, visualização, edição e remoção de entidades e gerenciamento de configurações da aplicação. Com o objetivo de confirmar sua funcionalidade, foi implementada uma aplicação web que faz uso dessa API. Para o gerenciador de API outro objetivo era a implementação do algoritmo de priorização de requisições, o qual foi implementado no módulo de gerenciamento de API. Nele foi implementado um delay na execução de requisições classificadas pelo administrador do gerenciador de API como não prioritárias. Sendo que esse delay somente é aplicado durante uma faixa de tempo definida na aplicação. Outro algoritmo implementado foi o de definição, execução e limitação de requisições. A definição e execução de requisições são feitas através dos módulos especializados a arquiteturas e protocolos de API, enquanto a limitação é feita através do módulo gerenciador de API que identifica o cliente que fez a requisição e API requisitada e limita-a. Como objetivo principal a implementação de um gerenciador de API que recebe e gerencia requisições HTTP, utilizando o protocolo SOAP ou a arquitetura RESTful, pode-se afirmar que o mesmo foi alcançado. A aplicação desenvolvida disponibiliza um gerenciador de API com suporte ao protocolo SOAP e a arquitetura RESTful, como também outras funcionalidades demonstradas. A partir dos resultados obtidos é possível perceber que existe uma correlação entre o consumo de processamento de um servidor e o uso do gerenciador de API, conseguindo diminuir de forma significativa o uso de processamento do servidor no qual a API se encontra. Também se tem como fatores relevantes o baixo overhead no tempo de requisição ao utilizar o gerenciador de API e baixos requisitos técnicos para sua execução, mas, pode-se notar o aumento no uso de processamento conforme o aumento de demanda. Em comparação com seus correlatos, a aplicação disponibiliza funcionalidades que são fornecidas por aplicações comerciais de destaque no mercado, oferecendo estrutura modular e expansível e gerenciamento das arquiteturas e protocolos fornecidos por outras aplicações comerciais pagas. Pode-se tornar uma solução de baixo custo para gerenciamento de APIs para empresas ou pessoas que não podem arcar com os custos de utilizar uma das ferramentas comerciais correlatas. Sua implementação base feita em NodeJS pode ser utilizada para a implementação de outras aplicações com outros escopos, podendo acrescentar funcionalidades à aplicação. Ressaltam-se como limitações do trabalho a impossibilidade de associar um consumidor exclusivamente às aplicações específicas, além de que as aplicações têm seu acesso limitado ao domínio associado. Caso uma aplicação tenha mais de um Web Service, torna-se necessária a utilização de outro subdomínio para o outro Web Service. Outra limitação é a falta da configuração de processamento para regras individuais de passthrough ou bloqueio. Enfim, esse trabalho apresentou um gerenciador de API que fornece funcionalidades que podem auxiliar muitas aplicações com Web Services limitados, seja, por banda ou processamento. Ainda, fornece uma base para projetos futuros com ambiente modular, expansível, API própria para controle da aplicação e estrutura gerenciadora de requisições. Contudo, tem muita possibilidade extensora, como: a) b) aumento dos protocolos e arquiteturas suportadas pelo gerenciador de API; melhoria na implementação do roteamento de requisições adicionando suporte a não somente hosts e também caminhos; otimização na utilização implementar utilização c) d) de recursos do gerenciador de API para suportar servidores com menos recursos; de cache de respostas. |
|
|