Current Usage of Component Based Principles for Developing Web Applications with Frameworks: a Literature Review

Component based software development has become a very popular paradigm in many software engineering branches. In the early phase of Web 2.0 appearance, it was also popular for web application development. From the analyzed papers, between this period and today, use of component based techniques for web application development was somewhat slowed down, however, the recent development indicates a comeback. Most of all it is apparent with W3C's component web working group. In this article we want to investigate the current state of web application development with component approach. Most of all we are interested in which way components are used, which web development frameworks are being used, for which domains is component based web development most popular and successful, etc. How many current web development frameworks explicitly refer to component-based approach? To answer this question, we performed a literature review. Current usage of component based principles for developing web applications with … 254


INTRODUCTION
Creating complex software architecture by (re-) using smaller, more manageable, software elements is the main goal of component based development (CBD).In many cases it has proven to simplify software design and have a positive impact on extra-functional properties of software products, e.g.better maintainability, scalability, reliability, usability, etc.Since the research on World Wide Web related development is constantly growing, we find interesting to verify in which way are these two research areas are related.To satisfy our curiosity we conducted a literature review in which we analyzed how web researchers and practitioners apply existing component based development techniques to create architecture of their web applications.Since most of the web applications are currently developed using different web development frameworks, we are also interested how many frameworks are based on CBD.Therefore, the main research question is: "How many of the current web application development frameworks explicitly refer to application of component-based approach?"-Based on this question we derive several more specific questions:  Q 1 -In which way is CBD used for web application development? Q 2 -What is the relation between CBD and web application development? Q 3 -Which component models are used for web application development? Q 4 -In which web application development domains is CBD used?
The rest of the article is organized as follows: in Section 2 describes the review protocol and all the related methods used to perform a literature review.Section 3 provides an overview of the paper selection process.In Section 4 we present a detailed analysis of the results and discuss them.Finally, Section 5 concludes the article.

REVIEW PROTOCOL
The review protocol of this study is based on the work of Breivold et.al.[1] and suggestions by Kitchenham [2].It consists of the following steps (Figure 1): a) motivation statement, b) research goal statement, c) defining the search terms, d) providing information on restrictions and selection criteria, e) database selection, f) paper search process, g) paper quality assessment, h) paper data extraction, i) data synthesis.Since steps a) and b) are given in the previous section, here we proceed with steps c)e) which are given in the Table 1.

SEARCH TERMS, SELECTION CRITERIA AND DATABASE SELECTION
For more effective selection of relevant papers we used Mendeley, a reference management tool [3].Every database listed in Table 1provides a way to extract and import the search results into such tools.Since ACM is an exception, we imported the search results manually.Duplicated were automatically excluded or merged.
To additionally ensure that the quality of the papers is satisfactory, there are some additional criteria [1]: a) paper must provide evidence for claims and theoretical reasoning in data analysis, b) paper must have the description of the context in which the study was conducted, c) the research method must be described or easily inferred, and finally d) goals of the study need to be described or easily inferred.

DATA EXTRACTION
Once the final list of papers was obtained, a content analysis and review was performed while considering [1]: (a) general paper information (title, authors, publication year, source, publication type, citation information, research methodology, and data analysis type) and (b) content related information (research focus, area of CBD application, applied CBD models, software application domain (what kind of software, who uses it, etc.), programming languages used, problems with applying CBD, area of future work).
The result of reading the papers are synthesized in the following sections.

SEARCH OVERVIEW DOMAIN SPECIFIC REVIEW CRITERIA
Based on the research area we decided to exclude papers which refer to service oriented architecture (SOA), semantic web and ontology and finally papers which refer to service oriented computing (SOC).
Since the search terms resulted in 166 papers related.Also, as stated by Bano and Ikram, SOA is a shift of paradigm in software development, as it can be seen in application of web services instead of using commercial off-the-shelf software [4].Having this in mind we decided to exclude SOA related papers as a whole new literature review can be performed with SOA as a main topic.
Semantic web and ontology related papers are also removed because these principles are used for all kind of applications, not necessarily web applications.Although, some papers corresponded to the initial criteria, we decided to leave out ones which relate to semantic web, as this research area is growing and very specific.
Finally papers which refer to service oriented development, service oriented computing, webservice based applications and development of web-services were left out as they are mostly related to development techniques and SOA.We conclude that similarly as for SOA, this research area would deserve its own separate literature review.
Since some papers are excluded in this phase because they are out of scope, they will not be addressed further.However, we would like to refer the interested readers to the sources: [5][6][7][8].

DATABASE QUERIES AND SEARCH RESULTS OVERVIEW
Table 2 shows the overview of the search results.By applying the exclusion criteria from the initial result of 1132 papers only 29 were selected for full reading.
At this point we also verified the validity of research queries.We performed a search without "CBD" term, as presented in Table 2.One can notice that there is no significant difference when this term is left out and "component-based" is used.Finally, by using the terms "component" or "components" alone 7696 results were found in Scopus only.One can easily

After the second complete reading of all papers 27 Number of papers which are accessible (full text of 3 papers wasn't found in any database)
conclude that this terms cannot be used by themselves and considering only the keywords the following query was used: TITLE-ABS-KEY((web AND development) OR (web AND architecture)) AND TITLE-ABS-KEY ("component based" OR "component-based" OR "component" OR "components") The exact search queries with all the restrictions are available in Appendix A of this paper.Appendix B contains the list of final 29 papers labeled [A1] - [A29].
From the final 29 papers which were selected for full reading, 3 of them could not be accessed for full reading.These papers are [A1]- [A3] and because they were unavailable, they are not present in all parts of this review.Also, after all the papers were fully read, two additional ones were excluded which left as with final 24 papers [A4]- [A27].The two excluded papers are out of scope.Paper [A28] is related to quality assessment and not web development while paper [A29] is business oriented, but mentions frameworks.

RESULT ANALYSIS DATABASES AND YEAR DISPERSION
As it can be seen by the right data bar in Figure 2, considering the number of papers found, Scopus is the most inclusive database with 22 of final 24 papers (and with 7 found only in Scopus), while Science Direct was the most exclusive with only 1 paper.The remaining two papers not found in Scopus, first was found only in IEEE [A23], while the second one [A20] was in ACM and Web of Science.The number of papers included in the database which were selected for final reading (the original 27 papers, which includes 3 inaccessible) is shown on the left data bar.Here, Scopus was also the most inclusive database with 25 of 27 papers.The two missing papers are the same as previously and both of them are found in IEEE Xplore.Therefore, combining Scopus and IEEE Xplore gives most of the relevant papers in this research area.The database search was performed in mid-January of 2014 and it was set to include papers from previous 10 years, i.e. 2004-2014.Figure 3 shows the dispersion of papers between years.As it can be seen, most of the papers, i.e. around 50% of them, were written between 2005 and 2006.This should be a consequence of Web 2.0 which was popularized by Tim O'Reilly in late 2004 at the O'Reilly Media Web 2.0 conference.At that time there was an increase of web application development and since web applications started growing more complex, it was necessary to ease the development process and perform research in this direction.The solution was found in web development frameworks and component based techniques (as one of the options).Earlier papers are focusing on theoretical aspects while later on they became more practical providing different benchmarks and case studies.

PUBLICATION TYPES
Figure 4 shows publication types.Two-thirds of selected papers are conference proceedings while one-third of remaining papers were published in journals.List of conference proceedings and journals is presented in Table 3 and Table 4.It is interesting to notice that every paper which was selected comes from a different journal and therefore there isn't any conclusion on which journals to follow for this particular topic.However, the conferences are a bit more conclusive.Table 3 shows that two papers come from 13 th International WWW Conference Proceedings 2005 while 6 papers are published in Springer's Lecture Notes.This indicates that Springer database should also be included in future investigation of this area.

RESEARCH METHODS AND TYPES
Figure 5 presents the information about most common research methods used.In 5 papers authors explicitly state that they are performing a case study while in other papers, the applied research method was inferred from the context.It turns out that case study is used by 70 % of the papers, followed by theoretical reasoning, experiment and action research.
Considering the type of the study presented in papers, Figure 6 shows that qualitative reasoning is the most popular one.20 papers use qualitative reasoning, while of the remaining 4, 2 of them use quantitative study and 2 of them use a mixed approach, i.e. qualitative and quantitative.
Table 5 provides an insight into the relation between the type of the study and the research method used.As it can be seen in the Table 5, most papers use qualitative study type performed on a case study.

CITATION
The citation count of the selected papers (including the ones not accessible) is shown in the Table 6.Citing information was taken from Google Scholar in late April of 2014.The most cited paper is [A26] which has 56 citations.Several of the following papers have relatively good citation record, but on average there are 8 citations per paper.If we exclude the papers published in last four years (because they are fairly recent), the average number of citations per paper is 11.Therefore, we can conclude that research in component based web applications needs some further investigation due to relatively low publication and citation count.However, due to exclusion of SOA related papers which is becoming hugely popular research area, it is most likely that this effected the number of publications related to CBD and web development frameworks.Also, another limiting factor is the strong search criteria which states that the framework must be explicitly mentioned.

USED CBD MODELS AND PROGRAMING LANGUAGES
In Table 7 and Figure 8 one can notice that 11 out of 24 papers haven't defined a component model.The most used component model is some variation of JavaBeans consequently making Java the most popular development language (usually J2EE).Both JavaBeans and EJB are used in 4 papers.In 3 of them, JavaBeans and EJB are used simultaneously, 2 papers use COM and Corba component models which are well known, and the remaining ones use custom component models.
Considering programming languages (Figure 9), Java is most widely used, with 12 out of 21 papers using it.Among these, 10 of which using explicitly Java and in 2 paper Java is an option (papers [A21] and [A12]).Paper [A15] also uses Java, but only to build XML which is then used to develop web applications, therefor it is not counted since this XML can be generated in many programming languages.

CBD BEST PRACTICES
Most papers do not explicitly report on any major problems while using the component approach, but rather they report suggestions for future researchers and practitioners concerned with CBD.All the suggestions are aggregated and presented in Table 8.

OVERVIEW OF FRAMEWORK USAGE
All the selected papers authors use some type of a web development framework, which can be divided in two groups; general and specific.General frameworks are used to develop any kind of web application, i.e. they can be used in many domains, while specific frameworks Components.Rather those specific application needs should be abstracted and generic Components (Tools and Engines) should be created that can be used across many application domains."[A11] Components should be easy to use by End Users, yet they need to be complete so that it aid full capture of all the necessary 'Components parts' of the application such as front end pages, back end processing logic and database information [A16] It is not an easy task to develop an in-house component framework or to integrate available preexisting COTS in enterprise applications.It actually needed far more efforts and investments than it was foreseen in the beginning (approximately 50% more work than expected)."[A16] It is not one time effort but continuous process, which needs considerable investment in time and resources.[A16] The percentage of reusability changes from application to application and often needs component modification and reconfiguration."[A16] The major benefit of an in-house Component framework development surprisingly is not the project cost and time reduction based on business logic and business functions reusability (our but the company knowledge sharing and the creation of business function components [A14] Component composition: Each component is designed to achieve some special task; several components can be composed together in a dependent series to achieve a larger task.[A14] Problem in distributed systems is distributed component management.[A18] Problem is redesign of components to be more generic, simple and fast integration procedure with arbitrary Web applications. are specialized (or limited) to only a certain type of web application, i.e. a certain domain.As it can be seen in Figure 10, authors tend to use general frameworks, however the number of specific ones is fairly significant.Table 9 and Table 10 present a detailed overview of frameworks which are in the selected papers.
In Figure 11 the time dispersion of framework types is given.As it can be seen, in last four years general frameworks are preferred.Although there is one exception, one can notice that there seems to be the stabilization of the research domain.Initially, there was a lot of specific frameworks but due to growing complexity of web applications, researchers seem to use existing and already proven frameworks.

Paper Framework description [A4]
New model openMVC is a framework which enables building web applications that then can change Style Information, Layout and validation constraints updated without coding.eCommerce shopping cart application was built as a prototype.

[A6]
Framework for developing and testing web applications.Model (CBTOWADM) that is used simplifies the difficulty of web application testing.Authors focus on functional testing based on a UML model.Model can also be used for developing web applications.

[A11]
Framework which end-users use to develop web applications using components developed by web developers.This framework targets SME's (small and medium enterprise) web applications [A12] Plug-in framework Plux, for integrating components into web applications.
[A14] Web app framework for end-user development, for end-users to quickly implement simple sites with backend logic, like using a database.Framework is meant for SME web applications.[A15] XVM is XML virtual machine used as framework for developing and deploying XMLbased applications, it is not a programing language.XML application container is built on top of XVM.

[A16]
Component framework in which different components are plugged (containing specific business logic) in and then are used to build Web applications.Currently Finance and Crediting web applications was built.Some components are domain specific like portfolio management.[A17] Real Time Distributed Control Systems (RTDCS) is a Framework for loose integration of COTS tools.Idea is integration of domain specific COTS tools, in the sense of automatic interchange of formally expressed information through standard and free software middleware.A prototype was built, which integrates several COTS tools aimed to develop RTDCS.

[A18]
Framework that can easily be configured to work and integrate into an arbitrary application, and by configuring the framework, we configure all the components created using it and make those accessible to the host application.[A19] WebComfort (Framework) a dynamic component-based CMS platform which allows users to manage and operate complex web applications in a dynamic and integrated fashion.

[A21] Framework for developing component based open hypermedia systems (CB-OHS). [A23]
Framework that makes the modeling, implementation, and maintenance of wireless mobile online applications intuitive and easy, especially for students and beginners.
Framework decomposes a complex online application into modules.Each module is a plug-and-play unit.The components in the libraries can be directly called and used.
Table 9. Usage of CBD and connection to architecture (continuation from p.266).

Paper Usage of Components Connection to architecture [A25]
Framework for developing web applications using COTS components.
[A27] Framework for developing any kind of web applications used in typical industrial enterprises.Framework gives a repository of components that can be used and customized to build new web applications, especially suitable for small and mid-sized enterprises with low IT expertise.Two types of Components: " (a) Tools that allow End Users to create and assemble applications and (b) Engines that could be used to run these applications."[A11] Architecture not particularly described.
Framework is built so that end-users can use existing components to build new applications, or developers can create new component include into Framework and this can be further used again by end-users.

[A16]
Components contain business logic or presentation logic, with connectors to HTTP, JDBC, JNDI, CORBA, RMI Architecture is multi-tier (client, web (presentation), business, and database).
Components are used at web and business tier.

[A17]
Components are generated by different tools.These components are then used to build new applications.Enterprise Java Beans are a group of classes responsible for achieving the tasks implied in the business logic (the implementation of the services offered over RTDCS data).
The Model Collaboration Engine (MCE) architecture is based on View Model Approach."Each of the Domain-Specific Models shows only the information about the system relevant to a specialist (or tool).Four models or views (more can be added) are identified as Domain-Specific: Control System (architecture independent system functionality), Distribution System (network topology and services), Real Time System (software architecture and temporal issues) and Software Engineering (code and documentation generation).

" [A17] [A21]
"Component/Structure server: Reifies the domain specific abstractions, providing the domain specific services to clients.They are semi-autonomous components, since they rely on the infrastructure services for common functionality.They establish a well-defined interface for communication with client applications."[A21] Layered architecture is used in CB-OHS.These tiers are: client, structure server (components) and infrastructure.Layered architecture is used (Database, Core, third layer, application layer)."The core package from iKDD models the component abstraction, implements a graph-based processing module, and covers basic components e.g.XML import / export."[A9]

[A13]
Components have specialized functionalities to client modules that require server-based functionality (e.g.data analysis or computation of visualizations that require large data set).
Client-server architecture is used.Components are used on server side.

[A22]
"Using component-based programming, we developed a highly maintainable system, which contains three components packages: Monitoring Controls Package based on ActiveX, Analysis Controls Package based on ActiveX, and Diagnosis Algorithms Package based on COM." [A22] "A four-tier model based on the Microsoft's tier concept is adopted in the WRMFDS, which consists of the Presentation Services Tier, the Application Services Tier, the Data Access Services Tier and the Database Services Tier."[A22]

[A23]
Layered structure of components is used.The top layer consist of components which are used to build final applications (exp.welcome component, login components …).
Three-tired-architecture is used (MVC pattern).The tires are: server, client and databases.Components are used on server side."A request-response pair contains three parts (Model, View, controller) and forms a unit.Each unit is implemented by reusing component libraries in the layered component structure and each unit can be plug-and-play into the system.

" [A23] [A24]
"There are three major roles in the 3CoFramework: component implements or wraps the domain-specific computational logic or data access; a connector implements the component interaction; a coordinator implements the distributed components and connectors management."[A24] Layered software architecture is used (Data, Information, Knowledge, Presentation) and components are used in each of these layers

Usage of Components Connection to architecture [A19]
Components are different platform features.
In the paper they say that Componentbased architecture is used.Architecture consist of: (1) Modules; (2) toolkits; (3) extenders; (4) data repository access; (5) module actions; and ( 6) the WebComfort API.As small connections between components as possible.Paramount to some of these aspects was the usage of the Provider pattern, which is a mix of the Abstract Factory, Strategy and Singleton patterns.

[A20]
Components are content created form three layers."A Web application can usually be described in three layers.Presentation layer, business logic layer, and database layer.Each layer can be partitioned and distributed among the CDN's replica servers; In such replication approaches, content elements drawn from the three layers are structured into components that are replicated.The components are then dynamically assembled and delivered from the replica servers when they are requested."[A20] Hierarchical component-based content architecture is used.Where components are at the lowest layer.Hierarchy, top down: application, site view-web page, components.

[A5]
Component is every tier in JEE multitiered architecture which is wrapped with JADE Framework.
"In a JEE multi-tiered architecture, the Web server is classically divided in several tiers: the HTTP daemon (Apache), the servlet engine (Tomcat), the EJB business server (JOnAS), and the database tier (MySQL for e.g.Three-tired-architecture (client, application server, DB server) with MVC pattern is used.Components are used in application server.

[A12]
Component can be anything.Every user can add his own components.
Components can be server-side that are installed and executed on server.Clientside installed and executed on client and use local resources.And sandbox components installed on server and downloaded to client on demand and executed on sandbox on the client.
Component based plug-in architecture.Different components are combined by end users and web applications created.

[A18]
Framework itself is a component that can be integrated into other web applications, but also consist of components which consist of components "nested components".
MVC architecture, components are used on all MVC layers.

[A4]
Components are used in all parts of the architecture for implementing all kind of functionalities, like styling component, validation constraint component, etc.
Five layers architecture (client, presentation logic, business logic, data abstraction, database), each layer has components for some specific functionalities.

[A25]
There are 4 kinds of components (domain, common business, base business) each with their own sub components which are used in new web applications build from end users.
Each component type is a specific module in the overall architecture."We have identified web components and layered on ABCD architecture"[A25]

[A26]
Components are used to implement algorithm for creative web searching."More advanced students could also develop their own components to test out theories and improve their understanding of the base concepts of not just search engines but the various fields that play a role in information retrieval systems."[A26] "… component-based software architecture has been proposed which will allow for a range of different style systems to be developed with little overhead, thereby improving the chance of creative outcomes occurring in a different way."[A26]

[A27]
Components are used for building new web applications.They are used by enduser when they build their applications and users can customize the components with some parameters depending on their needs.In all the above cases the architectural decision is made solely by the end user, and all papers report only on developing prototypes (weather it is a framework or a web application).While most of the authors use component approach on the server side to implement various services, on the client side, 11 papers report using n-tier architecture, thus making it the most common.

SUGGESTIONS FOR FUTURE RESEARCH
If one is interested component approach and web development frameworks the most relevant scientific databases are Scopus, Springer and IEEE which will cover most of the related publications.Currently, the most relevant publications (2/3 of them being conference proceedings) were published between 2005 and 2006 which is most likely due the popularization of Web 2.0.
According to the selected papers here are some interesting research directions for the future:  Graphical tools for creating application models which are then exported to XML schemas and automatically translated into component templates for creating web applications [A11]. Enhancement of security, creating security models, and develop a complete XML virtual machine (XVM, XMLVM) development process model (analysis, deployment evaluation, performance evaluation, etc.) [A15], [A12]. Refine components to reduce end-user effort to develop web applications, minimize faults, handle exceptions [A11]. Research into component approach and mixed-media web applications [A8]. Implementation of unified conceptual models and component libraries [A22]. Model driven development approach for component web applications [A19]. Research into verification models and tools for building component based web applications [A6].
It is apparent that component based approach is becoming a serious architectural direction and there is a very recent working groups focused solely on component based development for web, including the one from the W3C [9,10].

CONCLUSION
In this paper we presented a literature review on component based development relation to web application frameworks.The original pool of related publications had 1132 papers which were, by the strict set of rules filtered out to 27 papers.Since three of them were inaccessible, 24 of them made it through to the full analysis which resulted in answers to the research questions Q 1-4 .

Q 1 :
In which way is CBD used for web application development?-There are three main approaches: a) component approach is used for creating component based frameworks which are then used for creating web application (not necessarily component oriented), b) component approach is used for building components which are the building blocks of web applications, and c) a mix of two previous approaches.In approach a) and c) the end user decides whether to use component approach for web application development while in b) component approach is imposed to the end users.
Q 2 : What is the relation between CBD and web application development?-Component approach is used mostly for server side applications.Using it on the client side is less common, but there are cases and end-users aren't constrained to use it.Most widely used architecture is n-tired with components used inside different layers.For any future researchers and practitioners it is strongly suggested to plan component approach right from the start of the application design process.Although it requires more time, true benefits (separation of concerns, better maintainability, scalability, replaceability, single point of edit, etc.) are apparent later.
Q 3 : Which component models are used for web application development?-Based on the reviewed papers it is obvious that EJB and Java beans are most preferable component models, hence Java being also the most popular programming language for this purpose.
Although, it should be noted that there are a lot of custom models also.Since Java/J2EE is a leader in this field future researchers and practitioners have a choice to make, weather to expand the existing Java based component models or create new ones which requires more time, however offers new possibilities independent of a single technology.
In which web application development domains is CBD used?-It is hard to recognize distinct domains however there are two types of web application development frameworks presented in the selected publications: a) general; used for any kind of web applications and b) specific; for developing special purpose web applications (e.g.eLearning, 3D graphics, monitoring, etc.).Majority of selected papers ( 14) describe the general framework.
Finally, the answer to the overall research question (i.e.how much of the current web application development frameworks explicitly refer to application of component-based approach) is hardly intuitive.It is apparent that most of the papers which are selected explicitly referee to component based approach, however this is the result of the selection process.While making decision, one should keep in mind the fact that the answers arise from a small number of processed papers (after filtering process).Nevertheless the answers are interesting and give an indication what is happening in the presented field.Review with more papers included should be performed to have a broader overview of the field.
There is a lot of publications dismissed which are related to SOA, and it would be very useful to perform an additional literature review with the same focus but focused on SOA.
Considering the number of papers published, it is apparent that in the past there was a minor setback of this research area however, there is a growing trend.Although component based approach is more popular in other software engineering domains, with appearance of SOA, and Web 2.0 the number of component model is growing and we envision it will still grow, especially with W3C involvement.Therefore we reckon that any future web framework researchers and practitioners should be acquainted with component based development techniques, as it will become more popular in the near future.

APPENDIX A. EXTRACT OF SEARCH QUERIES
Here are the search queries for each database:

Figure 7 .
Figure 7. Citation level of papers by years.

Figure 11 .
Figure 11.Type of frameworks per year.

Table 3 .
List of journals.

Table 4 .
List of conference proceedings.
Springer 13 2008 34th Euromicro Conference Software Engineering and Advanced Applications IEEE 14 Lecture Notes in Computer Science Springer 15 5th IEEE/ACIS International Conference on Computer and Information Science and 1st IEEE/ACIS International Workshop on Component-Based Software Engineering,Software Architecture and Reuse (ICIS-COMSAR'06) IEEE CONFERENCE PREOCEADINGS OF PAPERS THAT WERE NOT READ IN FULL 16 Proceedings of the IASTED International Conference on Internet and Multimedia Systems and Applications IASTED 17 ICEIS 2005 -Proceedings of the 7th International Conference on Enterprise Information Systems ICEIS

Table 5 .
Type of study and research method by paper (continued on p.261).Paper Year Type Research method Validation [A10] qualitative theoretical reasoning AMACONT project used for developing component-based adaptive web presentations.Theoretical descriptions.[A13]qualitative case study GOWARN concept from 2003 extended to new locations (AIS (atlas information system) for Campi Flegrei, a volcanic area near Naples, Italy).

Table 5 .
Type of study and research method by paper (continuation from p.260).

Table 6 .
Papers sorted by citation level.Nested web application components framework: A comparison to competing software component models In Figure7, which presents number of cited papers by year, it can be noticed that most of the citations are from between 2005 and 2006, more than 50 %.But surprisingly the most cited paper is from 2007, and the more recent one, from 2014 is cited 9 times.It will be interesting to see if the rising trend as seen from 2011 up to 2014 will continue.

Table 8 .
Suggestions for future component-based web framework development.Components should capture domain knowledge of web application development and hide complexities from End User [A11] Components should not capture application domain specific knowledge into

Table 11 .
Usage of CBD and connection to architecture (continued on pp.269-271).

Table 11 .
Usage of CBD and connection to architecture (continuation from p.268, continued on pp.270-271).

Table 11 .
Usage of CBD and connection to architecture (continuation from pp.268-269, continued on p.271).

Table 11 .
Usage of CBD and connection to architecture (continuation from pp.268-270).

Table 11
shows for which purpose authors used component based development and how did it affect the software architecture of their web applications.There are three ways of component approach usage which one can distinguish:  Components are used for creating web development frameworksin this approach authors create component based frameworks which are used to create web applications, which can, but don't need be component based. Components used as application building blocksin this approach components are used to create component oriented web applications without the underlying framework. Mixed approachboth framework and web application developed with this framework are component oriented.