2.2 Non-functional Requirements
In addition to the required functionalities, a DAL en-
abling Cloud data access should also respect the fol-
lowing properties.
NFR
1
Loose Coupling: The DAL must allow for
Cloud data stores or data services to be
changed without affecting the Business Logic
layer, except from the necessary reconfigura-
tion of the connection to the data store or data
service.
NFR
2
Security: As the DAL stores information on
the available data stores and data services in-
cluding their internal structure, e.g. database
schemas and access credentials, third parties
have to be prevented from gaining access to
these data.
NFR
3
Backward Compatibility & Extensibility:
DAL components have to be compatible with
directly wiring the business logic with a spe-
cific data store, as in traditional applications.
Furthermore, extensibility has to be ensured
in order to integrate the components with
future technologies and solutions, e.g. new
types of data services in the Cloud.
As discussed in the previous section, the proposed
approach builds on the use of the ESB technology
as the realization of these requirements. However,
given the fact that multiple organizational domains
may have access to the same data stores or services,
it has to be ensured that each organization is confined
to their own data. While modern Relational Database
Systems (RDBMSs) have been offeringthis capability
for a while, multi-tenancy on the level of middleware
is still an open issue. For this purpose, in (Strauch
et al., 2012b) we identify a set of requirements for
multi-tenancy for ESB solutions. These requirements,
summarized in the following, have also to be taken
into consideration when designing and implementing
a transparent DAL solution using an ESB.
More specifically, tenant-based identification and
hierarchical access control have to be supported, as
the ESB has to manage and identify multiple ten-
ants (organizationaldomains) and their corresponding
users. For the administration and management of both
tenants and users, customizable interfaces have to be
provided, including both Web service interfaces and
GUIs. Through these interfaces, the tenant-based de-
ployment and configuration of the ESB and the ser-
vices available for a specific tenant should be man-
aged in a transparent way. As other multi-tenant com-
ponents in a PaaS environment request similar infor-
mation, e.g. workflow engines, the ESB should offer a
shared registry of services and of tenants and users for
other PaaS components. Furthermore, services and
applications that are not multi-tenant aware should
still be able to seamlessly use and transparently inter-
act with the ESB.
In addition, both data isolation and performance
isolation have to be ensured, in order to avoid that ten-
ants acquire access to data or computing resources of
other tenants. In order to address the security aspect,
corresponding confidentiality, authorization, authenti-
cation, and integrity mechanisms have to be realized
on tenant and user level. Finally, the ESB components
must be extensible and reusable by other components
in the PaaS environment to ensure independence from
a specific technology or solution. All of these require-
ments are considered in the following discussion.
3 CLOUD DATA ACCESS
SUPPORT IN ServiceMix
In this section we discuss CDASMix (Cloud Data Ac-
cess Support in ServiceMix), an architectural and im-
plementation approach which fulfills the requirements
identified in the previous section. As the basis for the
design and implementation of our approach, we reuse
and extend the ESB
MT
multi-tenant aware ESB solu-
tion
3
, as presented in (Strauch et al., 2013a). ESB
MT
enhances the Apache ServiceMix 4.3 JBI container
4
with multi-tenant communication support within ser-
vice endpoints deployed in the ESB, and multi-tenant
aware dynamic endpoint deployment capabilities. As
shown in Fig. 1, the ESB
MT
architecture contains
three layers: Presentation, Business Logic, and Re-
sources. The Presentation and Business Logic layers
define a generic interface and logic design approach
of a multi-tenant aware administration and manage-
ment application for ESBs. The Resources layer con-
tains the ESB-specific instances cluster, databases for
tenant-related information, and an intermediary com-
ponent to mediate the management communication
between the upper layers and the ESB instance cluster.
However, ESB
MT
focuses on enabling multi-tenancy
at the communication level between application ser-
vices, rather than on application’s data access. There-
fore, the remaining of this section describes the ex-
tensions realized for CDASMix in each of the sys-
tem’s layers highlighted in Fig. 1 to enable transpar-
ent Cloud data access support, and provide a deeper
insight on the realized components. An extended de-
scription of the architectural and implementation ap-
3
ESB
MT
: http://www.iaas.uni-stuttgart.de/esbmt/
4
Apache ServiceMix: http://servicemix.apache.org
TransparentAccesstoRelationalDatabasesintheCloudusingaMulti-tenantESB
7