Plug-in architecture and design guidelines for customizable enterprise applications

  • Authors:
  • Reinhard Wolfinger

  • Affiliations:
  • Johannes Kepler University, Linz, Austria

  • Venue:
  • Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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.