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.


> Methods and apparatus for topology discovery and representation of distributed applications and services

~ 00359