Contact Us
Middleware: tudo o que precisas de saber enquanto software engineer
Tempo de leitura: 4 minutos

Middleware: tudo o que precisas de saber enquanto software engineer

por Nuno Santos, Enterprise Solutions Manager @ Xpand IT

Já ouviste falar em Middleware?

A integração é um conceito bastante abrangente e está presente de forma intrínseca em qualquer implementação de software sempre que existe uma dependência entre (pelo menos) dois componentes isolados. Alguns exemplos habituais deste tipo de dependência são:

  • A chamada de um frontend a serviços da sua camada aplicacional
  • Uma aplicação que consome um web service público para obter informação (p.e. meteorologia)
  • Um dispositivo embebido que publica eventos para um canal.

Desde os anos 80 que a integração tem ganho um papel importante nos sistemas de informação. A evolução tem ditado e confirmado, década após década, que a descentralização é a melhor forma de endereçar os desafios associados à heterogeneidade tecnológica. A recente aposta em modelos arquiteturais baseados em microserviços, por exemplo, vem reforçar essa ideia e é o perfeito exemplo de como a integração serve cada vez mais um papel chave nas soluções digitais.

Dada a diversidade de cenários e modelos de integração, existem inúmeras soluções de mercado que permitem responder rápida e assertivamente a estas necessidades. A este tipo de software dá-se o nome de Middleware – o software que está “no meio”.

O que diferencia as ferramentas de Middleware?

As ferramentas de Middleware têm como objetivo capacitar as organizações de adaptabilidade e rapidez na resposta às alterações do negócio. Embora algumas organizações optem por desenvolver uma estratégia de Middleware assente em programação pura (p.e. usando Spring), as ferramentas de Middleware oferecem uma alternativa com bastantes vantagens, tais como:

  • Acelerar o desenvolvimento de integrações, ao providenciarem artefactos pré-construídos que simplificam a integração com sistemas usados frequentemente (p.e. um conector para Office365)
  • Melhorar a qualidade das soluções, através da reutilização da funcionalidade e da fomentação de uma implementação baseada em padrões típicos de integração
  • Abstrair o desenho da integração dos detalhes de implementação, focando a equipa no verdadeiro problema em mãos
  • Mitigar a necessidade de equipas com skillset técnico forte para esta implementação, promovendo o desenvolvimento low-code e no-code

Sendo a integração um problema vasto, a oferta de Middleware pode estender-se pela conjugação de um ou mais produtos em três grandes categorias:

  • Enterprise Integration – facilitam a mediação, transformação e entrega de mensagens, usando padrões de integração
  • API Management – suportam o ciclo de gestão de API, facilitando a implementação e promovendo a adoção por terceiros (p.e. clientes e parceiros)
  • Identity Management – centralizam a identidade dos utilizadores, oferecendo mecanismos de autenticação e autorização que garantem maior segurança e simplicidade de gestão

Existem outras especializações, tais como integração B2B (usando standards legacy) e Business Process Management, que incidem em indústrias específicas ou nos processos de negócio, mas que também partilham muitos dos desafios associados a integração.

As opções para a escolha de uma solução de Middleware são variadas e a decisão de qual é a mais adequada pode ser condicionada por diferentes fatores organizacionais, dos quais se destacam:

  • Gestão própria da plataforma on-premises, ou a alternativa da utilização de um serviço gerido na cloud
  • Maior flexibilidade e possibilidade de customização, ou a capacitação de equipas com skillset menos técnico nas implementações (os chamados citizen developers)

É possível que já tenhas ouvido falar em alguns dos produtos com que trabalhamos na Xpand IT: WSO2, MuleSoft e Microsoft Azure (Logic Apps e API Management) são alguns exemplos deste tipo de ferramentas, mas existem muitas outras alternativas no mercado. Todos eles têm vantagens e desvantagens e podem ser mais ou menos aplicáveis dependendo do cenário ou necessidade. É aqui que entra em cena o Middleware Developer.

O que faz um Middleware Developer?

Um Middleware Developer desenvolve soluções que resolvem problemas específicos de integração nas organizações. Embora este problema exista virtualmente em todos os cenários, a missão de um Middleware Developer é global, e não olha apenas para a necessidade de um ou um conjunto limitado de sistemas.

Por este motivo faz mais sentido perguntar: “O que é que um Middleware Developer não faz?”

No entanto, pela natureza da sua função e das ferramentas que utiliza, é muito comum ser designado (de forma muito redutora, diga-se) de alguém que “passa o dia a ligar caixinhas” ?.

Middleware software
 Exemplo do ambiente de desenvolvimento de um produto de Middleware (Fonte: WSO2 Integration Studio)

Pelo facto de estar a olhar para a big picture, um Middleware Developer tem de ter em consideração um conjunto alargado e diversificado de protocolos de comunicação, formatos de mensagem, e padrões de comunicação, quando está a desenhar a solução. Esta variedade existe para servir propósitos diferentes e específicos de cada área, departamento, organização, ou ecossistema aplicacional.

Um Middleware Developer é, assim, alguém capaz de:

  • Compreender o problema geral da organização e os objetivos que pretendem ser atingidos
  • Capacitar uma arquitetura escalável e resiliente que sirva de amplificador de programas digitais por toda a organização
  • Implementar e validar a arquitetura e os modelos definidos para o espaço do Middleware
  • Desenvolver serviços e integrações que melhor servem as necessidades funcionais das aplicações e sistemas
  • Promover e evoluir a solução existente, tanto para endereçar novos desafios tecnológicos e de negócio, como para acelerar, facilitar e melhorar a qualidade das implementações

Trata-se, por isso, de um desafio típico de engenharia, que requer espírito crítico de análise e o “porquê” antes do “como”.

És um Middleware Developer?

Como em muitas situações na vida, não existe uma regra de ouro ou um fator decisivo para confirmar inequivocamente que a carreira de Middleware Developer é a indicada para ti.

Se completaste agora um curso superior, uma boa pista poderá ser a preferência por cadeiras como Sistemas Distribuídos ou Engenharia de Software, que partilham muitos destes conceitos.

Podes também perguntar-te se gostarias de:

  • Conhecer e interagir com diferentes peças de software, modelos de comunicação, protocolos, e formatos de mensagem
  • Encontrar a norma para um meio onde tudo é diferente e distinto entre si
  • Desenhar arquiteturas “simples” para resolver problemas complexos
  • Pensar mais ao nível do processo e menos ao nível do código que o implementa (conceito de caixa negra)

São estes os principais desafios que movem os Middleware Developers no dia-a-dia.

Consegues-te identificar com eles?

Se queres saber mais sobre se esta é a carreira certa para ti, inscreve-te no webinar das Dev Talks sobre Middleware. 

Tags:

Leave a comment

Comments are closed.

Comments

  1. … [Trackback]

    […] Read More on to that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  2. … [Trackback]

    […] Find More Info here on that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  3. … [Trackback]

    […] Info on that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  4. … [Trackback]

    […] Information to that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  5. … [Trackback]

    […] Information on that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  6. … [Trackback]

    […] Read More to that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  7. … [Trackback]

    […] Info to that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  8. … [Trackback]

    […] Info to that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  9. … [Trackback]

    […] Here you can find 19212 more Info on that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  10. … [Trackback]

    […] Info on that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]

  11. … [Trackback]

    […] Find More Info here on that Topic: careers.xpand-it.com/blog/middleware-tudo-o-que-precisas-de-saber-enquanto-software-engineer/ […]