Sistemi Funzionali e Sistema Informativo aziendale Guida alle varie tipologie di Sistemi Funzionali che compongono il Sistema Informativo delle principali organizzazioni pubbliche e aziende private

Sistemi Funzionali e Sistema Informativo aziendale

In ambito ICT, con il termine sistema funzionale si intende uno strumento applicativo - solitamente composto da un software o da più software realizzati per lavorare insieme - che assolve a un determinato scopo: ciascun sistema funzionale rappresenta un singolo componente dell'insieme di strumenti e servizi informatici a disposizione di un'azienda o organizzazione, che prende il nome di Sistema Informativo.

In questo articolo, dopo una breve introduzione volta a riassumerne le caratteristiche principali, provvederemo ad elencare isistemi funzionali più diffusi e le tipologie in cui possono essere classificati.

Caratteristiche generali

La correlazione tra sistema funzionale e sistema informativo non è necessariamente da intendere come un rapporto chiuso: al contrario, poiché un sistema funzionale è un componente di un sistema deputato a svolgere una funzione specifica, è possibile - e spesso auspicabile - prevederne il suo riutilizzo all'interno di più sistemi informativi: questo è particolarmente vero nel caso delle grandi aziende e della Pubblica Amministrazione, dove non sussistono problematiche legate alla concorrenzialità tra i vari settori (o rami d'azienda) che, pur se dotati di sistemi informativi diversi, potrebbero acquisire il medesimo sistema funzionale per assolvere a funzioni specifiche. Per questo motivo è fondamentale che un sistema funzionale sia dotato di una certa modularità, consentendo di poter essere utilizzato in contesti diversi attraverso una interfaccia comune.

Service-Oriented Architecture (SOA)

Appare evidente, per chi conosce le moderne architetture software, che questa esigenza si sposa molto bene con il modello SOA (Service-Oriented Architecture), una metodologia di architettura dei sistemi informatici basata sull'utilizzo combinato e modulare di servizi autonomi, interoperabili (tramite API) e monofunzionali, ovvero incaricati di svolgere una singola funzione operativa.

Microservices

La variante ad oggi più utilizzata di questo tipo di architettura, grazie alla forte diffusione delle infrastrutture distribuite avuta negli ultimi anni, è quella che si basa sulle interazioni tra microservices, servizi leggeri sviluppati ad-hoc ed altamente distribuiti per gestire un singolo aspetto del sistema funzionale nel modo più sicuro ed efficiente possibile.

Il termine distribuito è di fondamentale importanza perché determina una sostanziale eterogeneità dell'infrastruttura informatica risultante: poiché ciascun microservizio agisce come una entità separata e autonoma, è possibile che ciascuno di essi sia:

  • Realizzato con un linguaggio di programmazione diverso, purché reso interoperabile attraverso un sistema di interfacce comuni (Application Programming Interface o API).
  • Installato presso un host diverso: presso la server farm dell'azienda (on-premise), su una infrastruttura in cloud (PaaS), o anche sotto forma di servizio acquistato da terze parti (SaaS).
  • Indipendente rispetto al funzionamento degli altri servizi, nella misura in cui non necessita di un sistema esterno ad esso per funzionare.

La comunicazione tra i vari microservizi avviene solitamente attraverso rete pubblica, opportunamente protetta da appositi sistemi di crittografia in-transit (HTTPS) e/o canali di trasmissione sicuri e verificati (VPN) e/o sistemi di autenticazione e autorizzazione piuttosto sofisticati (OpenID, Bearer token, JWT, etc.); in questo modo è possibile garantire la perfetta indipendenza tra i servizi ed evitare ogni forma di accoppiamento senza rinunciare alle fondamentali caratteristiche di sicurezza richieste ai moderni sistemi informatici.

Per il momento non ci dilungheremo ulteriormente sui microservizi, rimandandone la trattazione a un articolo di prossima pubblicazione: ci limiteremo ad elencare alcuni dei tanti vantaggi risultanti dall'adozione di questo tipo di architettura:

  • Velocizzare i tempi di rilascio del software. Poiché ogni microservizio è autonomo rispetto agli altri, può essere pubblicato e/o rilasciato in modo indipendente dagli altri: si tratta di una caratteristica molto importante, in quanto consente di reagire velocemente alle moderne esigenze del mercato IT.
  • Sperimentare nuove tecnologie. Un'architettura distribuita e indipendente consente adottare una nuova tecnologia limitatamente a una piccola porzione del proprio sistema informativo, che poi è possibile verificare, testare ed eventualmente riscrivere in tempi relativamente brevi: questo tipo di approccio riduce i rischi e i costi delle attività di ricerca e sviluppo, consentendo a questo importantissimo reparto di giocare un ruolo di primo piano.
  • Performance migliori. L'utilizzo di una pluralità di linguaggi e tecnologie consente di poter effettuare sempre la scelta tecnologica migliore per quella determinata funzione, superando i singoli limiti che contraddistinguono gran parte delle soluzioni tecnologiche general purpose; inoltre, la facilità di aggiornare e/o riscrivere interamente i singoli microservizi utilizzando tecniche, linguaggi di programmazione e/o stack più efficienti consente di superare con maggiore facilità i tipici bottleneck (colli di bottiglia) che si incontrano frequentemente durante lo sviluppo di software.
  • Resilienza. Poiché l'architettura è distribuita e formata da una moltitudine di microservizi indipendenti tra loro, ilmalfunzionamento di un singolo microservizio non compromette il funzionamento del sistema stesso: un vantaggio considerevole rispetto alle architetture monolitiche.
  • Scalabilità. Il modello a microservizi consente di poter effettuare un provisioning delle singole parti del sistema software in modo dinamico ed intelligente, risultando in tal modo decisamente più scalabile rispetto a un modello basato su una classica architettura monolitica.
  • Componibilità. Il concetto di componibilità è un'estensione delle caratteristiche di modularità e riutilizzo che abbiamo introdotto poco fa e prevede che lo stesso componente possa essere riutilizzato all'interno di molteplici sistemi non soltanto per assolvere lo stesso ruolo, ma anche anche in modi differenti e per scopi diversi; ad esempio, lo stesso microservizio può essere utilizzato - nell'esercizio delle sue medesime funzioni - da una applicazione web, da una mobile app, da una smart TV, e così via.
  • Sostituibilità. In un'architettura basata sui microservizi, la sostituzione di un singolo componente è sostanzialmente più semplice, economica e veloce di quanto non possa verificarsi all'interno di una architettura monolitica.

Elenco dei principali Sistemi Funzionali

Veniamo ora all'elenco dei principali sistemi funzionali in uso presso le principali aziende e organizzazioni pubbliche e private: ciascuno di essi è stato inserito all'interno di una delle tre tipologie principali di servizi di cui si compone un sistema informativo tipo.

Knowledge Governance

  • Sistemi di ingegneria progettazione e automazione. Settori volti all’utilizzo di tecnologie software come la computer grafica , per supportare l’attività di progettazione (p.es. CAD) o quelle applicazioni software che agevolano la risoluzione di problemi tecnologici tramite il calcolo numerico (p.es. CAE).
  • Sistemi di georeferenziazione. Tecniche che permettono di associare ad un dato, in formato digitale, una coppia di coordinate che ne fissino la posizione sulla superficie terrestre così da consentire l'acquisizione, la registrazione, l'analisi, la visualizzazione e la restituzione di informazioni derivanti da dati geografici (georeferenziati).
  • Sistemi di estrazione informazioni da immagini. Tecniche sviluppate per l'estrazione di informazioni tridimensionali da immagini digitali; le applicazioni legate alla capacità di comprendere e misurare dimensioni e moti di oggetti tramite la semplice osservazione passiva sono molteplici ed interessanti settori quali per esempio l’architettura, la sorveglianza e il controllo del traffico.
  • Sistemi di riconoscimento vocale. Processi mediante il quale il linguaggio orale umano viene riconosciuto e successivamente elaborato attraverso un computer; vengono utilizzati per applicazioni vocali automatizzate nel contesto delle applicazioni telefoniche, ad esempio call center automatici (IVR), per sistemi di dettatura, oppure per sistemi di controllo del sistema di
    navigazione satellitare o del telefono in auto tramite comandi vocali.
  • Sistemi di business intelligence. Insieme di processi e tecnologia atta a realizzarli che raccoglie, estrapola, analizza ed elabora il patrimonio informativo disponibile rendendolo fruibile e interpretabile.
  • Motori di ricerca. Archivi di dati che contengono delle informazioni dettagliate su un gran numero di pagine e/o documenti accessibili mediante reti pubbliche e/o aziendali; i motori di ricerca più moderni ed efficienti sono spesso dotati di funzionalità tassonomiche, in base alle quali le pagine e/o i documenti vengono dotati di un significato attraverso l’uso dei metadati, e di algoritmi di indicizzazione basati su tecniche di machine learning così da poter migliorare la correlazione tra le ricerche degli utenti e i risultati prodotti mediante l'interazione effettuata dagli utenti stessi e il feedback indiretto risultante dalle loro scelte.
  • Sistemi di project management (PM). Sistemi che hanno l'obiettivo di organizzare e catalogare l'attività aziendale, nonché l'insieme di regole, strumenti, attività, tempi e investimenti ad essa necessari, al fine di fornire un set di processi volti al raggiungimento degli obiettivi aziendali.
  • Sistemi di gestione documentale e workflow. Sistema di riorganizzazione dei processi di lavoro aziendali con l'obiettivo della completa automazione del flusso documentale delle informazioni all'interno dell`organizzazione; si tratta di sistemi che permettono la gestione dei flussi di lavoro favorendo un risparmio economico, nonché garantendo maggior tempestività e sicurezza.

HR & Financial Governance

  • Sistemi di asset management (SIEM). Sistemi di gestione ottimale degli asset, di cui interessa tracciare le informazioni del ciclo di vita (approvvigionamento, messa in esercizio, aggiornamento, manutenzione, dismissione); nel caso IT esempi di asset sono Personal Computer (desktop e portatili), software installati, apparati di rete, palmari, nonché tutto l'insieme di licenze software, certificati, domini, infrastrutture, etc.
  • Sistemi per la contabilità ed il controllo di gestione. Sistemi per la gestione contabile e amministrativa dalla quale raccogliere, elaborare e monitorare i dati a disposizione (previsionali, consuntivati) per conseguire i risultati stabiliti come obiettivo.
  • Supply chain management systems. Sistemi per la gestione della catena logistica (Supply Chain Management) dei clienti, cioè della domanda dei clienti, della pianificazione e della programmazione della produzione, degli acquisti, della produzione, della distribuzione e consegna dei prodotti finiti; si tratta di un settore che negli ultimi anni sta beneficiando in modo particolare delle potenzialità innovative offerte dalle moderne tecnologie blockchain, che consentono di implementare soluzioni efficaci per la tracciabilità e la sicurezza dei prodotti, rendendo i processi più efficienti e contribuendo così al contenimento dei costi.
  • Sistemi di gestione delle risorse umane (HR): Sistemi per la gestione, attraverso logiche, tecniche e strumenti, dell’intero processo di gestione delle risorse umane : selezione, valutazione, incentivazione, sviluppo carriera, processi formativi.

Relation & Collaboration Governance

  • Customer Relationship Management (CRM). Sistemi aventi l’obiettivo di aiutare le aziende nella fidelizzazione dei clienti, col fine di realizzare nuove opportunità intervenendo dove il cliente ha necessità prevedibili e soddisfabili.
  • Content Management System (CMS). Sistemi software che permettono di organizzare e facilitare la creazione collaborativa di documenti e di altri contenuti.
  • Soluzioni di collaborazione. Sistemi che permettono di entrare in contatto con gli interlocutori qualificati e competenti attraverso una serie di strumenti quali : e-mail, funzioni di calendario, servizi per networking, infrastrutture IT, spazi di lavoro per i team, reti sociali aziendali, blog, wiki, chat e conferenze in tempo reale.
  • Sistemi di gestione della Posta (EMail). Sistemi per la gestione e protezione delle Email (funzionalità, disponibilità, gestione degli incident, monitoraggio delle performance, …)
  • Authentication, Authorization and Identity System (ACL). Sistemi di protezione rispetto agli accessi impropri aventi la proprietà di identificare un utente e di determinarne le azioni e il comportamento all'interno del sistema stesso.

Conclusioni

Ovviamente, le tre tipologie di servizi in cui abbiamo suddiviso i vari sistemi funzionali non sono auto-escludenti e presentano anzi numerosi ambiti di sovrapponibilità: ad esempio, il sistema CRM riguarda certamente il controllo delle relazioni, ma è al tempo stesso estremamente importante in ottica di controllo delle informazioni; allo stesso modo i sistemi di gestione documentale, pur svolgendo un ruolo fondamentale a livello di controllo delle informazioni, risultano spesso determinanti sia in ottica di gestione finanziaria e delle risorse umane che a livello di controllo delle attività di collaborazione tra i vari uffici e reparti operativi.

Per il momento è tutto: ci auguriamo che questa ricognizione dei sistemi funzionali e del quadro d'insieme risultante possa essere utile a chi sta valutando come muoversi per implementare o perfezionare il sistema informativo della propria azienda o organizzazione.

 

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


The reCAPTCHA verification period has expired. Please reload the page.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.