AJAX. The interactive functions can be accessed us-
ing this frontend: general workflow, document and
document type administration. This interface pro-
vides the functionalities to actually run workflow and
submit user data during the interactive steps of the
workflow.
The workflow editor with GUI is one of the most
advanced and spectacular parts of Process Oriented
ERP System. This function is also web-based, us-
ing HTML5 and JavaScript and it makes the creation
and flexible modification of the graphical representa-
tion of the workflowgraph possible. The interface has
zoom and topologically re-order functions.
5.2 Backend Components
The functions of the application server are accessed
from the web user interface through a proxy server
which is implemented in PHP. To actually run the
business processes are performed by the standalone
application server which was developed in the Python
programming language, using Stackless and Twisted
Python frameworks for thread management.
According to the research and benchmarks the in-
homogeneous objects and all business processes of
the system are stored in MongoDB, which is a non-
SQL, document-oriented database system.
6 BUILDING APPLICATIONS
WITH A WORKFLOW BASED
ERP SYSTEM
With the business process modeling tool defined let
us try to describe a real business process. The chosen
process is a system that supports the activities of a
logistical center. The basic states of the system can
be listed as follows:
The trucks get registered in the system by declar-
ing their license plate number and estimated time of
arrival. There is an option to postpone parts of the reg-
istration process. Then, the registered trucks arrive to
the parking area before the given time and wait in a
queue. When the logistical center is ready to receive
them, the trucks enter and the personnel execute the
necessary loading operations. When the operations
are finished, the trucks leave the logistical center.
The states and transitions of the system may be
considered as a relatively simple process. In the fol-
lowing we present and explain the model of the sys-
tem, first by a standard BPML model and then the
alternative workflow model of the process.
6.1 Description of the Process and the
BPML Model
The attributes required to register a truck are Part-
ner, Order number, ETA, Conveyor firm, Quality,
Plate number, Comments, Name of driver and Driver
phone. Every value is given by the user.
As mentioned above, the trucks may choose im-
mediate or postponed registration. The nodes SCH,
EDT refers to the immediate and postponed registra-
tion respectively. The node SCH(EDT) represents the
point where a postponed registration is set to ”ac-
tive”. The attributes of the SCH(EDT) are created
using the incoming values from EDT. Both registra-
tion options lead to the same states and generate the
same type of document (Registration). After the SCH
and SCH(EDT) states there are two possibilities. The
truck either arrives until the given ETA (WPA), or it
does not (SCH error).
If the truck arrives, a document should be created
containing the necessary information to perform the
next step. This information is the Plate number and
the Time of arrival. The Plate number is an incoming
attribute from the object Registration. The Time of
arrival is used to ensure that the queue progresses as
it should, and is filled in by a function of the node.
After the document is created, the truck waits in the
queue.
If the truck does not arrive until the given ETA, an
object must be created containing the necessary infor-
mation to handle the problem. The attributes required
are Partner, Order number, and Driver phone. The
Partner and Order number fields are used to contact
and inform the affected partner regarding the delay.
The Driver phone is used to contact the driver and to
realize a new ETA. All fields are incoming fields from
the object Registration. After the WPA state the doc-
uments of the truck are checked.
If the truck possesses every document regarding
the order (INC) then an object is created to help the
execution of the next step. The object contains the
attributes Plate number and Quality. Plate number is
used as an identifier. Quality is necessary to ensure
that the Partner gets the requested type of cargo. Both
attributes are incoming attributes from the object Reg-
istration.
If the truck does not possess every document re-
garding the order (WPA error) then an object must be
created containing the necessary information to han-
dle the problem. The attributes required are Con-
veyor firm, Order number, Plate number and Missing.
The attributes Conveyor firm, Order number and Plate
number and are used to contact the conveyor firm and
request the missing documents. These are incoming
DesignandImplementationofaWorkflowOrientedERPSystem
165