A Lightweight Component-Based Development Approach for Enterprise Applications

Component-based development (CBD) is considered as a promising way to improve software productivity and quality by reusing some pre-existing components. However, in real practice, such a paradigm is not fully exploited by many enterprise application (EA) software companies because of the much needed effort and cost. For addressing these problems, we propose a lightweight approach that divides an EA into hierarchical component elements and maps them to a CBD environment based on Eclipse. Such an approach takes most characteristics of EAs into account and the modularity and reusability of the components are assured by OSGi. A real case study focusing on refactoring legacy software to a component-based one with our approach is illustrated its validity.

[1]  Merijn de Jonge,et al.  Build-level components , 2005, IEEE Transactions on Software Engineering.

[2]  K. Rangarajan,et al.  Modularization of a Large-Scale Business Application: A Case Study , 2009, IEEE Software.

[3]  Xia Zhang,et al.  Product Line Engineering in Enterprise Applications , 2010, SPLC.

[4]  Jason Jennings,et al.  It's Not the Big That Eat the Small...It's the Fast That Eat the Slow: How to Use Speed as a Competitive Tool in Business , 2001 .

[5]  Jeff McAffer,et al.  The Eclipse 3.0 platform: Adopting OSGi technology , 2005, IBM Syst. J..

[6]  Rob C. van Ommering Software Reuse in Product Populations , 2005, IEEE Trans. Software Eng..

[7]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[8]  Ali Arsanjani,et al.  A goal-driven approach to enterprise component identification and specification , 2002, CACM.

[9]  David F. Bacon,et al.  MJ: a rational module system for Java and its applications , 2003, OOPSLA 2003.

[10]  Dazhe Zhao,et al.  Using AOP to ensure component interactions in component-based software , 2010, 2010 The 2nd International Conference on Computer and Automation Engineering (ICCAE).

[11]  David Garlan,et al.  Architectural Mismatch: Why Reuse Is So Hard , 1995, IEEE Softw..

[12]  Tijs van der Storm Variability and Component Composition , 2004, ICSR.

[13]  Dazhe Zhao,et al.  Examining OSGi from an ideal enterprise software component model , 2010, 2010 IEEE International Conference on Software Engineering and Service Sciences.

[14]  Clemens A. Szyperski,et al.  Component technology - what, where, and how? , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[15]  John Murphy,et al.  Extracting Interactions in Component-Based Systems , 2008, IEEE Transactions on Software Engineering.

[16]  Séverine Sentilles,et al.  A Classification Framework for Software Component Models , 2011, IEEE Transactions on Software Engineering.

[17]  C. Krueger,et al.  Eliminating the adoption barrier , 2002, IEEE Software.

[18]  Dong Li,et al.  Initiating and Institutionalizing Software Product Line Engineering: From Bottom-Up Approach to Top-Down Practice , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[19]  Padmal Vitharana Risks and challenges of component-based software development , 2003, CACM.

[20]  Renata Pontin de Mattos Fortes,et al.  Domain Implementation in Software Product Lines Using OSGi , 2008, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008).

[21]  Jack Greenfield Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools , 2004, GPCE.

[22]  John Daniels,et al.  UML Components: A Simple Process for Specifying Component-Based Software , 2000 .

[23]  Jia Zhang,et al.  Towards increasing web application productivity , 2004, SAC '04.

[24]  Hong Mei,et al.  Reuse-based software production technology , 2007, Science in China Series F Information Sciences.

[25]  David S. Rosenblum,et al.  WREN---an environment for component-based development , 2001, ESEC/FSE-9.

[26]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[27]  Kung-Kiu Lau,et al.  Software Component Models , 2007, IEEE Trans. Software Eng..

[28]  R.A. Pyne,et al.  Essential Elements of a Component-Based Development Environment for the Software Supermarket , 2004, IEEE SoutheastCon, 2004. Proceedings..

[29]  David Geer Eclipse becomes the dominant Java IDE , 2005, Computer.

[30]  Dwight Deugo,et al.  Modular Java web applications , 2008, SAC '08.