There is probably no invention in the history of mankind that had such a profound
impact on our lives in such a short time as the World Wide Web. Twenty years ago,
Tim Berners-Lee has developed the first versions of HTML which allowed to weave
documents into the large hypertext document that we know today. It was soon realized
that the potential of this technology is not limited to connecting texts, but may serve
as a backbone for a world-wide knowledge base called the Semantic Web. Again,
Tim Berners-Lee helped to pioneer the vision of data and knowledge being publicly
available in a formalized, machine-processable form. Based on standards like RDF
or OWL, knowledge and semantics may be freely exchanged between heterogeneous
applications. The number of facts stored in public knowledge repositories, so-called
ontologies, is increasing at a rapid scale. Linked open data are on the verge of
permeating our everyday lives.
Now we are facing the next revolution. Not only documents or knowledge will be
connected, but computer applications are no longer running on personal computers,
but on centralized servers which can be accessed via Web interfaces from a large
variety of processors in smartphones, TVs, cars, household appliances, and more. For
the end user, this not only relieves them of the burden of the update and maintenance
of their software, but allows them to access their applications in a uniform way,
everywhere and at every time.
A grand challenge for web-based software design is to integrate different heterogeneous
applications into a homogeneous new system that utilizes the familiar existing
components but allows a transparent data exchange between these components. Such
Mash-Ups can be realized at the code level, by reprogramming functions of the individual
applications, or at the data or business logic level by formalizing the service
description and access of the applications, e.g. in the form of Web Services. Both
ways have the disadvantage that aspects of the application have to be reprogrammed
in order to allow a standardized data exchange.