TIBCO Flogo® Enterprise is an open-core product based on Project Flogo™, an open source ecosystem for event-driven apps. Its ultra-light app engine offers you the flexibility to deploy your Flogo apps in containers, as serverless functions, or as static binaries on IoT edge devices. The developer-centric web-based UI of Flogo® Enterprise enables you to quickly implement use cases such as microservices, serverless functions, event-driven apps, integrations, and APIs.
How Flogo Enterprise works
Every Flogo application has a trigger which consists of handlers that serve as the means of communication between the trigger and the flow. When the trigger receives an event, the trigger uses the respective flow handlers to pass the data from the event on to the flow in the form of flow input. The business logic in the flow then can use the event data coming in through the flow input. When the trigger expects a reply from the flow, the data from the flow is passed on to the trigger in the form of flow output. A flow can contain one or more conditional branches.
Main components in Flogo
This section describes the main concepts used in the Flogo Enterprise environment.
Apps: Flogo apps are developed as event-driven apps using triggers and actions and contain the logic to process incoming events. A Flogo app consists of one or more triggers and one or more flows.
Trigger: Triggers receive events from external sources such as Kafka, Salesforce, GraphQL and so on. Handlers residing in the triggers, dispatch events to flows. Flogo Enterprise provides a set of out-of-the-box triggers as well as a range of connectors for receiving events from a variety of external systems.
Flow: The flow allows you to implement business logic as a process. You can visually design and test the flows using the Web UI. A flow can consist of one or more activities that perform a specific task. Activities are linked in order to facilitate flow of data between them and can contain conditional logic for branching. Each flow is also connected to a default error handler. A Flogo app can have one or more flows. A flow can be activated by one or more triggers within the app.
Activity: Activities perform specific tasks within the flow. A flow typically contains multiple activities.
Connections: Connections are used by Flogo to allow you to work with Flogo Enterprise app that requires connecting to various services.
Tibco Flogo capabilities
Seamlessly built event-driven API: Quickly and easily build event-driven integration flows. Create flows that respond automatically to events and triggers, connect data, integrate apps, and execute business workflows.
Web based UI: Tibco Flogo integration apps sits inside the TCI platform, which can be used along with the excellent web-based user interface. This makes the life easy to develop and integrate apps. Develop modern APIs using powerful visual design experience.
Develop and integrate APIs: Model, mock, develop, and test APIs that conform to Open API (OAS), GraphQL, gRPC, or AsyncAPI specifications. Use visual flows to coordinate connections between APIs.
Flow Tester: You provide the input to the flow in the Flow Tester. The Flow Tester executes the flow on demand without using a trigger. Each activity executes independently and displays its logs. This lets you detect errors in the flow upfront without actually building the app. You can use the Flow Tester from the Flogo Web UI or you can use the CLI to run the test command in the Flow Tester. Flow Tester from CLI is only available from the Flogo Enterprise.
Environment variables: Flogo Enterprise allows you to externalize the configuration of app properties using environment variables. You create one environment variable per app property set the FLOGO_APP_PROPS_ENV=auto environment variable, which directs it to fetch the values of the app properties for which you have created environment variables.
Deploying Flogo apps
Flogo allows you to externalize app configuration using app properties, so that you can run the same app binary in different environments without making changes to your app. Flogo Enterprise integrates with configuration management systems such as Consul and AWS Systems Manager Parameter Store to get the values of app properties at runtime. Flogo Enterprise allows you to externalize the configuration of app properties using environment variables
Using containers: You can run Flogo apps as containerized apps in Docker containers and use Kubernetes to deploy, manage and scale the apps
Cloud deployment: Run your apps anywhere, with flexible deployment options for multiple environments including the fully managed TIBCO Cloud™ platform, self-managed serverless, containers, on-premises, and edge devices . Performance of an app affects stability, scalability, throughput, latency, and resource utilization. For optimal performance of the app, it is important to understand the various levels at which the tuning methods and best practices can be applied to the components.
Flogo Security features
TIBCO Flogo® Enterprise includes the following security features:
- Flogo® Enterprise uses TLS for triggers such as the ReceiveHTTPMessage REST trigger, GraphQL trigger, and the gRPC trigger.
- The InvokeRESTService activity supports server authentication using SSL certificates.
- Some Flogo Enterprise connectors use HTTPS for clients to connect securely to the services.
- Flogo Enterprise gives you the ability to store application secrets in external configuration management systems.
- You can encrypt the password values using an internal proprietary utility and then store the encrypted value into an external configuration management system. This prevents the secret from being exposed in plain text format.
- You can set API keys that can be used to register their applications with Flogo Enterprise monitoring. This mitigates the vulnerability of your Flogo app.
- For advanced security capabilities, we recommend using specialized solutions such as API Gateway.