an specific WCMS. For the first challenge, (D
´
ıaz
et al., 2011) propose a solution to harvest models from
databases. For the latter, (Souer et al., 2011) propose
the creation of a website platform independent model
and then, a transformation to an specific WCMS. As
a business domain model is not used in this approach,
the insertion of the content in the website is not cov-
ered, requiring a manual process once the website has
been deployed into a WCMS platform.
(Diaz and Martin, 2009) define a domain model
and using transformation rules, generate a website
Platform Specific Model (PSM). Because platform-
specific models are used, websites are not generated
on different platforms. Additionally, the structure and
presentation elements are specified inside the trans-
formation’s rules. When a different structure for the
website is needed, a web designer must define new
transformation rules resulting in difficult changes to
be implemented.
The strategy of creating a model driven product
line is present in (Martinez et al., 2009) (Souer et al.,
2011). We follow the same track but, as we show
in the next section, our approach is different to theirs
in the way we build the assets of the product line
during domain engineering and in the way we de-
rive a concrete website during application engineer-
ing. The main contribution of our work is the diverse
configuration possibilities that we provide to the web-
site creator. These include the flexibility of choosing
the structure of the website, the presentation and the
WCMS platform.
3 MONAD
Our framework presented in Figure 1, is a model
driven software product line (MD-SPL) used to gen-
erate websites. This SPL uses a set of model-based
assets to generate websites supporting variability on
structure, presentation and the WCMS platform.
MONAD defines two main processes for an SPL:
(1) Domain Engineering, where the domain expert
and website designer define the website’s variability
and the assets that allow to implement it, creating el-
ements 1, 2, and 3 of figure 1; and (2) Application
Engineering, where a website creator defines a busi-
ness domain model and configures the variability to
derive a set of websites using the assets defined in the
domain engineering, performing steps 4, 5 and 6 of
figure 1.
To illustrate the processes for domain and applica-
tion engineering in MONAD, we present an SPL for
generating websites for product catalogs. This case
study was introduced by (Diaz and Martin, 2009) to
illustrate model-driven website generation. We ex-
tend the case study to include website variability and
present our approach.
MONAD supports three types of variability: (1)
website structure, (2) website presentation, and (3)
WCMS platform.
Variability on website structure refers to possible
variations in the general structure of the website (i.e.,
the arrangement of the web pages, the types of web
pages, and the content to be included in each type of
web page). For instance, in a product’s catalog web-
site, a way to show the information of the products in
the catalog, is to create for each product a webpage
showing a product’s particular information. On the
other hand, a second option is to display all the prod-
ucts in a single webpage, using a list, where each list
item contains a product’s information.
Variability on website presentation refers to possi-
ble variations in the visual design, mainly by selecting
presentation templates that configure the icons, colors
and font types of the website.
Variability on WCMS platform refers to possible
WCMS platforms on which MONAD should deploy
the websites.
3.1 Domain Engineering
3.1.1 Building of Website Assets
In MONAD, we introduce a new type of asset called
Domain Template that allows web designers and do-
main experts to define the website’s structure, specify
the rules of how to generate the content and define
where to include it in the website structure.
Domain Template. is composed by the following
set of models: (1) a domain-specific meta-model de-
scribing the vocabulary and elements of the business
domain, (2) a website model specifying the website
structure and the different page elements designed for
this business domain, and (3) a weaving model indi-
cating in which parts of the website model must be
included which elements of the domain.
Business Domain Meta-model. defines the vocab-
ulary and the elements in the domain. For instance, in
the manufacturing domain, a business domain meta-
model must be defined considering elements such as
catalog, category and product.
During application engineering, for each type of
website, a domain model must be created based on
this meta-model. Figure 2 shows an example meta-
model for product catalogs for manufacturing compa-
nies.
WEBIST2013-9thInternationalConferenceonWebInformationSystemsandTechnologies
88