Rule-based Cloud Service Localisation
Luke Collins
1
and Frank Fowley
1
and Claus Pahl
2
1
School of Computing, Dublin City University, Dublin 9, Ireland
2
CNGL, School of Computing, Dublin City University, Dublin 9, Ireland
Keywords:
Cloud Service Localisation, Cloud Computing, Cloud Architecture.
Abstract:
The fundamental purpose of cloud computing is the ability to quickly provide software and hardware resources
to global users. The main aim of cloud service localisation is to provide a method for facilitating the interna-
tionalisation and localisation of cloud services by allowing them to be adapted to different locales. We address
lingual localisation by providing a service translation using the latest web-services technology to adapt ser-
vices to different languages and currency conversion by using realtime data provided by the European Central
Bank. Units and Regulatory Localisations are performed by a conversion mapping, which we have generated
for a subset of locales. The aim is to provide a standardised view on the localisation of services by using
runtime and middleware services to deploy a localisation implementation.
1 INTRODUCTION
Distributed web services can provide business and
private consumers with computing abilities which
may not be feasible for them to develop in-house
(Armbrust et al., 2010; Voorsluys et al., 2011). How-
ever, cloud computing introduces new issues, for ex-
ample in Europe, where there is a wide range of lan-
guages spoken, services are very often only developed
for single language. Often, companies do not have the
resources to develop multilingual products. Locali-
sation encapsulates a large number of issues which
need to be addressed. These include Language Trans-
lation, Regulatory Compliance, Currency Conversion
or Units Conversion. Localisation is typically per-
formed on textual content (i.e. strings) and refers to
either languages only or physical location. However,
the purpose of this work is to develop a method of lo-
calising services by implementing a ’mediator’ type
service which interacts between the APIs of the cloud
service provider and the requester. We are going to
focus on a number of locale dimensions such as lan-
guage, taxation, currency and units. We aim to pro-
vide service-level language translation techniques to
localise services (including API interfaces) to differ-
ent languages. Regulatory translation which includes
currency, units and taxation among other legal gov-
ernance and compliance rules will be provided by
standards-based mappings. Regulatory translation is
important for applications to comply with varying re-
gional laws and regulations.
A specific need is to make localisation techniques
available at runtime for dynamic localisation, which is
required for instance for currencies and other variable
aspects. Thus, Cloud Service Localisation (CSL) pro-
vides a mechanism for converting and adapting ser-
vices to the locale of the requester. A Localisation
Provider act as an intermediary between the service
provider and the requester. In our proposed platform,
this is supported by a mediation service. By generat-
ing a common platform solution for these localisation
issues, we allow the ability to dynamically localise
cloud services to be made with little effort. The key
contributions of our work are:
Software Localisation at Service Level - the main
concern is a standardised mapping within a poten-
tially heterogeneous environment.
Adaptation and Integration - the main concern
is the maintenance of service quality after it has
been localised through adaptation.
2 SERVICE LOCALISATION
Our focus is a platform for cloud service localisation,
which makes a shift from a ”one size fits all” scenario
towards an end-to-end personalised service scenario.
Currently, cloud computing services suffer from lo-
calisation and adaptability issues for multiple users in
220
Collins L., Fowley F. and Pahl C..
Rule-based Cloud Service Localisation.
DOI: 10.5220/0004366802200223
In Proceedings of the 3rd International Conference on Cloud Computing and Services Science (CLOSER-2013), pages 220-223
ISBN: 978-989-8565-52-5
Copyright
c
2013 SCITEPRESS (Science and Technology Publications, Lda.)
different regions. These issues could be overcome if
a multi-lingual and multi-regional solution was devel-
oped (Pahl, 2012; Wang et al., 2010).
A scenario which illustrates the benefits of locali-
sation could be a cloud service provider that manages
company accounts for its customers, with offices in
different global locations.
Regulatory: Conversion of data between stan-
dards and their variants, e.g. based on different
units of measurement Metric Imperial.
Currency: Conversion of between currencies, e.g.
Euro Dollar.
Lingual: Translation of service related data be-
tween languages. This could include free text, but
also specific vocabularies based on business prod-
uct and process standards such as GS1 or EAN-
COM for documents.
Taxation: Different customers have different taxa-
tion requirements, e.g. different VAT rates. Local-
isation of the accounts software should take this
into account for each locale.
3 PLATFORM ARCHITECTURE
Localisation of cloud services requires an architecture
framework (Pahl et al., 2007) to be implemented to
facilitate various localisation methods. These various
methods, implemented as services in our proposed lo-
calisation platform, are used to facilitate the localisa-
tion of localisable elements or artefacts. This paper
focuses on the dynamic localisation of service level
descriptions.
With every cloud service there are various el-
ements which may be localised: Service specifi-
cations/descriptions (APIs), Models (structural/be-
havioural), Documentation (for human consumption),
and Messages exchanged between services. Services
are normally written to be independent of locales,
however localisation is often needed. A localisation
platform should be based on attributes which vary
from locale to locale, like time or date format.
A service localisation platform requires a number
of elements. These elements can be pre-translated
fragments in static form or can be dynamic transla-
tion systems. Figure 1 aims to demonstrate the con-
cept of a policy and mappings based system, which
can be scaled when additional processes are attached
to the mediation process. In the platform architec-
ture, user-specific locale policies are applied to ser-
vice endpoints. For example, in a WSDL file we
may localise messages and operation names. Rules
for each type of translation would be stored in a rules
Figure 1: Architecture of the Localisation Platform.
database (General Rules Repository). Similarly, map-
pings between common translations would be stored
in a mappings database (Translation Memory).
A mediator operates between users (with different
locales) and several service providers (with different
locales) by providing core localisation services, such
as currency conversion and language translation. The
architecture supports the following:
Static Mappings: these could be the mapping of
one language to another or one unit to another,
pre-translated in translation memories.
Dynamic Localisation: when translation map-
pings are not stored, then a dynamic localisation is
required in order to obtain the correct translation
and store the mapping.
Policy Configuration: in order to configure the
various locale policies, we must generate partic-
ular translation rules, supported by a logical rea-
soning component.
Negotiation: this is the exchange of locale policies
through the form of XML and SOAP from a web
services point of view.
Localisation of Services: the mappings between
the remote service and the localised service de-
scription must be stored in a mappings database
(Translation Memory) so the localised service has
a direct relationship with the remote service.
A sample locale setup is
<CSLContex t>
<L o c a l e s>
<R e q u e s t e r L o c a l e >
<Lan guageCode>e f r </Langua geCode>
<Co unt ryC ode>FR</ Cou ntr yCode>
<Cur renc y Cod e>EUR</ C urre ncyC ode>
<Un itC ode>M</Uni tCo de>
</ R e q u e s t e r L o c a l e >
<P r o v i d e r L o c a l e >
<Lan guageCode>en </ La nguageCode>
<Co unt ryC ode>IE </Co unt ryC ode>
<Cur renc y Cod e>EUR</ C urre ncyC ode>
<Un itC ode>M</UnitCo de>
</ P r o v i d e r L o c a l e >
Rule-basedCloudServiceLocalisation
221
</ L oc a l e s>
</CSLContext>
A mismatch between provided and required locales
needs to be bridged by a mediator service.
In order to provide the localisation platform ser-
vices, we need to implement a number of classes to
enable a modular service localisation platform. Their
interaction is summarised below.
4 LOCALISATION RULES
At the core of our service localisation platform is
a language to specify the rules in relation to local-
isations. In most cases, languages like WSDL and
other XML languages provide information regarding
the services that are provided via an API. However,
in order to encapsulate localisation information, there
is a necessity to provide a language which will con-
tain details in relation to the locales of the requester
and the provider. For the purpose of our localisation
platform, we use a policy language based on the Se-
mantic Web Rule Language SWRL, which is based
on the propositional calculus.
A localisation layer is used to encapsulate the var-
ious forms of translations. It is used to describe the
relationships between localisable elements. For ex-
ample, it contains the details of items which can be
translated. For our localisation model these are: Doc-
umentation & Descriptions and API Messages & Op-
erations. The rule language is used to define policies
of two types: firstly, locale definitions and, secondly,
conversion (translation) rules. We motivate the rule
set through selected examples. There are a number of
locale definition rules provided, like Loc or hasCur,
by which locales for specific regions are described.
A locale can also be described by other rules such as
hasTax, hasLang and hasUnit:
IELoc(?l)
Loc(?l)
hasLang(?l, ?z) hasCur(?l, ?c) hasU nit(?l, ?u)
?z = en ?c = EU R ?u = metric
The benefit of a formal framework for the rules is that
other rules can be inferred by from partial informa-
tion. For example, if we knew that a locale had USD
as its currency we may be able to infer its country
from it: ?c = USD ?l = USLocale. These inferred
rules do not apply in general - this may not work if we
know a currency is Euro in which case it could be one
of many locales in Europe. The purpose of these rules
could be to determine inconsistencies, however. Pre-
conditions can clarify the remit of these rules. A con-
version between locales, e.g. Locale A Locale B, is
given by the following general conversion rule:
IELoc2USLoc(?l1, ?l2)
hasLang(?l1, ?z1) hasLang(?l2, ?z2)
hasCur(?l1, ?c1) hasCur(?l2, ?c2)
hasU nit(?l1, ?u1) hasU nit(?l2, ?u2)
?z2 = convertLang(en, en, ?z1)
?c2 = convertCur(EUR, U SD, ?c1)
?u2 = convertCur(metric, imperial, ?u1)
5 EVALUATION
Scalability becomes more important from a cloud
computing perspective when a service may have large
multiples of users. Scalability has not been empir-
ically addressed for this phase of research and will
be evaluated in later prototypes. Many aspects of the
platform would require modification to effectively al-
low the infrastructure to vertically scale-up or scale-
out efficiently. However, horizontal scalability - i.e.
the addition of more localisation concerns - is concep-
tually easily supported by the modular mediator ar-
chitecture, which we will address further below in the
extensibility context from an implementation view.
Performance is one of the CSFs of this platform.
Poor performance often tends to affect software expo-
nentially as multiples of users consume a cloud ser-
vice at the same time. As the application scales up to
multiple concurrent users, the latency would increase
due to extra loads placed on the platforms services.
This makes latency one of the KPIs of the project.
Latency, is also an area to be assessed as adding the
localisation platform to the workflow of an existing
process has the potential to add lag-time. This lag-
time exists due to time required to compute and also
the time to initialise the various variables. As a strat-
egy, we have aimed to improve performance by using
pre-translated aspects (through stored mappings).
CLOSER2013-3rdInternationalConferenceonCloudComputingandServicesScience
222
6 RELATED WORK
Our platform addresses the need for dynamic localisa-
tion of various artefacts by use of a translation mem-
ory and a set of logical rules.
Software Localisation: this usually refers to hu-
man consumption of data which are produced by
the software - namely messages and dialogues.
Our focus is on the localisation of the service
level. Service internationalisation is supported
by the W3C Service Internationalisation activity
(W3C, 2005; Phillips, 2005).
Adaptation and Integration: it is not uncommon
for software adaptation at service level, but the
adaptation of services based on locales and using
a translation memory with rules and mappings is
new (Truong and Dustdar, 2009). The problem of
multi-tenancy is a widespread issue in the area of
cloud computing (Wang et al., 2009; Wang et al.,
2010). This is an area where a lot of research is
being invested in order to provide a platform for
different users with different business needs to be
kept separate and their data to be kept private.
Semantics: involves the matching of services with
various locales using mappings and rule-based
system (Bandara et al., 2009; Anastasiou, 2011;
Fujii and Suda, 2009).
IBM (IBM, 2010) presents a localisation solution for
its WebSphere platform. It uses static localisation as
it requires the WSDL files to be generated prior to de-
ployment. This differs from our proposed localisation
platform as our solution aims to perform transforma-
tions between locales dynamically.
7 CONCLUSIONS
A Cloud Service Localisation (CSL) implementation
should allow for a seamless and transparent solu-
tion by automatically adjusting and adapting services
to the requesters’ own locales. We have presented
a modular CSL implementation which can enable
cloud services to be introduced into emerging markets
which have localisation issues. Localisation hence
provides a mechanism to widen a service provider’s
target market by enabling multi-locale solutions. The
easiest solution is for a cloud service provider to pro-
vide a ’mediator’ service which could act as middle-
ware between a requester and the service provider. By
allowing services to be localised, we are enabling the
provision of multi-locale cloud services to create in-
teroperable clouds. The localisation of services also
allows the geographic scope for service providers to
broaden and users to have the ability to combine ser-
vices from different providers from different regions.
These clouds can be heterogeneous in nature. Thus,
the platform described in this paper must support that
ability. Due to the nature of third-party services, it is
more intuitive for service localisation to be performed
dynamically through the use of a mediator service.
REFERENCES
Anastasiou, D. (2011). The impact of localisation on se-
mantic web standards. European Journal of ePractice,
12:42–52.
Armbrust, M., Fox, A., Griffith, R., Joseph, A., Katz, R.,
Konwinski, A., Lee, G., Patterson, D., Rabkin, A.,
Stoica, I., et al. (2010). A view of cloud computing.
Communications of the ACM, 53(4):50–58.
Bandara, K., Wang, M., and Pahl, C. (2009). Dynamic in-
tegration of context model constraints in web service
processes. International Software Engineering Con-
ference SE’2009. IASTED.
Fingar, P. (2009). Cloud computing and the promise of
on-demand business inovation. InformationWeek, July
13,2009.
Fujii, K. and Suda, T. (2009). Semantics-based context-
aware dynamic service composition. ACM Transac-
tions on Autonomous and Adaptive Systems (TAAS),
4(2):12.
IBM (2010). IBM WebSphere Developer Technical Journal:
Developing internationalized Web services with Web-
Sphere Business Integration Server Foundation V5.1.
Pahl, Giesecke, S. and Hasselbring, W. (2007). An
Ontology-based Approach for Modelling Architec-
tural Styles. European Conference on Software Ar-
chitecture ECSA2007. Springer.
Pahl, C. (2012). Cloud Service Localisation. European
Conference on Service-Oriented and Cloud Comput-
ing ESOCC 2012. Springer.
Phillips, A. (2005). Web Services and Internationalization.
Whitepaper.
Truong, H. and Dustdar, S. (2009). A survey on context-
aware web service systems. International Journal of
Web Information Systems, 5(1):5–31.
Voorsluys, W., Broberg, J., and Buyya, R. (2011). Cloud
Computing: Principles and Paradigms. John Wiley
and Sons.
W3C (2005). Web Services Internationalization Usage Sce-
narios.
Wang, M.X., Bandara, K.Y. and Pahl, C. (2009). Inte-
grated constraint violation handling for dynamic ser-
vice composition. IEEE Intl Conf on Services Com-
puting. pp. 168-175.
Wang, M.X., Bandara, K.Y., and Pahl, C. (2010). Process
as a service distributed multi-tenant policy-based pro-
cess runtime governance. International Conference on
Services Computing (SCC), pages 578–585. IEEE.
Rule-basedCloudServiceLocalisation
223