Patent ID: 7363628

Claim:
A method of implementing protocol agnostic messaging between a workflow host application and an executing workflow instance while hiding messaging communications and protocols from a user, said method comprising: receiving, from the user, a selection of a predefined workflow data activity for modeling a messaging operation between the executing workflow instance and the workflow host application, said selection not specifying a particular message protocol; wherein the predefined workflow data activity includes at least one or more activities in a set, the set comprising: an update data activity for communicating the data from the executing workflow instance to the workflow host, a select data activity for enabling the executing workflow instance to query for the data from the workflow host, a wait-for-data activity to enable the executing workflow instance to wait to receive the data from the workflow host, and a wait-for-query data activity to enable the executing workflow host; specifying, by a computing device, a data source definition, said specified data source definition defining a data object for storing message data to be communicated between an executing instance of the workflow and the workflow host application, said workflow host application instantiating the workflow instance; binding, by the computing device, the selected data activity to the specified data source definition; referencing, by the computing device, the bound data activity as one of a plurality of activities in the workflow host application to implement messaging between the workflow instance and the workflow host application, wherein the bound data activity does not specify the particular message protocol; during execution of the workflow instance: generating the data object per the specified data source definition; sending the generated data object to the workflow host application, wherein the workflow host application populates the data object with the message data; receiving the populated data object from the workflow host application; and processing the message data in the received, populated data object; and wherein the workflow host application receives the generated data object, populates the received data object with the message data, and sends the populated data object to the workflow instance.