The number of companies using web apps developed with obsolete technologies needing replacement is ever growing. The utilization of today's frameworks, and the functionality nowadays available on commonly used languages, both on the frontend and backend, allow for an agile re-implementation of those apps, with minimal resource cost and resilience to security risks like SQL Injections and XSS (Cross Site Scripting). Usage of well defined design patterns also grant maintainability and ease of update, so to be always aligned with current cybersec standards. It is with these tools that the Schneider Electric case was tackled, updating more and more consistent parts of their internal use web app, written in an "artisanal" manner and using dated technologies like VBScript and without a well defined structure, to a modern app, with a distinct separation between frontend, using the Angular framework, and backend, now consisting of a RESTful API written in PHP running under WAMP (Windows, Apache, MySQL, PHP). Completion of the work, however, will also require a re-engineering of the database so to correctly use functionality like foreign key constraints and ACID (Atomicity, Consistency, Isolation, Durability) properties, which would guarantee database consistency and resilience to errors and failures.
Il numero di aziende che si appoggia a web app sviluppate con tecnologie obsolete che necessitano di essere rimpiazzate è in costante aumento. L'utilizzo dei framework odierni e delle funzionalità oggi disponibili nei linguaggi comunemente utilizzati nel frontend e nel backend ne consentono una re implementazione agevole, con un dispendio di risorse minimo e resiliente a rischi per la sicurezza quali SQL Injection e XSS (Cross Site Scripting). L'utilizzo di pattern ben definiti inoltre ne garantiscono la manutenibilità ed un facile aggiornamento, in modo da essere sempre allineati con gli standard di cybersec del momento. È con questi strumenti che si è affrontato il caso di Schneider Electric, aggiornando parti sempre più consistenti della loro web app a uso interno, scritta in maniera "artigianale" e utilizzante tecnologie ormai datate quali VBScript e senza una struttura ben definita, ad un'app moderna, con una separazione netta tra frontend, per cui si è utilizzato il framework Angular, e backend, consistente ora di una RESTful API scritta in PHP e poggiante su WAMP (Windows, Apache, MySQL, PHP). La conclusione del lavoro, tuttavia, richiederà inoltre una re ingegnerizzazione del database in modo da poter utilizzare correttamente funzionalità come i vincoli di chiave esterna e l'adesione allo standard ACID (Atomicity, Consistency, Isolation, Durability), che garantirebbero il mantenimento di una base di dati coerente e resiliente ad errori e a malfunzionamenti.
Manutenzione evolutiva di una applicazione aziendale attraverso l’uso delle tecnologie per lo sviluppo di single page web application
MOCCI, MATTIA
2020/2021
Abstract
Il numero di aziende che si appoggia a web app sviluppate con tecnologie obsolete che necessitano di essere rimpiazzate è in costante aumento. L'utilizzo dei framework odierni e delle funzionalità oggi disponibili nei linguaggi comunemente utilizzati nel frontend e nel backend ne consentono una re implementazione agevole, con un dispendio di risorse minimo e resiliente a rischi per la sicurezza quali SQL Injection e XSS (Cross Site Scripting). L'utilizzo di pattern ben definiti inoltre ne garantiscono la manutenibilità ed un facile aggiornamento, in modo da essere sempre allineati con gli standard di cybersec del momento. È con questi strumenti che si è affrontato il caso di Schneider Electric, aggiornando parti sempre più consistenti della loro web app a uso interno, scritta in maniera "artigianale" e utilizzante tecnologie ormai datate quali VBScript e senza una struttura ben definita, ad un'app moderna, con una separazione netta tra frontend, per cui si è utilizzato il framework Angular, e backend, consistente ora di una RESTful API scritta in PHP e poggiante su WAMP (Windows, Apache, MySQL, PHP). La conclusione del lavoro, tuttavia, richiederà inoltre una re ingegnerizzazione del database in modo da poter utilizzare correttamente funzionalità come i vincoli di chiave esterna e l'adesione allo standard ACID (Atomicity, Consistency, Isolation, Durability), che garantirebbero il mantenimento di una base di dati coerente e resiliente ad errori e a malfunzionamenti.File | Dimensione | Formato | |
---|---|---|---|
796889_tesi.pdf
non disponibili
Tipologia:
Altro materiale allegato
Dimensione
1.48 MB
Formato
Adobe PDF
|
1.48 MB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14240/138413