Flux File Orchestration Platform
Visually create automated workflows that contain conditional branching, dependencies, looping, parallelism, splits, and joins. Orchestrate file transfers, Web Services, and your core business applications. Submit workflows to a Flux engine or cluster for execution.
Monitor Workflow Executions
Monitor all running workflows and jobs using the Flux Operations Console. Workflows and jobs can be filtered, drilled into, scheduled, expedited, paused, cancelled - all via a web browser.
Manage File Transfers
Flux automates retrieving and sending files between applications, your clients, vendors, and business partners. Flux managed file transfer reduces errors and improves timeliness over manual methods.
Schedule Workflows and Jobs
Flux's powerful job scheduler provides extensive time-based facilities as well as multiple fine-grained business calendars (referred to as business intervals). Time events and file events can be combined into highly complex schedules to meet enterprise processing schedule requirements.
Integrate with Web Services and SOA
With Web Services and SOA, Flux can communicate with, send requests to, and receive information from a variety of networked and online services. Flux simplifies creating and monitoring business processes that use Web Services.
Integrate with Enterprise Databases
Flux can read, write, and update enterprise data from remote and local databases, using stored procedures and standard queries. Enterprise data can then be used in the provisioning of workflows, and in workflow decisioning.
- Visual Designer
Visually Design your Workflows
Design your workflows using a drag-and-drop visual interface, right in your web browser. No need to install a desktop client.
See your Workflow Dependencies
Look at your workflow dependencies, all within the browser.
Programming Not Required
To design multi-step workflows — complete with dependencies, conditional branching, and looping — you don't need to be a software developer. (But if you want to use Flux's full Java API, you can.)
- Operations Console
Monitor Everything from Your Web Browser
Using Flux's web-based Operations Console, watch over and monitor all your workflows and file transfers. Designed for the needs of Operations Staff and usable by developers too.
Control Workflows and Jobs
Submit workflows to run as jobs on a Flux engine or cluster. Pause, restart, resume, interrupt, and recover Flux jobs. Remove a job (cancel it) from an engine or cluster. Expedite jobs that are waiting on a human intervention.
Near Real-Time Updates
The Flux Operations Console uses automated, asynchronous, Ajax technology to keep your browser window updated with the status of all your Flux activities, automatically updated in near real-time.
Watch File Transfers in Real-Time
Watch file transfers taking place within workflows. Monitor file transfer statistics like source and destination hosts, file transfer protocol, transfer rate, and estimated time remaining.
Monitor Thousands of Workflows and File Transfers Simultaneously
The Flux Operations Console can monitor thousands of running workflows (and their file transfers) at the same time. Results can be filtered to drill into specific sets of work and issues.
- Managed File Transfer
Extensive FTP, SFTP, and FTPS Support
Flux supports file watching and scheduled file transfer workflows that use:
- SFTP (also called Secure FTP and SSH FTP)
- FTPS (also called FTP-SSL and FTP-over-SSL)
- SFTP private key files
- FTPS server and client certificates
- TLS, SSL, and implicit SSL encryption protocols for FTPS
- Passive/Active mode
- Binary/ASCII mode
Watch for Inbound Files
Watch for incoming files that arrive via FTP, Secure FTP, FTP-SSL, the local file system, or a UNC network share. You can wait until the files arrive completely to avoid processing incompletely transferred files. Once your files arrive, process them within your workflow.
Streaming Server-to-Server File Copies
When copying files from FTP/SFTP/FTPS server to another, Flux streams the file so that it is written to disk only on the target FTP server. By not writing a temporary copy of the file, the file transfer is faster and does not occupy disk space on the server where the Flux engine runs.
Issue FTP Commands Directly to Server
For issuing non-standard commands that only your FTP server supports or for fine-grained control over your FTP server, you can issue FTP commands directly to your FTP server within a workflow.
Change File Permissions
If your FTP server supports it, you can change file permissions on files on your FTP server. This chmod behavior is not part of the FTP specification and may work on one FTP server but not another.
- Web Services (SOA) Integration
Call REST Services
Use Flux to invoke REST services from your workflows:
- Invoke Restful resources over HTTP using the standard verbs (GET, POST, PUT, DELETE)
- Access SSL secured web sites
- Supports HTML form processing, basic authentication, and the ability to set HTTP headers
- Perform XPath query operations on the response XML
Call Web Services
Similar in nature to REST services, Web services can be called from workflows. Use Flux to:
- Invoke Web services (SOAP/HTTP) defined using WSDL
- Supports WS-Security basic authentication
- Simplifies integration in an SOA environment
Pass Data In and Out
Pass workflow data into REST and Web services. Pull data from REST and Web services into your workflows for processing.
Use the security mechanisms built into REST and Web services like SSL support, key stores, and trust stores.
- Database Integration
Retrieve Data and Pass to Workflows
Query your databases and pass the data through to your workflows for processing.
Call Stored Procedures
Call stored procedures defined in local or remote databases from within your workflows. Pass data in to your stored procedures. Pass the results through to the next step in your workflow.
Perform Database Updates and Inserts
Update existing data or add new rows to your tables in your local and remote databases.
Pass Workflow Data to Database Calls
Use the information retrieved or generated within your workflow and pass it through to your database calls.
- Workflow Engine
Powerful State Machine
The Flux workflow engine supports simple or intricate automated workflows using a powerful state machine model. Define workflow steps that contain conditional branching, dependencies, looping, parallelism, splits, and joins. Perform tasks and wait for events to occur within your workflow.
Scale individual workflows to hundreds of steps. Run thousands of workflows across a cluster of Flux workflow engines. Invoke other workflows from within workflows.
You can define simple or detailed mechanisms to handle and recover from error conditions. Handling errors can be fully automated including sending notifications to people to take corrective actions.
Dependencies on Other Workflows and Files on FTP Servers
Create workflows that depend on other workflows. Define workflows that wait for other workflows to reach milestones or to finish altogether. Create workflows that wait on and watch for files on FTP servers to arrive or change
Granular Access Controls
Assign more than 30 different, fine-grained user security controls to permit or restrict access to various portions of your workflows. For your operations staff, set privileges and customize tabs in the Flux Operations Console to increase security and efficiency.
LDAP and Active Directory
Flux can tap into your organization's LDAP and Active Directories for authentication. AD and LDAP Role and group attributes can then be mapped to Flux roles. New users can be automatically assigned default roles upon sign in - eliminating maintaining multiple user lists.
Security in Operations Console and Java APIs
Flux's security mechanisms uniformly controls access to features in the Operations Console, the Java APIs, and the command line interface.
Disable Flux Security Optionally
Some environments do not required any kind of Flux security, as when Flux is embedded in a larger Java application. With a configuration option set appropriately, all Flux security is disabled.
- PGP Encryption/Decryption Support
Use Flux to construct PGP encryption keys that can be utilized to encrypt files in workflows.
Flux can decrypt both PGP and OpenPGP encrypted files within a workflow.
- Error Recovery
When Something Goes Wrong
React accordingly when a workflow encounters an error or a file transfer fails. Configure automated responses to errors or call out for human attention. Error handlers can be complex workflows in and of themselves.
Automated and Manual Error Recovery
At any point in a workflow, define automated or manual error handlers to resolve, retry, or report the situation.
Sophisticated Error Handling
Flux's error handlers can be defined in terms of a workflow, allowing you to create sophisticated error recovery mechanisms.
Reuse Error Handlers
Error handlers can be defined once and used throughout a workflow or throughout an entire collection of workflows.
- Integrate Enterprise Resources using Flux Agents
Using a Flux Agent on a remote computer, watch for files on remote computers, copy files to and from agents, and run processes on those agents.
Take Advantage of Special Resources
Sometimes a process needs to run on a specific computer that contains unique resources. Install a Flux Agent on that computer and run tasks on that computer using Flux.
You can define a group of computers into a pool, and then schedule processes to run on any one of the machines in that pool.
Sometimes, you don't want to install special agent software on your computers. Flux supports so-called agentless scheduling that uses SSH to run processes on remote machines.
- Scalability and High Availability
Clustering and Failover
To provide high availability and increased throughput, Flux can be clustered on many servers. There is no single point of failure in the cluster. If one server goes down, that server's duties are automatically and seamlessly moved to the other servers in the cluster.
There is no single point of failure. All servers in the cluster cooperate equally to increase the system's overall throughput even in the event of server failure.
Flux automatically spreads the task load out across all the servers in the cluster. Less busy servers receive new work before busier servers. In workflows that contain parallelism, different parts of the same workflow can run simultaneously on different servers in the cluster.
Run Thousands of Workflows
Flux's unique clustering technology and load balancing and error recovery features allows the highly redundant and high throughput processing of thousands of workflows.
- Heterogeneous Environments
Flux runs on a very wide variety of hardware and operating systems. Flux is developed in Java using a single code base. When a new Flux version is released, all features are available on all supported platforms.
Mainframes, Big Iron, PCs, Laptops
Flux runs well on small computers up to big servers and mainframes. Flux customers run Flux on very wide variety on production hardware.
Flux does not consume much processor, memory, or hard drive space. Flux runs equally well on laptops, workstations, multi-core enterprise-class servers, and mainframes.
Windows, Linux, z/OS, Whatever
Flux runs on just about any operating system with a modern Java runtime environment — Windows, Linux, z/OS, Solaris, et cetera.
- Reports and Audit Trail
Know What Workflow Ran and When
Run reports to determine what tasks, steps, actions, and workflows executed within a specified time frame.
Filter reports on different criteria. Filter on:
- workflow names
- dates and times of events
- message content
- the Flux engine where events occurred
Three Kinds of Reports Available
Flux includes three different kinds of reports. The Audit Trail records significant events. The Run Report shows details on significant "runs" within a workflow. Logs show low-level details of running workflows.
- Cloud Computing
Numerous customers deploy Flux on cloud services such as Amazon EC2, and within private clouds.
As service demands rise and fall, Flux can adapt. Seamlessly add more Flux servers to your cluster as demand increases. As demand decreases, remove servers. Your clients access your cloud seamlessly, regardless of the number of Flux servers running.
Increase Scalability as Needed
In your cloud (cluster), add more Flux servers during periods of high demand.
Fallback as Necessary
As your scalability and high availability needs decrease dynamically, remove Flux servers from your cloud (cluster). The remaining Flux servers continue running unaffected.