Extracting the Features of Modern Web Applications based on Web Engineering Methods

With the revolution of the information, an advanced version of the web proposed from web 1.0 to web 4.0. In each version, many web applications appeared. In the new versions, modern web applications (MWAs) proposed. These applications have specific features and different features, and these features made a new challenge for web engineering methods. The problem is that web engineering methods have limitations for MWAs, and the gap is that the developers cannot highlight the new features based on web engineering methods. In this paper, we extract features of the MWA based on web engineering methods. We extract web application modules for showing interaction and structure of their feature based on models and elements of web engineering methods. The result of this work helps the developers for designing MWAs through web engineering methods. Furthermore, lead to researchers to improve web engineering methods for developing MWAs


I. INTRODUCTION
Web applications currently make up one of the largest growth areas in software.Web applications do not just give us new types of applications but provide an entirely new way to deploy software applications to end users.Recent web applications are primarily constructed to produce applications that possess enriched interactivity from high-quality requirements, achieved by employing modern programming models, languages, and new technologies.MWAs are distinguishable from legacy web applications, regarding sophistication and rich program interactivity requirements.Moreover, based on [1] MWAs are often presented with modern Graphic User Interfaces (GUI) as well as innovative incorporations of backend technologies.
Evolution of web 1.0 into the web 4.0 [2] and sometimes new web is web 5.0 [3] of the World Wide Web (WWW), has resulted in the introduction of several web applications [4].Categorization and evolution of web applications' complexity have been reported in [5], whereas, scholars in [6] have grouped web application types based on the chronological order of their appearance.Fig. 1 presents the history of complexity and generations of web and popular web applications [7], in this paper imported web 5.0 to web 4.0 because of both generations regarded to Artificial Intelligent (AI).Clusters of webs 3.0 and 4.0 represent the MWAs that possess great extent of complexities, encompassing Ubiquitous Web Applications (UWAs), Rich Internet Applications (RIAs), Semantic Web Applications (SWAs), and Intelligent Web Applications (IWAs).
Model-Driven Web Engineering (MDWE) is deployed based on the concept of separation of representation models in designing web applications, which is advantageous, predominantly, as the platforms and technologies employed in developing web applications continue to evolve [8][9][10][11][12].Best practices and trends of many MDWE strategies were investigated in the work of Jesús and John (2012) [13].The work reported the merits and drawbacks of each MDWE strategy and made recommendations prior to initiating web application development, which include: identifying web application type, considering the possibility of architectural changes, and identifying the latest technology that could deliver a sophisticated User Interface (UI).The work presented deep insights into the future development of web applications through MDWE consideration.
The schemes used in improving modern web applications; through utilizing web engineering methods include the amalgamation of notations and development process, often bundled into a metamodel.Various metamodels have been developed to cater for different web domains such as [14][15][16][17].In the construction of a semantic web, it is pertinent to observe the association of metamodels and their elements that conform to established grammatical rules.Web engineering methods that are constructed based on several metamodels, typically, only utilizes a portion of the build offered from each metamodel.This allows several modeling rules to be unified forming base metamodels, which support improved comparison and integration [18].Development and construction of complex web applications are aided by rich modeling features offered in various web engineering methods, including IFML, WebML, W2000, UWE, OOHDM, and OOH.Across all web engineering methods, three generic representations are typically covered [19], including presentation, navigation, and conceptual representations.www.ijacsa.thesai.orgMWAs have new structures and new features; these features make a new challenge for web engineering methods.The problem is web engineering methods including recent one (IFML) have a gap in the process development of new web applications [20], moreover, missed models and elements to develop new web applications.In this paper, we extract web application modules for showing interaction and structure of their feature based on models and elements of web engineering methods.The contribution of this paper is how to extract MWA features based on web engineering methods?The result of this work helps the developers for designing MWAs through web engineering methods.Furthermore, the goal of this paper is leading the researchers to improve web engineering methods for developing MWA features without missing the new features.
This paper is organized as follows: Section 2 explains the background work on modern web applications.Section 3 prepared research methodology for solving the problem.In section 4 extracts, the MWA features MWAs based on web engineering methods.Section 5 extracts the features of MWAs on a case study.Section 6 consists of limitation and discussion of the results.Final Section consists of a conclusion and some future works.

II. BACKGROUND
MDWE become to de facto to develop web application systematically as well as MWAs.In the previous literature review in [21] explained how MDWE developed web applications in different fields.In this section, the recent works about features and architecture of MWAs reviewed, and some previous works reviewed that shows MDWE in the process development MWAs, in the following presented one by one.
RIAs are a new type of web applications, which utilize information that can be handled by both the client and the server.Besides, the data interchange occurs in an asynchronous manner so as to allow the client to be responsive at the same time updating or recalculating sections of the UI.On the part of the client, RIAs give the same look-and-feel in place of desktop applications and the term "rich" has a different meaning to the previous web applications generation.RIAs are fundamentally described by a range of and the transparent usage of the client and server computing power and the network connection, the chances of on/off line use of the application, and interactive operating controls [22].The structure of the RIA presented in Fig. 2. RIAs provide comparable capabilities and characteristics to the available ones in desktop applications such as multimedia, dynamic adaptation based on users' profiles and robustness [23].It controls the performance of applications, allowing unique operations such as disconnected work, partial page computation, and data distribution [24].
UWA is web application struggling with the anymedia/anywhere/anytime syndrome is UWA.As a matter of fact, UWA ought to be redesigned from the beginning considering its hypermedia behavior, as well as its possible to run on various platforms, comprising full-fledged desktop computers, PDAs (Personal Digital Assistants), mobile phones, and so on.This means that a UWA must allow for a range of capabilities of devices including network capacity, a method of input, local storage size, display size, etc. Different opportunities are given based on location, time, and custommade services considering the necessities and inclinations of specific users.As a result, a UWA must be context-aware, that is, responsive to the environment it is installed in, and it should support customization [26].
SWA the semantic web architecture can be viewed using the languages and standards used.Another view is made through software applications and devices that adopt practicality using the languages and standards.Fig. 3 illustrates the constituents used as semantic web setup when executing practicality in applications.Author in [27] illustrates a review of SWA defined in the literature and the constituents they execute.The simple infrastructure a component relates to reproducing Resource Description Framework (RDF) and dereferencing data.Although Uniform Resource Identifiers (URIs) can be used to recover content involving the resources they identify, URIs is an exceptional identifier according to the convention.Web servers give out the channel for serving data through Hypertext Transfer Protocol (HTTP), and HTTP clients provide the lookup functionality.The semantic web gets the simple referencing infrastructure and lookup from the web.The data coming back because of HTTP lookups can be processed using RDF parsers and Application Programming Interfaces (APIs) or APIs and Extensible Markup Language (XML) parsers (on occasion of non-RDF content).Although the W3C build up a description for handling the Document Object Model (DOM), there is no consistent description for processing RDF data.Nevertheless, numerous open source executions of RDF and APIs exist.Ontology languages including Web Ontology Language (OWL) and RDF Introduce additional clarity to RDF content, that called reasoners can be able to interpret ontology and make particular inferences.Lastly, semantic web data can interact with the users through the UI.Looking from a practicality point of view, a number of UIs appear to be general and function on the data's graph structure, while others are designed for a particular domain and ontology [27].Moreover, a new systematic mapping study about semantic web service explained the role of semantic applications [29].
IWA is the next generation of SWA, SWA of the next generation started off from the anticipation and observation that intelligent application development will progressively more vary due to the accessibility of the large scale of the semantic web; distributed body of knowledge that vigorously make use of this knowledge comes up with new challenges and possibilities that require novel infrastructures to prop up the accomplishment of the coming generation SWAs.Next generation SWAs must address significant problems associated with the semantic web's scale and heterogeneity including the broadly unstable information quality it has [30].The main directions of IWA are presented in Fig. 4. Nonetheless, IWA worked on human brain deeply in the future, although it is focused on mining and thinking, IWA contains intelligent agents, web mining, web personalization and semantic web [31,32].IWAs cautiously extended from researchers, in the recent articles the behavior of web applications and agent in web applications explained.
Data management is continuously evolving for serving the needs of an increasingly connected society.New challenges apply not only to systems and technology but also to the models and abstractions for capturing new application requirements.Brambilla and Ceri in [34] described several models and abstractions which have been progressively designed to capture new forms of data-centered interactions in the last twenty-five years, a period of huge changes due to the spreading of web-based applications and the increasingly relevant role of social interactions in web engineering methods.There are many works [35][36][37][38][39][40][41][42][43][44][45] exist on web engineering methods for designing MWAs, but the features not presented adequately.
Following the object-oriented principles, structure and behavior are modeled at each of the three levels, i.e. at content, hypertext, and presentation.The relevance of the structure and behavior models depends on the type of web application to be implemented.Web applications which make mainly static information available require less behavior modeling compared with highly interactive web applications, such as for example e-commerce applications which provide search engines, purchase order functions, and so on.With respect to mapping the different levels, it is recommended to use a uniform modeling formalism for structure and behavior, which might allow relying on one single CASE tool.Naturally, this modeling formalism has to cope with the specific characteristics of each of the three levels as shown in Fig. 5 [46,47].Above structure showed that the web applications feature should be extract based on levels, aspects, or phases.This structure helps us how we can extract web application features based on web engineering methods.

III. METHODOLOGY
The methodology of this work is planned with the intention to get precise results out of work.For extracting MWA features, we follow the steps of Fig. 6.In the first step we select MWAs, MWA regards to new technology in the applications as presented in Fig. 1, it is regard to the applications when appeared after web 2.0, the famous web applications after web 2.0 are UWA, SWA, RIA, and IWA.
Step 2 to step 4 analyzes the MWAs and extracting based web engineering methods, in the next section will present it.Step 5 approve the features of MWAs on the case study and present it in the new section.Finally, Step 6 consists of limitations and discussion the result in another section.

IV. EXTRACTING MODERN WEB APPLICATION FEATURES
ON WEB ENGINEERING METHODS As presented in previous sections, MWAs are RIA, SWA, UWA, and IWA.This section analyzes MWAs and lists the features based on web engineering methods.These applications have a number of features that are used for developing web applications, which should be presented by web engineering methods.In the following, we analyze and extract the MWAs.
RIA is a new type of web application.As presented in Section 2, RIA distributes data between client and server, where users utilize desktop applications when working with their clients.RIA has rich UIs that help to improve user performance on the web.Moreover, RIA provides a rich client that increases the usability of this type of application.Briefly, the main features of RIAs include client and server, rich UIs, and rich client, as shown in Table 1.The main feature of RIA, which is client/server, is illustrated in Fig. 7, where a client is depicted working on a web application and directly working on the server.UWA is a new type of web application, which is accessed in various contexts, including through different devices, by users with various interests, and accessible at anytime from anywhere around the globe.For full-fledged, complex software systems, a methodologically sound engineering approach, in terms of MDE is crucial.Several web engineering methods have been proposed, which capture the ubiquitous nature of web applications.Each of them entails different origins, pursuing different goals, and providing a plethora of concepts.The detail of an UWA is explained in Section 2. Briefly, UWA is a web application that suffers from the anywhere, anytime, anywhere, any media, any device, adaptation, and contextaware challenges.UWA features are shown in Table 1.The main features of UWA are illustrated in Fig. 8.The figure depicts different users, different devices, different locations, and different times of use of the applications with the same properties.
Another modern type of web application is SWA.The main conclusion of Section 2, is that the growth of the semantic web has been promptly followed by changes in the way SWAs are developed.By analyzing and contrasting some legacy and modern systems, a set of features of SWA have been subsequently identified, in which the literature has characterized for the next generation of SWAs.In a nutshell, next-generation semantic web systems will necessarily have to deal with the increased heterogeneity of semantic sources.Finally, the main features of an SWA comprise of Ontology, Rich UI, RDF, Semantic Hyperlink, and behavior.As shown in Table 1, the main features of an SWA are ontology and the works handled by the machine, which handle the behavior of applications.Fig. 9 presents an SWA in operations.The analysis and expectation that intelligent application development will progressively undergo revolution are owing to the accessibility of the large-scale semantic web, which originates from next-generation SWA.In Section 2, IWA has been explained and presented.IWA's future is predicted to operate on human brain intensely, but at present, the effort is concentrated on thinking and mining.IWA consists of Web Mining, Semantic Web, Web Personalization, and Intelligent Agents.As presented in Table 1.IWA's Intelligent Agent is an important feature, through which data is mined, as illustrated in Fig. 10.In the following table (Table 1), features of MWAs listed and collected, after analyzing we got the features same result of the reference [7].

V. EXTRACTING MODERN WEB APPLICATION FEATURES
ON CASE STUDIES The case study selected is considered to lie within important domains and are recognized as a popular website consisting of Amazon website (Fig. 11), which is an online shopping website.This website is developed with updates constantly released date by date and is typically added with more features of new web applications.In the following, the Amazon case study is analyzed based on scenarios.This section analyzes Amazon bookstore, based on user stories as an example of MWAs from UWA, RIA, SWA, IWA categories.This section describes the activities of a customer as the customer works on Amazon bookstore website.The following activities present the flow in each type.
Four realistic scenarios are defined in this section.Each scenario is performed by a customer that is related to only one type of web application as shown in Fig. 12. Amazon as UWA: In this case study, Customer1 uses the website to perform UWA's features, in this action Customer1 utilizes different devices, at different times, and indifference locations to reach the same result, see Fig. 13 and Fig. 14.Upon login, Customer1 does the following activities:  Search for a Book: Customer1 searches for a book in Amazon bookstore.
 Order Book: Customer1 orders the book.
 Make Payment: Customer1 makes an online payment for the target book.Amazon as RIA: In this case study, Customer2 uses the website for performing RIA's features (see Fig. 14).Upon login Customer2 performs the following activities from a client end, acting as a server:  Search for a Book: Customer2 searches for a book in Amazon bookstore.
 Order Book: Customer2 orders the book.
 Make Payment: Customer2 makes an online payment for the target book.
Amazon as SWA: In this case study, Customer3 uses the website for performing SWA's features (see Fig. 14).Upon login, Customer3 does the following activities:  Search for a Book, Customer3 searches for a book in Amazon bookstore.
 Order Book, Customer3 orders the book.
 Make Payment, Customer3 makes an online payment for the target book.
Amazon as IWA: In this case study, Customer4 uses the website for performing IWA's features (see Fig. 14).Upon login, Customer4 does the following activities:  Search for a Book: Customer4 searches for a book in Amazon bookstore.
 Order Book: Customer4 orders the book.
 Make Payment: Customer4 makes an online payment for the target book.
After explain the scenarios for Amazon website, we will extract features of MWAs based on the scenario, in the following we extracts one by one.

A. Extracting UWA Features
UWA is a new type of web application which can be accessed in various contexts, i.e., through different devices, by users with various interests, at any time, and from anyplace around the globe.In Fig. 15, Amazon website is accessed on different devices.The figure consists of three sub-figures.The first one is accessed on a laptop.The second one is accessed on a smartphone.While the third one is accessed on an iPad.These devices can open Amazon website at any time around the world.Fig. 15A is Amazon website after accessing by laptop device, as shown in the figure the website opened and presented all elements, the customer can access all tabs and links on the website.Fig. 15B is the same website but accessed by iPad, however, the iPad screen smaller than a desktop screen, but the website opened like a laptop and presented most of the links and other moved to down.Fig. 15C open the same website through a smartphone with a different style, the screen of smartphones too small, the links and tabs will be small, but opened with a good size and moved to down or listed a number of icons in a new list.This feature is adaptation with different devices and called ubiquity of web applications or websites.

B. Extracting RIA Features
RIA captures two types of pages comprising Client pages and Server pages.Server pages represent traditional web pages, whereby, the content and presentation are calculated by the server, whereas rendering and event detection are handled by the client.Client pages represent pages incorporating the content or logic structures that are managed (at least in part) by the client.The content can be computed at the server or client side, whereas presentation, rendering, and event handling occur at the client side.In the Amazon website, the customer, this acts as a client searches for a book.Then, the client selects the book.Subsequently, the client will choose the 'buy' option.In this case, the client with rich UI feel works on the website by using a mouse hovers and drag/drop procedures.At the same time, the server works to control all requests without returning to the client, as shown in Fig. 16.
In Fig. 16A customer can search as a client and use drag & drop for moving the texts or images for researching, which the actions saved by the server.After finding a list of books based on the search, the customer selects a target book as highlighted in Fig. 16B.In the final step, the customer buys a target book as presented in Fig. 16C.During the actions from a customer, the website allows the customer to use drag & drop, provide a rich UI, and the customer feels working on the main server.This feature provided by RIAs.

C. Extracting SWA Features
SWA has new features for developing web applications.In the first case study, this is Amazon book store, the user searches for a book.SWA acting through RDF and metadata can find and retrieve relevant books with an accurate result among big data with ontology.Moreover, during the process of buying books, SWA provides rich UIs for the user, as shown in Fig. 17.
In the first step as shown in Fig. 17A, a customer search for a target book, which the system finds the target and relevant books among big data when saved by the website server.After finding a target book, the customer will be select a target book, in this time SWA provides a rich UI for the customer to work on the website see Fig. 17B.In the Fig. 17C the customers with rich UI will go to buy the target book, in his time SWA provide accurate performance in the proceed purchasing a book.

D. Extracting IWA Features
A next-generation type of web application is IWA.This application uses AI concepts for developing web applications.In the first case study, which is Amazon bookstore, when a customer searches for books, IWA finds the relevant books.The search utilizes intelligent agents by mining, which emulates intelligent search in the systems.Also, IWA has SWA features that can provide rich UI for users, as shown in Fig. 18.
However, IWA is a new web application but features of this type of application appeared on some websites like Amazon website.Fig. 18A presented customer's search, when the customer searches for target book, IWA provides a smart search through an intelligent agent, and web mining.In the next step, the customer selects a target for purchasing, IWA provides rich UI like SWA, because IWA is a new generation of SWA as showman Fig. 18B.During the purchasing a target book in Fig. 18C, IWA allow the customer to act as intelligent and accurate action like SWA.Extracting features of web applications is a complex task because each website has a number of features with more than one type of web applications.In the above sections we extract the features of MWA successfully, then we presented on the Amazon website, based on extraction and case study we explain one by one.UWA's features regard to using technology for publishing web applications in all devices, any time, and any place if the developers use the new technologies like AJAX could implement the features of UWA successfully.RIA's features also regard to technology and UI, the features of RIA allow users to easily use web applications and distribute data between clients and servers.After RIA a new complex application appeared when called SWA, SWA's feature is a new revolution in web applications and very fast improved web features through improving Rich UI, ontology and behavior.These features very complexly for implementing, most of these features were hide during analysis and design the web applications.Sometimes developers cannot implement all features of SWAs because of the need for high technology, huge database, and smart software.With the SWA challenges, IWAs features more complex for presenting because of regard to indulgences like agents, mining, and the human brain, so not easy to present it.However, the structure of SWA prepared but SWA and IWA structure very complex and became to the problem during design these types of applications through web engineering methods.

VII. CONCLUSION AND FUTURE WORK
In this paper we extract the MWA features based on web engineering methods.We extracted web application based on models and elements of web engineering methods.The result of extraction presents the MWAs especially SWA and IWA very complex and need to high technology and new web engineering methods.The result of this work helps the developers for designing MWAs through web engineering methods.
Furthermore, lead to researchers to improve web engineering methods for developing MWA features.We recommend to the researchers extract these applications based on more and different websites such as social media.Also, we recommend to the researchers to improve or enhance the web engineering methods to develop web application features.

Fig. 6 .
Fig. 6.Methodology for Extracting Features of Modern Web Applications.

Step 1 :
Selecting Modern Web Applications Step 2: Analyzing Modern Web Applications Step 3: Highlighting Features Modern Web Applications Step 4: Extracting Features Modern Web Applicationss based on Web Engineering Methods Step 5: Presenting the features through Case Study Step 6: Limitation and Discussion www.ijacsa.thesai.org

Fig. 11 .
Fig. 11.The Interface of the Amazon Website.

TABLE I .
LIST OF FEATURES OF THE MODERN WEB APPLICATIONSWeb applications FeaturesRIAClient/Server, Rich UI, Rich Client UWA Anywhere, Anytime, Anywhere, Any media, Any device, Adaptation, Context-aware SWA Ontology, Rich UI, RDF, semantic hyperlink, behavior IWA Web Personalization, Web Mining, Semantic Web, Intelligent Agents