Abstract
BPEL stands for Business Process Execution Language; it is a standard executable language for specifying interactions with web-services. “BPEL is [1] essentially a workflow graph that describes interactions between various web services, dependencies among tasks, rules and different paths between them, conditions when tasks gets initiated and moves to the next step.” By combining several web services BPEL can create a new business model with its own interface to end users. The logic and flow of control [1] between the participating web services are described by XML grammar defined by BPEL, which is later executed by a BPEL engine. According to Miguel (2005) [2], like any other programming language, BPEL has three basic components namely, • Data types • Programming logic • Input/Output In BPEL the data types are defined by XSD (XML Schema Definition) files – which specifies the order of tags in XML document, indicates fields that are mandatory, and defines the data types of the fields. The logic implemented by BPEL defines the programming logic. The input/output are the web services defined in WSDL. BPEL is [3] essentially a graph of conditions and activities and they are represented in terms of state diagram where each state is an activity. Thus at any given instance of time the business process shall be in a state or an activity. When the business process interacts with a web service the state of the process changes based on the conditions defined in the state diagram. The conditions can be ‘ifelse’, ‘while’, ‘repeatUntil’, ‘foreach’ and nested loops. This project takes the BPEL file from the destination location as the input and parsers the file using XML-DOM and creates a table that stores the information of the BPEL flow. The table contains information of the web services with which the BPEL interacts, the activity name, the operation being performed at the current state, input and output message, condition, current state and possible next states.