Sistemi Gestionali e Informatici

annuncio pubblicitario
Docente: Dott. Stefano Gazzaniga
Argomento:
Sistemi Gestionali e Informatici
2 / 3 / 2017
I Sistemi Gestionali
• Sono tra le principali applicazioni dei sistemi informativi di
aziende, organizzazioni, PA, etc..
• Integrano molteplici attività:
– Amministrazione
– Gestione Finanze
– Organizzazione e pianificazione
– Produzione e vendita
– Gestione clienti \ utenti
– Etc..
I sistemi gestionali
Tali applicativi sono frutto delle necessità di
ampliare, ottimizzare e integrare il supporto ai processi
organizzativi, di gestione e produzione
E’ stato semplice realizzare quanto desiderato
mediante l’informatizzazione dei processi e delle procedure
I sistemi gestionali
• Parallelamente è cresciuta anche l’esigenza di disporre di
informazioni dettagliate e puntali, nonché di sintesi
• Vengono realizzate applicazioni specifiche per l’analisi dei dati
e produzione di reportistica al fine di elaborare strategie
I sistemi gestionali
A seguito dell’introduzione negli anni ‘80 di personal computer
negli uffici e nelle aziende è iniziato l’utilizzo di applicazioni
informatiche:
• Pacchetti semplici con un numero limitato di funzionalità
• Sistemi sviluppati ad hoc per soddisfare una specifica esigenza
• ERP: sistemi di gestione di tutti i processi rilevanti di
un’impresa (Enterprise Resource Planning «pianificazione
delle risorse d'impresa»)
I sistemi gestionali
La riduzione dei costi dell’ICT (Information and Comunication
Tecnology) degli ultimi 15 anni:
• è stata fondamentale per l’adozione di sistemi informatici e
informativi sempre più complessi
• ha spinto la sostituzione di vecchi programmi «stand alone»
con soluzioni integrate e centralizzate, spesso organizzate in
moduli che condividono un’unica base di dati (software
gestionali)
I sistemi gestionali
La diffusione capillare di internet e l’aumento delle velocità di
connessione hanno consentito di recuperare efficienza e
ottimizzare i processi:
• Permettendo al personale interno di lavorare anche da locali
remoti
• Coinvolgendo soggetti esterni (fornitori, consulenti, clienti,
etc..) con strumenti quali portali web, applicazioni web
oriented, etc..
Sistemi informatici
Cosa significa sistema informatico (SI)?
E’ un’espressione che indica in modo generico un
computer o un insieme di computer o altri apparati
elettronici (modem, server, router, etc…) interconnessi
tra loro ed i relativi software, preposti a servizi di
elaborazione a favore degli utenti.
E’ anche detto infrastruttura IT o sistema elaborazione
dati
Sistemi informatici
Da cosa è composto un SI?
• Hardware: qualsiasi componente fisico di un
calcolatore, di una periferica, di una apparecchiatura
elettronica. Tutto ciò che si può toccare insomma.
• rende possibile l'esecuzione del software
« Hardware, parte del calcolatore che puoi prendere a calci »
(Jeff Pesis)
Sistemi informatici
Da cosa è composto un SI?
• Software: termine generico, definisce programmi e
procedure progettate dall'uomo che indicano la
sequenza di istruzioni per far eseguire ad un
calcolatore determinati compiti
Sistemi informatici
• Un sistema informatico è dunque composto da una
parte hardware e una parte software rispettivamente
sotto forma di architettura hardware e architettura
software tra loro dipendenti.
Sistemi informatici
• Alcune importati caratteristiche di un SI sono:
• Disponibilità (attitudine a svolgere la funzione richiesta)
• Affidabilità (misura della probabilità di guasto in un certo lasso di tempo)
• Sicurezza (riservatezza, integrità e disponibilità dei dati)
• Scalabilità (capacità di crescita o riduzione in base alle necessità)
Sistema informativo
Il sistema informativo non è sinonimo di sistema informatico!
Il sistema informatico ha lo scopo di supportare il sistema
informativo, e può essere considerata una parte del sistema
informativo stesso.
Sistema Informativo:
insieme delle risorse e attività cui scopo è la gestione
dell’informazione in un’organizzazione (raccolta, elaborazione,
conservazione, comunicazione e diffusione)
Sistema informativo
Elementi dei sistema informativo sono:
• Dati
(componente base grezza del sistema)
• Informazioni
(insieme di dati già elaborati)
• Persone
(raccolgono i dati \ ne sono i destinatari)
• Strumenti
(infrastruttura tecnologica per l’elaborazione)
• Procedimenti
(procedure per ottenere le finalità desiderate)
Sistema informativo
Obiettivi del sistema informativo:
• Efficienza
– miglior risultato ottenibile a parità di risorse / minor uso di risorse a
parità di risultati
• Efficacia
– rapporto tra risultato e obiettivo prefissato, richiede un confronto
qualitativo
Un altro parametro da considerare è
• Economicità
– prezzo pagato \ efficienza
Sistema informativo
Risulta quindi evidente che ogni tipologia di
realtà lavorativa necessita che venga studiato e
realizzato un proprio sistema informativo
adeguato alle proprie finalità
Sistema informatico: hardware
Computer:
apparecchio elettronico di tipo digitale usato per
analizzare e trattare dati (anche molto complessi) in
maniera automatica e in tempi brevissimi.
I computer possono operare in modalità stand-alone
(locale) oppure connessi tra loro (rete)
Sistema informatico: hardware
PC (personal computer):
è un computer ad uso generico cui dimensioni,
prestazioni, prezzo di acquisto lo rendono adatto all’uso
quotidiano del singolo individuo
Workstation:
computer «general purpose» monoutente dotato di più
elevate risorse di elaborazione. Il costo è maggiore
rispetto ai normali personal computer.
Destinato ad uso e compiti professionali, spesso in
ambito grafico o ingegneristico
Sistema informatico: hardware
Server:
sono computer logicamente dedicati all'espletamento
di particolari servizi richiesti da altri computers client
all'interno di un'architettura di rete client-server come
reti LAN e Internet.
Solitamente sono dotati di risolse hardware ben
dimensionate in base al tipo di servizi da mantenere e il
numero di client da servire.
Sistema informatico: hardware
Computer per scopi dedicati sono per esempio:
•
•
•
•
Le console per videogiochi
Dispositivi per l’automazione industriale
Smartphone e tablet
Mainframe
– grande computer costituito da una potente unità centrale di elaborazione dati
capace di gestire molti programmi contemporaneamente, alla quale sono
collegati numerosi terminali
• Supercomputer
– esecuzione di calcoli particolarmente onerosi. Es: Meteo
Sistema informatico: hardware
I computer possono effettuare elaborazioni sia in modo
locale che attraverso reti.
• Elaborazione locale
– I Programmi e i dati su cui operano risiedono sul
computer stesso
• Elaborazione in rete
– I Programmi e\o i dati su cui operano sono fruibili
e mantenuti da altri computer sulla rete
Sistema informatico: hardware
Una rete locale è costituita da un insieme di computer
e dispostivi elettronici periferici collegati tra di loro, in
grado di condividere sia risorse hardware che software
L’acronimo LAN (local area network) identifica una rete
locale informatica che copre un’area limitata di piccole
dimensioni, come un ufficio, una scuola, un’azienda.
Per WAN (wide area network) invece si intende una
rete di dimensione molto più ampia, anche a livello di
regione geografica
Sistema informatico: esempio LAN
Sistema informatico: LAN
La topologia di rete più diffusa nei piccoli uffici è quella
detta a stella.
I computer sono tutti connessi ad un componente
centrale. I dati sono inviati dal computer trasmittente
attraverso il concentratore ai computer della rete.
Tale topologia è facilmente espandibile collegando altri
concentratori.
Sistema informatico: LAN
Esempio stella esteso
Sistema informatico: LAN
Vantaggi sistema a stella:
• Elevata affidabilità
• Elevata scalabilità
• Efficienza (se i concentratori sono dotati di opportuna intelligenza)
Svantaggi sistema a stella:
• Il guasto di un concentratore può provocare la
perdita totale delle funzionalità di rete
Sistema informatico: rete client server
L’architettura di rete più diffusa in piccoli e medi uffici è
sicuramente quella denominata client - server:
Uno (o più) client si collegano a server per la fruizione
dei servizi e delle risorse che questi ultimi mettono a
disposizione.
In questo contesto si può parlare di client e server
riferendosi all'hardware oppure al software
Sistema informatico: rete client server
Esempio interazione client – server
Ovviamente un server può soddisfare molteplici richieste
anche da parte di più clients! E molto velocemente!
Sistema informatico: rete client server
Facendo uno specifico riferimento all’hardware:
un client è un componente dotato di memoria e
capacità elaborativa locale che può utilizzare risorse
messe a disposizione da server
Esempi:
Personal Computer
Smartphone
Tablet
Thin-client
Sistema informatico: rete client server
I client hardware:
• possono in generale essere macchine semplici con
risorse e affidabilità inferiori
• hanno l'unico compito di interagire con l'utente
• non contengono informazioni critiche o sensibili (o
almeno non dovrebbero…)
Sistema informatico: rete client server
Facendo uno specifico riferimento al software:
un client è un componente che accede a servizi e
risorse messe a disposizione da una componente server
Solitamente è di limitata complessità, limitandosi ad
operare come interfaccia verso il server.
Esempi di programmi client:
Browser Internet (Chrome, Firefox, Internet Explorer..)
Mail(Outlook, Live mail, Thunderbird…)
Sistema informatico: rete client server
Esempi di servizi forniti attraverso i server
• File server: permettono agli utenti di accedere ai file
situati sul server come se fossero in locale sul proprio
elaboratore, agevolando la condivisione di
informazioni. Tale termine si riferisce solitamente ad
una macchina progettata per mettere a disposizione
degli utenti di una rete spazio su un disco (o più
dischi) nel quale sia possibile salvare, leggere,
modificare, creare file e cartelle condivise secondo
regole o autorizzazioni che l’amministratore
organizza e gestisce.
Sistema informatico: rete client server
Esempi di servizi forniti attraverso i server
• Database server indica una categoria di sistemi
software che consentono la creazione e la gestione di
database (base di dati). Tale termine indica una
banca dati strutturata riguardante uno stesso
argomento o argomenti correlati tra loro, nella quale
sono possibili operazioni di inserimento, ricerca,
cancellazione, aggiornamento da parte di software
specifico.
Sistema informatico: rete client server
Esempi di servizi forniti attraverso i server
• Web server: è un programma che risiede su un
calcolatore che si occupa di fornire, dietro richiesta
dei browser (client) una pagina web. I dati viaggiano
in rete trasportate dal protocollo HTTP. L'insieme di
webserver presenti su Internet forma il World Wide
Web, probabilmente il servizio più noto insieme alla
mail.
Sistema informatico: rete client server
Esempi di servizi forniti attraverso i server
Altri esempi:
• Print server: condivisione delle stampanti
• Mail server: gestione della posta elettronica
• Server DHCP , DNS, etc.. : gestione rete informatica
• Server di autenticazione: organizzazione utenti e
risorse
Sistema informatico: rete client server
Ricapitolando, tutti questi servizi (web, l'e-mail, i
database, etc..) sono quindi divisi in:
• una parte client software (residente ed in esecuzione
sul pc client)
• una parte server software (residente ed in
esecuzione sul calcolatore server)
Sistema informatico: rete client server
Esempio:
un browser su un computer è un CLIENT, ma anche il
computer su cui gira il browser si può definire CLIENT!
Sistema informatico: rete client server
I software applicativi server sono molto complessi e
devono essere molto affidabili.
Devono eseguire tutto ciò per cui sono stati realizzati,
ma anche implementare tutte le tecniche di gestione
degli accessi, allocazione e rilascio delle risorse,
condivisione e sicurezza dei dati (e delle risorse)
Sistema informatico: rete client server
Client e server sono in collegamento attraverso una
rete tramite protocolli di comunicazione.
Il protocollo può essere in chiaro o in certi casi
crittografato. Tale protocollo garantisce che i dispositivi
che lo utilizzano possano comunicare correttamente tra
loro (è insomma un insieme formale di regole)
Sistema informatico: rete client server
Esempi di protocolli:
• HTTP: Hyper Text Transfer Protocol: il browser è un
HTTP client, il web server è un HTTP server
• HTTPS: come il precedente, ma crittografato
• FTP: File Transfer Protocol
• SMTP: Simple Mail Transfer Protocol (email)
Questi protocolli (e altri...) fanno parte della Internet
Protocol Suite
Sistema informatico: rete client server
Vantaggi dell’architettura client - server:
•
•
•
•
•
Scalabilità dei dispositivi collegabili (client e server)
Scalabilità dei servizi e delle risorse fornite
Amministrazione centralizzata
Gestione centralizzata delle impostazione di sicurezza
Ottimizzazione delle risorse
Sistema informatico: rete client server
Svantaggi:
• L’implementazione e l’amministrazione del sistema
richiede competenze tecniche specifiche
• Criticità del server
• Costi
Sistema informatico: rete client server
Semplificando, dal punto di vista hardware:
• un server è un computer molto potente in grado di
gestire interi uffici, aziende, scuole etc. Un server
mette a disposizione risorse per i numerosi computer
e dispositivi connessi nella sua rete o attraverso
internet, solitamente meno potenti: sono i client.
• I client sono normali pc che usano gli utenti per
svolgere il proprio lavoro.
Sistema informatico: rete client server
Il server è un elemento fondamentale dell'infrastruttura
informatica di cui fa parte, in quanto i suoi
malfunzionamenti si ripercuotono su tutti i client che
hanno accesso ai suoi servizi e risorse
Sono necessari quindi maggiori investimenti per via
dell'importanza che il buon funzionamento del server
ha per i suoi utenti
Sistema informatico: rete client server
Per questo motivo, per i server si adottano accorgimenti
volti a garantire affidabilità e sicurezza:
• utilizzo di hardware di classe superiore, con prestazioni
elevate ed elementi ridondanti (dischi RAID, alimentatori)
• protezione dell'alimentazione elettrica mediante gruppo
di continuità
• protezione fisica mediante localizzazione in un locale
apposito ad accesso ristretto
• connessione di rete preferenziale, di capacità superiore
• climatizzazione
• configurazioni del sistema operativo volte a garantire
maggiore affidabilità e sicurezza
• gestione da parte di sistemisti specializzati
Sistema informatico: rete client server
In caso di carico lavoro eccessivo per un solo server, o per
ottenere alti livelli di affidabilità, più server possono suddividersi
il compito di erogare un servizio o un gruppo di servizi.
In questo caso si può parlare di un'unica risorsa computazionale
detta server cluster: può continuare a funzionare anche se un
certo numero delle macchine componenti subisce un guasto, ma
la risorsa subisce un degrado delle prestazioni generali.
Ovviamente sono necessari software e configurazioni specifiche.
Sistema informatico: rete client server
Spesso, almeno da punto di vista software, un server
per erogare un certo tipo di servizio si appoggia a sua
volta ad altri server magari localizzati remotamente.
Risulta quindi essere
contemporaneamente.
sia
client
che
server
Un esempio tipico può essere quello di un mail server
aziendale.
Sistema informatico: rete P2P
Solitamente per peer-to-peer (o P2P) si intende una
qualsiasi rete informatica in cui non siano individuabili
client o server fissi.
Tale rete è infatti composta da un numero di nodi
equivalenti (peer appunto) che fungono sia da client
che da server verso altri nodi della rete.
Sono reti decentralizzate.
Sistema informatico: rete P2P
Sistema informatico: rete P2P
• Ogni nodo è in grado di avviare e completare una
comunicazione.
• I nodi possono essere molto diversi tra loro per
velocità di banda, elaborazione, etc..
• E’ l’architettura opposta alla client – server
Sistema informatico: rete P2P
L’esempio più noto di una rete P2P è quello del file
sharing, il cui scopo è di favorire il libero scambio dei
file tra i dispositivi connessi ad internet.
Tale applicazione oltre ai problemi di carattere tecnico
legati alla banda e all’affidabilità, ha portato
controversie di carattere legale circa la diffusione di
materiali protetti dal diritto d’autore.
Sistema informatico: rete P2P
Inoltre, una rete «aperta» di questo tipo può subire
attacchi informatici di varia natura, mettendo in
pericolo la sicurezza e la privacy degli stessi utilizzatori.
E’ fondamentale dotarsi di strumenti come antivirus e
firewall, nonché programmi specifici per la rimozione di
infezioni.
Resta fondamentale tuttavia una buona cultura
informatica per evitare situazioni a rischio
Applicazioni web based
Si parla di software Web-based quando ci si riferisce a
programmi in cui tutte le funzioni sono accessibili con un
normale web-browser (es. Explorer, Firefox…) e non
necessita di alcun software di installazione sul computer
degli utenti.
Possono tuttavia essere necessari specifici plug-in o
richiedere l’abilitazione di specifiche funzionalità del
browser
Non tutti i browser possono essere compatibili
Applicazioni web based
La fruizione può avvenire attraverso la rete
all’interno del proprio sistema informatico locale
(detta INTRANET) oppure attraverso la rete
Internet.
Un client quindi accede connettendosi a
funzionalità applicative residenti su un server
utilizzando come terminali normali web browser
attraverso i consueti protocolli di rete
Applicazioni web based
Il modello web based è divenuto piuttosto
popolare poco prima del 2000 con la diffusione
di Internet, in un contesto di web dinamico.
L’opportunità di aggiornare ed evolvere a costo
ridotto il proprio applicativo, senza essere
costretti a distribuire numerosi aggiornamenti
su supporti fisici, ha reso la soluzione
ampiamente utilizzata dai produttori di software
Applicazioni web based
Precedentemente per ogni applicativo basato su
un’architettura client - server era necessario che
fosse installata una parte client (client-side)
direttamente sulla calcolatore di ciascun utente.
Qualunque aggiornamento, patch o modifica
dell'applicativo lato server (server-side) si
trasformava nella esigenza di installare le
versioni aggiornate su tutti i calcolatori degli
utenti dell'applicativo.
Applicazioni web based
Ovviamente questo modo di operare
introduceva problematiche dirette quali:
• Onere economico produttore
• Costo periodico cliente di aggiornamento
• Tempi di fermo per installare aggiornamenti
Applicazioni web based
Ora invece durante la sessione di lavoro, il web
browser diventa il client universale per tutte
le web-application, indipendentemente dal
produttore del software.
Ogni pagina Web viene inviata al client come
fosse un documento statico, ma con elementi e
contenuti attivi embedded (incorporati) nella
pagina stessa
Applicazioni web based
Questa parte attiva, dinamica lato client è affidata a
linguaggi standard e comuni a tutti i browser (es.
Javascript)
Le pagine web ormai costituiscono delle vere e proprie
«interfacce utente» grazie a tecnologie dinamiche (come
per esempio Ajax, basata su librerie «esperte») oppure
plug-in (es. Flash Player)
Ultimamente anche applicazioni complesse come i
gestionali, pacchetti applicativi office automation, ritocco
fotogratico, etc.. Vengono distribuiti con questa tecnica
Applicazioni web based
Come sono interconnessi client e server?
• Intranet:
– rete aziendale o riservata basata sulle stesse tecnologie di
Internet all’interno della quale operano applicazioni web-based il
cui accesso è strettamente riservato all’azienda o ente.
• Internet:
– rete di accesso pubblico per la diffusione di informazioni,
applicazioni distribuite… (esistono mille definizioni!)
• Extranet:
– insieme di applicazioni web-based fruibili via Internet con
accesso riservato a determinati utenti per usi specifici.
Rappresenta l’estensione dei sistemi Intranet sulla rete pubblica.
Applicazioni web based
Applicazione Distribuita
Applicazione software realizzata attraverso la
collaborazione di diverse entità in esecuzione su
risorse computazionali fisicamente distinte
Un sistema distribuito è quindi un ambiente
entro il quale possono essere operative una o
più applicazioni distribuite
Applicazioni web based
Il mondo Web da questo punto di vista è quindi
un sistema distribuito
Le applicazioni web-based traggono vantaggi se
organizzate all’interno di un sistema distribuito
Applicazioni web based
Esempio applicazione distribuita:
Biglietteria online
Utenti
Applicazioni web based
Vantaggi:
• Tutti i vantaggi evidenziati dai sistemi distribuiti in
generale
• L’interfaccia tra Client e Server standardizzata
permette di creare applicazioni senza la necessità di
installare un Client dedicato sui Client
• Il Web Browser diventa un Client «general
purpose» utile per realizzare le applicazioni più
diverse
• La standardizzazione dello sviluppo implica una
semplificazione nella realizzazione
Applicazioni web based
Svantaggi:
• Il modello di interazione Client-Server è
predefinito e non permette interattività forte
• L’interfaccia utente è limitata alle funzioni che
lo standard definisce, impoverendosi rispetto
alle prestazioni di un Client dedicato
Applicazioni web based
I browser (desktop) più comunemente utilizzati
in Italia sono (dato gennaio 2017):
1. Chrome
58%
2. Firefox
18%
3. Internet Explorer
12%
4. Safari
7%
5. Edge
3%
6. Altri..
2%
Applicazioni web based
Molti browser (per desktop) citati sono
disponibili per quasi tutti i sistemi operativi più
diffusi, altri no
• Edge solo su SO Microsoft Windows 10
• Internet Explorer tutti i SO Microsoft
Applicazioni web based
Uno dei componenti più diffusi disponibili per
tutti i browser e sistemi operativi è sicuramente
Applicazioni web based
Le domane che più spesso ci facciamo sono:
•
•
•
•
Cos’è Java?
A cosa serve Java??
Devo installare Java??? Quale versione???
Devo aggiornare Java quando me lo chiede????
Applicazioni web based
• Cos’è Java?
Java è un linguaggio di programmazione e una
piattaforma di elaborazione sviluppati da Sun
Microsystems nel 1995 (ora Oracle). Esiste un
numero notevole di applicazioni e siti Web, in
aumento ogni giorno, che funzionano
esclusivamente se è stato installato Java.
Applicazioni web based
• Che cosa si ottiene quando si scarica software
Java?
Scaricando il software Java si ottiene Java Runtime
Environment (JRE). JRE è composto dalla Java Virtual
Machine (JVM), dalle classi core della piattaforma Java e
dalle librerie Java di supporto. JRE è la parte runtime del
software Java, ovvero tutto ciò che serve per eseguire
Java nel browser Web
Applicazioni web based
• Cos'è il plugin Java?
Il plugin Java è un componente di Java Runtime
Environment (JRE). JRE consente di eseguire
applet scritte nel linguaggio di programmazione
Java in vari browser. Il plugin Java non è un
programma autonomo e non può essere
installato separatamente.
Applicazioni web based
• A cosa mi serve? Devo installare Java???
Devo installare Java se ho necessità di utilizzare
web application che fanno uso di tale linguaggio
di programmazione e piattaforma
Applicazioni web based
• Quale versione di Java devo installare?
Dipende:
• dal browser che stiamo utilizzando
• dal sistema operativo installato sul nostro
dispositivo
• dalla versione Java richiesta dall’applicazione
che lo necessita
Applicazioni web based
• Devo aggiornare Java quando me lo chiede????
Parliamone!
Non è raro che applicazioni scritte per una
versione di Java (es. 1.7) cessino di funzionare se
viene aggiornata (es. 1.8)
Applicazioni web based
• Devo aggiornare Java quando me lo chiede????
E’ tuttavia possibile mantenere diverse versioni
di JRE sullo stesso PC
(con opportuni accorgimenti)
Applicazioni web based
Java è disponibile quindi per svariati browser,
svariati sistemi operativi e calcolatori.
Ma a cosa serve e perché è così diffuso??
Applicazioni web based
Java è indipendente dalla macchina su cui è
eseguito al punto che il programmatore può
evitare di gestire aspetti particolarmente specifici
relativi al client
Applicazioni web based
Java è inoltre stato progettato per poter essere
implementato su una varietà di architetture e
dispositivi: non solo computer, ma anche telefoni
cellulari,
set-top
box,
equipaggiamento
elettronico di veicoli di vario tipo e server web.
Questi vantaggi hanno il loro costo: le
applicazioni Java, quelle per PC in particolare,
sono più lente e pesanti, perchè non sono
eseguite direttamente dalla macchina, bensì da
un software intermedio.
Applicazioni web based
Programmare in Java è quindi molto conveniente
per chi sviluppa applicativi in quanto essendo
indipendente dall’hardware non ci si deve
preoccupare di quale dispositivo elettronico
eseguirà l’applicativo
(… e magari lo sviluppatore non avrebbe
nemmeno modo di saperlo!)
Applicazioni web based
Sarà poi la JRE (corretta) installata sul dispositivo
dell’utente tradurre ed eseguire il programma:
Applicativo JAVA (.jar)
JRE (Java Runtime Environment)
Interpretazione ed esecuzione
Fine
Scarica