Training Agenda
Here is a customizable Flux training outline. This outline can also be customized as needed and does not have to be delivered in the order shown.
First Session (2 Hours)
Installing Flux
- Choosing the installation package
- Installing Flux as a service
- Service configuration files
- Stopping and starting Flux
- How Flux handles active transactions at shutdown
- Installing Flux database tables
Introduction to Flux Architecture
- Engines
- Agents
- Operations Console
- Database
Workflows
- How are workflows created?
- Invoking system commands/scripts via Process Action
- Time-based Schedules
- “One-shot” vs. recurring schedules
- Time expressions
- Forecasting jobs
- Managing the late time window
- Administering jobs from the Operations Console and API
Second Session (2 Hours)
Workflows (Continued)
- Business hour scheduling
- Administering Deadlines
- Administering the Repository
- Prioritizing workflows
- Concurrency settings and workflow throttling
- Assigning tasks to remote servers
- Creating job dependencies
- Workflow states and transitions
- Variable management
- Signals
- Process action – destroy on timeout, interrupt
- Audit trail trigger
- Editing existing workflows
- Rescheduling workflows
- For each collection element action
- Forecasting from the Console
- Rescheduling jobs
- Workflow structure cannot be changed
- Invoking Java code
- Administering the Java class path
Flows
- Conditions
- Timeouts
- Signals
- Transaction Breaks
- Concurrency
- Error handling
Third Session (2 Hours)
File Transfer
- Host Types
- Local
- FTP
- SFTP
- FTPS
- UNC
- Amazon S3
- Viewing and using file action results
- Timeouts and notifications
- Using the runtime configuration to specify environmental connection parameters
Java Actions
- Best practices
- Sending and receiving data
Namespaces
- Best practices
- Multiple instances of similar workflows with unique data
Fourth Session (2 Hours)
Configuring Flux
- Configuring the engine
- Database settings
- Data sources
- Cache settings
- Clustering
- Load Balancing
- High Availability
- Failover
- Database settings
- Setting the runtime configuration
- Dynamic throttling
- Class path
- Error handling
Operations Console Administration
- Understanding the .flux directory
- Securing the Console
- Customizing the Console
- Users
- Roles
- Privileges
Common Pitfalls — Administration
- Mismatched flux.jar files
- Flux license key errors
- Database Pool Size to Support Flux and Other Applications
- Late time window
Monitoring Performance and Troubleshooting
- Memory heap dumps
- Thread dumps
- Viewing Flux logs
- File system
- Operations Console
- Database
- Audit Trail
- Run and Metric Reporting
- Monitoring with JConsole
- Remote monitoring with -Dcom.sun.management.jmxremote.port=
- Remote monitoring with -Dcom.sun.management.jmxremote.port=
- Finding your Java PID
- jps -l -m
- Generating heap dumps with jmap
- jmap -dump:file=
- jmap -dump:file=
- Viewing heap dumps
- jhat
- jhat
- jhat
- Eclipse MAT
- jhat
- Generating thread dumps
- jstack
- jstack
- jstack
- command line
- kill -QUIT
- (generates to stdout wherever the engine is running)
- kill -QUIT
- jstack
Tuning the JVM
- Recommended JVM settings for Flux
Upgrading Flux
- Shut down all Flux components
- Download new Flux release
- Install new database schema
- Migration tool
- Start new Flux release
Fifth Session (2 Hours)
Common Pitfalls
- Reimplementing Flux Features
- Trigger Polling Delays
- Not Closing Iterators in try/finally Blocks
- Using Engine.getFlowCharts() instead of Engine.getFlowChartElements()
- Excessive Transaction Breaks
- Start and End of Run
Custom Actions
- Developing custom actions
- Best practices
Sixth Session (2 Hours)
Command Line Interface
- Interacting with workflows
- Publishing workflows from .ffc
- Checking engine status
Architecture
- The Flux Engine
- Embedding the engine
- Embedding in Java
- As a servlet
- Security
- Built-in Flux Security
- LDAP
- Remote and local engines
- Disabling network connectivity
- Databases
- Explanation of primary database tables
- Transactional support
- Standalone transactions
- XA transactions
- Caching
- Local
- Networked
- None
- Clustering and failover
- Flux clients
- Agents
- Operations Console
- API
- Workflows as XML
- Overview of triggers and actions
- Embedding the engine
Seventh and Eight Sessions (2 Hours Each)
Remote API
- Use Chrome’s DEV HTTP Client to invoke REST methods on the engine.
Review
- Follow-up on topics discussed in previous sessions, review outstanding questions, and workflow design.