2016 IEEE International Conference on Cloud Computing and Big Data Analysis
A Cloud Interoperability Broker (CIB) for Data Migration in SaaS
l
l 2 I Hassan Ali , Ramadan Moawad , Amira Ahmed Farouk Hosni Department of Postgraduate Computer Science Studies, College of Computing & Information Technology, Arab Academy 2
for Science, Technology & Maritime Transport (AASTMT), Cairo, Egypt Department of Computer Science, Faculty of Computer and Information, Future University in Egypt, Cairo, Egypt e-mail:
[email protected];
[email protected];
[email protected]
Abstract-Cloud
interaction,
computing is becoming increasingly popular.
and
Amazon,
solutions.
are
extensively
However,
implementations
shifting
there
provided
is
by
toward
isolation
the
cloud
cloud-based
in
the
vendors.
cloud
provider
to
another
may
Limited
necessitate
from
(SaaS)
proposed on
a
real
cloud
broker
enterprise
meaning
as
the
level
in
an
attempt
to
bridge
the
semantic
prospects as a result of not following the same data model.
customer trust. This study proposes a cloud broker solution to The
same
Although the idea of filling the interoperability gap is not new, most efforts have addressed its challenges in the
fill the interoperability gap between different software-as-a tested
the
serve the same business need but still lack interoperability
advancing cloud computing interoperability and increasing
and
with
interoperability gap between different SaaS providers that
from one cloud vendor to another would be a step toward
providers.
sources
Interoperability Broker (CIB) at the Software-as-a-Service
a
provider's standards and implementation. The ability to move
implemented
external
originator intended. In this paper, we introduce a Cloud
significant effort and/or full-cycle redevelopment to fit the new
service
and exchange.
ability of an organization to understand information coming
provider; thus, a required migration of an application or data one
presentation,
Public Services" describes semantic interoperability as the
cloud
interoperability can cause one user to adhere to a single cloud from
and integration,
"European Interoperability Framework (ElF) for European
Information technology market leaders, e.g., Microsoft, Google,
Infrastructure-as-a-Service (IaaS) layer. For example, the
was
RESERVOIR model is aimed at creating a service model for
application
providing and managing resources and services transparently
dataset. The migration process was completed and it worked
on an on-demand basis. The RESERVOIR model aims to
correctly, according to a specified mapping model.
enable IaaS vendors to dynamically interoperate to create
Keywords-cloud computing; interoperability; SaaS broker
what could be considered as a pool of infinite IT resources [1]. In [3] the authors use the concept of brokering to
I.
optimize virtual infrastructure deployment via multiple cloud
INTRODUCTION
systems, regardless of the deployment and management of
The design of modem cloud computing technologies
physical infrastructures. The novel idea introduced in this
does not consider interoperability [1]. To facilitate c1oud
paper is to apply the brokering concept in the SaaS layer.
computing interoperability, a previous work [2] proposed
The remainder of the paper is organized as follows. Section 2
that every cloud system be described by its components, including
resources,
services,
and
Application
provides
Program
Interfaces (APIs). Moreover, widely accepted standardized
competitive
advantage.
II.
Consequently, another approach using a cloud broker was
Several
introduced [2]. A cloud broker is used as a mediation
to
with each other. This technique may reduce the need for interoperability
could
advance
RELATED WORK
have
challenges.
addressed Some
cloud-computing
have
introduced
a
be
adopted
by
any
cloud
provider
for
interacting
seamlessly with others. The research efforts are summarized
modifying current cloud systems. Finding solutions to the to
cloud-computing
mediation mechanism, while others have suggested standards
systems that were not equipped with the ability to interact
related
studies
interoperability
technique to enable interaction between different cloud
issues
existing
and discusses future work.
realistic and would be difficult to achieve because companies a
of
broker's implementation. Section 5 summarizes the paper
and services management. However, such a model is not differentiation
survey
cloud broker methodology. Section 4 presents the cloud
APls should be used to regulate communication and resource
consider
a
interoperability efforts. Section 3 introduces the proposed
below.
cloud
computing because this will increase customer trust in the
A.
cloud and solve vendor lock-in problems. According to "Cloud Computing Use Case Discussion Group, Cloud
Extended Levels ofInformation System Interoperability (LIS!) Model [4] The extended version of the LISI Maturity Model was
Computing Use Cases VA," there are two aspects of cloud computing interoperability, namely, technical (syntactic) and
proposed by the Department of Defense (DoD) C4ISR
semantic. Technical interoperability is the ability of a code to
Architecture Working Group [4]. They assumed that the first
simultaneously work with multiple cloud vendors. It includes
two levels of the original LISI model are a must for any
aspects
enterprise intending to relate to the cloud. They also assumed
such
as
interface
specifications,
978-1-5090-2594-7/16/$31.00 ©2016 IEEE
services
for
250
that those enterprises have sufficient security maturity to
•
Cloud burst from data center to cloud: This involves
reach the third level in the original model and then added
dynamically
another three additional levels. The new extended model
computing
proposed
the
following
five
levels
of
resources
c1oud-to-cloud
•
•
that are separated or isolated from each other. In
•
required
company's
storage
service
data
level
center-hosted
Migrate a queuing-based application: This involves
Migrate
(fully
stopped)
VMs
from
one
cloud
addition, cloud services are restricted to a single
provider
cloud vendor.
migrating a fully stopped virtual machine from one
WAN,
shared
data,
shared
applications,
and
cloud
services
can
be
used
for
a
3:
Portability
interoperability.
C.
level
of technologies for many industries. It conducted a meeting cases for cloud computing in more generic terms than those
moved between multiple providers in down states. Agreement
policies,
(SLA)
and
enforcement
developed by NIST. The use case closest to our work is the
Service-Level
are
based
on
"Changing Cloud Vendors" use case, especially the first
a
scenario, because it is concerned with changing from one
common agreement between providers. Level
4:
Security
interoperability.
Object Management Group (OMG)
for cloud vendors and consumers to agree upon a set of use
cloud artifacts such as virtual machines can be privacy
seamlessly
OMG works to create standards for integrating a variety
provides for different cloud environments in which
Security,
involves
different SaaS providers.
advanced This
This
migrating data entities and worktlows, respectively, between
collaboration between different cloud systems. Level
another:
Our work relates to the first and fourth use cases for
capability for sharing information across domains. The
to
cloud provider to another.
Level 2: Enterprise-based interoperability. This level provides for a universal environment that has a
This
vendor to another.
level
Scenario 1: Changing SaaS vendors:
provides for different cloud environments in which
•
a
cloud
or
one cloud provider to another.
data, and databases are shared among applications
•
maintain
for
de-allocating
migrating an existing queue with its messages from
following features: a Wide Area Network (WAN),
•
or
capabilities
processes.
Levell: Domain-based interoperability. This level provides for an integrated environment that has the
•
to
agreements
interoperability:
allocating processing
This scenario
policies and procedures can interact transparently
involves changing from one SaaS vendor to another. Source
and
and destination applications serve the same business domain
automatically
with
their
equivalents
across
different vendors using standard protocols, with a
(e.g.,
unified security model that is approved by all of the
Enterprise
Customer
Relationship
vendors.
unstructured data). The data and documents created with one
Level 5: Mobile Interoperability. This level provides
vendor can be imported to the second vendor's applications.
Resource
Planning
"Scenario requirements":
for different cloud environments in which cloud
Management (ERP),
or
(CRM),
structured
or
Standards state that vendors'
applications must support common formats for data and
artifacts can be moved between multiple vendors in running states. Data and applications are interrelated.
document migration from one provider to another, with those
The first three levels are attainable and can be achieved
formats depending primarily on the type of application.
through the use of interoperability brokers, Virtual Machines
Standard
(VMs), interoperability formats, such as Open Virtualization
application types. We need to know that those requirements
APls
are
sometimes
required
for
different
Format (OVF) or the extended version mentioned in [5].
are not specialized for individual cloud application, for
Standard
example, the standards used to move a document from Zoho
protocols,
formal
innovative technologies,
trust
relationships,
new
and cultural transformations
Docs to Google Docs are the same as those used for
in
migrating one from Microsoft Office to OpenOffice.
enterprises thinking to gain acceptance for the idea of sharing infrastructure and/or applications are needed to support
D.
levels four and five. B.
Role o/Standards in Cloud-Computing Interoperability This paper explores areas of cloud computing in which
National Institute o/Standards and Technology (NIST)
standardization would benefit interoperability,
and other
NIST is an organization that works with enterprises to
areas in which would not [6]. The author extracted four use
create and apply standards and measurements for technology.
cases regarding consumer-provider interactions from other
It
developed
computing
the
following
interoperability
five
use
concerning
cases the
for
standards. The third one on data migration relates to cloud
cloud
manner
computing interoperability.
of
"Data Migration use case":
interaction between cloud consumers and vendors: •
involves •
copying
data
objects
from
one
This involves enabling data
located in one cloud vendor to be migrated to another one.
Copy data objects between cloud-providers: This
The author mentions that data to be moved must be extracted
cloud
provider system to another.
from
Dynamic operation dispatch to IaaS clouds: This
destination. He also cites some existing
the
source
SaaS
provider
and
uploaded
to
the
standards
that
support the goal of data movement, such as the Cloud Data
involves invoking operations on the most effective
Management
available clouds, based on a set of rules identified on
Protocol
the client side. Those rules are evaluated at runtime.
251
Interface
(SOAP),
and
(CDMI),
Simple
Representational
Object State
Access Transfer
(REST) AP[s. We propose a elB that acts as a midd[eware
A.
layer whose principal function is to move data from one SaaS provider to another. Data to be extracted from the
[n addition, we need to know their meanings. Each attribute
source are normalized to match the destination data structure
must be identified by name, data type, relations, constraints,
and then uploaded to the destination. The primary goal of
and default values.
this work is to test the applicability of the data migration
B.
process from one cloud vendor to another and test its results. III.
Collection and Analysis of the Metadata We need to determine the data tables and their attributes.
Develop the Mapping Model The core function of the mapping model is to create a
SAAS eIB METHODOLOGY
relation between each entity and its equivalent on SaaS
This study aims to create a elB in the SaaS layer that
application to be mapped to. This is achieved by deciding
would act as a mediator for filling in the interoperability gap
how the records look like, which attributes are included, of
between any SaaS providers that serves the same business
which size and data type they are, and which values are
need or domain. Many research efforts have addressed the
allowed. This step should also include the mapping between
idea of brokerage but the implementation and testing of a
the source and the destination entities' attributes. This is
mediation mechanism in the SaaS layer is a novel idea. In
normally both the most important and the most difficult step
addition, this research focuses on developing a generic cloud
in the process.
interoperability
brokerage
methodology
that
can
be
C.
implemented for the different data migration and movement processes in the SaaS layer. Fig. I shows the location of the
Solution Design Once the mapping process is completed, the solution
elB in the SaaS layer, and more generally, in relation to the
design must be created as a software solution that can be
cloud
implemented to accomplish the data migration goal.
computing
deployment
models
IaaS,
SaaS,
and
Platform-as-a-Service (PaaS).
D.
Implementation [mplement the previous solution design as software that
abstracts each SaaS provider's APIs and preforms the data migration.
E.
Test the Solution This step is the most challenging. [t requires an iterative
effort and manual inspection to ensure the completeness and accuracy of the data movement. A simple flowchart presenting this methodology is shown in Fig. 2.
Figure l. CIB location inside SaaS layer of cloud computing layers
The eIB serves as a mediator between the different types of applications hosted in the SaaS layer that serve the same business need. eIB uses the standard APIs exposed by each SaaS provider to extract data and then transforms it into a form that can be provided to the other SaaS providers. We divide the data into two principal categories, namely, master data and transaction data as follows: Master data: It refers to the core objects in the business application,
such
as
suppliers,
customers,
products,
employees, and assets. Transaction data: It refers to application transactions reflecting changes in application object states. These data are created in the context of business processes and they reference master data and reflect changes in them. The relationships among master and transaction data are similar to a parent-child relationship. Transactional data related to sales, purchases, activities and cancellations reference master data, which are the principal objects of business. The proposed methodology involves the following five steps:
Figure 2. SaaS CIB methodology steps
252
IV.
cm IMPLEMENTATION ( CASE STUDY)
case
study
The
is
an
application
of
the
entities to apply the mapping if they do not exist on the destination application.
proposed
Applying the methodology:
methodology on two well-known SaaS providers, namely, Microsoft (MS) Dynamics CRM 2015
and SugarCRM.
A.
However, this methodology can be used for other SaaS
Each entity has been described and mapped to its
providers, e.g., SAP ERP, and Oracle E-Business suites ERP
equivalent business unit. The relation between business unit
applications. CRM is an approach to manage a company's
and data entity could be from one to one or one to many; for
interactions with customers, vendors, or prospects using one or
more
touching
points
[7].
It
often
involves
example, the business unit Contact in MS Dynamics CRM
using
2015
technology to organize, automate, and synchronize sales,
to
the
ContactBase,
ContactOrders,
and
Contactlnvoices,
ContactQuotes
data
of its data type, allowed values, constraints, default values,
included in any CRM application. Commonly used master
and dependencies. An example of entity data mapping is
data entities that are shared across all of the CRM Modules Contact,
mapped
entities. Then, each business entity is described in the context
are the principal modules or components that must be
Account,
is
ContactLeads,
marketing, customer service, and technical support. Those
include the following entities:
Collecting and Analyzing Metadata
described in Table I.
Lead,
System User, Product, and Contract. Transactional entities
B.
may include Opportunity, Activities, Team, Calendar, Quote,
Developing a Mapping Model for Attributes The mapping of attributes and data types for the example
Order, Invoice, Document, Email, Knowledge Base Article,
entity between the two SaaS providers would be as in Table I.
and Service Appointment.
We must also note that the mapping table or model for each
Those entities' names might vary from one application or
of the other entities would be performed in the same way, but
service provider to another but they must exist in some form,
the attributes' names and data type would be different.
and some additional entities might also exist specifically for
Consequently, we do not need to show the other tables in this
one provider. The solution in this case is to use custom
paper.
TABLE I. MAPPING TABLE FOR SOME ATTRIBUTES OF CONTACT BASE ENTITY BETWEEN THE MICROSOFT & SUGARCRM SAAS PROVIDERS Microsoft (MS) Dynamics CRM Contactbase Entity
MS Data Type
SugarCRM Contacts entity
S�arCRM Data Type
ContactId
unigueidentifier
Id
unilJueidentifier
CustomerTypeCode
Int
CustomerTypeCode (custom attribute lockup)
Int
PreferredContactMethodCode
Int
PreferredContactMethodCode (custom attribute lockup)
Int
LeadSourceCode
Int
lead source
string
ShippingMethodCode
Int
ShippingMethodCode (Custom Attribute Lockup)
int
Salutation
String
Salutation
String
JobTitle
String
Title
String
FirstName
String
first name
String
NickName
String
Nickname Custom Attribute
String
MiddleName
String
MiddleName Custom Attribute
String
LastName
String
Last Name
String
Suffix
String
Suffix
String
BirthDate
Date
BirthDate
Date
Description
String
Description
String
GenderCode
int
Gender
String
AnnualIncome
Money
AnnuaIIncome Custom Attribute
Money
WebSiteUrl
String
portal name
String
EMailAddressl
String
Emaill
String
EMaiiAddress2
String
Email2
String
DoNotPhone
Bit
DoNotPhone (custom Attribute)
Boolean lIniqueidentifier
CreatedBy
1Iniqueidentifier
created by
ModifiedOn
Date
Modified date
Date
ModifiedBy
1Iniqueidentifier
Modified By
lIniqueidentifier
Telephone!
String
phone home
String
Telephone2
String
phone other
String
Telephone3
String
phone work
String
Fax
String
phone fax
String
TransactionCurrencyld
uniqueidentifier
Currency Custom Attribute (lockup)
lIniqueidentifier
253
C.
Solution Design
1) Design Considerations and highlights:
Before going
any other function required to work with this entity. For
on with the design details, it is essential to highlight some
some
design considerations regarding the proposed methodology
a) Selection of a standard:
available API's of the two SaaS providers in the form of
While the
user
workarounds must be made in order to ensure that the work
entity
to
create
destination. For example,
A
Base5ugarEntity
GetSii garNewUsen"dByft19:RMUseid
8aseSugarEntity
cl..,
Run
Interface
BrokerUs-erData
El Properties
fiiilliil contedToServi ce El Properties ConnectToServices Error
1-. BrokerUserDaI::a
Sucessful sugarsoapPortType
EI Metnods '"' '"' '"' '"' '"' '"' '"'
1
"'J
sugarsoa p PortType
cl.. ,
A
El R elds
IIII-
J
ValidateA ttributesbistance
cl..,
EI Metnods
sugars oapPottType
N oramlee
El Fields
I-
I-
SetReferences
User
User
'"
Interface .... s ugarsoap PortType -iI- IClientchannel
EI Methods
9
the
the fax attribute in the CIB
I- Error I- Sii cessIiJ
A
to
Each entity is wrapped up
5ugarsoapPortTypeChannei
Interface
CreateSugarSessian
connection
diagram is shown in Fig. 3.
EI Properties
fiiilliil sourcepassword �a source.servjcePro� fiila sourceuserid
The
SaaS Provider "Users" entity, and address I Jax in Microsoft
Microsoft API.
Md5Encrypt
an
CRM Provider. A typical example of an entity classes
until runtime. that is not the case when working with the
'"' '"' '"' '"'
through
"UserData" class has the name phoneJax in the SugarCRM
Finally the classes are not strongly typed, with the result
CreateSugarPortType
manually
passing suitable attributes according to the source and
that a mistyped entity or attribute name will not be validated
MovingUserFromMSfoSugar
them
SaaS providers, and the caller function is responsible for
actions, and triggers directly.
'"'
required
data attributes. The data attributes class is intended for
create records directly in database tables to create workflow,
B Methods
in
isolating entities from naming differences in the respective
There is no function to create or manage workflows in
'"' '"' '"'
is
b) Entity Handling Classes:
SugarCRM. This has been overcome by using functions that
userName
but
through two classes, one for business logic and the other for
attributes.
ConnedToServfres
APls,
behaviors for all entity wrapper classes. Each class must
created records and the originals. This ID is then used to
I-
using
implement that interface.
to keep a cross-reference between primary keys of newly
password
code
in the primary interface containing the signature of common
uniquely identifies the record) to a locally created database
8 Fields
through
a) Connection Handling:
attributes and then saving its ID (the primary key that
� �
fields
providers' APIs is handled through a class that is referenced
than those in the create account function. That leads to a technical decision to create the record using those base
A
custom
2) Design Steps:
and website) are used. We can not add extra attributes other
ConneclToServices cta.s
no
and the need to create them.
Account record, only the mandatory attributes (name, phone,
remaining
have
can do is to warn the user regarding the missing attributes
when the SugarCRM interface is being used to create an
the
that
application's own graphical user interface (GUI). What cm
is performed. For example,
with
attributes
SugarCRM this facility is not avilable through APIs. The
project is being implemented, some technical decisions and
record
extra
opposite application. In MS Dynamics CRM we can create those
through those services using the SOAP messaging fonnat.
created
are
problem can be addressed by creating custom fields on the
XML Web services. It exchanges messages with applications
the
there
range from simple data types to complex tables. This
The broker consumes the
b) Technical decisions and workarounds:
entities,
equivalent on the other application. Those attributes' types
in the form of a broker:
update
cm has a separate set of classes
c) User Interaction:
for each provider to deal with its principle functions and with
CreateUser DeleteUs er G etSugarNewUseridByMSCRMUserId Noramlize SetReferences UpdateUser Va Ii dateAttri b utes Existance
Figure 3. User entity handling classes class diagram
254
IIIIIIIIII IIIIIIIIIIII
address_city address_countJy addressyostalcode address_state celiPnone deleted fax flrstName nomePnone ls_admln lastName
mainemail managerid otnerPnone password title username workPhone
A
addition, another optional step is required when the
The movement of data
c) Data Movement Process:
destination is SugarCRM, as the creation functions
passes through a three principal data mining steps: Extract,
are limited to mandatory attributes only, in this case
Transform, and Load (ETL).
�
the up ate reference function contains another step
Extract: this is the step for extracting data from the
•
to fill In the rest of data as well as setting references
source application.
or using a separate function.
Transform: This step can contain any preparation of
•
data
to
match
acceptable
the
formats.
destination
application's
For example,
D.
the field that
shows that the entity is disabled in Dynamics CRM !
is written in C# programming language within the Microsoft
s a Boolean (contains whether true or false), while
ill
Visual Studio 2012 integrated development environment.
SugarCRM it is a string value (Active or Inactive);
hence, the transform process might include this step
E.
for each entity that has disabled or deleted flags.
Test the Solution We use sample customer relationship management data
Load: This is the process of uploading data to the
•
implementation The implementation of the previous design for our broker
for an air conditioner and television monitor manufacturing
destination application. In fact, this is a two-step
and sales company with approximately ten thousand records
process, because we are first moving the basic data
for different application modules. The main testing criterion
( the date that do not reference other data) and then
in this phase of our project is the completeness of the data
another step is required to set up references. this step
movement
includes using a locally created database that stores
process
from
source to
destination and the
correctness of these data after being moved. Fig. 4 and Fig. 5
the new values of the primary key attribute of a
show a list of contacts entities in the source (MS Dynamics
parent record in the destination provider along with
CRM 2015 SaaS provider) and their copy of that data using
the original value in the source provider. After the
our broker, to the destination (SugarCRM SaaS provider). As
movement process is completed a function is used to
shown in the figures, the data has been copied successfully
updat� th� foreign keys that reference this primary key wIth Its new value, thus the relationship between
from source to destination and were mapped correctly according to the mapping model for those entities.
entities is migrated to the destination provider to guarantee the consistency of related entities. In r:: Contacts,. SugarCRM �
c J El
-
x
II
Contacts My ActillE Conti'
-
Microsoft Dynamics CRM + NEW
� V
iiD DELETE
...
�
EMAil A LI N K '"
My Active Contacts
Sales
�
v
RUN REPORT'"
Contacts
(9
v
iH EXPORT TO EXCEL
...
• IMPORT DATA
J o b rrtle
Email ""
Busin�s Phone
Mo,
A ydaKe zma n @Mai .c o m
5&432389
Atia Abdelbalcy
M"
AtiaAbd e IBak}'@Mail. (om
42914328
Atef EI - B.a hary
M"
AtefE , Bahary@Mail.
[email protected]
58432389
®
-
0
-0
Alia Abdelbaky
Me
AtiaAbdelBaky@MaiLcom
42914328
®
-
0
-0
AlefEI�Bahary
Me
AtefElBahary@Mail com
95145027
""
-
0
-0
AsSmaa Edrees
Me>
Assmaa
[email protected]
59433519
""
-
(J
-0
Assem Ellasy
Me
[email protected]
91433165
®
-
0
-0
Asmai Shebaa
Me>
[email protected]
78552968
""
-
0
-0
Ashraf EI�Sayed
Me.
[email protected]
96215734
""
-
0
-0
Anwer Shoukry
Me
AnwerShoukry@MaiLcom
87332175
®
-
0
-0
Anear ezzel
Me>
[email protected]
59433213
""
-
0
-0
Arm EI�ganzori
Me
AmrElganzori@MaiLcom
35204232
®
-
0
-0
Amir Rezak
Me
[email protected]
39238873
""
-
0
-0
Amira Eisonosy
Me>
AmiraElsonosy@MaiLcom
27437661
""
-
(J
-0
Amal EI�Beshalwy
Me>
AmaIEIBeshalwy@!Mail.com
30907960
""
-
•
•
Email
•
o
SUGAR
Mobile
Gi0Shortcuts
ATour
til' Feedback
OHeip
.
(>
Q Support
Figure 5. List of contacts in SugarCRM SaaS provider after being moved using CIB
v.
REFERENCES
CONCLUSION AND FUTURE WORK
In this research, paper a methodology was developed for a
cm
at
the
SaaS
layer
of
cloud
computing.
[I]
B. Rochwerger, D. Breitgand, E. Levy, A Galis, K. Nagin, I. M. Llorente, R. Montero, Y. Wolfsthal, E. Elmroth, 1. Caceres, M. Ben Yehuda, W. Emmerich, and F. Galan, "The RESERVOIR model and architecture for open federated cloud computing", IBM 1. Res. Dev., vol. 53, no. 4, 2009, pp.535-545.
[2]
N. Loutas, E. Kamateri, F. Bosi, and K. Tarabanis, "Cloud computing interoperability: the state of play," Cloud Computing Technology and Science (CloudCom), Athens, Greece, [IEEE. pp. 752-757. 29 November - 1 December, 2011 IEEE Third International Conference].
[3]
Johan Tordsson, Ruben S. Montero, Rafael Moreno-Vozmediano, and Ignacio M. Llorente, "Cloud brokering mechanisms for optimized placement of virtual machines across multiple providers," Future Gener Comp Sy, vol. 28, no. 2, 2012, pp. 358-367.
[4]
Scott Dowell, Albert Barreto, Bret Michael, and Man-Tak Shing, "Cloud to cloud interoperability" System of Systems Engineering, Albuquerque, New Mexico, USA, [IEEE. pp. 258-263. 27-30 June, 2011, Proceedings of the 2011 6th International Conference on System of Systems Engineering].
[5]
E. Maximilien, Ajith Ranabahu, Roy Engehausen, and Laura C. Anderson, "Toward cloud-agnostic middlewares" Object oriented programming systems Languages and applications (OOPSLA 2009), Orlando, Florida, USA, [ACM. pp. 619-626. 2009, Proceeding of the 24th ACM SIGPLAN Conference].
[6]
G. A Lewis. "Role of Standards in Cloud-Computing Interoperability" System Sciences (HICSS), Wailea, Maui, Hawaii, USA, [IEEE. pp. 1652-1661, 7-10 Jan. 2013, 46th Hawaii International Conference on System Sciences].
[7]
ChunNian Liu, YongLong Wang, Qin Pan, "Construction and Development of CRM Technology and Industry Chain in China," Intelligent Computing and Information Science. Berlin, Germany: Springer Berlin Heidelberg, 2011. pp. 118-123.
The
methodology was then implemented in a case study to evaluate and initially test the broker on two SaaS providers as a proof of concept of the application. The desired results were obtained, meaning that, mapping and migrating data from one provider to another and vice versa to overcome the vendor lock-in problem in the SaaS layer of cloud computing paradigm are possible and can be achieved using the proposed CIB. A future work would include the following: •
Provide a methodology and guide lines for creating APIs for SaaS providers that serve the goal of interoperability, and implement more use cases to demonstrate
the
flexibility
of
the
proposed
methodology. •
Provide a user interface with initial mapping of entities' attributes that can be modified by the user and then apply data movement according to that mapping.
•
Conduct more analysis of data movement process using different evaluation criteria.
•
Evaluate the broker in relation to different aspects, such as performance, accuracy, time.
256