O que é programação baseada em fluxo?
A programação
baseada em fluxo é um método de projetar aplicativos e arquiteturas de computador, diferentemente dos métodos estruturados tradicionais de design de aplicativos, pois os dados devem ser processados em um fluxo por componentes que não estão conectados um ao outro e usam um sistema de mensagens externas para se comunicar. Sob programação baseada em fluxo, o foco é colocado na transformação de dados usando diferentes componentes, que são essencialmente módulos ou funções encapsuladas que não têm conexão direta com os outros componentes do programa. Cada um dos fluxos de dados e outros eventos é gerenciado por um sistema externo de passagem de mensagens que não é diferente de alguns tipos de protocolos de rede, nos quais um pacote de informações (IP) é entregue a um módulo através do uso de uma porta abstrata. Essa visualização de design baseada em componente permite que um aplicativo tenha módulos de código desenvolvidos separadamente que apenas precisam responder a uma mensagem do sistema, processar um IP e depois soltar o IP de volta ao sistema. EsseA abordagem é útil em sistemas distribuídos, redes e com arquiteturas de programas da Internet e da Web, como servidores de comércio eletrônico.
Um dos blocos fundamentais de construção da programação baseada em fluxo é a idéia de um nó, processo ou módulo isolado. Isso pode ser pensado como um código-fonte do programa que não possui nenhuma dependência direta de nenhum outro módulo, quase tornando o módulo uma peça independente do aplicativo que pode ser chamado sempre que for necessário. Cada componente não depende de ser chamado sequencialmente com outro componente; portanto, os componentes de um aplicativo podem ser organizados e usados em qualquer ordem, permitindo que vários fluxos de dados exclusivos existam à medida que a informação se move através do sistema.
Cada um dos módulos individuais na programação baseada em fluxo aceita dados através de uma interface abstrata conhecida como porta, que opera muito parecida com uma porta de dados dentro de uma rede de computadortrabalhar. Os dados são enviados para uma porta através de um buffer de tamanho limitado, mas transforma vários IPs em um fluxo que é constantemente alimentado à porta. Uma única porta pode se relacionar com várias instâncias de um único componente, facilitando a estrutura de um sistema distribuído ou para processamento paralelo.
Os dados contidos em um pacote de informações são manobrados através dos módulos por um sistema de mensagens externas. Na programação baseada em fluxo, esse sistema de mensagens é separado dos módulos e IPs e apenas gerencia o fluxo do programa através do uso de buffers que estão ligados às portas. O sistema de mensagens basicamente não tem conhecimento do que os módulos são ou estão fazendo e nenhuma preocupação real com quais dados estão contidos nos IPs que os módulos estão processando.
As divisões e modularidade de cada um dos componentes que constituem aplicativos de programação baseados em fluxo se prestam bem a processos como depuração e desenvolvimento orientado para a equipe. Grande parte do código é encapsulada, entãoO código -fonte tem um alto potencial de reutilização. Isso também significa que atualizar ou dimensionar um aplicativo que usa programação baseado em fluxo pode ser mais fácil do que com um aplicativo mais integrado, porque o sistema de mensagens, os módulos e o sistema de portas podem ser alterados independentemente sem afetar o programa maior.