TECNOLOGIE


Questa sezione offre una veloce panoramica delle principali tecnologie che utilizziamo all'interno della nostra organizzazione per lo sviluppo e l'implementazione delle soluzioni software destinate ai nostri clienti.

 

Sistema Operativo Linux

Vantiamo un'esperienza ventennale nell'uso di Linux come sistema operativo per lo sviluppo e il deployment di applicazioni aziendali. La scelta di adottare Linux è dovuta ad una serie rilevante di fattori che lo contraddistinguono positivamente rispetto ad altre offerte. Affidabilità, robustezza, elevate prestazioni, sicurezza, possibilità di utilizzo su praticamente tutte le piattaforme hardware, ampia scelta di programmi, di utility e di linguaggi di sviluppo, possibilità di scegliere tra diversi window-manager, configurazioni gestite in massima parte con file modificabili con un editor, possibilità di accedere al codice sorgente, comandi della shell in grado di effettuare operazioni che in altri sistemi operativi risultano difficoltose e... tanto altro.

Da diversi anni utilizziamo la distribuzione CentOS sia sulle macchine di sviluppo che sui server di produzione.

 

Web server Apache

Il server Web Apache, assieme a Linux, è sicuramente uno dei progetti software open-source più riusciti. E' presente nella maggior parte delle distribuzioni Linux già configurato e pronto all'uso, può essere eseguito su diversi sistemi operativi, è configurabile tramite file di testo editabili, è sicuro, efficiente e incredibilmente flessibile. E' il server Web più usato su Internet sin dall'aprile 1996 e rappresenta lo standard de-facto.

 

Database MySQL (Community Edition)

MySQL è il database relazionale open-source più popolare al mondo. Essendo scritto in C e C++ è praticamente disponibile su decine di sistemi operativi, anche se quelli di riferimento sono Linux e Solaris. Le motivazioni che hanno portato alla scelta di MySQL sono le prestazioni straordinarie, l'alta affidabilità, la facilità d'uso, la flessibilità. MySQL utilizza diversi tipi di storage-engine per la memorizzazione dei dati tra cui InnoDB. Questo motore fornisce il supporto per le transazioni, il lock a livello di record e garantisce l'integrità referenziale dei dati attraverso la correlazione delle chiavi esterne tra tabelle. Essendo le nostre applicazioni orientate al business, utilizziamo esclusivamente il motore InnoDB.

 

Database MariaDB

Dalla versione 7 di Linux CentOS, MySQL è stato sostituito da MariaDB che è diventato anche per noi il database di riferimento sia per lo sviluppo che per l'implementazione delle nostre applicazioni Web.

MariaDB si basa su MySQL ed è disponibile sotto i termini della licenza GPL v2. In linea generale, MariaDB funziona esattamente come MySQL: tutti i comandi, le interfacce, le librerie e le API esistenti in MySQL si trovano anche in MariaDB. Non vi è alcun bisogno di convertire i database per passare a MariaDB. Inoltre, MariaDB presenta nuovi storage-engine, nuove opzioni e plugin che sono assenti in MySQL ed ha funzionalità di tipo NoSQL.

 

Linguaggio di scripting Ruby

Ruby è un linguaggio di scripting open-source orientato agli oggetti. Grazie alla sua sintassi elegante, risulta semplice da leggere e facile da scrivere. Su Internet si trovano centinaia di librerie Ruby che coprono quasi ogni problematica. Si va dalle librerie per generare documenti PDF, manipolare file CSV, creare e leggere documenti XML, gestire immagini, accedere a database, ed altro ancora. Lo utilizziamo, oltre che all'interno delle applicazioni sviluppate in Rails, anche per realizzare gli script stand-alone che completano le nostre soluzioni software.

 

Framework Ruby On Rails

Ruby on Rails è un framework open-source che semplifica lo sviluppo, l'utilizzo e la gestione di applicazioni web. Rails si avvale di un'architettura di tipo MVC (Model-View-Controller) in maniera da strutturare le applicazioni in modo più lineare. Le applicazioni sono scritte in Ruby, un moderno linguaggio di scripting orientato agli oggetti. Due sono i concetti chiave che contraddistinguono Rails: DRY (Don't Repeat Yourself) e convention-over-configuration. DRY significa che ogni elemento di informazione nell'ambito di un sistema dovrebbe essere espresso in un solo punto, aspetto questo che favorisce tra l'altro la manutenzione del codice. Convention-over-configuration indica che Rails offre soluzioni predefinite per quasi tutti gli aspetti che compongono una moderna applicazione Web. Attenendosi a queste convenzioni si riescono a realizzare applicazioni con molto meno codice rispetto ad altri linguaggi.

 

App Server Passenger (Phusion Passenger ™)

Phusion Passenger è un modulo disponibile per i Web server Apache e nginx, per il funzionamento, in ambiente di produzione, di applicazioni Ruby, Node.js, Python e Meteor. E' open-source e supporta sistemi operativi Unix-like. Al momento Phusion Passenger rappresenta il miglior modo per l'implementazione di applicazioni RoR in ambienti di produzione ed è inoltre raccomandato dagli stessi autori di Rails. Noi lo utilizziamo con Apache sia negli ambienti di sviluppo che in produzione.

Linux slackware

Ho iniziato ad usare Linux, in ambito professionale, nel giugno del 1996 con la distribuzione Slackware 3.0 (kernel 1.2.13) che si trovava a corredo del libro di Naba Barkakati "I segreti di Linux". Utilizzavo in quel periodo un framework di sviluppo proprietario (SuperNova 4GL) che già allora era disponibile per la piattaforma Linux.

Domenico Ravidà
Socio fondatore

Top