Software reuse has been practiced since programming began, using, e.g., libraries, domain engineering, design patterns, componentry, etc. A popular method of reuse is the use of software frameworks (e.g., Hibernate) or platform architectures (e.g., Java Enterprise Edition, now renamed Jakarta EE), which are middleware on/with which applications can be developed. The use of such frameworks (or platform architectures) helps to avoid the continual rediscovery and reinvention of basic architectural patterns and components, reducing cost and improving the quality of software by using proven architectures and designs.
This is particularly evident in the context of Web-based Information Systems (WISs) development. WISs are data-centric applications deployed on the Internet or an intranet, in which functionality and data have greater importance than content presentation. Such systems are usually developed on top of a solid Web infrastructure which commonly includes a Front Controller (Web framework), a Dependency Injection (DI) mechanism, an Object/Relational Mapping (ORM) solution to communicate with the database, a Security framework for role-based access control, and so on.
FrameWeb, the Framework-based Design Method for Web Engineering, is a method for the development of WISs that incorporates concepts from well established categories of frameworks (such as the ones above) into a set of architectural design models, improving developer communication and project documentation.
On a different, but related front, an increasing number of people and organizations are choosing to share their data on the Web, contributing to a data deluge. This phenomenon creates problems such as how to provide access to data so it can be most easily reused; how to enable discovery of relevant data; or how to integrate data from different and formerly unknown data sources. A solution that has been gaining momentum in recent years is the publication of linked data, a set of technologies that lay the foundation for what researchers have been calling The Semantic Web for the past two decades.
According to the Semantic Web vision, making data available on the Web in such a machine-processable format, would allow the creation of software agents that could help us through the data deluge, executing tasks that are repetitive, impractical or even impossible to accomplish nowadays. One of the main issues with this vision is that the current level of adoption by data publishers and application developers is not enough for us to harness all the advertised benefits of this new Web of Data.
In this context, FrameWeb provides a systematic method based on well-founded conceptual models, coupled with tools that automate certain parts of the process, facilitating the task of integrating a WIS into the Web of Data and, thus, promoting the adoption of linked data. Although a small contribution regarding the broader problem of realizing the Semantic Web vision, we can nevertheless harness the benefits of linked data, even if such vision has not been (or will never be) reached.
Since its initial proposal, FrameWeb has evolved in a number of ways in order to deal with drawbacks of the method. For instance, its initial proposal was tailored for a specific set of frameworks and did not have a precise modeling language specification. Thus, efforts such as the definition of the meta-model and the application of the method in other platforms and with different frameworks have contributed towards overcoming these drawbacks. However, to properly understand each category of framework supported by the method, a more systematic study of the different frameworks of each category is required.
We, thus, began to build ontologies for each supported category of frameworks (Front Controller, Dependency Injection, Object/Relational Mapping, Security frameworks), using an ontology engineering approach to try and make sure such reference model properly represents a consensus among the mostly used frameworks. Then, the FrameWeb meta-model can be reviewed and adjusted based on the ontology, possibly leading to changes in the FrameWeb language. Such ontologies are being organized into a Software Frameworks Ontology Network (SFWON) and their impact on the FrameWeb language is underway.
Further details can be found at the SFWON project page.
To learn more about FrameWeb, refer to the publications at the end of the page. We recommend, in particular, the overview provided by the paper “The FrameWeb Approach to Web Engineering: Past, Present and Future“. Here is a list of some other useful resources:
For further information on FrameWeb, contact prof. Vítor E. Silva Souza, who coordinates current efforts in this research project.