SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Design and use of software architectures: adopting and evolving a product-line approach
Design and use of software architectures: adopting and evolving a product-line approach
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
On the criteria to be used in decomposing systems into modules
Communications of the ACM
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Proceedings of the 25th International Conference on Software Engineering
Eliminating redundancies with a "composition with adaptation" meta-programming technique
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
A comparative study of language support for generic programming
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Beyond templates: a study of clones in the STL and some general implications
Proceedings of the 27th international conference on Software engineering
An investigation of cloning in web applications
WWW '05 Special interest tracks and posters of the 14th international conference on World Wide Web
Detecting higher-level similarity patterns in programs
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Industrial experience with building a web portal product line using a lightweight, reactive approach
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Research journey towards industrial application of reuse technique
Proceedings of the 28th international conference on Software engineering
Proceedings of the 28th international conference on Software engineering
Proceedings of the 2006 international workshop on Summit on software engineering education
Using Server Pages to Unify Clones in Web Applications: A Trade-Off Analysis
ICSE '07 Proceedings of the 29th international conference on Software Engineering
DocLine: A method for software product lines documentation development
Programming and Computing Software
University-industry collaboration journey towards product lines
ICSR'11 Proceedings of the 12th international conference on Top productivity through software reuse
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Hi-index | 0.00 |
One of the themes in building reusable and maintainable software is identifying similarities and designing generic solutions to unify similarity patterns. In this paper, we analyze capabilities of J2EE to effectively unify similarity patterns found in Web Portals (WP). Our experimentation involved a family of WPs to support information sharing and team collaboration, built by our industry partner. While J2EE provides useful mechanisms for reuse of common services across components, we found its limitations in systematic across-the-board reuse in application domain-specific areas. To solve these problems, we applied a generative programming (GP) technique of XVCL on top of J2EE. By unifying similarity patterns, we increased the clarity of portal's conceptual structure as perceived by developers, reducing also the size of the original J2EE WP by 61%. Our solution enhanced traceability of information that mattered during changes. Based on that we hypothesized that XVCL-enhanced J2EE WP would be easier to maintain than the original J2EE WP. In the paper, we describe our solution and evaluate its engineering merits in both quantitative and qualitative ways.