An event-based scheduling method and system for providing automatic
activity synchronization and automatic data exchange between workflows
and between workflows and other applications. An automatic
synchronization mechanism is provided for enabling workflows to interact
with other workflows or other applications to automatically synchronize
activity execution. An automatic data exchange mechanism is provided for
enabling workflows to exchange data with other workflows or other
applications. An event processing pre-compilation architecture receives a
workflow definition having at least one event node and responsive thereto
generates a workflow definition without event nodes at compile time. Each
event node is replaced with a translated workflow node that conforms to
the syntax supported by the underlying workflow engine. The translated
workflow node is also assigned to an application that can implement the
desired event node semantics. An event processing run-time architecture
invokes the application assigned to the translated node when the
translated node is encountered. The application employs a publication and
subscription tool for automatically performing activity synchronization
and/or data exchange at run time.