skip to main content
research-article

Achieving Software Reuse and Integration in a Large-scale Software Development Company: Practical Experience of the Lion Project

Published: 28 July 2015 Publication History

Abstract

This paper presents the practical experience and results of the Lion Project, which aimed to improve software development times at Heinsohn Business Technology (HBT), a large-scale Colombian software development company. The main result of this project is the LionWizard Framework, a set of libraries and tools with a focus on large-scale software reuse and integration. The Lion- Wizard Framework integrates all of the existing libraries at HBT using Maven and provides a Wizard. The latter uses code generation and program transformation to automatically integrate all of the required components into an initial codebase in Java EE. The Wizard provides sufficient exibility to seamlessly integrate future components into the development process. Before the Lion Project, software developers required several days of even weeks to integrate all of the required components into a code base for each project. This new framework reduces those times to a few hours.

References

[1]
Larman C. Agile and Iterative Development: A Manager's Guide. Addison-Wesley Professional; 2003.
[2]
Gacek C, Knauber P, Schmid K, Clements P. C. Gacek, P. Knauber, K. Schmid, and P. Clements.Successful software product line development in a small organization. A case study. Fraunhofer Institut for Experimental Software Engineering (IESE); 2001.
[3]
Heinsohn Business Technology;. Available from: http://www.heinsohn.com.co/.
[4]
Oracle. Java EE; 2013. Available from: http://www.oracle.com/technetwork/java/javaee/overview/index.html.
[5]
Foundation A. Maven - Introduction to Archetypes;. Available from: http://maven.apache.org/guides/introduction/introduction-to-archetypes.html.
[6]
Protecci_on Pensiones y Cesant__as;. Available from: http://www.proteccion.com/portal/secciones/PROTPORTAL/HOME/seccion_HTML.html.
[7]
Team SJ. Seam Framework - API and Reference Documentation;. Available from: http://seamframework.org/Seam3/APIAndReferenceDocumentation.
[8]
Geary D, Horstmann CS. Core JavaServer Faces. 3rd ed. Prentice Hall; 2010.
[9]
Keith M, Schincariol M. Pro EJB 3: Java Persistence API. Apress; 2006.
[10]
Allen D. Seam in Action. Manning Publications; 2008.
[11]
Loughran S, Hatcher E. Ant in Action: Covers Ant 1.7. Second edition ed. Manning Publications; 2007.
[12]
Foundation A. The Apache Velocity Project; 2007. Http://velocity.apache.org/.
[13]
Society VS. FreeMarker: Java Template Engine Library - Overview;. Available from: http://freemarker.org/.
[14]
Obeo. Acceleo; 2013. Available from: http://www.eclipse.org/acceleo/.
[15]
Pawlak R, Noguera C, Petitprez N. Spoon: Program Analysis and Transformation in Java; 2006. Available from: http://www.inria.fr/rrrt/rr-5901.html.
[16]
Visser E. Stratego: A Language for Program Transformation Based on Rewriting Strategies System Description of Stratego 0.5. In: Middeldorp A, editor. Rewriting Techniques and Applications. vol. 2051 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg; 2001. p. 357--361. Available from: http://www.springerlink.com/content/epqlg6yp45aywqak/abstract/.
[17]
Kelly S, Tolvanen JP. Domain-Specific Modeling: Enabling Full Code Generation. 1st ed. Wiley-IEEE Computer Society Pr; 2008.
[18]
Klint P, van der Storm T, Vinju J. RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation. In: Source Code Analysis and Manipulation, 2009. SCAM '09. Ninth IEEE International Working Conference on; 2009. p. 168--177.
[19]
Kalleberg KT, Visser E. Fusing a Transformation Language with an Open Compiler. Electronic Notes in Theoretical Computer Science. 2008 Apr;203(2):21--36. Available from: http://www.sciencedirect.com/science/article/pii/S1571066108001473.
[20]
Franky MC, Pavlich-Mariscal JA. Improving Implementation of Code Generators: A Regular-Expression Approach. In: CLEI 2012; 2012.
[21]
Kent S. Model Driven Engineering. vol. 2335 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg; 2002. p. 286--298. Available from: http://www.springerlink.com/content/9vuqb4hp8fyg2adv/abstract/.
[22]
Bézivin J. In search of a basic principle for model driven engineering. Novatica Journal, Special Issue. 2004;p. 21--24. Available from: http://www.dei.isep.ipp.pt/~alex/publico/mde/up5-2Bezivin.pdf.
[23]
Tolvanen JP. MetaEdit+: integrated modeling and metamodeling environment for domain-specific languages. In: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications. Portland, Oregon, USA: ACM; 2006. p. 690--691. Available from: http://portal.acm.org/citation.cfm?id=1176617.1176676.
[24]
Foundation E. Eclipse Modeling Framework (EMF); 2013. Available from: http://www.eclipse.org/modeling/emf/.
[25]
Systems S. Enterprise Architect - UML Design Tools and UML CASE tools for software development;. Available from: http://www.sparxsystems.com/products/ea/index.html.
[26]
Paradigm V. Visual Paradigm UML; 2013. Available from: http://www.visual-paradigm.com/product/vpuml/.
[27]
Magic N. MagicDraw;. Available from: http://www.nomagic.com/products/magicdraw.html.
[28]
Gentleware. Gentleware - model to business: gentleware homepage; 2010. Available from: http://www.gentleware.com/.
[29]
Solutions IS. Integranova M.E.S.;. Available from: http://www.integranova.com/integranova-m-e-s/.
[30]
Valenciana G. MOSKitt;. Available from: http://www.moskitt.org/.
[31]
Zhu N, Grundy J, Hosking J, Liu N, Cao S, Mehra A. Pounamu: A meta-tool for exploratory domain-specific visual language tool development. Journal of Systems and Software. 2007;80(8):1390--1407. Available from: http://www.sciencedirect.com/science/article/B6V0N-4MFJJ1Y-1/2/404a59d55eb392e5e2976730d2a69ee0.
[32]
Gilbert J. Taylor. Model Driven Architecture on Rails;. Available from: http://taylor.sourceforge.net/index.php/Overview.
[33]
Foundation A. Maven - The Central Repository;. Available from: http://search.maven.org/#browse%7C47.
[34]
Van Zyl J. Maven: The Definitive Guide;. Available from: http://shop.oreilly.com/product/9780596517335.do.
[35]
Foundation A. Apache Ant;. Available from: http://ant.apache.org/.
[36]
Foundation A. Apache Ivy;. Available from: http://ant.apache.org/ivy/.
[37]
Colpensiones - Administradora Colombiana de Pensiones;. Available from: http://www.colpensiones.gov.co/Default.aspx.
[38]
Sánchez P, Loughran N, Fuentes L, Garcia A. Engineering Languages for Specifying Product-Derivation Processes in Software Product Lines. In: Ga_sevic D, Lämmel R, Van Wyk E, editors. Software Language Engineering. vol. 5452 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg; 2009. p. 188--207. Available from: http://www.springerlink.com/content/70373g8230r88369/abstract/.
[39]
Pohl K, Böckle G, Linden FJvd. Software Product Line Engineering: Foundations, Principles and Techniques. 2005th ed. Springer; 2005.
[40]
Clements P, Northrop L. Software Product Lines: Practices and Patterns. 3rd ed. Addison-Wesley Professional; 2001.
[41]
Parra C, Giral L, Infante A, Cort_es C. Extractive SPL adoption using multi-level variability modeling. In: Proceedings of the 16th International Software Product Line Conference - Volume 2. SPLC '12. New York, NY, USA: ACM; 2012. p. 99--106. Available from: http://doi.acm.org/10.1145/2364412.2364429.
[42]
Kang KC. Feature-oriented Domain Analysis (FODA): Feasibility Study; Technical Report CMU/SEI-90-TR-21 - ESD-90-TR-222. Software Engineering Inst., Carnegie Mellon Univ.; 1990.
[43]
Perrouin G, Klein J, Guelfl N, J?z?quel JM. Reconciling Automation and Flexibility in Product Derivation. In: Software Product Line Conference, International. vol. 0. Los Alamitos, CA, USA: IEEE Computer Society; 2008. p. 339--348.
[44]
Lee J, Kang S, Lee D. A survey on software product line testing. In: Proceedings of the 16th International Software Product Line Conference - Volume 1. SPLC '12. New York, NY, USA: ACM; 2012. p. 31--40. Available from: http://doi.acm.org/10.1145/2362536.2362545.
[45]
Rosen M, Lublinsky B, Smith KT, Balcer MJ. Applied SOA: Service-Oriented Architecture and Design Strategies. 1st ed. Wiley; 2008.
[46]
Newcomer E, Lomow G. Understanding SOA with Web Services. 1st ed. Addison-Wesley Professional; 2004.
[47]
Chappell D. Enterprise Service Bus: Theory in Practice. O'Reilly Media; 2004.
[48]
Database 11g j Oracle Database 11g j Oracle;. Available from: http://www.oracle.com/us/products/database/overview/index.html.
[49]
Group PGD. PostgreSQL;. Available from: http://www.postgresql.org/.
[50]
Oracle. MySQL;. Available from: http://www.mysql.com/.
[51]
Microsoft. Microsoft SQL Server;. Available from: http://www.microsoft.com/en-us/sqlserver/default.aspx.
[52]
JBoss. JBoss Application Server 7 - JBoss Community;. Available from: http://www.jboss.org/jbossas.
[53]
Oracle. GlassFish - Open Source Application Server | Project Kenai;. Available from: https://glassfish.java.net/.
[54]
Oracle. Oracle WebLogic Server Technical Information;. Available from: http://www.oracle.com/technetwork/ middleware/weblogic/overview/index.html.
[55]
IBM. IBM Software - WebSphere;. Available from: http://www-01.ibm.com/software/websphere/.
[56]
W3C. XML Path Language (XPath) 2.0 (Second Edition);. Available from: http://www.w3.org/TR/xpath20/.
[57]
Foundation A. Maven - Shared Components;. Available from: http://maven.apache.org/shared/.
[58]
Inc G. Gradle - Build Automation Evolved;. Available from: http://www.gradle.org/.
[59]
Koenig D, Glover A, King P, Laforge G, Skeet J. Groovy in Action. 1st ed. Manning Publications; 2007.
[60]
Foundation A. buildr | Apache Buildr;. Available from: http://buildr.apache.org/.
[61]
JBoss. Seam Forge;. Available from: http://forge.jboss.org/.
[62]
Inc GP. Spring Roo j SpringSource.org;. Available from: http://www.springsource.org/spring-roo.
[63]
Inc GP. Spring j SpringSource.org;. Available from: http://www.springsource.org/.
[64]
Atlassian. AppFuse - Conuence;. Available from: http://appfuse.org/display/APF/Home.
[65]
Departamento Administrativo de Ciencia, Tecnología e Innovación j Colciencias;. Available from: http://www.colciencias.gov.co/.

Cited By

View all
  • (2017)Mining readme files to support automatic building of Java projects in software repositoriesProceedings of the 39th International Conference on Software Engineering Companion10.1109/ICSE-C.2017.114(277-279)Online publication date: 20-May-2017
  • (2015)ISML: A language and MDE environment to model and generate web applications with integration of existing components2015 10th Computing Colombian Conference (10CCC)10.1109/ColumbianCC.2015.7333403(100-107)Online publication date: Sep-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 40, Issue 4
July 2015
64 pages
ISSN:0163-5948
DOI:10.1145/2788630
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 July 2015
Published in SIGSOFT Volume 40, Issue 4

Check for updates

Author Tags

  1. Automatic Software Integration
  2. Code Generation
  3. Frameworks
  4. Software Reuse

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Mining readme files to support automatic building of Java projects in software repositoriesProceedings of the 39th International Conference on Software Engineering Companion10.1109/ICSE-C.2017.114(277-279)Online publication date: 20-May-2017
  • (2015)ISML: A language and MDE environment to model and generate web applications with integration of existing components2015 10th Computing Colombian Conference (10CCC)10.1109/ColumbianCC.2015.7333403(100-107)Online publication date: Sep-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media