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