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 (1)
    DIO Community
    DIO Community - 30/04/2025 09:23

    Que excelente artigo, Juliano! A forma como você explicou a integração entre API RESTful, RabbitMQ e Firebase foi clara e objetiva. A combinação dessas tecnologias realmente potencializa a criação de sistemas escaláveis e eficientes, e seu exemplo prático sobre o sistema de Ordens de Serviço exemplifica bem como essas ferramentas se complementam para criar soluções robustas.

    Na DIO, valorizamos esse tipo de compartilhamento de conhecimento, pois ele não só aprimora as habilidades técnicas, mas também ajuda a comunidade a entender como utilizar essas tecnologias para resolver problemas reais de forma inovadora. Com a evolução constante da tecnologia, você acredita que outras ferramentas ou práticas emergentes poderiam, no futuro, melhorar ainda mais esse fluxo de integração?