Virtual Realty Listing Services (VRLS) is one of two demo applications described in
Web Application Architecture: Principles, Protocols and Practices.
[In this app,] a fictitious online real estate company that supports multiple listing services, a
cooperative venture common in the real estate community. Many brick-and-mortar
real estate brokers share listings for properties they want to sell or lease
with other brokers, in an attempt to attract customers who want to buy or rent these
properties. If a customer goes to one broker and buys or rents a property associated
with another, the two brokers split the commission. In this way, there is a greater
chance for all brokers to sell or rent their properties.
An online version of this service would link the web sites of several real estate
brokerages to a database of shared property listings. Customers locate the VRLS
site through links from their real estate broker, online search, print advertisements,
or word-of-mouth. On this site, they have access to property listings from many
different brokers. They can browse the available listings but need to register in
order to see details about particular properties. When customers register, they are
associated with the broker whose site referred them to the VRLS registration page.
These referring brokers are called affiliates or partners.
The application serves to illustrate best practices in web application design, employing the Model-View-Controller (MVC)
design pattern by using the Struts framework from
Apache's Jakarta project.
- The Model is a small set of JavaBeans persisted in a relational database:
- The View makes use of codeless Java Server Pages that use only
the core Java Standard Tag Library
and a version of the Struts HTML taglib that supports the
JSTL Expression Language.
- The Controller is a custom class that extends the Struts
struts-config.xml configuration file provides the action mappings
to direct requests to appropriate "actions" for processing. (This architecture employs two of Sun's
Core J2EE Patterns:
The second demo application described in the book is the VRLS administrative interface, written in Ruby on Rails. Instructions for building and deploying this application can be found here.