Using fuzzy analytical hierarchy process ( AHP ) to evaluate web development platform

Article history: Received July 7, 2011 Received in Revised form August, 25, 2011 Accepted 25 August 2011 Available online 28 August 2011 With the increasing importance and the role that websites play in all aspects of life, more and more web development projects are being undertaken by companies. One of the key decisions in which both short-term and long-term success of the project depends is choosing the right development platform. Its criticality can be judged by the fact that once a platform is chosen, one has to live with it throughout the software development life cycle. The entire shape of the project depends on the language, operating system, tools, frameworks etc., in short the web development platform chosen. In addition, choosing the right platform is a multi criteria decision making (MCDM) problem. We propose a fuzzy analytical hierarchy process model to solve the MCDM problem. We try to tap the real-life modeling potential of fuzzy logic and conjugate it with the commonly used powerful AHP modeling method. © 2012 Growing Science Ltd. All rights reserved.


Introduction
We are all in an era in which internet and websites are an indispensable part of life.Internet is, by all means, the top source of information and the most widely used channel of communication.Practically, all companies from small to large have their own websites.In this highly competitive environment where technology is growing fast, having a high-quality website is indispensable.Companies depend on the web for efficient business functioning, for purposes of advertising, sharing company related information, providing remote access to customers, etc.Other areas are online banking, remote patient management by doctors, university websites and many more.Additionally some businesses by themselves are based on the web.Hence, a number of projects for Web development are conducted every year.
A web application can be broadly divided into two parts, the front-end and the back-end.Front-end comprises the graphical user interface of the website.The back-end comprises the server software that processes real-time requests from user, database server which stores data, content management system and interface software.Web application development involves incorporating functionality for handling client information, requests, response, cookies, logging, error handling, session management, memory allocation, security, multimedia etc.
The common challenge faced by organizations is to select the appropriate web development platform.In the context of web application development, term platform comprises the programming language along with reusable software like frameworks, libraries, tools and auxiliary languages.Auxiliary languages include HTML/DHTML, CSS, and JavaScript.This decision making needs to consider many criteria like security, performance, licensing cost, compatibility, hardware costs, administration etc. Lin et al. (2011) pointed out that though information technology acceptance is a mature research topic, analysis of acceptance of alternative products is highly neglected.Based on their study in context of web application platforms Microsoft and Java, they finally concluded that it is better to perform a relative study of alternative products than just rely on single product study.We will now throw some light on related works, which have been performed.Prechelt (2011) performed direct exploratory experiments to compare platforms Java EE, Perl and PHP.Chen and Ma (2004) stated Sun's Java 2 Enterprise Edition ( J2EE) -an open technology framework to be the most successful in the area of server-side development.Ramana and Prabhakar (2005) investigated the performance of LAMP architecture and devised a scale to measure architecture performance.Wu et al. (2008) proposed and implemented a very strong security module for LAMP application system.LAMP ranks high when comparing the security criteria of various development platforms.On the other hand, GU and TANG (2010) stated ASP.NET from Microsoft to be one of the most representative and widely used web development technologies.They analyzed and compared three frameworks provided by ASP.NET i.e.MVC, MVP and Web Forms, and concluded the framework chosen must be based on actual development needs.
It is highly evident that decision to choose the right web development platform requires spending significant amount of time and would involve multi-criteria decision making.Analytic hierarchy process (AHP) model developed by Thomas Saaty is a method for selecting the best decision alternative after evaluating them against multiple criteria.Each decision alternative gets a final score depending upon how well it meets the criteria.Pair-wise comparison technique is used.The relative importance/ranking of the criteria against each other is also determined.Chen and Ma (2004) presented a literature review of the applications of AHP and presented numerous application areas where the AHP is used as a multiple criteria decision-making tool.In addition, Lee et al. (2008) used analytical hierarchy process AHP to compare various critical success factors for web-based development.Many Information System studies have used it to evaluate IT projects, rank alternatives, and make resource allocation decisions (Bodin et al., 2005).In AHP methodology, the decision matrix is constructed using integer 1-9 and it's reciprocal.It does not consider cognitive factors of human's judgment.Nakatani and Chuang (2011) used AHP to develop a web analytics tool selection method.
Fuzzy logic was introduced by Zadeh (1965), which is basically a multi-valued logic accounting for smooth transition between members and non-members of a set as opposed to binary crisp sets.In case of decision-making, human judgment is mostly vague and uncertain rather than a precise mathematical value.Fuzzy logic systems better mimic and handle human thought.Hence fuzzy AHP approach can be used to overcome drawback of AHP i.e., lowered accuracy due to inability to handle vague human thoughts.In AHP methodology two alternatives/criteria are compared to each other and a numeric value is assigned to designate degree of relevance of one over another.However, this is not the most practical approach.In fuzzy AHP, the preference scale is represented by intervals, which overlap each other.This enhances the accuracy of the final judgment by taking into account human nature of imperfect precision.This methodology will be discussed in detail below.
Numerous researches have tapped the capability of fuzzy logic and control system in conjunction to various decision making tools, in the area of web applications.Mohanty et al. (2010) evaluated 364 web services against 9 quality attributes using fuzzy multi-criteria decision making with back propagation trained neural network.They concluded that the 'min' operator and compensatory 'and' operator produced correct ranking results.This supports the effectiveness of fuzzy logic in comparative studies.Cheong and Way (2000) used fuzzy AHP approach to capture fuzziness and subjectiveness of prioritization of upgrading alternatives selection for a Web server system, which is a multi-criteria decision making problem.Caching, link bandwidth, redundant server and intelligent load balancing alternatives were evaluated to overcome problem of congested web traffic.Cao et al. (2006) took a step forward and developed a web-based method combining the concepts of AHP and fuzzy theory to assist decision making for partner selection in agile virtual enterprise.The result indicated that the proposed method not only solves the problem of inconsistency in making judgment matrix, but also helps better examining strength and weaknesses of alternatives and hence easily make a better decision.Liu et al. (2007) applied fuzzy AHP approach to evaluate e-commerce websites and concluded that fuzzy numbers are more preferable than crisp sets used in AHP and allows decision-makers more freedom of estimation.Yu et al. (2008) used Fuzzy AHP to evaluate three commerce search engines and stated that fuzzy AHP is more practical, efficient, accurate, easy to understand, persuasive and is of great value for enterprises in the web platform.
As discussed previously, the decision to choose the right web development platform is difficult and complex and it is a multi-criteria decision.Hence, this paper presents a fuzzy analytical hierarchy process based approach to compare following three major web development platforms.
These three platforms will be evaluated against four major criteria that is, Security, Compatibility, Performance and Licensing cost.Information security is an integral part of web development and must be taken care of throughout the project lifecycle.Information security is extremely critical as the web application must interact with distributed systems and other remote services.Web is very complex and hence security is highly vulnerable.Chen et al. (2008) also agreed that with the increasing use of web services, more and more enterprises have recognized security to be the critical issue in real business systems.With the upgrades of the platform, it is necessary that there is a backward compatibility with the older versions.This is to make sure that applications built in older version of language can also be run in the new upgraded environment.Also, if a company needs to be up-to-date with technology and take advantage of new features added in the upgraded version of platform, backward compatibility must be available.Zhong and Yang (2009) while presenting a collection of design techniques for building enterprise web services, stressed on a stable and compatible evolution of software.They proposed a versioning related technique to improve compatibility.
Performance, which includes number of requests processed by the web application in a unit of time, the mean time between failures, speed of response to client etc is no doubt an important criterion while evaluating web development platforms.Licensing cost is the amount paid for acquiring the software (language, tools, framework etc).Since a number of people in an organization need to work with the platform, a company has to acquire multiple licenses.Hence, licensing cost is an important parameter that a Manager must take into account.Messerschmitt and Szyperski (2004) presented a paper on software planning and design, in which they enumerated both performance and cost of development (which includes licensing cost) among most recognized return-on-investment drivers.
There are many existing works in single web development environment study.But analysis of acceptance of alternative products is highly neglected.Some comparative study between 'frameworks' in a single environment is done as stated above.However, selecting the right environment itself among the web development platforms i.e., LAMP, J2EE and ASP.NET is a key decision faced by many Managers these days.An effective management tool for decision making is needed since finding the right platform is based on various criteria like security, cost, performance, compatibility etc.The prioritization of these criteria affecting the right choice varies with each institution.Hence, existing exploratory experiments to compare technologies do not suffice.Also, the exploratory experiments to compare programming languages are very limited.In this paper, we propose a strong management tool fuzzy AHP to accomplish comparative study of alternative web technologies.The technique to compare the widely accepted web development platforms are discussed, which can also be extended by the Managers to other platforms in the future and base the study on additional criteria.This is taking into consideration the rapid growth and technological advancement faced by the IT industry.

Extent analysis method on fuzzy AHP
Chang's extent analysis method on fuzzy AHP can be summarized as below.Firstly, triangular fuzzy numbers are used to compare alternatives.The approach below is implemented for pair wise comparison to prioritize criteria as well as comparing alternatives against each criterion.Each set represents a description of level of preference of one alternative over another.As you see in the figure below, the membership functions are such that the sets overlap each other.Each value of x€R has a degree of membership to two different sets.

Fig. 1. The intersection between M 1 and M2
The membership function for a triangular fuzzy number M= (l, m, u) is defined as follows, where l and u stand for lower and upper value of the support of M respectively and m is the modal value.
The necessary operations defined on two fuzzy numbers M 1 = (l 1 , m 1 , u 1 ) and M 2 = (l 2 , m 2 , u 2 ) are Let X = {x 1 , x 2 , . . ., x n } be an object set, and U = {u 1 , u 2 , . . ., u m } be a goal set.As per Chang's extent analysis method, each object is taken and extent analysis for each goal is performed, respectively.Therefore, m extent analysis values for each object can be obtained and shown as follows: 1 2 , ,..., , 1, 2,..., where all M j g (j = 1, 2,….., m) are triangular fuzzy numbers.Fuzzy synthetic extent with respect to ith object is defined as For each level of AHP, fuzzy number is used for pair-wise comparison.
Matrix A is constructed for pair-wise comparisons where, ( ) If (l, m, u) is the importance of element i over j, then the importance of element j over i will be (l, m, u) -1 .Once the synthetic extent is determined, the degree of possibility of one fuzzy number/synthetic value obtained to be greater than other is determined as follows:- Chang further added, the degree of possibility for i th fuzzy value to be greater than all others is as follows and is performed for synthetic extent obtained in previous step.
After normalization, the final weight vector of criteria/alternatives is 1 2 ( ( ), ( ),......, ( )) The consistency index (CI) and consistency ratio (CR) are defined as where max λ the largest eigenvalue, n is the number of items being compared in the matrix, and RI is random index.

Application of fuzzy AHP to web development platform comparison
The goal of fuzzy AHP is to compare and select from three major platforms of web development.At the second level of hierarchy, we determine how the four criteria i.e., Security (C 1 ), Compatibility (C 2 ), Performance (C 3 ) and Licensing cost (C 4 ) contribute towards this objective.At the level of problem hierarchy, we determine how each alternative (Linux/Apache/MySQL/PHP (LAMP) (A 1 ), Microsoft's ASP.NET (A 2 ) and Sun's Java 2 Enterprise Edition (J2EE) (A 3 ) evaluate against each criteria.Preference is determined using the triangular fuzzy scale.This guarantees less chances of error as compared to AHP.Following is the fuzzy AHP model solution.

Evaluation of alternatives with respect to each criterion:
For Criteria Security C 1 , refer to Table 4.

Discussion and analysis
Based on the scores developed in this paper, web development platform chosen is LAMP.This model just takes into account four criteria for choosing the best platform.However, more criteria can be added based on the company and its requirements.In addition, more alternatives can be evaluated, since for each programming language mentioned above, there are multiple frameworks available.A framework consists of a set of reusable functions that can be used in web development.More criteria that a company might want to evaluate based on industry are availability of frameworks, availability of components, ease of configuration, quality of staffing required, language supporting existing database etc.The pair wise comparison values might also vary from the model presented above based on company situation and policies.For example, a startup company may assign more importance to performance as compared to compatibility.On the other hand an established firm which just releases higher version of software might give more importance to backward compatibility.Hence, the above model forms a basis that can be used by companies to decide the best platform that may be used for developing their web application.

Conclusion
Fuzzy AHP technique has been successfully used to solve a multi-criteria decision making objective of finding the right platform for web application development.An effective management tool has been devised to address this decision making problem.Previous works generally focused on single platform study or exploratory experiments.With the enormous numbers of web development projects undertaken each year, managers needed an accurate and reliable tool to determine the right development platform based on factors related to company culture, financials and priorities.
Additionally, making decision based on just the widely used AHP model is prone to error, since it does not handle vagueness and uncertainty in human judgment.Fuzzy approach takes this into account using linguistic scales which overlap and with the concept of membership function, provides a more stable MCDM model.Also, linguistic scale as opposed to definitive preference values in AHP model gives better confidence to participants developing pair wise comparison matrix.Hence, using extent analysis method, fuzzy AHP model has been devised to address real-life critical decision of determining the right web-based development platform.This paper shows complete illustration of implementing Fuzzy AHP in this context, which can help one adapt to the methodology with ease.In this illustration, based on overall score, criteria 'Security' contributes most to the final goal of successful web development effort, followed by 'Performance', 'Compatibility' and 'Licensing cost'.Linux/Apache/MySQL/PHP (LAMP) platform with Linux operating system, Apache Server, MySQL database query language and PHP scripting language is found to be the best platform for web application development.Furthermore, this technique can be extended by the Managers to comparatively evaluate other platforms in the future and base their study on additional criteria as elaborated in section 'Discussion and analysis'.This takes into consideration the rapid growth and technological changes faced by the IT industry.

Table 1
Triangular fuzzy conversion scale

Table 2
Fuzzy evaluation matrix with respect to the goal

Table 8
Final decision using fuzzy AHP