evaluation of best target platform for...

32
EVALUATION OF BEST TARGET PLATFORM FOR APPLICATION MIGRATION MAHDI MALEKI UNIVERSITI TEKNOLOGI MALAYSIA

Upload: trinhthuan

Post on 11-Aug-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

EVALUATION OF BEST TARGET PLATFORM FOR APPLICATION MIGRATION

MAHDI MALEKI

UNIVERSITI TEKNOLOGI MALAYSIA

EVALUATION OF BEST TARGET PLATFORM FOR APPLICATION MIGRATION

MAHDI MALEKI

A dissertation submitted in partial fulfilment of therequirements for the award of the degree of

Master of Science (Computer Science)

Faculty of Computer Science and Information SystemsUniversiti Teknologi Malaysia

JANUARY 2011

iii

This thesis is dedicated to my parents and my love for their endless support andencouragement.

iv

ACKNOWLEDGEMENT

I am heartily thankful to my supervisor, Dr. Shukor Abd Razak , whoseencouragement, guidance and support from the initial to the final level enabled me todevelop an understanding of the subject. It is a pleasure to thank those who madethis thesis possible, specially to all my ex-colleagues for their endless supports andencouragments. Lastly, I offer my regards and blessings to all of those who supportedme in any respect during the completion of the project.

v

ABSTRACT

This study is focus on finding common key factors of different platforms thatshould be considered in cross-platform application migration; moreover it aims to giveweights to each individual factor. These weights are determined through two separatesurveys. The result of this study is a prototype of a tool for compatibility ratiomeasurement based on the source and destination platforms to help system administratorsand IT managers at choosing the best and most compatible platform in migration projects.This research also investigates issues related to application porting at different layer of ISapplication. Results from this investigation could be very useful to system administrator inhaving a better understanding and analyzing application migration issues before startinga project.

vi

ABSTRAK

Fokus penyelidikan ini adalah untuk mencari faktor kekunci yang mempunyaipersamaan dengan pelbagai platform yang berbeza untuk dipertimbangkan dalam prosesperpindahan aplikasi (cross-platform). Selain itu, ia juga bertujuan untuk memberipemberat kepada setiap faktor tersebut. Pemberat ini akan ditentukan melalui duatinjauan yang berasingan. Hasil daripada keputusan kajian ini adalah sebuah prototaipuntuk mengukur nisbah keserasian berdasarkan sumber dan tujuan platform tersebut. Inibertujuan untuk membantu pentadbir sistem dan pengurus teknologi maklumat dalammemilih platform yang terbaik dan serasi dalam proses perpindahan aplikasi. Kajianini juga memberi fokus kepada penyelidikan berkaitan isu-isu yang terlibat dalamperpindahan aplikasi di pelbagai peringkat yang berbeza untuk aplikasi sistem maklumat.Hasil daripada kajian tersebut amat berguna kepada pentadbir sistem dalam menganalisispermasalahan perpindahan aplikasi sebelum memulakan sesuatu projek perpindahan.

vii

TABLE OF CONTENTS

CHAPTER TITLE PAGE

DECLARATION II

DEDICATION III

ACKNOWLEDGEMENT IV

ABSTRACT V

ABSTRAK VI

TABLE OF CONTENTS VII

LIST OF TABLES XIII

LIST OF FIGURES XVI

LIST OF ABBREVIATIONS XVII

1 INTRODUCTION 1

1.1 Introduction 1

1.2 Problem Background 2

1.3 Problem Statement 6

1.4 Project Aim 7

1.5 Project Objectives 8

1.6 Project Scope 8

1.7 Significance of Project 10

1.8 Organization of Report 10

viii

2 LITERATURE REVIEW 11

2.1 Introduction 11

2.2 Cross-Platform Programming Languages 12

2.3 Application Migration/Porting 13

2.3.1 First Modernize then Port 14

2.3.2 First Port then Modernize 15

2.4 Legacy Application 16

2.5 Incompatibilities and Consequences 16

2.6 Existence Application Migration/Porting Case-Studies 18

2.6.1 Application Porting Issues for C++ Applica-

tions 18

2.6.2 Issues 19

2.6.2.1 Presentation Layer (PL) 20

2.6.2.2 Application Service Layer (ASL) 22

2.6.2.3 Lending Message Bus (LMB) 23

2.6.2.4 Business Layer (BL) 24

2.6.2.5 Data Service Layer (DSL) 26

2.6.2.6 Platform Service Layer (PSL) 27

2.6.3 Current Solution 30

2.6.3.1 Presentation Layer 31

2.6.3.2 Application Service Layer 34

2.6.3.3 Lending Message Bus 37

2.6.3.4 Business Layer 38

2.6.3.5 Data Service Layer 39

2.6.3.6 Platform Service Layer 39

2.6.3.7 Discussions 40

2.6.4 Migrate a Windows Application onto

UNIX/Linux 43

2.6.4.1 Using Wind/U or MainWin as

Source Code Emulator 44

2.6.4.2 Using Wine(a binary emulator) 45

ix

2.6.4.3 Using some Cross-Platform De-

veloping Toolkit such as Qt and

Rewrite the Application Partially 46

2.6.4.4 Using a Absolutely Different Tech-

nology Like Java to Completely

Rewriting the Application 47

2.6.5 Application Migration and Business Chal-

lenges 47

2.6.6 The Best Trusted Cross-Platform for Infor-

mation Sharing 48

2.6.6.1 The Importance of Vendor Cooper-

ation for Secure Solutions 50

2.7 Platform Virtualization 52

2.7.1 Cross-Platform Virtualization 54

2.7.2 SUN VirtualBox 55

2.7.2.1 VirtualBox’s Features 56

2.8 Conclusion 57

3 RESEARCH METHODOLOGY 59

3.1 Introduction 59

3.2 Research Framework 60

3.2.1 Phase 1: Reviewing Literatures 60

3.2.2 Phase 2: Unstructured Interviews 62

3.2.3 Phase 3: Finding Common Key-factors 63

3.2.3.1 Questionnaire Method 64

3.2.3.2 Questionnaire Design 65

3.2.3.3 Questions 65

3.2.3.4 Questionnaire Distribution 66

3.2.3.5 First Survey 67

3.2.3.6 First Survey Results Analysis 69

3.2.4 Phase 4: Giving Weight to Common Key-

factors 70

x

3.2.4.1 Second Survey 70

3.2.4.2 Second Survey Results Analysis 71

3.2.5 Phase 5: Defining Compatibility Ratio 72

3.2.6 Phase 6: Developing CR Measurement Tool 72

3.2.7 Phase 7: Evaluation 74

3.3 Conclusion 75

4 EXPERIMENT AND RESULTS 76

4.1 Introduction 76

4.2 Reviewing Literatures 77

4.3 Unstructured Interviews 78

4.4 Finding Common Key-factors 79

4.4.1 Pilot of First Survey 81

4.4.2 Experimental Result of First Survey 82

4.4.2.1 Common Key-Factors 84

4.5 Giving Weight to Common Key-Factors 85

4.5.1 Pilot of Second Survey 86

4.5.2 Experimental Result of Second Survey 86

4.6 Defining Compatibility Ratio 87

4.6.1 Weighting Key-Factor 90

4.6.2 Calculating Compatibility Ratio 93

4.7 Developing Compatibility Ratio Measurement Tool 94

4.7.0.1 Encased Application Migration

Manifesto 96

4.7.1 Development Methodology 97

4.7.2 Implementation 98

4.7.2.1 Initial Analysis 99

4.7.2.2 Application Development 100

4.7.2.3 Security Analyzer 101

4.7.2.4 C++ Code Analyzer 103

4.7.2.5 Application front-end module 104

4.7.2.6 Web Analyzer 104

xi

4.7.2.7 Header Analyzer 105

4.8 Evaluation 105

4.8.1 Phase 1: Migrate Terminal-Based Applications 107

4.8.1.1 Result of First Phase of Experiment 108

4.8.2 Phase 2: Migrate Standalone Applications 109

4.8.2.1 Result of Second Phase of Experi-

ment 110

4.8.3 Phase 3: Migrate Web-Based Applications 111

4.8.3.1 Result of Third Phase of Experimnet 111

4.8.4 Phase 4: Migrate Mid-tier Applications 112

4.8.4.1 Result of Fourth Phase of Experimnet 113

4.9 Conclusion 114

5 ANALYSIS AND DISCUSSION 115

5.1 Introduction 115

5.2 Discussion on Findings of Phase 1: Reviewing

Literatures 116

5.3 Discussion on Findings of Phase 2: Unstructured

Interviews 118

5.3.1 Finding Direction of Study 118

5.3.2 Importance of Application Migration 118

5.3.3 Comparison between Different Operating

Systems 119

5.3.4 Issues and Consequences of Application

Migration 120

5.4 Discussion on Findings of Phase 3: Finding Common

Key-factors 121

5.5 Discussion on Findings of Phase 4: Giving Weight to

Common Key-Factors 125

5.6 Discussion on Findings of Phase 5: Defining

Compatibility Ratio 135

xii

5.7 Discussion on Findings of Phase 6: Developing

Compatibility Ratio Measurement Tool 137

5.8 Discussion on Findings of Phase 7: Evaluation 138

5.9 Conclusion 141

6 CONCLUSION 142

6.1 Introduction 142

6.2 Achievements 143

6.3 Limitation 145

6.4 Future Works 146

REFERENCES 147

APPENDIX A 151

APPENDIX B 157

xiii

LIST OF TABLES

TABLE NO. TITLE PAGE

2.1 Programming Language Popularity Index (TIOBE, 2010). 13

2.2 Historic Programming Language Popularity Ranking (TIOBE,

2010). 19

2.3 Comparative Dependability of Fonts for Web-use: Ordered from

Most to Least Frequently Found in Windows (codestyle.org, 2008). 21

2.4 Browser Compatibility Chart 22

2.5 Shows Size of Each Type in Different Models 23

2.6 File System Comparison Chart 25

2.7 Operating Systems Differences (Part I) 28

2.8 Operating Systems Differences (Part II) 29

2.9 Filename Restrictions among Different Operating Systems 33

2.10 Difference between 32-bit and 64-bit Type Enumeration 36

4.1 List of different manifestos involves in application migration

planning and assessment phase 78

4.2 Relationship Between Factors Asked in The First Survey and

Defined Manifesto 80

4.3 Relation Between Question of First Survey and Objected

Statements 81

4.4 First Survey Participants Distribution 83

4.5 The Final Result of First Survey 83

xiv

4.6 List of Key-Factors founded through literatures and result of first

survey.(Note: order of expressing key-factors does not implies

any prioritization) 84

4.7 First Survey Participants Distribution 87

4.8 Findings from Second Survey 88

4.9 List of Common Key-Factors in Application Migration

Process.(Note: order of listing key-factors does not implies any

prioritization) 89

4.10 List of Dependent Key-Factors in Application Migration

Process. (Note: ”*” mean key-factor has correlation with

specific type of user interface) 90

4.11 Scaling Second Survey Results to Coefficient Values 91

4.12 List of Key-factor Scaled Coefficients Followed by Migration

Direction. (Note: WtU instanced for Windows-to-UNIX

Migration and UtW is for UNIX-to-Windows Migration) 92

4.13 List of Application Migration Manifestos Covered by Applica-

tion Migration Tool(AMT) 96

4.14 Chosen Application as Case-Studies (source: ”www.planet-

source-code.com”) 107

4.15 Statistics of Applications-First Phase: Migrating Terminal-

Based Applications 108

4.16 Summery of Observation on Migrating Terminal-Based Appli-

cations 109

4.17 Statistics of application-Second Phase: Standalone Applications 109

4.18 Summery of Observation on Migrating Standalone Applications 110

4.19 Statistics of application-Third Phase: Web-Based Applications 111

4.20 Summery of Observation on Migrating Web-Based Applications 112

4.21 Statistics of application-Fourth Phase: Mid-Tier Applications 113

4.22 Summery of Observation on Migrating Mid-Tier Applications 114

5.1 Relation Between Question of First Survey and Objected

Statements 124

xv

5.2 Relationship Between Key-Factors and Application Migration

Manifesto 125

5.3 Relationship between founded key-factors and questions in

second survey 130

5.4 Analytical Result of Second Survey 131

5.5 One-way ANOVA: Participant Groups 132

5.6 One-way ANOVA: Key-Factors 133

5.7 Compatibility Ratio (CR) for Window to UNIX Migration Based

on Different Type of Application and User Interfaces 136

5.8 Compatibility Ratio (CR) for UNIX to Windows Migration

Based on Different Type of Application and User Interfaces 137

5.9 Summery of Observation on Application Migrating Simulation 140

xvi

LIST OF FIGURES

FIGURE NO. TITLE PAGE

2.1 Cost Distribution for Two Well-known Migration Scenarios:

Port and Modernize Vs. Modernize and Port(Mercer, 2006). 15

2.2 Windows Server 2003 architecture (MicrosoftTech, 2006). 41

2.3 UNIX architecture (MicrosoftTech, 2006). 42

2.4 Schematic of Wind/U (Rajagopal, 1998). 44

2.5 Virtualization can be implemented in every layer of the

computing platform (Ramanathan and Bruening, 2004). 53

3.1 Research Framework 61

4.1 Security Analyzer Output in XML Format 101

4.2 C++ Code Analyzer Output in XML Format 102

4.3 Application Migration Tool 103

4.4 Web Analyzer Sample Report 105

4.5 Header Analyzer Sample Report 106

5.1 One-way ANOVA: Participant Groups( Individual 99% CIs For

Mean Based on Pooled StDev) 133

5.2 One-way ANOVA: Key-Factors(Individual 99% CIs For Mean

Based on Pooled StDev) 134

xvii

LIST OF ABBREVIATIONS

ACL - Access Control List

AMT - Application Migration Tool

API - Application Programming Interface

ASL - Application Service Layer

BL - Business Layer

CLI - Command Line Interface

CR - Compatibility Ratio

CRM - Compatibility Ratio Measurement

DSL - Data Service Layer

GUI - Graphical User Interface

HTML - Hypertext Transfer Protocol

LMB - Lending Message Bus

PL - Presentation Layer

POSIX - Portable Operating System Interface for Unix

PSL - Platform Service Layer

RAS - Reliability, Availability, Serviceability

xviii

RIO - Return of Investment

TCO - Total Cost of Ownership

UI - User Interface

UtW - UNIX-to-WINDOWS

WtU - WINDOWS-to-UNIX

WUI - Web-based User Interface

XHTML - Extensible Hypertext Transfer Protocol

XML - Extensible Markup Language

-

xix

LIST OF APPENDICES

APPENDIX NO. TITLE PAGE

A FIRST SURVEY 150

B SECOND SURVEY 152

CHAPTER 1

INTRODUCTION

1.1 Introduction

According to the latest surveys about programming language popularity, mostcompanies deciding to develop an enterprise application preferred to use one of the cross-platform programming languages for development (TIOBE, 2010).

Most of the reasons given for using cross-platform programming language isrelated to their prominent features such as flexibility and portability. Furthermore, thefuture dictates a need to cater to a growing number of application users, the changing ofsecurity policies and so forth that maybe compel IT managers to choose another platformto achieve more performance, extra capabilities, security enhancement, decreasing TCO(Total Cost of Ownership) and increasing RAS (Reliability, Availability, Serviceability)(McCarthy, 2008).

2

There are many existing ways to migrate an operating Information System (IS)enterprise application from one development environment to another. Choosing the mostsuitable and compatible target platform is one of big challenges of every project migrationprocess (Richter et al., 2006).

As stated by Economides and Katsamakas (2006), there is a need for researchin understanding switching costs and adoption strategies; hence this study aims tofocus on finding common key factors of different platforms that must be considered incross-platform application migration. Subsequently giving weight to each individualfactors by conducting two separate surveys and finally proposing a tool to estimatecompatibility ratio of the base and destination platforms .The proposed tool will helpsystem administrators and IT Managers to choose the best and most compatible platformas destination platform to decrease the potential problems in application migration.

1.2 Problem Background

These days, the IT environment is continually changing, with changes includingthe size of application, capabilities, applicability, functionality and limitations of legacyapplications. Most IT managers may decide to migrate their legacy application from thepre-existing production environment to a different environment that would prove morebeneficial as proposed by newer fashionable platforms and technologies (Heymans et al.,2007).

Migration can be defined as the process of porting from one operating environmentto another heterogeneous or homogeneous operating environment. Usually, it isconsidered as moving to better environment. such as, migrating from Windows NTServer to the its newer version Windows 2003 Server may be considered as a migration

3

project because there are some new features are exploited through this migration, oldconfigurations do not need to be changed, and it involves some steps to make sure thatcurrent applications will be operational in the new environment. Moreover, it also can bedefined as porting data from one type of database to another type of database (Bitpipe,2010).

As Glass’ Law states, requirement deficiencies are the prime reason of projectfailure, according to Poniatowski (2003), every single cross-platform applicationmigration procedure can be divided into following steps:

• Planning and detailed assessment : It includes hardware inventory, readinessreporting and a compatibility analysis.

• Tools for development and customization : These tools are use for modernizingand making application ready before migration and debugging and modifying aftermigration.

• Test migration : Testing ensures that all issues regarding the migrated applicationfrom the source to the target platform are identified and any problems that mightoccur mitigated.

• Application migration : It is the process of moving application from source todestination platform.

• Acceptance : This process is started after migration has been finished successfully toget top level manager’s acceptance.

• Installation, warranty, and product support: After getting acceptance from toplevel managers is the time to put migrated application in real production environment.

This study will help IT decision makers at the first step of application migrationprocedure which is planning and detailed assessment.

Migration usually happens between UNIX and Linux based platforms. For aninstance an application which had been developed base on C++ in past two decadeshas some performance issues. The security department nags about low-level security

4

considerations while the management level complains about applications’ availability andreliability as a result of frequent crashes on the current platform.

Regarding to these consideration IS department decide to migrate currentapplication to another platform which is most stable; secure and efficient to increasestability, functionality, performance and in the other hand decreasing TCO and risks oftheir legacy application.

According to the all documentation and release notes which are issued by differentcompanies or development teams they found more than one candidate for choosing asdestination platform. Now, this question comes into their minds that which platform isthe most congruous and suitable destination in subjected application migration process.

During each phase of application migration process system administrator mightface with some issues at different layer of application, for going in depth andfind coexistence incompatibilities, it is better to categorize these issues by layers ofapplication; Application can break into five layers and to make it more comprehensive,platform service layer is added as sixth layer:

• Presentation layer

• Application service layer

• Lending message bus layer (optional)

• Business layer

• Data service layer

• Platform service layer

Moreover, based on Bierhoff et al. (2007), every single IS application can bedefined as a series of components plus communication between components. Hencethis study has to study these two major categories separately. By focusing on the

5

nature of components, they can be categorized into four sub-categories: Functionalitysupply, Infrastructure expectations, Control model and Data manipulation. Based oncommunication between components, these components can be divided into two sub-categories: Asynchronous communication and Message data model (Bierhoff et al.,2007). According to Inglenet-Business-Solution (2001), there are two well-knownscenarios for migration (porting) which are:”Port and modernize”, and ”Modernize andport”.

Another example is web applications which are deployed base on Javatechnology. It is well-known that Java technology is one of the most famous cross-platforms developing language, therefore the application migration process from legacyenvironment to another heterogeneous environment should be seamless.

Contrary to popular believes incompatibilities certain functions such as supportedfonts, page layouts, table layouts and browser dependency can affect visibility andreliability of web application. Fonts used in ported application may not be installedat the destination, compatible browser might not be supported in the new environment,and many other possible issues that are related to third-party packages such as securitymodules and so on (Xu et al., 2003).

Different systems in interaction with each other sometimes reveal some UnknownErrors. These incompatibilities and malfunctioning behavior became more obvious afteran unsuccessful platform migration especially when target platform is chosen wrongly. Itis commenced with overwhelming challenges for system administrator to make it readyfor running ported application and end up with instability in application, increasing oftotal cost ownership (TCO) and decreasing in accessibility, reliability and serviceability(RAS) of IT environment.

According to Inglenet-Business-Solution (2001) around more than 50 percent ofmigration project after two to four years are abandoned as failures which cost lots of

6

money and wasting resources and time.

The problem is that, there is no comparison reference or tool which can help ITManagers and system specialists to choose the best target platform to prevent or reducethe possibility for migration project failure.

1.3 Problem Statement

According to Economides and Katsamakas (2006) there is needs to understandswitching costs and adoption strategies for enterprise applications but until now thereis no reference neither any tool can be used by system administrator or IT Manager tochoose the best target in cross-platform application migration.

As (Richter et al., 2006) states, choosing the most suitable and compatible targetplatform are one of the big challenges of every project migration process. Accordingly,this study will propose a standard method to evaluating competitive ratio between thesource and destination platform to decrease the risk of application migration between twoheterogeneous environments.

This study focuses upon finding the common key-factors and give weights toeach of individual key-factors. Furthermore, this study defines a routine to find the bestplatform to be used in cross-platform application migration project.

7

The main research question which will be answered in this study is:

• What are key operators for evaluating compatibility ratio in application migrationprocess?

Supporting research questions are:

1. How to find common key factors?2. How to give weight to different key-factor?3. How to measure Compatibility Ratio (CR) in application migration?

1.4 Project Aim

This study aims on finding common key factors between different platforms thatmust be considered in cross-platform application migration and the assigning of weightto each of individual factors. These are achieved through two surveys. This studywill propose a tool for compatibility ratio measurement regarding the origin/source anddestination platforms to help system administrators and IT Managers to choose the bestplatform in migration projects.

8

1.5 Project Objectives

This study will initially identify the common key-factors between differentplatforms, followed by the development of a compatibility ratio measurement tool. Theproposed tool will be evaluated through emulation. Accordingly objectives of thisongoing study are:

1. To identify common key-factors of different hardware/software platforms thatrelated to cross-platform application migration.

2. To develop a compatibility ratio measurement tool for cross-platform applicationmigration.

3. To evaluate the developed compatibility ratio measurement tool for cross-platformapplication migration.

1.6 Project Scope

In this research, C++ programming language is chosen as the basis of the research.C++ is one of the most popular cross-platform programming languages, and it is alsoa completely structural programming language. Surveys are going to be based on thisprogramming language that has different paradigm on the basis of distinctive applicationtypes:

1. Terminal-Based Applications (CLI).2. Web-Based Applications.3. Graphical User Interface (GUI) Standalone Applications.4. Mid-tier Application.

9

Three heterogeneous operating systems are going be used as original and targetplatforms in this study. Each of these three operating systems has their own specificarchitecture, different model of supports and finally from three different vendors.Intended operating systems are as following:

1. Red Hat Linux AS 4.52. Sun Solaris 103. Microsoft Windows Server 2003

Windows Server 2003 is one the most well-known operating system which isdeveloped by Microsoft, this operating system is inspired from Windows NT by makingit much stable and featuring with new technologies and many innovative support services.

Solaris 10 is a UNIX-based operating system that is developed by SunMicrosystems; it is well-known due to its scalability and also supporting SPARCprocessor technology. There is two different version of Solaris 10 which one of themis SPARC based and another is working on x86-based server, in this study x86-basedoperating system is chosen.

Red Hat Linux is also one of the different distributions of UNIX-based operatingsystem which is developed and supported by Red Hat Company. This is not a freeoperating system and originally knows as Red Hat commercial Linux.

10

1.7 Significance of Project

While the programming languages C++ and C are both categorized ascross-platform application development programming languages by practicing theAmerican National Standards Institute (ANSI), the International Standards Organization(ISO)(ISO, 2003; American National Standards Institute and Computer and BusinessEquipment Manufacturers Association and Secretariat, 1989) and C library and theStandard Template Library(STL)(Nelson, 1995) standards to have platform independentapplication ,there are many existence issues when one legacy application which isdeveloped based on C/C++ is going to be ported from original platform to anotherheterogeneous platform. So there is a need to understand switching costs and adoptionstrategies for enterprise applications which is developed based-on C++ programminglanguage in every application migration process.

1.8 Organization of Report

This report contains 6 chapters which categorized as the following parts: The firstchapter is introduction. In this chapter, aim, objectives, scopes and problem backgroundof the study are being identified. In Chapter 2, researcher get into cross-platformprogramming languages concepts which are defined in the scope of this project thencontinue with migration (porting) routines to follow up minor and major porting issues.Chapter 3 discusses about research methodology: In this chapter, focus is given moreon the research methodology to be carried out based on the objectives. Moreover, theframework of the study will be described together with the proposed standards. Chapter4 presents findings of this study, chapter 5 presents discussion about results of each pahseof study and finally Chapter 6 concludes the report.

147

REFERENCES

American National Standards Institute and Computer and Business EquipmentManufacturers Association and Secretariat (”1989”). American National Standard

for information systems: programming language: C: ANSI X3.159-1989. pub-ANSI:adr: pub-ANSI.

Bierhoff, K., Grechanik, M. and Liongosari, E. (2007). Architectural Mismatch inService-Oriented Architectures. In Systems Development in SOA Environments.may. 4 –4. doi:10.1109/SDSOA.2007.2.

Bishop, J. and Horspool, N. (2003). Cross-Platform Development: Software that Lasts.Annual IEEE/NASA Software Engineering Workshop SEW-30. 39(2006), 9.

Bitpipe (2010). Software Migration:Definistion. doi:http://www.bitpipe.com/tlist/Software-Migration.html.

Burgess, D. T. F. (2001). A General Introduction to the design of questionnaires forsurvey research. Information Systems Services. doi:http://www.leeds.ac.uk/iss/documentation/top/top2.pdf.

codestyle.org (2008). Web Font Survey. Technical report. doi:http://www.codestyle.org/css/font-family/sampler-CombinedResults.shtml.

Economides, N. and Katsamakas, E. (2006). Linux vs. Windows: A Comparison ofApplication and Platform Innovation Incentives for Open Source and ProprietarySoftware Platforms. In Bitzer, J. and Schroder, P. J. (Eds.) The Economics

of Open Source Software Development. (pp. 207 – 218). Amsterdam: Else-vier. ISBN 978-0-44-452769-1. doi:DOI:10.1016/B978-044452769-1/50010-X.Retrievable at http://www.sciencedirect.com/science/article/B86TN-4PB7H82-F/2/21b1f996676f70a7d5fe58d0ee70cc87.

Fricker, R. D. and Elliott, M. N. (2002). Conducting Research Surveys Via E-Mail and

the Web. Rand Corporation, The. ISBN 0833031104.Gauch, R. R. (2009). Measurements They’ever Exact. In It’s Great! Oops, No It

Isn’t. (pp. 65–71). Springer Netherlands. ISBN 978-1-4020-8907-7. Retrievable athttp://dx.doi.org/10.1007/978-1-4020-8907-7_8.

148

Heymans, L., der Beken, T. V. and Wilson, B. (2007). Testing Techniques for the Cross-platform Migration of Very Large Interactive Applications. Software Maintenance

and Reengineering, European Conference on. 0, 323–324. ISSN 1534-5351. doi:http://doi.ieeecomputersociety.org/10.1109/CSMR.2007.46.

Inglenet-Business-Solution (2001). A CASE STUDY OF PLATFORM MIGRATION

FROM UNISYS 2200 TO UNIX ALBERTA BLUE CROSS PORT PROJECT.

Technical report. Inglenet Business Solutions. doi:http://www.inglenet.com/downloads/Blue Cross Case Study - Detailed.pdf.

ISO (2003). ISO/IEC 14882:2003: Programming languages: C++. InternationalOrganization for Standardazation. Retrievable at http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=38110.

Karpov, A. and Ryzhkov, E. (2007). 20 issues of porting C++ code on the 64-bit

platform. doi:http://www.viva64.com/content/articles/64-bit-development/?f=20 issues of porting C++ code on the 64-bit platform.html&lang=en&content=64-bit-development.

Kharitonov, E. V. (2000). A Method of Making Subjective Measurements Compatiblewith Hierarchical Matrices of Preference Ratios. Measurement Techniques. 43,747–751. ISSN 0543-1972. Retrievable at http://dx.doi.org/10.1023/A:1026689404649.

Kuhn, M. (2009). UTF-8 and Unicode FAQ for Unix and Linux. doi:http://www.cl.cam.ac.uk/∼mgk25/unicode.html.

McCarthy, S. P. (2008). Choosing the Right Platform for Trusted Cross-Platform

Information Sharing. Technical report. doi:http://www.linux.com/learn/whitepapers/doc/11/raw.

Mercer (2006). Migration Decision-Maker Interviews. Technicalreport. doi:http://download.microsoft.com/download/E/A/0/EA0F6F0B-BAA2-46B1-9EBC-7F28EFA7C508/MercerWhitePaper%20.pdf.

MicrosoftTech (2006). UNIX Custom Application Migration Guide. (2nd ed.). MicrosoftTech Net.

Nelson, M. (1995). C++ Program Guide to Standard Template Library. Foster City, CA,USA: IDG Books Worldwide, Inc. ISBN 1568843143.

Oblitz, T. R. and Mueller, F. (2000). Combining Multi-Threading with AsynchronousCommunication. In In Myrinet User Group Conference. 100–121.

Poniatowski, M. (2003). Linux on HP Integrity Servers. Upper Saddle River, NJ, USA:Prentice Hall PTR. ISBN 0131400002.

Rajagopal, R. (1998). Windows NT, UNIX, NetWare migration and coexistence: a

professional’s guide. vol. 1. CRC Press.Ramanathan, R. and Bruening, F. (2004). Virtualization: Bringing Flexibility and New

Capabilities to Computing Platforms. Technical report. doi:ftp://download.intel.

149

com/technology/computing/archinnov/teraera/download/Virtualization 0604.pdf.Richter, K., Nichols, J., Gajos, K. and Seffah, A. (2006). The many faces of consistency

in cross-platform design. In CHI ’06: CHI ’06 extended abstracts on Human

factors in computing systems. New York, NY, USA: ACM. ISBN 1-59593-298-4,1639–1642. doi:http://doi.acm.org/10.1145/1125451.1125751.

Roth, M. (2009). Method for developing platform independent launchable applications.Technical Report 10/978,517. doi:www.freepatentsonline.com/7610577.html.

Springer (2001). compatibility analysis. In Computer Science and Communications

Dictionary. (pp. 259–259). Springer US. ISBN 978-1-4020-0613-5. Retrievable athttp://dx.doi.org/10.1007/1-4020-0613-6_3222.

SunMicosystem (2005). Converting 32bit Applications Into 64bit Applications Things to

Consider. doi:http://developers.sun.com/solaris/articles/ILP32toLP64Issues.html.Taleb, M., Seffah, A. and Abran, A. (2007). Patterns-Oriented Design Applied to Cross-

Platform Web-based Interactive Systems. In Information Reuse and Integration.aug. 122 –127. doi:10.1109/IRI.2007.4296608.

TechNet, M. (2006). Functional Comparison of UNIX and Windows. In Functional

Comparison of UNIX and Windows. (pp. 23–79). Microsoft Press.TIOBE (2010). TIOBE Index for January 2010. doi:http://www.tiobe.com/content/

paperinfo/tpci/index.html.Weiss, G. J. (2009). The Great Virualization Delimma of Next Decade: What You Need

to Know. doi:http://www.gartner.com/DisplayDocument?doc cd=164938&ref=gBETAnoreg.

Wilson, B. and Beken, T. V. d. (2003). Observations on automation in cross-platform

migration. doi:http://soft.vub.ac.be/FFSE/Workshops/ELISA-submissions/08-Wilson-position.pdf.

Wojtczyk, M. and Knoll, A. (2008). A Cross Platform Development Workflow for C/C++

Applications.Xu, L., Xu, B., Nie, C., Chen, H. and Yang, H. (2003). A Browser Compatibility Testing

Method Based on Combinatorial Testing. In Lovelle, J., Rodrguez, B., Gayo,J., del Puerto Paule Ruiz, M. and Aguilar, L. (Eds.) Web Engineering. (pp. 310–313). Lecture Notes in Computer Science, vol. 2722. Springer Berlin / Heidelberg.Retrievable at http://dx.doi.org/10.1007/3-540-45068-8_60.