
 
information, usually by bringing extra value to it; 
and (2) group of rules that access and monitor 
existing information without changing it.  
When taking into account the relationship 
between business rules and business processes, 
literature identifies two research streams – (1) one 
which targets deriving and discovering business 
rules from business processes (Vasilecas & 
Normantas, 2011), (Ramsey & Alpigin, 2002), 
(Earls et al., 2002),   and (2) another that aims 
integrating the BR into the BP. (Ly et al., 2008)   
In contrast with the approaches above, our goal 
is not concerned to discover or derive business rules, 
neither to integrate business rules into business 
processes. It aims to assist the business bodies and 
architects with building rules, leaving the flexibility 
business ultimately to decide quality of data and in 
this way achieving the main goal which is to detect 
inaccurate data within SOA. 
3 CONSTRUCTING QUALITY 
RULES 
As previously mentioned, business rule can be used 
to verify a value of data and in this way to be used as 
part of monitoring process. As it was outlined in 
(Wand Y, 1996) data must be persistent in order to 
be evaluated. An example of monitoring rule in SOA 
context is presented by statement (1):  
IF NOT (  
SrvA.Oper.GetCustStatus = ‘Gold’AND 
SrvB.Oper.GetCartQuty > 10 AND 
SrvC.Oper.GetShippingCost = 0 ) 
THEN 
GENERATE
RULE
EXEPTION ERROR 
(1) 
At this stage, the left side (before THEN) of the 
aforementioned statement can be brought down to 
evaluating sets of simple predicates. The final result 
would be evaluated by using logical conjunction 
(Hazewinkel, 2001). In logical conjunction, the 
result will be true if all of its operands are true, 
otherwise the value is false.  
In the general case the complete rule expression 
for monitoring purposes could be exemplified in the 
following way: 
IF NOT (  
Predicate_1 BITWISE_OPERATION 
Predicate_2 BITWISE_OPERATION  
. . .  
Predicate_N ) 
THEN 
GENERATE
RULE
EXEPTION ERROR 
(3) 
where 
Predicate_1 . . . Predicate_N are 
predicates linked with Bitwise Operations. Each 
predicate is composed of three objects - 
[returned_value]  comparison_operation 
[expected_value] where [returned_value] is the 
value delivered by the target service operation 
(usually fetch function e.g. 
getOperation() ); 
comparison_operation is any of the following 
logical operations: ‘<’(less), ‘>’(greater), ‘=’equal, 
‘!=’(not equal), ‘<=’(less than or equal) ‘>=’(greater 
than or equal); [expected_value] is expected value, 
the one to be conditioned, usually defined by the 
user; 
BITWISE_OPERATION is any of the Boolean 
algebra operations (Koppelberg, 1989): ‘∧’ (AND, 
conjunction),  ‘∨’ (OR, disjunction), ‘¬’ (NOT, 
negation) . The whole predicate set must be inverted 
using negating Boolean logical operation (NOT), if 
the logic is positive. If negative logic is used, negate 
operation must be omitted after predicates are been 
evaluated. 
4 FRAMEWORK FOR 
COMPOSING BUSINESS 
RULES AID BY BPEL 
LANGUAGE 
Framework for composing quality rules is part of 
overall Data Quality Management (DQM) process 
which identifies four main stages in data quality 
cycle - Quality Assessment, Quality Design, Quality 
Transformation and Quality monitoring. Since DQM 
provides us only with general guidance how to 
manage quality of information, the framework we 
propose aims to show in detail how to define quality 
of information in SOA. The framework is focused 
particularly on the ‘Quality Design’ of DQM. We 
name this stage ‘Preparation stage’. This is the stage 
were the quality is defined. It is comprised of four 
steps: (i) selecting BP; (ii) extracting the services 
and variables involved into the chosen business 
process or sub-process; (iii) constructing business 
rules based on the services and variables involved in 
the chosen BP; (iv) mapping and saving created 
rules into repository; The preparation stage is 
depicted on Figure 1. 
The approach we propose aim to construct 
quality rules which serve as data quality arbiter, and 
that construction is aided by BPEL language. In 
order to achieve the goal, we incorporate into our 
framework some of the vital building blocks in SoA 
such as Business Process Engine (BPE), Enterprise 
WEBIST2013-9thInternationalConferenceonWebInformationSystemsandTechnologies
142