Component-based Web Engineering using Shared Components and Connectors
de Spindler, Alexandre; ; (2014). Component-based Web Engineering using Shared Components and Connectors. Journal of Web Engineering, 13, 3&4. 183-202. Peer reviewed.;
Today, web development platforms often follow a modular architecture that enables platform extension. Popular web development frameworks such as Ruby on Rails and Symfony, as well as content management systems (CMS) such as WordPress and Drupal offer extension mechanisms that allow the platform core to be extended with additional functionality. However, such extensions are typically isolated units defining their own data structures, application logic and user interfaces, and are difficult to combine. We address the fact that applications need to be configured more freely through the composition of such extensions. We present an approach and model for component-based web engineering based on the concept of components and connectors between them, supporting composition at the level of the schema and data, the application logic and the user interface. We have realised our approach in two popular web development settings. First, we demonstrate how our approach can be integrated into web development frameworks, thus bringing component-based web engineering to the developer. Second, we present, based on the example of WordPress, how advanced end-users can be supported in component-based web engineering by integrating our approach into CMS. The applicability of our approach in both settings demonstrates its generality.