ABSTRACT
Customizability and extensibility are important goals for enterprise application software. Complex enterprise applications should be made customizable to the needs of individual users, in order to simplify and streamline them. Enterprise applications should also be extensible, since it is impossible to fully meet customer requirements with a standard product. End users and third parties should be able to safely contribute any functionality the manufacturer did not already provide in the base product. We present an approach where we adopt the plug-in idea to the enterprise domain in order to improve customizability and extensibility. We designed and implemented a new plug-in platform that enables developers to build highly flexible applications, by breaking it up into a thin core application that can be extended with features that are plugged into the core and integrate seamlessly with it. Using run-time system adaptation mechanisms an application cannot only be customized to the needs of individual users, but can also be reconfigured for a specific working context without restarting it. The platform addresses specific requirements from the enterprise domain, such as secure and fault tolerant integration of third-party extensions. Designing customizable and extensible applications that are adaptable at run time brings up specific design issues. We will create design guidelines and best practice patterns, in order to provide guidance for software architects building plug-in-based applications. Finally, the platform and design guidelines will be validated by an industrial case study and a comparison study conducted with software engineering students.
- Wolfinger, R., Dhungana, D., Prähofer, H., and Mössen-böck, H.: A Component Plug-in Architecture for the .NET Platform. 7th Joint Modular Languages Conference (JMLC 2006), Oxford, UK, September 13--15, 2006. Google ScholarDigital Library
- Wolfinger, R., and Prähofer, H.: Integration Models in a .NET Plug-in Framework. SE 2007 -- the Conference on Software Engineering, Hamburg, Germany, March 27--30, 2007.Google Scholar
- Wolfinger, R., Reiter, S., Dhungana, D., Grünbacher, P., and Prähofer, H.: Supporting Runtime System Adaptation through Product Line Engineering and Plug-in Techniques. 7th International Conference on Composition--Based Software Systems (ICCBSS 2008), Madrid, Spain, February 25--29, 2008 (Best Paper Award). Google ScholarDigital Library
Index Terms
- Plug-in architecture and design guidelines for customizable enterprise applications
Recommendations
Adding genericity to a plug-in framework
GPCE '10: Proceedings of the ninth international conference on Generative programming and component engineeringPlug-in components are a means for making feature-rich applications customizable. Combined with plug-and-play composition, end users can assemble customized applications without programming. If plug-and-play composition is also dynamic, applications can ...
Composing user-specific web applications from distributed plug-ins
Plug-in frameworks support the development of component-based software that is extensible and can be customized to the needs of specific users. However, most plug-in frameworks target desktop applications and do not support web applications that can be ...
Adding genericity to a plug-in framework
GPCE '10Plug-in components are a means for making feature-rich applications customizable. Combined with plug-and-play composition, end users can assemble customized applications without programming. If plug-and-play composition is also dynamic, applications can ...
Comments