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.
The Software Frameworks Ontology Network (SFWON)
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.
Below, we list resources associated with different papers that contributed to the construction of SFWON.
Artifacts related to the paper “Ontological Representation of Relational Databases”:
- Especificacao_Ontologia_RDBS-O: full specification of the Relational Database System Ontology (RDBS-O), in Portuguese;
- rdbs-owl.owl: operational version of the Relational Database System Ontology in OWL (RDBS-OWL);
- ca_mapping.ttl: D2RQ mapping file to instantiate the ontology based on an example Oracle database;
- ca_dump.rdf: RDF dump file generated by the above mapping file and the example Oracle database.
Artifacts related to the paper “OOC-O: a Reference Ontology on Object-Oriented Code”:
- OOC-O Specification: full specification of the Object Oriented Code Ontology (OOC-O);
- ooc.owl: operational version of the Object Oriented Code Ontology (OOC-O) in OWL;
- OOC-O Harmonization: full description of the process of harmonization of selected OO programming languages based on the Object Oriented Code Ontology (OOC-O).
Artifacts related to the paper “Representação Ontológica de Frameworks de Mapeamento Objeto/Relacional” (“Ontological Representation of Object/Relational Mapping Frameworks”, in Portuguese):
- ORM-O Specification: full specification of the Object/Relational Mapping Ontology (ORM-O), in Portuguese;
- ORMFConverter: source code repository of the ORM code conversion tool built based on ORM-O.
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:
- FrameWeb source code repository at GitHub: where you can find the meta-model that defines the abstract syntax of FrameWeb‘s proposed modeling language and the tools that were implemented on top of that meta-model;
- FrameWeb Tools Tutorial: a step-by-step guide on how to use FrameWeb to model a simple feature of a simple Web-based Information System (WIS);
Publications related to FrameWeb
- V. E. S. Souza, “The FrameWeb Approach to Web Engineering: Past, Present and Future,” in Engineering ontologies and ontologies for engineering, 1 ed., J. P. A. Almeida and G. Guizzardi, Eds., Vitória, ES, Brazil: NEMO, 2020, p. 100–124.
- M. L. de Freitas, R. S. S. Guizzardi, and V. S. E. Souza, “GRALD: an Approach for Goal and Risk Analysis in the Development of Information Systems for the Web of Data,” Journal of Software Engineering Research and Development, vol. 7, p. 1–22, 2019.
- C. Z. de Aguiar, R. A. de Falbo, and V. S. E. Souza, “OOC-O: A Reference Ontology on Object-Oriented Code,” in Proc. of the 38th International Conference on Conceptual Modeling (ER 2019), Salvador, BA, Brazil, 2019, p. 13–27.
- F. L. Zanetti, C. Z. de Aguiar, and V. S. E. Souza, “Representação Ontológica de Frameworks de Mapeamento Objeto/Relacional,” in Proc. of the 12th Seminar on Ontology Research in Brazil (ONTOBRAS 2019), Porto Alegre, RS, Brasil, 2019.
- B. L. Zupeli and V. E. S. Souza, “Integração de um Gerador de Código ao FrameWeb Editor,” in Anais Estendidos do 24\textordmasculine Simpósio Brasileiro de Sistemas Multimedia e Web – Workshop de Ferramentas e Aplicações (WFA/WebMedia 2018), Salvador, BA, Brazil, 2018, p. 109–113.
- C. Z. de Aguiar, R. A. Falbo, and V. E. S. Souza, “Ontological Representation of Relational Databases,” in Proc. of the 11th Seminar on Ontology Research in Brazil (ONTOBRAS 2018), São Paulo, SP, Brazil, 2018, p. 140–151.
- R. C. do Prado and V. E. S. Souza, “Securing FrameWeb: Supporting Role-based Access Control in a Framework-based Design Method for Web Engineering,” in Proc. of the 24th Brazilian Symposium on Multimedia and the Web (WebMedia ’18), Salvador, BA, Brazil, 2018, p. 213–220.
- M. L. de Freitas, A. A. Silva, R. S. S. Guizzardi, and V. E. S. Souza, “Goal and Risk Analysis in the Development of Information Systems for the Web of Data,” in Proc. of the 21st Ibero-American Conference on Software Engineering (CIbSE 2018), Requirements Engineering track, Bogota, Colombia, 2018, p. 473–486.
- S. L. Campos and V. E. S. Souza, “FrameWeb Editor: Uma Ferramenta CASE para suporte ao Método FrameWeb,” in Anais do 16º Workshop de Ferramentas e Aplicações, 23º Simpósio Brasileiro de Sistemas Multimedia e Web (WFA/WebMedia 2017), Gramado, RS, Brazil, 2017, p. 199–203.
- N. V. de Almeida, S. L. Campos, and V. E. S. Souza, “A Model-Driven Approach for Code Generation for Web-based Information Systems Built with Frameworks,” in Proc. of the 23rd Brazilian Symposium on Multimedia and the Web (WebMedia 2017), Gramado, RS, Brazil, 2017, p. 245–252.
- D. R. Celino, L. V. Reis, B. F. Martins, and V. E. S. Souza, “A Framework-based Approach for the Integration of Web-based Information Systems on the Semantic Web,” in Proc. of the 22nd Brazilian Symposium on Multimedia and the Web (WebMedia 2016), Teresina, PI, Brazil, 2016, p. 231–238.
- B. F. Martins and V. E. S. Souza, “A Model-Driven Approach for the Design of Web Information Systems based on Frameworks,” in Proc. of the 21st Brazilian Symposium on Multimedia and the Web (WebMedia 2015), Manaus, AM, Brazil, 2015, p. 41–48.
- V. E. S. Souza, R. A. Falbo, and G. Guizzardi, “Designing Web Information Systems for a Framework-based Construction,” in Innovations in Information Systems Modeling: Methods and Best Practices, 1 ed., T. Halpin, E. Proper, and J. Krogstie, Eds., IGI Global, 2009, p. 203–237.
- V. E. S. Souza, “FrameWeb: um Método baseado em Frameworks para o Projeto de Sistemas de Informação Web,” Master Thesis, Universidade Federal do Espírito Santo, 2007.
- V. E. S. Souza, T. W. Lourenço, R. A. Falbo, and G. Guizzardi, “S-FrameWeb: a Framework-Based Design Method for Web Engineering with Semantic Web Support,” in Proc. of the 2007 International Workshop on Web Information Systems Modeling (WISM 2007), 2007, p. 55–66.
- V. E. S. Souza, R. A. Falbo, and G. Guizzardi, “A UML Profile for Modeling Framework-based Web Information Systems,” in Proc. of the 12th International Workshop on Exploring Modeling Methods in Systems Analysis and Design (EMMSAD 2007), 2007, p. 149–158.
- V. E. S. Souza and R. A. Falbo, “FrameWeb – A Framework-based Design Method for Web Engineering,” in Proc. of the 2007 Euro American Conference on Telematics and Information Systems (EATIS 2007), 2007.
- V. E. S. Souza and R. A. Falbo, “An Agile Approach for Web Systems Engineering,” in Proc. of the 11th Brazilian Symposium on Multimedia and the Web (WebMedia 2005), 2005, p. 1–3.
For further information on FrameWeb, contact prof. Vítor E. Silva Souza, who coordinates current efforts in this research project.