|
Acadêmico(a): Paulo Matheus Baehr Weber |
Título: MIDDLEWARE COM ESCALONAMENTO DE APLICAÇÕES |
|
Introdução: |
Segundo Sordi (2007, p. 1), “existe uma crescente demanda das organizações por soluções para integração entre Sistemas de Informação”. Entretanto muitas empresas encontram dificuldades nesta integração, essencialmente os problemas que envolvem a integração de sistemas legado com sistemas em desenvolvimento, ou na integração entre vários sistemas interconectados pela rede, onde cada sistema desenvolve um papel específico, como se conectar com o mundo real ou se conectar com outros dispositivos através da internet (KRAKOWIAK, 2009, p. 16). Segundo Machado (2014, p. 37), “O middleware é uma camada de software adicional que fica entre a comunicação de rede oferecida pelo sistema operacional e a camada de aplicação”. Atualmente existem diversas aplicações que já fazem o papel de middleware para a integração de sistemas, desde modelos mais simples até modelos mais robustos. Neste trabalho pretende-se apresentar uma solução capaz de integrar sistemas em diversas plataformas e linguagens e escalonar aplicações (alocar aplicações de acordo com a demanda). Será implementada uma política de escalonamento que é composta por elementos de mais de uma política de escalonamento, desta forma, considerando fatores como a quantidade de requisições por segundo, e ordenando as requisições através de uma fila, onde o primeiro a entrar é o primeiro a sair, porém, requisições cujo tempo estimado de execução é baixo podem ser priorizadas. Para aplicar e validar o middleware, foi implementada uma aplicação simplificada de Emissão de Notas Fiscais Eletrônicas (NF-e), onde questões como layouts serão abstraídos, além disto a NF-e não será enviada para a Secretaria de Estado da Fazenda (SEFAZ), mas será enviada para um serviço local que irá emular a SEFAZ, de modo que todo o ambiente seja controlado. O middleware proposto neste trabalho foi desenvolvido em C#, utilizando a plataforma Visual Studio, e foi executado em uma máquina com Windows. A plataforma e linguagem foram escolhidas devido a facilidade de se utilizar o Visual Studio. Uma das características exploradas no trabalho é o fato de o middleware poder se comunicar com aplicações desenvolvidas em mais de uma linguagem. Isto se deve à utilização da ferramenta RabbitMQ, cuja responsabilidade é abstrair a utilização do socket nas várias linguagens de programação suportadas, propiciando maior facilidade em implementações multilinguagem.
Neste trabalho foi desenvolvida também uma aplicação de monitoramento do middleware e das máquinas que iniciam aplicações, de modo a facilitar a detecção de possíveis oportunidades de melhoria. A implementação da aplicação foi no Eclipse com o plug-in WindowBuilder. Foi utilizada a biblioteca JFreeChart para a criação dos gráficos necessários. |
|
|