2.7 Technological Aspects [T]
Logging, caching, load balancing and profiling (to
name a few) are some of the aspects that engineers
need to build high scalable Web applications (Hull,
2013). The lack of any of these poses some limita-
tions on the type of application that you can build.
For instance, lacking a caching strategy forces the
application to compute or fetch information for eve-
ry request limiting the application growth. Addi-
tionally it may add the following problems:
Run out of DB connections: Being not able to
cache information stored in a DB requires
the usage of a DB connection for every re-
quest. Thus, because of a DB limitation is-
sue, the maximum number of users able to
access the Web application is equal to the
number of DB connections and as a conse-
quence, new users won’t be able to access
the DB.
Increasing response time: If we can’t cache
external service calls, those calls need to
happen every time thus increasing the over-
all response time of the requested Web
page.
Increase in hardware needed: If no cache is
provided, we may need to use more hard-
ware to recompute values that were com-
puted before.
Though caching is fairly simple aspect that is in-
trinsic to application development, MDWE consider
it, and the aforementioned aspects, as “technologi-
cal”. Being part of this category means that little
importance has being paid in the models and as a
consequence engineers will have to tweak them in
the generated code. As none of the MDWE tools
provide a roundtrip between the generated code and
the models, these “technological” tweaks have to be
adjusted every time the application is derived.
2.7.1 Guideline
The “technological” aspects need to be considered in
some way inside the model driven development. If
MDWE move to consider and model them, it would
provide a great benefit for the size and quality of the
application that can be built with MDWE tools. At
the same time, the response time can be tweak to
decrease while a bigger amount of work is handled
by the same amount of hardware; and that will clear-
ly show the benefits of using a model base solution.
2.8 Community [S, E]
In the MDWE research area, there is a good initia-
tive like the MDWEnet
8
which the main research
focus is on meta-modelling and on model transfor-
mations, and it was created with the aims of improv-
ing the interoperability between existing MDWE
approaches and their tools and to provide better
methods and solutions to the industry. Today, the
fact is that most approaches have a great lot of not
agreed aspects; i.e. (Dominguez-Mayo et Al, 2012):
Meta-models and models are different, different way
to implement transformations or different tools and
used technology among other things. Then, there is a
lack of consensus and documentation between ap-
proach designers and this entire context is causing
different situations:
On one hand, organizations do not know how
they can take advantage of these approach-
es and how they can be helped in their par-
ticular context due to the diversity set of
characteristics offered by these approaches
and the global heterogeneity associated
with specific aspects or ideas processed by
each approach.
On the other hand, under this situation is very
complicated for designers of approaches to
identify the real organization’s needs and
demands in order to improve their ap-
proaches or design new ones.
However, within the context of MDWE, there is
an exception with WebRatio. This tool support pro-
vides a big community with a big variety of tutori-
als, webinars, user guides, support, forums, and dif-
ferent types of tool certifications for users. There is
no doubt that WebRatio is the current leader tool in
the market within the context of MDWE approaches.
However, neither this tool nor this community can
be compared to other communities in the world re-
lated to Web development.
The other side of the coin of MDWE are existing
and very extended Web development frameworks in
the world like Ruby on Rails
9
, Django
10
, Grails
11
or
Codeigniter
12
among others. All of them count with
big communities of developers that provide lot of
documentation, tutorials, user guides, forums and
support among other things. In addition, these
8
MDWEnet, Retrieved April 2014 from http://www.iswe-
ev.de/activities/2007/mdwe/
9
Ruby on Rails, Retrieved April 2014 from http://rubyonrails.org
10
Django, Retrieved April 2014 from
https://www.djangoproject.com
11
Grails, Retrieved April 2014 from http://grails.org
12
Codeigniter, Retrieved April 2014 from
http://ellislab.com/codeigniter
Challenges for the Adoption of Model-Driven Web Engineering Approaches in Industry
419