Trends in Web engineering: my 4 takes from ICWE 2012

At this point of the year, just before vacation time, it makes sense to me to think to Web Engineering practices at large and draw some trends and outlook for the field after this year.
As a PC chair of ICWE 2012 (International Conference on Web Engineering), this year I can claim I had a privileged view over the entire event and I think this was a good test for assessing the field.
Furthermore, being directly involved into the organization of MDWE workshop, I have been directly exposed to the specific aspects of the model-driven field for the Web.
I see the following trends in the field:

  • still limited attention to non-functional aspects in Web application development. Honestly, this doesn’t make any sense to me and makes me think that this is one of the reasons why Web Engineering is still seen as a niche sector, both in industry and academia. Actually, at least some awareness starts appearing (e.g., some works on assessing the productivity of model-driven approaches have been discussed), but actual results are still very preliminary. And the Web is ALL ABOUT NON-FUNCTIONAL ISSUES!
  • mashups are still getting a lot of attention, as demonstrated by the successful ComposableWeb workshop too. However, I think we need to rethink a little bit this field. My feeling is that traditional mashups are no longer interesting per se. Even very well known solutions like Yahoo Pipes! have reached a limited audience, and in general mashups have never reached the maturity level that let them be used for producing enterprise-class professional applications. So, am I claiming that mashups are a complete failure? Not at all! They actually represent an important step that enabled the current trends toward Web API integration, which are probably used in most of the existing Web sites. I think that the mashup community in the future should look at the broad problem of Web API integration at large.
  • the role of model-driven approaches seems to slowly move out of its original position, strictly related to modeling of Web user interfaces. The MDWE workshop raised a very interesting discussion on the role of MDE and Agile approaches (thanks also to the support of the nice Instant Community system provided by University of Trento). Some activities, including our work towards integration of WebML modeling with social networks or towards integration with Business Process Management, try to broaden the applicability of the approaches, but I think more effort is needed to revitalize the field.
  • Finally, content and social analysis (both syntactical/textual and semantic) is getting more and more interest in the community. This is demonstrated by the wide set of well-attended ICWE tutorials that addressed these issues (The Web of Data for E-Commerce, Epidemic Intelligence for the Crowd, SPARQL and Queries over Linked Data, Natural Language Processing for the Web).
If you see some other interesting trends in Web Engineering, feel free to share your thoughts!

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Sufficiently advanced software development methodology

I’ve been intrigued today by a bold tweet by Meinte Boersma (see his blog to know more about him and his activities)

Any sufficiently advanced software development methodology is indistinguishable from model-driven.

Meinte, I personally fully agree with you. Being also an advocate of Model driven development (and model driven in general, as this blog’s title demonstrates), this is not surprising at all.

This also opened up a new line of discussion, on whether MD* should be named a methodology at all or not.
Personally, I’m again with Meinte and I would say that MD* is much more than a bunch of tools. I think it is actually a methodology, or even more an overall way of thinking. If we want to delve into it: I think it’s a way to make explicit how we should think.

But real question as I see it is :
why can’t an advocate of any discipline state the same it for its own approach?
(e.g., development approaches like: Agile, Lean, test-based, search-based, …)

My response:
MDE is actually in a much better position, because it’s a way for formulating, stating and formalizing ways of thinking that are inherent with the human way of seeing the world (i.e., abstraction). That’s why MDE / MDD advocates can actually say that advanced software development methodology is indistinguishable from model-driven.

What’s your response?

Let’s discuss them all here!

[Incidentally, this is my post #100 on this blog! Thanks to all of you readers and contributors]

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Invited Challenge Talk on Search Computing at ESEC/ ACM SIGSOFT FSE 2009

I have been invited to present a Challenge Talk at ESEC/FSE 2009, in Amsterdam on Search Computing. I presented the following talk on 28 August 2009 at Vrije University:

Title: Engineering Search Computing Applications: Vision and Challenges
Abstract: Search computing is a novel discipline whose goal is to answer complex, multi-domain queries. Such queries typically require combining in their results domain knowledge extracted from multiple Web resources; therefore, conventional crawling and indexing techniques, which look at individual Web pages, are not adequate for them. This talk will sketch the main characteristics of search computing and highlight how various classical computer science disciplines – including software engineering, Web engineering, service-oriented architectures, data management, and human-computing interaction – are challenged by the search computing approach.

Web Engineering: WebML and WebRatio

Since June 2000, I work in research projects related to Web Engineering. Web Engineering is the scientific discipline devoted to the study of methods, models, languages, and processes for the development of Web applications.
The Web Modelling Language (WebML) is a visual notation for specifying the composition and navigation features of hypertext applications.
WebML provides graphical, yet formal, specifications, embodied in a complete design process, which can be assisted by visual design tools. The main objectives of the WebML design process are:

  • expressing the structure of a Web application with a high-level description, which can be used for querying, evolution, and maintenance;
  • providing multiple views of the same content;
  • separating the information content from its composition into pages, navigation, and presentation, which can be defined and evolved independently;
  • storing the meta-information collected during the design process within a repository, which can be used during the lifetime of the application for dynamically generating Web pages;
  • modelling users and communities explicitly in the repository, to permit the specification of personalization policies and one-to-one applications;
  • enabling the specification of data manipulation operations for updating the site content or interacting with arbitrary external services.

WebML is patented by Politecnico di Milano, but can be used freely.

The WebML modeling language and its accompanying design method are currently implemented in a commercial Web design tool suite, called WebRatio.
With respect to the WebML development process, WebRatio covers the phases of data design and hypertext design, and supports implementation by automating the production of the relational database and of the application page templates.
Thanks to the automatic generation of J2EE code, the tool can be used for fast-prototyping, thus shortening the requirements validation cycle. Differently from traditional prototyping tools, which generate application mock-ups, the WebRatio code generator produces application modules running on state-of-the-art architectures, and can be used for implementation, maintenance, and evolution.