Minha IBM Efetue login Inscreva-se
O que é middleware?

O que é middleware?

Explore a solução de middleware da IBM Inscreva-se para receber atualizações da nuvem
Ilustração mostrando o uso de middleware para acelerar o desenvolvimento de aplicações distribuídas simplificando a conectividade

Publicado em: 31 de julho de 2024
Colaboradores: Stephanie Susnjara, Ian Smalley

O que é middleware?

O que é middleware?

O middleware é um software que simplifica a conectividade e a comunicação entre aplicativos, componentes e fontes de dados, usado para acelerar o desenvolvimento de aplicativos em uma rede distribuída, funcionando como uma espécie de "cola" que une diferentes sistemas.

O middleware simplifica o desenvolvimento de aplicações e acelera o tempo de lançamento no mercado por meio de funções inteligentes que facilitam as conexões entre plataformas que inicialmente não foram projetadas para se conectar.

Vários tipos de middleware incluem o seguinte:

  • Corretores de mensagens ou monitores de processamento de transações que se concentram em um tipo de comunicação.
  • Servidores de aplicativos da Web ou middleware de dispositivos móveis que proporcionam toda a gama de recursos de comunicação e conectividade necessários para criar um tipo específico de aplicativo.
  • Middleware que possibilita que os desenvolvedores criem seu próprio middleware personalizado.
Modernizando as operações de TI – Transformando o gerenciamento de tecnologias de middleware

Saiba como o IBM WebSphere Automation pode ajudar a aumentar sua maturidade para a automação do gerenciamento de middleware e reduzir custos.

Conteúdo relacionado Registre-se para receber o guia sobre nuvem híbrida
Como funciona o middleware?

Como funciona o middleware?

O middleware possibilita que os desenvolvedores criem aplicativos sem criar uma integração personalizada sempre que precisarem conectar a componentes de aplicativos (serviços ou microsserviços), fontes de dados, recursos de computação ou dispositivos.

O middleware faz isso oferecendo serviços que permitem que diferentes aplicativos e serviços se comuniquem por meio de estruturas de mensagens comuns, como notação de objeto JavaScript (JSON), transferência de estado representacional (REST), linguagem de marcação extensível (XML), protocolo de acesso a objetos simples (SOAP) ou serviços web.

Normalmente, o middleware também oferece serviços que permitem que componentes desenvolvidos em várias linguagens, como Java, C++, PHP e Python se comuniquem entre si.

Componentes middleware

Os componentes de arquitetura de middleware padrão contêm o seguinte:

  • Console de gerenciamento de middleware: O console de gerenciamento oferece aos desenvolvedores uma visão geral de eventos, atividades, configurações de middleware e assim por diante.
  • Interface do cliente: a interface do cliente no front-end se comunica com aplicativos de back-end, bancos de dados, microsserviços ou outros serviços.
  • Interface interna de middleware: a interface interna de middleware possibilita que instâncias de middleware se comuniquem entre si utilizando um protocolo de middleware especial.
  • Interface da plataforma: a interface da plataforma se conecta a servidores back-end e a diversos sistemas operacionais (SOs), garantindo funções de middleware em todas as plataformas.
  • Gerente de contratos: o gerente de contratos define as regras de troca de dados que os aplicativos devem seguir.
  • Gerenciador de sessões: o gerenciador de sessões garante uma comunicação segura entre middleware e aplicativos e garante que não atinjam o tempo limite.  
  • Gerenciador de banco de dados: o gerenciador de banco de dados oferece a integração com diversos bancos de dados com base em requisitos específicos (por exemplo, dados no local ou baseados em nuvem).
  • Monitor de tempo de execução: o monitor de tempo de execução acompanha todos os movimentos de dados do middleware e apresenta relatórios de atividades para desenvolvedores de software.
Tipos de middleware

Tipos de middleware

Há muitos tipos diferentes de middleware.

Alguns se concentram em tipos específicos de conectividade, outros em aplicativos, componentes de aplicativos e dispositivos específicos. Alguns combinam recursos de middleware para uma tarefa específica de desenvolvimento de software.

Alguns dos tipos de software de middleware mais conhecidos e mais comumente utilizados são os seguintes:

 

  • Middleware baseado em mensagens (MOM)
  • Middleware de chamada de procedimento remoto (RPC)
  • Middleware de dados ou banco de dados
  • Middleware de interface de programação de aplicativos (API)
  • Middleware do Object Request Broker (ORB)
  • Middleware transacional
  • Middleware de fluxo de dados assíncrono
  • Middleware de dispositivo
  • Portal de middleware
  • Middleware de robótica
  • Middleware de integração de aplicativos empresariais

Middleware baseado em mensagens (MOM)

O middleware baseado em mensagens (MOM) possibilita que componentes de aplicativos que utilizam diferentes protocolos de mensagens se comuniquem e troquem mensagens. Além de traduzir ou transformar mensagens entre aplicativos, o MOM gerencia o roteamento das mensagens para elas sempre chegarem aos componentes adequados na ordem correta. São exemplos de MOM filas de mensagenscorretores de mensagem.

Middleware de chamada de procedimento remoto (RPC)

O middleware de chamada de procedimento remoto (RPC) possibilita que um aplicativo acione um procedimento em outro aplicativo, em execução no mesmo computador ou em outro computador ou outra rede, como se ambos fizessem parte do mesmo aplicativo no mesmo computador.

Middleware de dados ou banco de dados

O middleware de dados ou de banco de dados simplifica o acesso e a interação com bancos de dados back-end. Normalmente, middleware de banco de dados é uma forma de servidor de banco de dados SQL.

Middleware de interface de programação de aplicativos (API)

O middleware de interface de programação de aplicativos (API) oferece ferramentas que os desenvolvedores podem usar para criar, expor e gerenciar APIs para seus aplicativos, para outros desenvolvedores se conectem a eles.

Alguns middleware de API são ferramentas para monetizar APIs, possibilitando que diversas organizações as utilizem pelo preço de custo. Exemplos de middleware de API são plataformas de gerenciamento de API, gateways de API e portais de desenvolvedor de API.

Middleware do Object Request Broker (ORB)

O middleware do Object Request Broker (ORB) atua como um corretor entre uma solicitação de um objeto ou componente do aplicativo e o atendimento dessa solicitação por outro objeto ou componente na rede distribuída.

Os ORBs operam com a Common Object Request Broker Architecture (CORBA), que possibilita que um componente de software faça uma solicitação a outro sem saber onde o outro está hospedado ou qual é a aparência de sua interface de usuário (UI) — o "broker" trata essas informações durante a troca.

Middleware transacional

O middleware transacional oferece serviços para apoiar a execução de transações de dados em uma rede distribuída. O middleware transacional mais conhecido são os monitores de processamento de transações (TPMs), que conduzem as transações de uma etapa para a outra, executando a troca de dados e adicionando, alterando ou excluindo dados quando necessário, entre outros, até a conclusão.

Middleware de fluxo de dados assíncrono

O middleware de streaming de dados assíncrono replica um fluxo de dados em um armazenamento intermediário, possibilitando o compartilhamento de dados entre vários aplicativos. O Apache Kafka é um dos exemplos mais conhecidos de plataformas de código aberto middleware para streaming de eventos em tempo real.

Middleware de dispositivo

O middleware de dispositivo oferece um conjunto focado de recursos de integração e conectividade para o desenvolvimento de aplicativos para um sistema operacional móvel (SO) específico.

Portal de middleware

O middleware do portal proporciona ferramentas e recursos para integrar conteúdo e recursos de vários aplicativos relacionados "no vidro" ou em uma única tela para criar um único aplicativo composto.

Middleware de robótica

O middleware de robótica simplifica a integração de hardware, firmware e software robóticos de vários fabricantes e locais.

Casos de uso de middleware para desenvolvedores de software

Casos de uso de middleware para desenvolvedores de software

Além de oferecer interoperabilidade que economiza trabalho, os serviços de middleware ajudam os desenvolvedores de software das seguintes maneiras.

Configure e controle conexões e integrações

Com base nas informações de solicitação do cliente ou do aplicativo front-end, o middleware pode personalizar a resposta do aplicativo ou serviço de back-end.

Por exemplo, no aplicativo de ecomércio eletrônico de um revendedor, a lógica do aplicativo de middleware pode classificar os resultados da pesquisa de produtos de um banco de dados de inventário de back-end por local de loja mais próximo com base no endereço IP ou nas informações de localização no cabeçalho da solicitação HTTP.

Proteja conexões e transferência de dados

O middleware normalmente estabelece uma conexão segura do aplicativo front-end para fontes de dados back-end que utilizam o Transport Layer Security (TSL) ou outro protocolo de segurança de rede.

Ele pode entregar recursos de autenticação, desafiando solicitações de aplicativos front-end para credenciais (nome de usuário e senha) ou certificados digitais. 

Gerencie o tráfego dinamicamente em sistemas distribuídos

Quando o tráfego de aplicativos aumenta, o middleware empresarial pode ser dimensionado para distribuir solicitações de clientes em vários servidores, no local ou na nuvem.

Os recursos de processamento simultâneo podem evitar problemas quando vários clientes tentam acessar a mesma fonte de dados de back-end simultaneamente.

Otimize as aplicações existentes

O middleware ajuda os desenvolvedores a realizar a modernização de aplicativos, transformando aplicativos legados monolíticos em aplicativos de nuvem criados com base na arquitetura de microsserviços.

Reduza tarefas manuais

A automação de middleware ajuda os desenvolvedores a simplificar e automatizar o gerenciamento de tarefas complexas de TI para melhorar a eficiência geral.

Suporta DevSecOps

O Middleware oferece suporte às metodologias DevSecOps (que significa desenvolvimento, segurança e operações), ajudando as equipes a criar aplicativos com mais rapidez e, ao mesmo tempo, mitigar os riscos de segurança.

Categorias de middleware

Categorias de middleware

Há duas classes básicas de middleware: middleware de aplicativo corporativo e middleware de plataforma.

Middleware de integração de aplicativos empresariais

O middleware de integração de aplicativos corporativos possibilita que uma organização estabeleça um hub de integração corporativa. Isso proporciona uma maneira padronizada de conectar todos os aplicativos, componentes de aplicativos, processos de negócios e fontes de dados de back-end em toda a empresa ampliada.

Até há cerca de uma década o middleware de integração de aplicativos corporativos mais prevalente era o barramento de serviço corporativo (ESB), que servia como hub de integração em uma arquitetura baseada em serviços (SOA).

Hoje, a plataforma de integração como serviço (iPaaS) possibilita que uma organização conecte aplicativos, dados, processos e serviços em uma nuvem híbrida— a combinação de ambientes locais, de nuvem privada e de nuvem pública. Isso ajuda as organizações a evitar o trabalho e as despesas de compra, instalação, gerenciamento e manutenção do middleware de integração (e do hardware em que ele é executado) em seu próprio data center. Os principais provedores de serviços de nuvem (CSPs) — Microsoft Azure, Google Cloud, Amazon Web Services (AWS) ou IBM Cloud — oferecem soluções iPaaS.

Middleware de plataforma

O middleware de plataforma (ou middleware de plataforma de aplicativo) oferece suporte ao desenvolvimento de aplicativos. Ele acelera a entrega de aplicativos oferecendo um ambiente de hospedagem de tempo de execução, como um ambiente de tempo de execução Java (Java RE), contêineres ou ambos, para lógica de aplicativos ou negócios. O middleware de plataforma pode conter ou combinar servidores de aplicativos corporativos, servidores web, sistemas de gerenciamento de conteúdo (CMSs) e outros tipos de middleware listados acima.

Qual é a diferença entre iPaaS e PaaS?

Qual é a diferença entre iPaaS e PaaS?

Tanto a plataforma de integração como serviço (iPaaS) iPaaS quanto a plataforma como serviço (PaaS) são soluções de computação baseadas em nuvem que atendem a propósitos diferentes. Enquanto o iPaaS se concentra na permissão da integração de aplicativos, dispositivos e sistemas, a PaaS oferece às organizações uma plataforma para criar, executar e gerenciar aplicativos.

O PaaS é uma escolha popular para pequenas empresas e startups com orçamentos de TI limitados, pois possibilita que as equipes criem aplicativos de maneira econômica em comparação com a criação de plataformas de desenvolvimento internas. O iPaaS é a melhor opção para grandes organizações e empresas que executam arquiteturas complexas e dinâmicas.

Dito isso, os serviços iPaaS geralmente funcionam em conjunto com serviços de nuvem, incluindo PaaS e software como serviço (SaaS). Por exemplo, as organizações podem combinar soluções de desenvolvimento iPaaS com PaaS (por exemplo, Cloud Foundry, Red Hat OpenShift) ou SaaS (GitHub).

Middleware e aplicações nativas em nuvem

Middleware e aplicações nativas em nuvem

Nativo da nuvem é uma abordagem de desenvolvimento de aplicativos que utiliza tecnologias fundamentais de computação em nuvem para entregar desenvolvimento, implantação e gerenciamento consistentes em ambientes de nuvem híbrida.

As aplicações nativas em nuvem de hoje são construídas a partir de microsserviços e implementadas em contêineres que usam o Kubernetes, uma plataforma de orquestração de contêiner amplamente utilizada.

Os microsserviços são componentes de aplicativos levemente acoplados que abrangem sua própria pilha e podem ser implantados e atualizados independentemente uns dos outros. Eles se comunicam com uma combinação de APIs REST, agentes de mensagens e fluxos de eventos.

Contêineres são tarefas de execução leves que empacotam código de aplicativo, como microsserviços, junto com apenas as bibliotecas e dependências do sistema operacional necessárias para executar esse código em qualquer nuvem ou infraestrutura de TI tradicional.

Juntas, essas e outras tecnologias relacionadas criam uma plataforma poderosa, desenvolvida uma vez e implantada em qualquer lugar, para oferecer novos aplicativos de nuvem híbrida e modernizar os sistemas legados tradicionais para uso na nuvem. No entanto, também levam a um ambiente de desenvolvimento complexo que combina ainda mais aplicativos de software, fontes de dados, linguagens de programação, ferramentas e sistemas distribuídos.

O middleware pode resolver parte dessa complexidade. No entanto, executar aplicativos containerizados com middleware convencional pode adicionar complexidades próprias, incluindo a sobrecarga de infraestrutura que os contêineres foram projetados para eliminar. Por esse motivo, as plataformas de desenvolvimento de aplicativos em nuvem incluem middleware conteinerizado ou modularizado para que apenas as funções de conectividade necessárias possam ser empacotadas em um contêiner. 

Casos de uso do setor para middleware

Jogos

O middleware suporta o desenvolvimento de jogos servindo como um mecanismo de jogo. Essa camada de software ajuda a integrar perfeitamente vídeo, áudio e outros componentes essenciais de jogos.

Serviços financeiros

Para instituições financeiras, o middleware integra aplicativos e bancos de dados de clientes para oferecer suporte a serviços bancários digitais, incluindo processamento de transações em tempo real.

Setor de saúde

Os dados de saúde sempre foram difíceis de acessar e compartilhar com segurança. Middleware é crucial para a interoperabilidade dos serviços de saúde, possibilitando um fluxo de dados perfeito em vários sistemas e aplicativos de saúde, como plataformas de telemedicina e registros eletrônicos de saúde (EHRs).

E-commerce

As organizações de comércio eletrônico usam middleware para conectar suas plataformas on-line a serviços de back-end cruciais, como processamento de pedidos, para aprimorar a experiência geral do cliente.

Manufatura (IIoT - Industrial IoT)

Na manufatura, o middleware ajuda a garantir que os sistemas de software de negócios, incluindo plataformas de planejamento de recursos empresariais (ERP), se integrem a outros aplicativos para oferecer uma visão unificada das operações. Isso ajuda a otimizar e agilizar a manutenção, a cadeia de suprimentos, a garantia de qualidade e outros.

Origens do middleware

Origens do middleware

Introduzido pela primeira vez no final da década de 1960, o termo middleware foi cunhado porque a primeira versão normalmente atuava como mediador entre um front-end de aplicativo (cliente) e um recurso de back-end (por exemplo, um banco de dados, um aplicativo mainframe ou um dispositivo de hardware especializado) a partir do qual o cliente pode solicitar dados.

Em resposta ao aumento da computação distribuída na década de 1980, o middleware aumentou como uma forma de vincular aplicativos mais recentes aos sistemas legados tradicionais.

Mas o middleware de hoje opera muito além desse escopo. O middleware de portal, por exemplo, abrange o front-end do aplicativo, bem como as ferramentas para conectividade de back-end. O middleware de banco de dados normalmente inclui seu próprio armazenamento de dados.

O middleware evoluiu para desempenhar um papel essencial no desenvolvimento moderno de aplicativos nativos da nuvem.

Ele usa tecnologia de contêiner , que possibilita que o DevOps e outras equipes se conectem a recursos distribuídos em ambientes multicloud . Isso oferece suporte à integração contínua (CI)à entrega contínua (CD)CI/CD— simplificando assim a programação, o teste e a implantação de aplicativos para um rápido dimensionamento e crescimento dos negócios.

As empresas estão cada vez mais explorando middleware como uma oferta de serviço na nuvem para comunicação entre sistemas e como uma ferramenta de gerenciamento de dados.

Um estudo da Technavio projetou que o mercado global de middleware como serviço (MWaaS) aumentaria em US$ 45,44 bilhões, com uma CAGR de 17,73% entre 2023 e 2028. O estudo atribui esse crescimento à adoção generalizada da computação em nuvem e a um aumento na computação serverless e microsserviços.1

Soluções relacionadas

Soluções relacionadas

IBM API Connect

Gerencie seu ecossistema de API em várias nuvens, incluindo o aumento de esforços de socialização e monetização.

Explore o IBM API Connect
Software e soluções de integração da IBM

Conecte, automatize e libere o potencial dos negócios com o software da plataforma de integração.

Explore o software e as soluções de integração da IBM
Soluções de entrega de aplicativos

Explore como as soluções de entrega de aplicativos da IBM ajudam a criar novos aplicativos nativos da nuvem e a modernizar os aplicativos existentes.

Explore as soluções de entrega de aplicativos
Soluções IBM iPaaS

Ofereça conectividade em todos os seus aplicativos e dados com recursos de integração para todos.

Explore as soluções IBM iPaaS
IBM® Aspera®

Gerencie e agilize o processo de transferência de grandes volumes de dados da sua empresa. Transmita dados de qualquer tamanho ou vídeo com taxa de bits com latência quase zero pela internet.

Conheça o IBM Aspera
Recursos

Recursos

O que é um message broker

Os agentes de mensagens são uma tecnologia de comunicação entre aplicativos que oferece suporte a arquiteturas de nuvem híbrida baseadas em microsserviços, sem servidor e nativas da nuvem.

O que é iPaaS (plataforma de integração como serviço)?

A iPaaS é uma solução baseada em nuvem que padroniza e simplifica a integração em ambientes locais e em nuvem.

O que é uma API REST?

As APIs REST oferecem uma maneira flexível e leve de integrar aplicativos e surgiram como o método mais comum para conectar componentes em arquiteturas de microsserviços.

O que é API Management?

O gerenciamento de APIs é o processo escalável de criar, publicar e gerenciar conexões de interface de programação de aplicativos (API) em um ambiente corporativo e multinuvem.

Acelere os ganhos de eficiência com otimização e IA

Integrar aprendizado de máquina (ML) e inteligência artificial (IA) na otimização de decisões (DO) é essencial para melhorar a eficiência nos processos de negócios.

Dados em tempo real agregam valor aos negócios em tempo real

A exploração de dados em tempo real é essencial para o sucesso dos negócios.

Dê o próximo passo

Use o IBM API Connect para proteger e gerenciar APIs corporativas ao longo de seus ciclos de vida. Ele ajuda você e seus clientes a criar, gerenciar, proteger, divulgar e monetizar consistentemente APIs corporativas, e também está disponível como uma plataforma de gerenciamento de API altamente escalável no IBM Marketplace and AWS.

Explore o API Connect Agende uma demonstração em tempo real