Middleware
Middleware é o software de computador que fornece serviços para softwares aplicativos além daqueles disponíveis pelo sistema operacional. Pode ser descrito como "cola de software".[1]
O middleware facilita aos desenvolvedores de software implementarem comunicação e entrada/saída, de forma que eles possam focar no propósito específico de sua aplicação. Ele ganhou popularidade nos anos 80 como uma solução para o problema de como ligar aplicações mais novas a sistemas legados, apesar do termo ser usado desde 1968.[2]
Em aplicações distribuídas
[editar | editar código-fonte]É utilizado para mover ou transportar informações e dados entre programas de diferentes protocolos de comunicação, plataformas e dependências do sistema operacional. É geralmente constituído por módulos dotados com APIs de alto nível que proporcionam a sua integração com aplicações desenvolvidas em diversas linguagens de programação e interfaces de baixo nível que permitem a sua independência relativamente ao dispositivo. Seu objetivo é mascarar a heterogeneidade e fornecer um modelo de programação mais produtivo para os programadores de aplicativos. É composto por um conjunto de processos ou objetos em um grupo de computadores, que interagem entre si de forma a implementar comunicação e oferecer suporte para compartilhamento de recursos e aplicativos distribuídos. O Middleware é a designação genérica utilizada para referir aos sistemas de software que se executam entre as aplicações e os sistemas operacionais. O objetivo do middleware é facilitar o desenvolvimento de aplicações, tipicamente as distribuídas, assim como facilitar a integração de sistemas legados ou desenvolvidos de forma não integrada automática.
Outros exemplos
[editar | editar código-fonte]O termo middleware também é usado em outros contextos. Às vezes, o middleware é usado em um sentido semelhante a um driver de software, uma camada de abstração que oculta detalhes sobre dispositivos de hardware ou outro software de um aplicativo.
- O sistema operacional Android usa o kernel do Linux em sua essência e também fornece um framework de aplicativos que os desenvolvedores incorporam a seus aplicativos. Além disso, o Android fornece uma camada de middleware, que inclui bibliotecas que fornecem serviços como armazenamento de dados, exibição na tela, multimídia e navegação na web. Como as bibliotecas de middleware são compiladas na linguagem de máquina, os serviços são executados rapidamente. As bibliotecas de middleware também implementam funções específicas do dispositivo, portanto, os aplicativos e a estrutura do aplicativo não precisam se preocupar com variações entre vários dispositivos Android. A camada de middleware do Android também contém a máquina virtual ART e suas principais bibliotecas de aplicativos Java.[3]
- O middleware também se refere ao software que separa duas ou mais APIs e fornece serviços como limitação de taxa, autenticação e log.
- Às vezes, softwares de mecanismos de jogos como Gamebryo e RenderWare são descritos como middleware, porque fornecem muitos serviços para simplificar o desenvolvimento de jogos.[4]
- Em tecnologia de simulação, o middleware é geralmente usado no contexto da arquitetura de alto nível (HLA) que se aplica a muitas simulações distribuídas. É uma camada de software que fica entre o código do aplicativo e a infraestrutura de tempo de execução. O middleware geralmente consiste em uma biblioteca de funções e permite que vários aplicativos - simulações ou federados na terminologia HLA - paginem essas funções da biblioteca comum em vez de recriá-las para cada aplicativo.[5]
- Os desenvolvedores de redes sem fio podem usar o middleware para enfrentar os desafios associados a uma rede de sensores sem fio (WSN). A implementação de um aplicativo de middleware permite que os desenvolvedores do WSN integrem sistemas operacionais e hardware com a grande variedade de aplicativos disponíveis no momento.[6]
- O sistema operacional QNX oferece middleware para fornecer serviços de multimídia para uso em automóveis, aeronaves e outros ambientes.[7]
- Os kits de ferramentas do software de identificação por radiofrequência (RFID) fornecem middleware para filtrar dados brutos e redundantes e ruidosos.[8]
Ver também
[editar | editar código-fonte]- ↑ «What is Middleware?». Middleware.org. Defining Technology. 2008. Consultado em 11 de agosto de 2013. Arquivado do original em 29 de junho de 2012
- ↑ Gall, Nick (30 de julho de 2005). «Origin of the term middleware»
- ↑ Charlie Collins, Michael Galpin and Matthias Kaeppler, Android in Practice, Manning Publications, 2011
- ↑ Moore, M. E. (2006). Introduction to the Game Industry. [S.l.]: Pearson Prentice Hall. p. 169. ISBN 9780131687431
- ↑ Becchini, R.; Chilaev, P.; Krivtsov, V.; et al. (2003). «Chapter 4: Middleware». In: Drira, K.; Martelli, A.; Villemur, T. Cooperative Environments for Distributed Systems Engineering: The Distributed Systems Environment Report. [S.l.]: Springer. pp. 41–4. ISBN 9783540455820
- ↑ Hadim, S. and Mohamed, N. (2006). Middleware challenges and approaches for wireless sensor networks. IEEE Distributed Systems Online vol 7. Issue 3. Retrieved March 4, 2009 from iEEE Distributed Systems Online Arquivado em 2011-09-28 no Wayback Machine
- ↑ «QNX Software Joins Internet ITS Consortium of Japan». QNX News Releases. QNX. 6 de maio de 2008. Consultado em 26 de julho de 2018
- ↑ Glover, B.; Bhatt, H. (2006). RFID Essentials. [S.l.]: O'Reilly Media. pp. 38–44. ISBN 9780596009441