Broadcom

Broadcom ESP Workload Automation → Apache Airflow

Migrate Broadcom ESP job streams, events, and tracking groups to Apache Airflow.

ESP Workload Automation (formerly CA ESP) is a mainframe-native scheduler known for its event-driven processing model and tracking group hierarchy. ESP's job streams and predecessor/successor relationships map well to Airflow DAGs, but its event and trigger model requires careful translation. BatchFoundry handles the full ESP job stream catalog extraction and DAG generation.

Concept Mapping

Job streamDAG
Job (JDEFN)Task / Operator
Predecessor (PRED)Upstream task dependency (>>)
Event (EVDEF)Sensor / ExternalTaskSensor
Tracking groupTaskGroup
SCHD/APPL scheduleschedule_interval / timetable
Abend actionon_failure_callback
RESTART optionretries / retry_delay
HOLD stateDAG paused / task skipped
SYMBOL variableAirflow Variable / Param

The Hard Parts We Handle

  • ESP event-driven triggers → Airflow Sensors
  • Tracking group hierarchy → nested TaskGroups
  • SYMBOL variable resolution at job stream level
  • Cross-application predecessor chains
  • ESP calendar definitions → Airflow timetables
  • ABEND/RESTART logic → retry policies

ESP job stream to DAG

Before

/* ESP Job Stream (simplified) */
APPL DAILY-ETL SCHD DAILY
  JDEFN EXTRACT
    JCL  PROD.JCL(EXTRACTP)
  JDEFN LOAD
    JCL  PROD.JCL(LOADP)
    PRED EXTRACT

After (Airflow)

# Apache Airflow DAG
from airflow.decorators import dag
from airflow.operators.bash import BashOperator
from pendulum import datetime

@dag(schedule="@daily", start_date=datetime(2025,1,1), catchup=False)
def daily_etl():
    extract = BashOperator(task_id="extract", bash_command="/opt/replatformed/extractp.sh")
    load = BashOperator(task_id="load", bash_command="/opt/replatformed/loadp.sh")
    extract >> load

daily_etl()

Ready to migrate from Broadcom ESP Workload Automation?

Talk to a BatchFoundry engineer about your workload estate.

Talk to an Engineer

Related Migrations