GithubHelp home page GithubHelp logo

buonhobo / asw Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aswroma3/asw-2023-2024

0.0 0.0 0.0 443 KB

Architettura dei Sistemi Software a Roma Tre (2023-2024)

License: MIT License

Shell 24.43% Python 0.42% Java 70.48% Puppet 0.05% HTML 3.58% Dockerfile 1.04%

asw's Introduction

Architettura dei Sistemi Software a Roma Tre (2023-2024)

Benvenuti al repository del corso di Architettura dei Sistemi Software a Roma Tre, edizione 2023-2024 (A.A. 2023-2024), tenuto dal prof. Luca Cabibbo.

Per la versione del repository relativa alla precedente edizione del corso, si faccia invece riferimento al branch asw-2022-2023.

Questo repository contiene il codice delle esercitazioni del corso di Architettura dei Sistemi Software, che sono relative a delle semplici applicazioni software distribuite (basate sull'uso di middleware), che vanno eseguite in degli opportuni ambienti distribuiti:

  • il software è normalmente scritto in Java, e costruito con Gradle;
  • ciascun ambiente di esecuzione distribuito è composto da una o più macchine virtuali create con VirtualBox e Vagrant, e accedute tramite Git;
  • inoltre, alcuni ambienti di esecuzione sono basati sui container Docker e sull'orchestrazione di container Kubernetes

Software da installare sul proprio PC

Software per la gestione degli ambienti di esecuzione

Ecco il software utilizzato dal docente per la gestione degli ambienti di esecuzione con Windows 11 Pro (versione 22H2).

  • VirtualBox, versione 7.0.10
  • Vagrant, versione 2.3.7
  • Git
  • opzionalmente Docker, che però non è strettamente necessario, poiché può essere eseguito nelle macchine virtuali.

E' importante osservare che VirtualBox potrebbe non essere compatibile con Hyper-V di Microsoft, ed inoltre potrebbe avere un rallentamento significativo dalla Virtualization Based Security di Windows 11. A tal fine, io ho utilizzato la seguente configurazione di Windows 11:

  • disabilitazione di Hyper-V:
    • tra le Impostazioni di Windows 11, cercare Attiva o disattiva funzionalità di Windows (oppure Attivazione o disattivazione delle funzionalità di Windows) e disabilitare le opzioni Piattaforma macchina virtuale, Piattaforma Windows Hypervisor e Hyper-V
    • riavviare il computer
  • disabilitazione della Virtualization Based Security (VBS) (attenzione: questo migliora le prestazioni di VirtualBox, ma peggiore la sicurezza del sistema):
    • per verificare se la VBS è attiva o meno, usare il comando System Information di Windows e guardare se la voce Sicurezza basata sulla virtualizzazione è abilitata o meno (se non è abilitata allora non serve fare quanto segue)
    • con l'Editor del Registro di Sistema cercare la voce Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard e cambiare il valore di EnableVirtualizationBasedSecurity da 1 a 0
    • tra le Impostazioni di Windows 11, cercare Privacy e Sicurezza, Sicurezza di Windows, Sicurezza dispositivi, Isolamento Core e disabilitare le opzioni Integrità della memoria e Protezione del firmware
    • riavviare il computer
    • (si noti che è possibile riabilitare la VBS effettuando le modifiche inverse)

Software per lo sviluppo del software

Ecco il software opzionale per lo sviluppo del software (non è strettamente necessario, poiché può essere eseguito nelle macchine virtuali):

Organizzazione del repository

Questo repository è organizzato in diverse sezioni (cartelle):

  • projects contiene il codice delle applicazioni distribuite, con una sottosezione (sottocartella) per ciascuno degli argomenti del corso;
  • environments contiene il codice per la gestione degli ambienti distribuiti, con una sottosezione (sottocartella) per ciascuno degli ambienti distribuiti su cui poter eseguire le applicazioni distribuite sviluppate;
  • resources contiene ulteriori risorse condivise per la gestione degli ambienti distribuiti.

Queste sezioni non sono indipendenti, ma correlate (in modo non banale).

Attualmente sono presenti tutti i progetti e tutti gli ambienti, ma alcuni di questi potrebbero ancora riferirsi alla precedente edizione del corso. Durante lo svolgimento del corso tutti i progetti e tutti gli ambienti verranno aggiornati, in modo incrementale.

Accesso al repository

Per effettuare il download del repository, usare il seguente comando Git dalla cartella locale in cui si vuole scaricare il repository:

git clone https://github.com/aswroma3/asw 

Oppure (se il sistema host è Windows):

git clone --config core.autocrlf=input https://github.com/aswroma3/asw 

Per aggiornare il contenuto della propria copia locale del repository, usare il seguente comando Git dalla cartella locale in cui è stato scaricato il repository:

git pull 

asw's People

Contributors

buonhobo avatar lucacabibbo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.