Modular Rice University Bidding System (mRUBiS)


Update (01 Feb 2018)

  • mRUBiS as an exemplar for model-based architectural self-adaptation is now available at GitHub. It provides a simulator and architectural runtime model of mRUBiS to develop, evaluate, and compare self-adaptation solutions.
  • The real prototype of mRUBiS realized with EJB3 technology, deployable to the GlassFish application server, and extended with the ten filter components is available at GitHub. The previous prototype without the ten filter components is available below for download.

mRUBiSIn the context of our research on Models@run.time for Engineering Self-Adaptive Software, we employ mRUBiS, the modular Rice University Bidding System, which is an online marketplace realized with the Enterprise Java Beans 3 (EJB3) technology, as an application example. Originally, RUBiS (Rice University Bidding System) "is an auction site prototype modeled after eBay.com that is used to evaluate application design patterns and application servers performance scalability" (cf. RUBiS website). We re-engineered RUBiS to mRUBiS based on two goals. First, we modularized the architecture of RUBiS by having multiple, explicit components (multiple EJB modules for different services of RUBiS). Second, we migrated RUBiS from EJB2 to EJB3. Thereby, we extended the original version with additional services such as an Inventory Service.

Having a modularized or component-based architecture allows us to evaluate architectural adaptation strategies that add or remove components or connections between components. The following figure shows the architecture of mRUBiS.

mRUBiS ArchitectureEach component of this architecture corresponds to an EJB Module that can be individually deployed, which supports reconfiguration of the architecture by adding or removing components.

Status and Availability

mRUBiS has been completely implemented targeting the GlassFish application server. The mRUBiS application is available for download:

download mRUBiS-0.1.0.zip (203 downloads)

Updates

Recently, we extended mRUBiS with additional ten components forming a pipe of filters that aim for improving the quality of search results. The resulting architecture is illustrated by the following figure. This extended mRUBiS is available at GitHub.

mRUBiS Architecture (new)

Acknowledgment

We would like to thank the RUBiS team for initiating and maintaining the free and open source RUBiS project.

Project Team

Related MDELab Projects

Comments are closed.