With its open, flexible platform and API-first architecture, Boomi Flow makes life easier for a range of users. In a previous post, we covered some of the ways Flow can satisfy the demands of professional and citizen developers alike. But we didn’t dig into the details. Now we will. First up, templates and reusable components.
Templates and Reusable Components
For professional developers, reusability is very important in application design and architecture. Many of Flow’s built-in capabilities are designed with reusability in mind. A good example would be custom components for complex applications. These components can be created and shared with other developers and invoked by different applications.
Another other way to invoke reusable components is through parallel flows or Flow “callouts.” If an application needs to make a remote procedure call to a module or library, Flow lets you do that with another flow, which can be invoked from the main flow. In the next release, Boomi will introduce a feature called “Subflow,” which will provide the ability to call a child ‘subflow’ and ‘return’ back to the calling flow. This will enable creation of reusable flows and standardize on better architectural practices.
Citizen developers can benefit from the same approach. A professional developer or administrator can create a library of templates that perform common Flow activities. Users can work with these templates instead of having to figure out how to create and configure templates from scratch.
In the upcoming release, Boomi will release “Flow Library,” a library of sample flows that address common workflow use cases and pre-built micro-apps. Citizen developers can use these sample flows as starting points, so they can quickly understand what the platform offers and learn how to use this collection of sample flows to accomplish their business goals.
Deployment, Testing, Debugging and Version Control
Flows are deployed in the Flow Cloud. For testing, developers can validate flow performance simply by clicking a button that launches the flow. This process does not check the flow into the infrastructure. Instead, it tests the application to ensure it is running properly.
Boomi Flow offers a built-in debugger, which can operate at a macro level or at each step in a flow. The debugger can be used as often during the development process as a developer wants, with no need to configure external environments.
The debugger also offers basic logs that show what states were created in the flow as the user stepped through the application. For more advanced analysis, Flow offers service-invoker logs via APIs that capture details about service request responses and errors, making them available for review by developers.
Developers can also use API scripting to gain insights about application performance and to display various parameters and metrics that reveal how their applications behave.
Flow automatically versions every flow as well as every element that is part of the flow. A version is created when a flow is published and run, creating a snapshot. A version is assigned to each snapshot.
There are several ways to manage versions from simple to advanced depending on the situation, such as reverting to a prior version. Professional developers can manage versions at a very granular level via APIs. Citizen developers can use the platform interface to revert to a prior snapshot.
Support for Multi-User Development
Boomi Flow allows the setup of different user accounts through tenants and subtenants. For example, if a project involves a team of developers working on an application, Flow lets those users be part of the same tenant and access the application as it is being developed. Permissions and access controls are managed by the platform.
Support for DevOps
Flow supports DevOps in several ways. Often, organizations using Boomi Flow can establish a Dev tenant for development and an Ops tenant for QA. And, of course, these tenants can span different groups. This multi-tenant approach supports the continuous cycle of validation between development and operations so that deployment into production is seamless.
In addition, Flow can work with tools like GitHub, GitLab or Jenkins that help manage and orchestrate the development pipeline. Flows can be imported and exported to and from third-party tools, creating a repository similar to a source control system in traditional development. Boomi Flow doesn’t box you into using one source code system or another. It has been designed to accommodate a variety of development styles and tools.
Out-of-the-Box Monitoring Capabilities
Developers can use Flow dashboards to monitor the run-time status and use of Flow applications. Metrics tracked include errors and the number of applications executed, as well as a graphical presentation of Flow trends within an organization’s environment.
In addition, the Flow API ecosystem can provide even more detailed monitoring. For example, a developer can monitor how much time it takes to carry out a state change, moving the control from one element within a flow to the next one — a change that should complete within fractions of a second. APIs can also be used to create a custom dashboard displaying trends in Flow usage.
As part of executing apps, the Boomi Flow platform tracks various activity, events, errors, etc. to make management easier. The platform can store this data in Boomi’s standard reporting repository, or the platform can push this data to any third-party monitoring system. Many of our customers prefer to have all of their data in one place, so they have a holistic view of how their business is operating.
Remember, the entire Flow platform — its user interface and tools — are built on Boomi Flow. So, all Flow’s monitoring capabilities are baked in. And the platform uses the same public APIs that are available to any user. These APIs are a powerful part of the platform, giving users access to tremendous data resources for their Flow applications.
Deploying and Running Flow Apps
Boomi Flow apps deploy and run in the cloud. The platform supports geographical separation, so customers in different regions can deploy to regional clouds. Soon, we’ll provide support for multi-cloud environments. You’ll have the option of deploying to the cloud of your choice as well as to the Flow Cloud. We’re also adding the ability to deploy and run on-premise.
None of these deployment options will change the Flow platform’s openness, its rich API ecosystem or its ability to connect to any endpoint through a simple user experience.