not profit from collaborative features (nowadays a de
facto requirement) and the limited resources provided
by the browser (i.e. processing power, storage
alternatives, etc.), other approaches have a traditional
client-server architecture, allowing, for instance, the
synchronization of devices to support distributed user
interfaces , the use of complex services that cannot
be deployed only on client-side (such as the use
of a recommender system, and social Web content
management tools, such as Diigo (Diigo, 2017). The
reader must note that all these back-end counterparts
are dedicated applications specifically designed and
deployed for the particular kind of augmentation,
but, to our knowledge, there are not approaches
considering both client and server-sides in a more
generic way. That is, the end-user only contribute
designing client-side improvements keeping him-self
excluded from contributing complex behavior at
server-side because the lack of coding skills that let
him face technical challenges (e.g. Database access,
complex algorithms design and coding, and User
Interfaces component definition).
This paper relies on our previous work (Urbieta
et al., 2017) that presents a Web Augmentation
modeling approach contemplating a client-server
application that hides the back-end complexity to
users. One manner to reduce the associated
complexity to this task is to rise up the level of
abstraction required to specify this logic. With this in
mind, we present a novel domain specific modeling
languages that may be used in a dedicated server
to create Web augmentation back-end counterparts
extending our previous work (Urbieta et al., 2017).
On client-side, we propose a specialized end-user
development tool that allows them to recreate an
object model of the target application (the one being
augmented) by abstracting Web contents. As we
will discuss later, applications owners could use
our ideas and supporting tools also to weave new
functionalities without the need of modifying the
application’s core. In (Urbieta et al., 2017) we
relied on IFML for designing server-side artifacts,
and Web Object Ambient (WOA) modeling pages
enhancements. Regarding the former, WebRatio
(WebRatio, 2017) is the official tool for IFML which
aids engineers to design and generates the running
application meeting the designs. While the WOA tool
is a Chrome plugin providing a natural ambient for
extending the Web. The combination of tools results
in a hybrid web-desktop environment. The experience
feels awkward to the engineers as they must jump
from one realm (Web) to other (desktop) and the
other way around when developing an augmentation.
The usage of Desktop-based tools like Webratio
introduces additional effort than a Web-based one
because it requires local resources to run the platform,
and time to install the tool. Finally, IFML presents
the benefit of modeling broad domain spaces but it
also leaks the specificity for certain domain specific
problems. This results in investing time to learn
language elements that hardly ever will be used to
develop an extension.
In this work we present a Web CASE tool to model
server-side behavior for Web augmentation (Urbieta
et al., 2017). This tool complements the current
WOA tool providing a full web-based experience
for designing and running Web augmentations that
requires client and server-side components. The
tooling will provide the following functionalities:
• Conceptual model design: Definition of the
Entities and Relations diagram (domain model).
• Creation of the Database and tables derived from
the Entity-Relationship conceptual model where
entities are mapped to tables and relations to
foreign keys (in the cases of relations one to one or
one to many) or intermediate tables (in the cases
of relations many to many).
• Navigation model. A domain specific design
model to describe who Web augmentation are
browsed as well as the actions that the user can
perform. It is inspired in mature Web modeling
languages such as IFML or OOHDM (Rossi et al.,
2008) so the augmentation navigation is specified
using Node/Link (frontend).
• The server-side component generation that allows
rendering the navigation model by creating the
pages with the elements contained in them: Lists,
Forms and Scripts that will be described later in
this article. The links between the pages will be
rendered as hyperlinks between them.
• API REST generation that exposes endpoints
dynamically created based on the navigation
model. This will also let developers, with
basic experience in JavaScript and API
REST developments, create their own custom
endpoints and thus send and consume server-side
information from the client-side.
As described in the previous points, once the
diagrams are obtained, it will be possible to create
the database derived from the conceptual model, and
create and render the modeled pages with their links
and detailed functionalities for each one.
The main contributions of this work are: (1)
a web based Model-driven platform for modeling
augmentation (2) comprehensive examples . The
paper is organized as follows. Section 2 describes
the background. Then, the Section 3 introduces
APMDWE 2019 - 4th International Special Session on Advanced practices in Model-Driven Web Engineering
478