JS

Juliano Santos25/04/2025 19:52
Compartilhe

Como integrar RESTful APIs, RabbitMQ e Firebase em um sistema C# .NET?

    Neste artigo, compartilho uma abordagem combinada entre três tecnologias amplamente utilizadas no ecossistema .NET: API RESTful, RabbitMQ (mensageria) e Firebase (notificações em tempo real). A proposta é demonstrar como essas ferramentas se complementam para construir um sistema moderno, eficiente e reativo.

    Explicação Resumida de Cada Tecnologia

    ✅ API RESTful (C# .NET)

    Uma API RESTful expõe funcionalidades e dados de um sistema por meio de requisições HTTP (GET, POST, PUT, DELETE). Ela é responsável por intermediar o acesso ao backend e integrar diferentes sistemas ou clientes (web, mobile).

    Exemplo:

    [HttpPost("api/os")]
    public IActionResult CriarOrdemServico([FromBody] OrdemServico novaOS)
    {
      // Lógica para salvar no banco e notificar via fila
      _rabbitMqService.EnviarMensagem(novaOS);
      return Ok();
    } 
    

    📬 RabbitMQ (Mensageria)

    RabbitMQ é um broker de mensagens que permite a comunicação assíncrona entre serviços. Ao invés de chamar diretamente uma função de envio de notificação, por exemplo, o sistema coloca uma mensagem na fila e outro serviço consome e executa.

    Benefício: desacoplamento e escalabilidade.

    🔔 Firebase (Notificações Push)

    Firebase Cloud Messaging (FCM) é uma solução do Google para envio de notificações push para aplicativos web e mobile. No nosso exemplo, é utilizado para informar os clientes sobre atualizações da Ordem de Serviço (OS).

    Exemplo:

    public async Task EnviarNotificacao(string token, string titulo, string mensagem)
    {
      var notification = new FirebaseNotification
      {
          To = token,
          Notification = new { Title = titulo, Body = mensagem }
      };
      await _firebaseClient.SendAsync(notification);
    } 
    

    Exemplo Prático: Sistema de Ordens de Serviço com Notificação

    Imagine um sistema onde o cliente abre uma ordem de serviço via app. O backend (API RESTful) registra a OS no banco e envia uma mensagem para uma fila do RabbitMQ. Um worker escuta essa fila e, ao receber a mensagem, dispara uma notificação via Firebase, informando o cliente que a OS foi criada ou atualizada.

    Esse fluxo garante eficiência, escalabilidade e responsividade.

    Conclusão

    A combinação de API RESTful + RabbitMQ + Firebase permite criar soluções modernas, com baixo acoplamento e foco em performance e experiência do usuário. Ao longo da minha carreira com C# e .NET, apliquei soluções semelhantes em ERPs, apps e sistemas de gestão, promovendo integração e automação com robustez.

    🔗 Conecte-se comigo no LinkedIn: linkedin.com/in/julianopereiradossantos

    image

    Compartilhe
    Comentários (0)