situation, the SaaS application’s business rules need
to be customized with a flexible method, which
enables organizations of any size to build, execute,
manage, and evolve its own rule-oriented
applications. A rule engine can be viewed as a
sophisticated interpreter of if-then statements. It can
reach a conclusion from a set of facts feed into it and
trigger an appropriate action. So we can use the
characteristic of rule engine to separate the business
logic out of the SaaS application to support online
customization and multi-tenancy with the isolated
rule file with specific tenant who has personal
customization of business rules. Therefore rule
independency and isolation is an essential part in the
development of SaaS application. In this paper, a
business rule engine-based framework was proposed
to help the development of SaaS application with the
personalized customization of business rules, which
is convenient for tenants to change the business rules
on-the-fly and minimize the downtime of the
application during the business rule upgrading or
modification.
In this paper, we only focus on the business
rule’s online customization and multi-tenancy
support, other parts customization like process data,
UI elements, localization, performance monitor and
so on are out of the scope. The next section
identifies the related work and section 3 provides a
clear and concise description of the background.
Section 4 demonstrates our framework and provides
explanation for our framework. Section 5 presents
the implantation representing our case study and is
used to exemplify the potential of our approach.
Section 6 draws conclusions from our work and
identifies the possibilities for future work.
2 RELATED WORK
Business rule customization of software is not a new
issue. And many researchers have done a lot in
traditional applications. Initially, rule based software
tools originate from work carried out in the artificial
intelligence (AI) research community. Companies
were faced with the need to combine domain
expertise with the flexibility to write lots of “if x,
then y” statements over a wide range of variables
without resorting to spaghetti code (Gichahi, 2003).
Orriens (2003) and Vasilecas (2009) have two main
views in dynamic business rule driven software
system design. One of them is to design predefined
executable processes and execute them by using
rules in software system, where processes and
execution rules are derived from business rules using
transformations. And another one discussed in the
work (Vasilecas, 2009), where business rules and
facts describing current business system state are
loaded into inference engine of the software system
and transformed into software system executable
data analysis process according to the results of
logical derivations. Computer scientists and
programmers began developing rule languages and
the corresponding engines that could handle the
conditions and actions needed to satisfy the wide
range of rules. The most successful approach for
doing this has proven to be the Rete algorithm
(Forgy, 1982). Many rule-engine tools and
application development support environments was
applied like Blaze Advisor Builder, BRS RuleTrack,
Business Rule Studio, Haley Technologies, ILOG
Rules, Platinum Aion, etc (Karami and Iijima, 2010).
In SaaS applications, there are still lots of
differences in business rule customization with
traditional applications. These differences include:
z The business rule customization or
configuration for SaaS applications should
support multitenant architecture and each
tenant should have their own customization.
z Not to affect other tenants, SaaS providers
could not suspend the system when some
tenant wants to modify or upgrading the
business rules.
z The customization will be executed by
administrator of tenant, not by developers of
SaaS provider.
z The customization of the business rules should
be simplified and friendly.
Above mentioned differences between SaaS
applications and traditional software have raised
many researches in this new area. Guo (2007)
proposed a multi-tenant supported framework to
support better isolations among tenants in many
aspects such as security, performance, availability,
administration etc. Zhang (2007) proposed a SaaS-
oriented service customization approach, which
allows service vendors to publish customization
policies along with services. If tenant’s
customization requirement is in agreement with
policy after being verified, vendors will update
service accordingly. This approach will inevitably
burden service providers because of tenants’
reasonable customization requirement increments.
Gong (2009) developed ECA process orchestration
architecture to create flexible processes. This
architecture based on both knowledge rules
(separating knowledge from processes) and event-
condition-actions (ECA) mechanisms to provide the
highest level of flexibility. Configurability of SaaS
CLOSER2012-2ndInternationalConferenceonCloudComputingandServicesScience
346