Title Web application frameworks as reusable components
Title (croatian) Aplikacijski okviri weba kao ponovno iskoristive komponente
Author Svebor Prstačić
Mentor Mario Žagar (mentor)
Committee member Mario Žagar (član povjerenstva)
Granter University of Zagreb Faculty of Electrical Engineering and Computing (Department of Control and Computer Engineering) Zagreb
Defense date and country 2021, Croatia
Scientific / art field, discipline and subdiscipline TECHNICAL SCIENCES Computing
Universal decimal classification (UDC ) 004 - Computer science and technology. Computing. Data processing
Abstract Component-based software engineering is one of key disciplines for efficient production of high quality software. As software industry evolves and focus moves to advances in fields like AI, big data or blockchain and crypto technologies, component-based software development remains the key method for efficient development. However pervasive component-based software engineering, there still are limitations to the way certain types of software components are built and assembled. For example, three-tier Web application components that are built adhering to a specific component model, using a certain development framework are only reusable inside other instances of applications adhering to the same component model. WordPress components are usable only inside other WordPress instances, Laravel components are unusable inside applications built using CodeIgniter or Yii frameworks etc. These limitations stem from the fact that components are tightly coupled with the underlying development framework or platform, that is responsible for providing integration interfaces to connect multiple components. These interfaces provide required data and interface to framework’s components that provide services for custom-built components to run. Through such interfaces, frameworks even provide base building blocks to build components. Many similar, but incompatible, critical building blocks are present in different development frameworks, while required component interfaces and data provided are similar. However small, differences exist and tight coupling limits reuse and portability to other components built using different component models. Ideally, it should be possible to reuse components in whichever environment, just like an LCD display can be used in both the home monitor, car dashboard or a plane cockpit. The goal of this research is to define a technique to lessen that limitation and enable systematic component reuse outside of it’s originating component model. The focus is on three-tier Web application components that include multiple code constructs, such as: models, controllers and user interfaces. To achieve this overall goal of research (i) a model of software framework as complex reusable Web application component is defined; (ii) a method for building Web applications using heterogeneous components based on the proposed software framework model has been proposed; and (iii) a prototype of the software development framework and evaluation of the component model applicability for popular Web applications is tested and validated.
Abstract (croatian) Programsko inženjerstvo orijentirano na komponente (PIK) je jedno od ključnih područja računalstva, koje je omogućilo efikasnu proizvodnju sve većeg i kompleksnijeg, ali i kvalitetnog softvera. Industrija softvera napreduje i posljednjih je godina fokus sve više na novim područjima kao što su umjetna inteligencija, analiza podataka (engl. big data), kriptografija i tehnologija povezanih blokova (engl. blockchain), a programsko inženjerstvo orijentirano na komponente ostaje osnovni način razvoja softvera u tim područjima. Usprkos tome, PIK donosi i ograničenje u načinu na koji je moguće graditi komponente i u načinu na koji je komponente moguće sastaviti u kompozitne komponente. Na primjer, komponente troslojne (engl. three-tier) arhitekutre za web aplikacije su uvijek građene za neki komponentni model, korištenjem nekog razvojnog okvira (engl. framework) koji određuje platfomu i tehnologiju. Komponente za sustav WordPress su iskoristive samo unutar instanci sustava WordPress, komponente za razvojni okvir Laravel samo u aplikacijama građenim pomoću razvojnog okvira Laravel. Iz perspektive razvojnih okvira CodeIgniter ili Yii, Laravel i WordPress komponente su nefunkcionalni fragmenti programskog koda. Ova ograničenja proizlaze iz činjenice da su komponente uvijek čvrsto povezane s razvojnim okvirom pomoću kojeg su nastale, a isto tako i s platformom i tehnologijom koje su korištene za razvoj razvojnog okvira. Ta veza je ostvarena kroz sučelja komponenti pomoću kojih komuniciraj s razvojnim okvirom, osnovnim i sistemskim komponentama, te na taj način dobivaju podatke i upravljačke signale koji su portebni za njihovo izvršavanje. Mnogo je sličnih i nekompatibilnih sučelja i podataka u različitim razvojnim okvirima, koji služe sličnoj namjeni, ali istovremeno čine da komponente ne mogu prelaziti iz razvojnog okvira u razvojni okvir, iz okruženja koje je definirano jednom komponentnim modelom u neko definirano drugim. U idealnom slučaju bi trebalo biti moguće ponovno koristiti softverske komponente baš kao što je to moguće u drugim inženjerskim područjima, kroz standardizaciju sučelja. LCD zaslon tako može biti iskorišten u automobilu, monitoru u uredu ili avionu. Cilj istraživanja čiji je rezultat ova disertacija je definirati način na koji je moguće ublažiti negativne utjecaje postojanja različitih komponentnih modela kroz mehanizam za sistematsko ponovno korištenje komponenti i izvan njihovog komponentnog modela i razvojnog okvira. Fokus je na troslojnim komponentama za web aplikacije koje sadrže više programskih konstrukcija ili podkomponenti na sva tri sloja. Za postizanje ciljeva istraživanja napravljen je (i) model programskog okvira kao ponovno iskoristive kompleksne komponente aplikacije weba je definiran; (ii) definirana je metoda izgradnje aplikacija Weba korištenjem heterogenih komponenti temeljena na predloženom modelu programskog okvira; i (iii) napravljen je prototip programskog okvira i izvršena evaluacija primjenjivosti komponentnog modela na primjerima popularnih aplikacija weba.
Keywords
component architectures
component model
component reusability
framework as a component
Keywords (croatian)
arhitekture komponenti
komponentni model
ponovna iskoristivost komponenti
razvojni okvir kao komponenta
Language english
URN:NBN urn:nbn:hr:168:413013
Study programme Title: Computer Science Study programme type: university Study level: postgraduate Academic / professional title: Doktor znanosti (Doktor znanosti)
Catalog URL http://lib.fer.hr/cgi-bin/koha/opac-detail.pl?biblionumber=52382
Type of resource Text
Extent 161 str.
File origin Born digital
Access conditions Open access
Terms of use
Created on 2022-03-14 08:18:09