A Cloud Interoperability Broker (CIB) for Data Migration in SaaS

5 downloads 117799 Views 1MB Size Report
physical infrastructures. The novel idea introduced in this paper is to apply the brokering concept in the SaaS layer. The remainder of the paper is organized as ...
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

Suggest Documents