DT7 - Analisi di scenari tecnologici e identificazione di un

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "DT7 - Analisi di scenari tecnologici e identificazione di un"

Transcript

1 Realizzazione Studi di Settore al fine di facilitare l'emersione di cluster di imprese operanti nel settore ICT Intervento SD07B) CLUOS DT7 - Analisi di scenari tecnologici e identificazione di un numero limitato di piattaforme tecnologiche per lo sviluppo di cluster locali di PMI ICT Destinatario Regione Campania DING- Dipartimento di Ingegneria dell Università del Sannio 1

2 Indice Premessa Introduzione Organizzazione del documento Caratterizzazione delle imprese ICT Distribuzione delle imprese ICT per tipologia di cliente Distribuzione delle imprese ICT per tipologia di prodotti Distribuzione delle imprese ICT per competenze delle risorse umane Considerazioni Descrizione dei Cluster Tecnologie ICT Tecnologie Orientate agli Oggetti Tecnologie DBMS Tecnologie di Programmazione non OO Tecnologie per il WEB Gestione del ciclo di vita Service Oriented Architecture (SOA) SAP Tecnologia per immagini virtuali Open Source Software Meccanica Elettronica Reti SDH Descrizione dei Cluster identificati Piattaforme tecnologiche Piattaforme tecnologiche generiche Piattaforme tecnologiche specialistiche Piattaforme tecnologiche innovative Piattaforme software Product Lifecycle Management (PLM) Enterprise resource Planning (ERP) Service Delivery Platform (SDP) Customer Relationship Management (CRM) Content Management System (CMS) Enterprise Content Management (ECM) Piattaforme per lo sviluppo software Sistemi per la logistica ed il controllo E-learning E-government Associazione tra le piattaforme Conclusioni Bibliografia Indice delle Figure Indice delle Tabelle

3 PREMESSA Il presente documento è finalizzato a fornire alla Regione Campania una analisi dello stato dell ICT e delle aziende campane basandosi sull analisi dei dati raccolti ed organizzati secondo le linee guida delineate nei precedenti deliverable. L attività è stata svolta tenendo conto degli scenari tecnologici ed applicativi e delle aree di forecasting tecnologico di potenziale impatto sul sistema regionale ICT campano che sono state oggetto dei deliverable precedenti Le finalità del documento sono state perseguite a partire dai dati elaborati nel corso del progetto sul settore ICT con riferimento alle caratteristiche specifiche del contesto delle PMI Campane operanti nel settore. 3

4 1. Introduzione Per rafforzare e sostenere le competenze sviluppate dalle imprese ICT nei progetti finanziati e per stimolare la competitività sia a livello nazionale che internazionale, i contenuti dei progetti stessi, oltre che essere per loro natura innovativi, devono rientrare in aree tematiche ritenute strategiche a livello non solo nazionale ma anche europeo e mondiale. Questo consentirà alle piccole e medie imprese campane una più facile partecipazione a progetti di ricerca sia nazionali che internazionali e la formazione di consorzi di imprese tesi a far massa critica per la produzione su larga scala di prodotti innovativi di interesse diffuso. Per l analisi dello stato dell arte in ambito tecnologico e di capacità di competere sul mercato ICT sono stati considerati i dati relativi a tre caratterizzazioni statistiche condotte durante il progetto: distribuzione delle imprese ICT per tipologia di cliente, distribuzione delle imprese ICT per tipologia di prodotti e Distribuzione delle imprese ICT per competenze delle risorse umane. Tali analisi sono state poi ulteriormente dettagliate e la classificazione ha portato alla descrizione di raggruppamenti di tecnologie e competenze: le piattaforme tecnologiche. Tali piattaforme consentono un maggiore focalizzazione degli obiettivi aziendali ed il loro orientamento a fruttuose collaborazioni inter-aziendali. 1.1 Organizzazione del documento Nei paragrafi seguenti sono riportati un breve descrizione delle analisi effettuate sulle aziende e la descrizione dei risultati. Tali analisi sono poi impiegate per definire e descrivere delle piattaforme tecnologiche per raggruppare le aziende ICT. 4

5 2. Caratterizzazione delle imprese ICT Di seguito vengono illustrati i principali risultati emersi dall indagine avente per oggetto le piccole e medie imprese ICT della regione Campania. Le analisi sono state condotte, nell ambito del progetto, per identificare e caratterizzare le imprese nelle loro caratteristiche economiche, tecnologiche e giuridiche. In questo documento considereremo le analisi relative a tre caratterizzazioni di interesse per i raggruppamenti in piattaforme tecnologiche e di competenza. Le tre caratterizzazioni sono quelle basate su: distribuzione delle imprese ICT per tipologia di cliente, distribuzione delle imprese ICT per tipologia di prodotti e distribuzione delle imprese ICT per competenze delle risorse umane. La distribuzione delle imprese per tipologia di cliente consente di identificare l obiettivo delle attività produttive di una azienda e conseguentemente permette di definire la natura dei processi produttivi e realizzativi. La tipologia di prodotti consente una ulteriore caratterizzazione dei processi produttivi e dei loro obiettivi commerciali e tecnologici. La competenza delle risorse umane, infine, consente di identificare la natura delle tecnologie impiegate dalle aziende in relazione alla capacità di tradurre in un processo produttivo l accesso a metodologie e tecniche proprie di settori differenti delle discipline informatiche. Di seguito presenteremo una descrizione delle categorie identificate nelle varie analisi e una breve discussione dei risultati, disponibili in forma maggiormente dettagliata negli altri documenti di progetto. 2.1 Distribuzione delle imprese ICT per tipologia di cliente La prima caratterizzazione statistica impiegata durante le analisi delle imprese ICT è stata orientata ad identificare la natura dei clienti tipo per le aziende. Il seguente grafico illustra, impiegando un istogramma a barre, la situazione delle aziende rispetto alle tipologie di cliente 5

6 28,68% 21,32% 14,71% 8,82% 7,35% 5,15% 3,68% 2,94% 2,94% 1,47% 1,47% 1,47% Professionisti e piccole imprese Enti pubblici Locali Medie e grandi imprese di servizi Medie e grandi imprese ad alta tecnologia Medie e grandi imprese manifatturiere Grandi imprese del settore aereospaziale Clienti interni Consumatori finali Università Alberghi e ristoranti Enti pubblici extra- Locali Mercati vari Figura 1. Istogramma raffigurante la distribuzione delle imprese ICT per tipologia di cliente. Come è possibile vedere dal grafico esistono tre tipologie di clienti preminenti nel mondo ICT campano che sono: I professionisti e le piccole imprese Enti pubblici locali Medie e grandi imprese di servizi Le imprese ICT quindi stabiliscono relazioni di fornitura dei loro prodotti soprattutto con piccole realtà imprenditoriali, professionisti o piccole imprese oppure con enti pubblici su scala locale. Rilevante è anche l interazione con PMI presenti nel mondo dei servizi. Queste tre tipologie di clienti coprono il 64% circa dei clienti delle imprese ICT. Un 16%, circa, è dedicato a clienti di tipo PMI tecnologiche o manifatturiere. Vi sono poi altre sette diverse tipologie di cliente che in modo frammentario coprono il rimanente 20% circa delle tipologie. 2.2 Distribuzione delle imprese ICT per tipologia di prodotti La seconda caratterizzazione considerata tra le analisi statistiche ottenute durante il progetto riguarda la natura dei prodotti realizzati dalle aziende ICT nelle loro attività produttive nei confronti dei clienti identificati al punto precedente. 6

7 Software Consulenza IT Servizi IT Software gestionali Customizzazione software Commercializzazione hw e sw Ricerca e sviluppo Consulenza aziendale Servizi internet Sw per servizi CAD/CAM Componenti per uso aerospaziale Piattaforme per l'e-learning Sistemi integrati hw sw Reti Servizi telecomunicazioni Call center Monitoraggio controllo tracciabilità Impiantistica Progettazione meccanica Servizi internet/giochi on line Prodotti CRM in ambiente client/server Formazione Piattaforma e-governement Produzione hw Integrazione Hw e sw per uso spaziale Software per l'edilizia Software alberghi e ristoranti Figura 2. Istogramma raffigurante la distribuzione delle imprese ICT per tipologia di prodotti. Il prodotto sviluppato in modo preminente, viene identificato, dalle stesse imprese, come prodotto software generico e quindi lo si può meglio descrivere come sistemi o componenti generiche da impiegare nelle forniture di prodotti e servizi per i clienti identificati nella analisi precedente. La natura dei cliente permette di identificare tali software come software di natura generale orientati a soddisfare esigenze specifiche. Un altra fetta rilevante è relativa alla fornitura di consulenza e di servizi riguardanti il settore IT in generale, attività orientata a soddisfare la necessità di gestire prodotti IT o usufruire di servizi IT che i clienti preferiscono non gestire autonomamente. Di seguito si rilevano prodotti software per la realizzazione di funzionalità orientata ai servizi, alle attività gestionali, di archiviazione e altre funzionalità ausiliare a queste. Continuando l analisi si rilevano tipologie di prodotti rilevanti nell ambito della customizzazione del software, ovvero realizzazione di prodotti aventi come target il cliente specifico. Di interesse minore risultano i prodotti che integrano componenti hardware e software. Di rilevanza minore sono le attività svolte nell ambito della ricerca e dello sviluppo di nuove tipologie di servizi ed applicazioni. Seguono attività di consulenza alle aziende di natura generica, non relative e ristrette solo alle teconologie IT ma che le coinvolgono solo parzialmente. Vi sono poi un numero elevato 7

8 di altre tipologie di prodotti meno rilevanti come peso generale ma che evidenziano la capacità delle imprese ICT di proporsi nei vari aspetti del multiforme mercato che le riguarda. 2.3 Distribuzione delle imprese ICT per competenze delle risorse umane L ultimo aspetto di caratterizzazione delle imprese ICT che si è tenuto in considerazione è quello legato alle competenze delle risorse umane impiegate dalle imprese. Programmazione O.O. Linguaggi Web Reti Meccanica Programmazione NON O.O. Progettazione DB n.d. Sap Esperti marketing Assemblaggio e riparazione Tecnologie per immagini virtuali SOA SDH PLM OSS EDM Elettronica Figura 3. Istogramma raffigurante la distribuzione delle imprese ICT per competenze delle risorse umane. La competenza relativa alla programmazione Orientata agli Oggetti (Paradigma O.O.) raccoglie i maggiori consensi nell ambito delle imprese ICT essendo vista come una metodologia che non solo consente una elevata efficacia durante le fasi di sviluppo e realizzazione di applicazioni software ma consente anche una elevata efficienza durante le successive fasi di manutenzione e gestione delle applicazioni durante il loro ciclo di vita. La programmazione O.O. viene dichiarata come competenza posseduta dal 48% delle aziende. Le competenze immediatamente seguenti tra quelle dichiarate dalle aziende riguardano i Linguaggi per il Web e le reti di computer, tecnologie abilitanti alla realizzazione di applicazioni distribuite ed accessibili mediante internet. Tali competenze sono presenti nel 26% circa delle aziende. Vi sono poi metodologie inerenti il trattamento di tecnologie riguardanti il settore della meccanica, rilevanti per il 6% circa delle aziende. 8

9 Seguono svariati altri settori con percentuali molto ridotte, di cui si considerano come rilevanti solo quelle relative alla programmazione di tipo non Orientato agli Oggetti, quindi di tipo procedurale un paradigma usato precedentemente a quello O.O. ed ancora in uso in alcune nicchie del mondo ICT. Tale metodologia è dichiarata dal 4% delle aziende. 2.4 Considerazioni Le caratterizzazioni illustrate e riassunte sono state impiegate per identificare dei cluster di tecnologie da impiegare. Nel seguito ogni cluster verrà identificato rispetto al prodotto realizzato, legato ad un tipo di cliente quindi, ed alle competenze coinvolte. Le competenze di ogni cluster verranno quindi descritte rispetto alle tecnologie ed alle metodologie dichiarate. 9

10 3. Descrizione dei Cluster In questa parte del documento si considereranno i cluster identificati rispetto ai prodotti realizzati e le rispettive competenze dichiarate dalle aziende. CLUSTER Cliente Competenze 1. Commercializzazione 2. Componenti meccaniche 3. Consulenza 4. Customizzazione SW 5. Integrazione Hw e SW 6. Piattaforme SW Professionisti e piccole imprese 71% Programmazione NON O.O. 29% Enti pubblici Locali 15% Assemblaggio e riparazione hw 29% Consumatori finali 14% Programmazione O.O. 14% Linguaggi web 14% Reti 14% Grandi imprese del settore aereospaziale 40% Meccanica 60% Medie e grandi imprese ad alta tecnologia 40% Programmazione O.O. 20% Clienti interni 20% PLM 20% Enti pubblici Locali 42% Programmazione O.O. 54% Medie e grandi imprese di servizi 27% Linguaggi Web 15% Medie e grandi imprese manifatturiere 12% SAP 8% Professionisti e piccole imprese 12% Medie e grandi imprese ad alta tecnologia 7% Medie e grandi imprese di servizi 33% Programmazione O.O. 67% Medie e grandi imprese manifatturiere 22% Linguaggi Web 11% Professionisti e piccole imprese 22% Reti 11% Medie e grandi imprese ad alta tecnologia 12% Progettazione DB 11% Enti pubblici Locali 11% Professionisti e piccole imprese 28% Programmazione O.O. 29% Enti pubblici Locali 15% Reti 29% Grandi imprese del settore aereospaziale 15% Programmazione NON O.O. 14% Medie e grandi imprese di servizi 14% Progettazione DB 14% Medie e grandi imprese manifatturiere 14% Meccanica 14% Medie e grandi imprese ad alta tecnologia 14% Università 60% Programmazione O.O. 60% Enti pubblici Locali 20% Linguaggi Web 20% Medie e grandi imprese ad alta tecnologia 20% Progettazione DB 20% 7. R&S Clienti interni 57% Programmazione O.O. 57% Enti pubblici extra locali 15% SOA 15% Medie e grandi imprese ad alta tecnologia 14% Elettronica 14% Università 14% Tecnologie per immagini virtuali 14% Medie e grandi imprese di servizi 50% 8. Reti Reti 100% 9. Servizi ICT Professionisti e piccole imprese 46% Linguaggi Web 58% Consumatori finali 12% Programmazione O.O. 25% Medie e grandi imprese di servizi 12% Reti 8% Medie e grandi imprese manifatturiere 12% Esperti marketing 5% Enti pubblici Locali 8% SDH 4% Mercati vari 5% Medie e grandi imprese ad alta tecnologia 5% 10

11 10. SW gestionale 11. SW per l'ingegneria 12. SW TLC 13. n.cl. Professionisti e piccole imprese 42% Programmazione O.O. 71% Enti pubblici Locali 29% Linguaggi Web 17% Medie e grandi imprese di servizi 12% Programmazione NON O.O. 8% Alberghi e ristoranti 8% Progettazione DB 4% Enti pubblici extra locali 5% Medie e grandi imprese ad alta tecnologia 4% Professionisti e piccole imprese 38% Programmazione O.O. 69% Grandi imprese del settore aereospaziale 30% Meccanica 31% Enti pubblici Locali 16% Medie e grandi imprese ad alta tecnologia 16% Medie e grandi imprese di servizi 50% Programmazione O.O. 50% Mercati vari 50% OSS 50% Enti pubblici Locali 60% Linguaggi Web 20% Medie e grandi imprese di servizi 20% Programmazione O.O. 20% Medie e grandi imprese manifatturiere 20% Reti 20% Tabella 1. Tabella descrittiva dei Cluster di imprese per prodotti, con i relativi clienti e le competenze dichiarate dalle aziende appartenenti al Cluster. Dalla tabella si possono vedere i 12 cluster identificati, più un 13esimo cluster che raggruppa tipologie di prodotti di natura generica e non caratterizzabili con una specificità sufficiente. Di seguito descriveremo, nel dettaglio le tecnologie dichiarate dalle aziende e che caratterizzano i differenti cluster. Forniremo quindi una descrizione dei cluster dal punto di vista del prodotto realizzato. 3.1 Tecnologie ICT In questo raggruppamento di competenze rientrano tutte le tecnologie e le metodologie di natura strettamente ICT che sono state suddivise in diverse categorie, per rendere possibile una migliore rilevazione delle effettive competenze delle aziende Tecnologie Orientate agli Oggetti Le tecnologie O.O. che supportano solo il paradigma di programmazione orientata agli oggetti sono Smalltalk ed Eiffel(poco usati). Le tecnologie che supportano anche il paradigma di programmazione orientata agli oggetti sono: C++; Java; Delphi; Python; 11

12 C#; Visual Basic.NET; Prendiamo in considerazione il C++ [1], le sue caratteristiche peculiari sono: - è un linguaggio di programmazione orientato agli oggetti, con tipizzazione statica, supporta l'ereditarietà multipla e programmazione generica con i template; - è possibile scrivere programmi C validi anche come programmi C++ - ha una libreria standard. Di particolare importanza è la Standard Template Library (STL), la parte della libreria standard che utilizza i template per implementare contenitori generici, come vettori, code, array associativi, e così via; - manipolazione degli oggetti tramite puntatori; Problematiche: - a causa della variabilità del comportamento dei compilatori nel maneggiare le funzioni più avanzate del linguaggio, i programmatori C++ che scelgono di farne uso si rivolgono ad un'architettura (processore, sistema operativo e compilatore) particolare sacrificando la portabilità su altre piattaforme. Ci sono però standard di terze parti per particolari macchine o sistemi operativi che cercano di standardizzare i compilatori per tali piattaforme, ad esempio l'abi per C++, ed ora molti compilatori hanno standardizzato questi elementi; - lo standard del C++ non specifica l'implementazione della decorazione dei nomi, della gestione delle eccezioni e altre funzioni specifiche dell'implementazione, e ciò rende incompatibile il codice oggetto prodotto da compilatori diversi; - non supporta con librerie proprie la costruzione di GUI; supporto: - compilatori per C++ sono: GCC (disponibile per molte piattaforme diverse), MinGW (porting di GCC per Windows) e DJGPP. Oltre a questi ci sono i compilatori commerciali come VisualC++ e il compilatore di Borland C++ Builder. Consideriamo ora il linguaggio Java [2]: - la piattaforma di programmazione Java è fondata sul linguaggio stesso, sulla Macchina virtuale Java (Java Virtual Machine o JVM) e sulle API Java; - la sintassi di base (strutture di controllo, operatori e così via) è stata 12 alla

13 mantenuta pressoché identica a quella del C; - è completamente orientato agli oggetti; - manipolazione trasparente degli oggetti tramite riferimenti; - è indipendente dalla piattaforma: possibile con la compilazione del codice di Java in un linguaggio intermedio, il bytecode, eseguito dalla JVM; - contenere strumenti e librerie per il networking; - è progettato per eseguire codice da sorgenti remote in modo sicuro: Un Java applet è un particolare tipo di applicazione che può essere avviata all'interno del browser dell'utente, eseguendo codice scaricato da un server web remoto. Questo codice viene eseguito in un'area (sandbox) altamente ristretta, che protegge l'utente dalla possibilità che il codice sia malevolo o abbia un comportamento non desiderato. Presuppone che il client in cui essi vengono eseguiti abbia installata la JRE; - possibilità di costruire GUI (interfacce grafiche) con strumenti standard e non proprietari utilizzando i package java.awt e javax.swing; - supporta il multithreding; - supporta la programmazione generica; - supporta la reflection (la capacità di un programma di agire sulla propria struttura e di utilizzare classi caricate dinamicamente dall'esterno); - vastità delle librerie standard di cui il linguaggio è dotato, e che in particolare contribuiscono a renderlo altamente integrabile con le altre tecnologie. Supporto: - JDK Java Development Kit, comprende Java Runtime (la virtual machine e le librerie di classi), e gli strumenti di sviluppo (es. il compilatore Java); - JRE pacchetto che comprende solo Java runtime. Le caratteristiche della tecnologia Delphi sono: - è sia un linguaggio di programmazione sia un ambiente di sviluppo; - è molto utilizzato per lo sviluppo di applicazioni desktop e aziendali che utilizzano database, ma essendo uno strumento di sviluppo di carattere generico lo si può utilizzare per molti tipi di progetti; - manipolazione degli oggetti tramite puntatori; - le componenti principali degli ambienti di lavoro Delphi sono il 13

14 linguaggio, Delphi, la VCL (Visual Component Library) e CLX (Component Library for Cross Platform), e una facile e robusta connettività ai database, combinati con un potente IDE (Integrated Development Environment) e altri strumenti di supporto; - Può compilare in un singolo eseguibile, semplificando la distribuzione e riducendo i problemi di diverse versioni delle DLL; - La VCL e i componenti di altri produttori sono solitamente disponibili con il codice sorgente; - Compilatore potente, veloce e ottimizzante; - Compilazione in codice nativo per diverse piattaforme dallo stesso codice sorgente; - Supporto per le più moderne tecnologie e standard. Caratteristiche del linguaggio Python [3]: - è un linguaggio di programmazione ad alto livello interpretato; - è un linguaggio multi-paradigma. Infatti permette in modo agevole di scrivere programmi seguendo il paradigma object oriented, oppure la programmazione strutturata, oppure la programmazione funzionale; - spesso è classificato linguaggio di scripting, ma pur essendo utile per scrivere script di sistema (in alternativa ad esempio a bash), la grande quantità di librerie disponibili e la facilità con cui questo linguaggio permette di scrivere software modulare favoriscono anche lo sviluppo di applicazioni molto complesse; - dalla versione 2.4 sono disponibili anche i numeri decimali (decimal), ovvero numeri con la virgola a precisione illimitata, che non soffrono di numeri floating point classici; problemi di arrotondamento e stabilità tipici dei - ha una vasta libreria standard, il che lo rende adatto a molti impieghi. Oltre ai moduli della libreria standard se ne possono aggiungere altri scritti in C oppure Python per soddisfare le proprie esigenze particolari. Tra i moduli già disponibili ce ne sono per scrivere applicazioni web (sono supportati MIME, HTTP e tutti gli altri standard internet). Sono disponibili anche moduli per creare applicazioni con interfaccia grafica, per connettersi a database relazionali, per usare le espressioni regolari etc.; - la libreria standard è uno dei punti forti di Python. Essa infatti è compatibile con tutte le piattaforme; - possibile scrivere un'estensione in C o C++ e poi utilizzarla 14

15 all'interno di Python, sfruttando così l'elevata velocità di un linguaggio compilato solo nelle parti in cui effettivamente serve, e sfruttando invece la potenza e versatilità di Python per tutto il resto del software. Problematiche: - la velocità di esecuzione non è uno dei punti di forza di Python, specie nel calcolo matematico; Caratteristiche del linguaggio C# [4]: - supporta la programmazione generica; - Type safe, Consistenza, Supporto alle versioni, Object Orientation, Flessibilità; - non ci sono i puntatori; - può essere considerato il linguaggio di programmazione per eccellenza del Framework.NET: diversamente dagli altri linguaggi, come Visual Basic o C++, esso è nato espressamente per la nuova piattaforma. In questo senso, è significativo il fatto che Microsoft stessa si sia servita di C# per scrivere gran parte delle librerie di.net Microsoft Visual Basic.NET [5] è un linguaggio di sviluppo interpretato e orientato agli oggetti appartenente alla famiglia Microsoft.NET. Il VB.NET (come è comunemente chiamato), e il suo corrispondente C#, è un punto di congiunzione di tante iniziative e tecnologie di sviluppo Microsoft del passato come ad esempio: il COM e gli ActiveX, sostituiti con assembly e classi di oggetti completamente gestiti. Con VB.NET è possibile realizzare applicazioni windows forms, web, servizi, componenti COM, MQ, Web service ed anche destinate a dispositivi mobile tramite l'uso delle librerie del Compact framework. Visual Basic.Net è implementato in Visual Studio, la suite per programmatori della Microsoft, basata interamente sul.net Tecnologie DBMS MYSQL [6]: - composto da un client con interfaccia a caratteri e un server, entrambi disponibili sia per sistemi Unix come GNU/Linux che per Windows; - viene distribuito con la licenza GNU GPL oltre che con una licenza commerciale; - supporta la maggior parte della sintassi SQL; - possiede delle interfacce per diversi linguaggi, compreso un driver 15

16 ODBC, due driver Java e un driver per Mono e.net; - MySQL, essendo scritto in linguaggio C e C++, è disponibile su molti differenti sistemi operativi tra cui AIX, AmigaOS, BSDi, Digital Unix, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, SGI Irix, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Vista. PostgreSQL [7]: - è un completo database relazionale ad oggetti rilasciato con licenza libera. Oracle [8]: - piattaforme supportate:linux[9] x86, Linux x86-64, Linux POWER, Linux zseries, Linux Itanium, Microsoft Windows x86, Microsoft Windows x86-64, Microsoft Windows Itanium, Sun Solaris x86, Sun Solaris x86-64, Sun Solaris SPARC,HP HP-UX PA-RISC, HP HP-UX Itanium, HP Tru64 UNIX Alpha, HP OpenVMS Alpha, IBM AIX5L POWER, IBM z/os PowerPC,Apple Inc. Mac OS X Server x86-64; - licenza proprietaria. DB2 [9]: - DBMS relazionale a oggetti; zseries, Apple Inc. Mac OS X Server - diffuso su qualsiasi tipo di server, perfino su PDA e altri dispositivi portatili; esistono versioni per GNU/Linux, Unix (AIX, HP-UX, Solaris) e Microsoft Windows; - piattaforme supportate: FreeBSD, Linux, Mac OS X, Solaris, Windows ; - licenza proprietaria. MICROSOFT SQL SERVER [10]: - usa una variante del linguaggio SQL standard chiamata T-SQL; - licenza proprietaria Tecnologie di Programmazione non OO La programmazione non orientata agli oggetti viene usata principalmente in: Ambienti embedded: dove la dimensione del programma è un fattore fondamentale; Ambienti performance critical: dove è necessario ottenere le massime prestazioni possibili; 16

17 Ambienti legacy: dove è troppo costoso oppure non conveniente cambiare tecnologie; Inoltre dato che i linguaggi di programmazione non object oriented sono sul mercato da ormai più di 50 anni, c'è da considerare che esistono già migliaia di righe di codice scritte e testate in modo più che approfondito, che permettono di risolvere quasi tutti i problemi legati alla programmazione. Vi sono diverse classi di linguaggi di programmazione non Object Oriented: Linguaggi imperativi In questi linguaggi ogni istruzione è un comando esplicito, che opera su una o più variabili oppure sullo stato interno della macchina e le suddette istruzioni vengono eseguite in un ordine prestabilito. Esempi di linguaggi imperativi sono: Assembly, Cobol, Basic e Fortran Linguaggi strutturati Lo scopo per cui questa famiglia di linguaggi è nata è di limitare la complessità della struttura del controllo dei programmi. Il programmatore è vincolato ad usare solo le strutture di controllo canoniche ovvero la sequenza, la selezione e il ciclo, evitando le istruzioni di salto incondizionato. Esempi di linguaggi strutturati sono: Pascal e C Linguaggi funzionali Basati sul concetto matematico di funzione; l'assegnazione esplicita risulta completamente assente (si utilizza soltanto il passaggio dei parametri ad ogni funzione invocata). Esempi di linguaggi funzionali sono: Logo e Lisp Linguaggi logici In questo tipo di programmazione ci si limita a descrivere le relazioni esistenti fra i dati ed il risultato voluto, ogni istruzione è una clausola. L'esempio più noto di questo tipo di programmazione è il Prolog Un generico programma scritto con programmazione non Object Oriented attraversa le seguenti fasi: Generazione del codice sorgente: il programmatore scrive uno o più file di testo rispettando le regole sintattiche e semantiche definite dal linguaggio di programmazione utilizzato Compilazione: il codice sorgente viene tradotto in codice eseguibile da un componente detto compilatore. La compilazione se da un lato ha il vantaggio di produrre eseguibili molto piccoli e veloci, dato che vengono generati sulla base dell'hardware e del sistema operativo 17

18 utilizzato, ha però lo svantaggio di dover produrre eseguibili diversi nel caso le condizioni sopra descritte mutino Collegamento Se il programma è composto da più file sorgente e fa uso di librerie, è necessario collegare fra loro suddetti componenti. Tale incombenza viene assolta dal linker, che si occupa di risolvere le interconnessioni fra i diversi moduli di cui un programma può essere composto Tecnologie per il WEB I linguaggi per il web sono molteplici e articolati, quelli riconosciuti, nella loro versione ufficiale, sono standardizzati dal W3C (World Wide Web Consortium - ). Ad oggi i più diffusi sono: HTML Acronimo di HyperText Markup Language, è senza dubbio il linguaggio per il web più diffuso. Ha accompagnato il web fin dai suoi primi utilizzi commerciali, ad oggi siamo alla versione E' un linguaggio di markup, pensato per descrivere la struttura dei documenti ipertestuali del web. Un'importante caratteristica di HTML è che esso è stato concepito per definire il contenuto logico e non l'aspetto finale del documento. JAVASCRIPT È un linguaggio di scripting lato client (che opera cioè nel browser dell'utente), incorporato da HTML. È utilizzabile per compiere azioni non possibili con il solo HTML come ad esempio controllare i valori nei campi di input, nascondere o visualizzare determinati elementi, etc..., ma anche per implementare applicazioni più complesse basate sul web. CSS I fogli di stile CSS (Cascading Style Sheet ) vengono usati principalmente per definire la rappresentazione di documenti HTML. L'introduzione dei fogli di stile è stata dettata dalla necessità di separare i contenuti dalla formattazione XML Acronimo di extensible Markup Language è un metalinguaggio di markup, ovvero un linguaggio che definisce un meccanismo sintattico che consente di estendere o controllare il significato di altri linguaggi di markup. Il suo scopo ed uso principale è di descrivere documenti strutturati, permettendo in questo modo l'interscambio di informazioni 18

19 fra sistema diversi. È molto utilizzato anche per lo scambio di dati fra diversi database. CGI Acronimo per Common Gateway Interface, si tratta di un'applicazione scritta in un qualsiasi linguaggio di programmazione (anche se per lo più si utilizza il C), che se invocata genera un output formattato secondo le regole dell'html. Vengono di solito utilizzate per risolvere problemi che richiedono una logica più complessa di quanto possa gestire il semplice HTML. Ad oggi si tende ad abbandonare le applicazioni CGI per diversi motivi. Uno dei principali è che i CGI sono solitamente in forma compilata e non di sorgente e questo comporta la difficile verifica della bontà dell'applicazione stessa rendendo il server che le esegue vulnerabile ad attacchi di tipo buffer overflow. Inoltre le applicazioni CGI soffrono di intrinseca rigidezza. Lo sviluppo di un'applicazione CGI risulta complesso ed una volta portata a termine si tende ad adattarne l'uso piuttosto che modificarla. ASP Acronimo di Active Server Pages sono pagine web contenenti, oltre al puro codice HTML, degli script che verranno eseguiti dal server per generare runtime il codice HTML da inviare al browser dell'utente. In questo modo è possibile mostrare contenuti dinamici (ad esempio estratti da database che risiedono sul server web) e modificarne l'aspetto secondo le regole programmate negli scripts, il tutto senza dover inviare il codice del programma all'utente finale (al quale va inviato solo il risultato), con un notevole risparmio di tempi e di banda, ottenendo contestualmente un aumento della sicurezza. Di recente introduzione è l'estensione ASP.NET che coniuga alla flessibilità di ASP le potenzialità del framework.net. PHP Acronimo ricorsivo di PHP Hypertext Preprocessor, è un linguaggio di scripting con licenza open source e parzialmente libera. Nei server web che gestiscono il PHP è possibile inserire pagine web dinamiche con codice PHP misto a HTML; le funzionalità offerte sono quelle tipiche di tutte le altre pagine web dinamiche, ma restano ancore irrisolte alcune falle di sicurezza, principalmente dovute al mancato adempimento della best practice nella scrittura del codice e da vulnerabilità presenti in vecchie versioni. JSP 19

20 Acronimo di Java Server Pages è una tecnologia Java per lo sviluppo di applicazioni web che forniscono contenuti dinamici. All'atto della prima invocazione le pagine JSP vengono tradotte automaticamente da un compilatore JSP in servlet. Richiede quindi la presenza di un server web dotato di un servlet container e di un motore JSP (ad esempio Tomcat). Differisce dagli altri sistemi per il tipo di architettura interna, che va ad impattare positivamente sui tempi di sviluppo, la portabilità, le prestazioni ed in generale sulla qualità del software prodotto AJAX Acronimo di Asynchronous JavaScript and XML, è una tecnica di sviluppo per applicazioni web interattive. Lo sviluppo di tali applicazioni si basa su uno scambio di dati in background fra web browser e server che consente l'aggiornamento dinamico di una pagina web Gestione del ciclo di vita La gestione del ciclo di vita del prodotto, o Product Lifecycle Management (PLM) è un approccio strategico alla gestione delle informazioni, dei processi e delle risorse a supporto del ciclo di vita di prodotti e servizi, dalla loro ideazione, allo sviluppo, al lancio sul mercato, al ritiro. Il PLM non è solo una tecnologia informatica, ma piuttosto un approccio integrato, basato su un insieme di tecnologie, su metodologie di organizzazione del lavoro collaborativo e sulla definizione di processi. L'obiettivo del PLM è ottimizzare (minor tempo, minori costi, maggiore qualità, minori rischi) lo sviluppo, la modifica e il ritiro dei prodotti o servizi dal mercato Service Oriented Architecture (SOA) Con l'acronimo di SOA (Service Oriented Architecture) si indica generalmente un'architettura software adatta a supportare l'uso di softare come servizi per garantire l'interoperabilità tra diversi sistemi così da consentire l'utilizzo delle singole applicazioni come componenti del processo di business e soddisfare le richieste degli utenti in modo integrato e trasparente. Di SOA esistono molte definizioni formali, ma quella universalmente accettata è quella prodotta dall'oasis: "SOA è un paradigma per l'organizzazione e l'utilizzazione delle risorse distribuite che possono essere sotto il controllo di domini di 20

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET 18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso ai database

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Corso di Sistemi di elaborazione delle informazioni

Corso di Sistemi di elaborazione delle informazioni Corso di Sistemi di elaborazione delle informazioni Biacco Sabrina ENTERPRISE RESOURCE PLANNING Gli ERP sono delle soluzioni applicative in grado di coordinare l'insieme delle attività aziendali automatizzando

Dettagli

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA Obiettivo Richiamare quello che non si può non sapere Fare alcune precisazioni terminologiche IL COMPUTER La struttura, i componenti

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Architetture per le applicazioni web-based. Mario Cannataro

Architetture per le applicazioni web-based. Mario Cannataro Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

INTRODUZIONE AL WEB DINAMICO

INTRODUZIONE AL WEB DINAMICO INTRODUZIONE AL WEB DINAMICO Internet: la rete delle reti Internet rappresenta oggi l espressione del forte bisogno dell uomo di comunicare, al fine, non solo di incrementare le conoscenze, ma anche di

Dettagli

Novità di Visual Studio 2008

Novità di Visual Studio 2008 Guida al prodotto Novità di Visual Studio 2008 Introduzione al sistema di sviluppo di Visual Studio Visual Studio Team System 2008 Visual Studio Team System 2008 Team Foundation Server Visual Studio Team

Dettagli

La realizzazione di WebGis con strumenti "Open Source".

La realizzazione di WebGis con strumenti Open Source. La realizzazione di WebGis con strumenti "Open Source". Esempi di impiego di strumenti a sorgente aperto per la realizzazione di un Gis con interfaccia Web Cos'è un Web Gis? Da wikipedia: Sono detti WebGIS

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,

Dettagli

Modulo 7: Reti informatiche Cod. J612 ISBN-13 : 978-88-8433-612-5 pp. 112

Modulo 7: Reti informatiche Cod. J612 ISBN-13 : 978-88-8433-612-5 pp. 112 Patente Europea del Computer AREA WEB ECDL Il sito www.loescher.it/ecdl permette di esercitarsi e consolidare le proprie esperienze per conseguire la Patente Europea del Computer: contiene un archivio

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

Corso di Informatica per la Gestione Aziendale

Corso di Informatica per la Gestione Aziendale Corso di Informatica per la Gestione Aziendale Anno Accademico: 2008/2009 DOCENTI: Prof.ssa Cecilia Rossignoli Dott. Gianluca Geremia Università degli Studi di Verona Dipartimento di Economia Aziendale

Dettagli

CIG 6223997CCB COD. ALICE G00292

CIG 6223997CCB COD. ALICE G00292 APPENDICE 2 Descrizione dei profili professionali richiesti Sommario APPENDICE 2 Descrizione dei profili professionali richiesti... 1 1. PROFILI PROFESSIONALI RICHIESTI... 2 1.1 Capo progetto... 2 1.2

Dettagli

CV di giuseppe scalzi

CV di giuseppe scalzi CV di giuseppe scalzi Iscritto il 28-12-2010 all'offerta Sviluppatori Web Senior e Junior In esame Nome completo: giuseppe scalzi Luogo: Bologna Data di nascita: 09/12/1978 Provincia: [Emilia-Romagna]

Dettagli

ERP Commercio e Servizi

ERP Commercio e Servizi ERP Commercio e Servizi Sistema informativo: una scelta strategica In questi ultimi anni hanno avuto grande affermazione nel mercato mondiale i cosiddetti sistemi software ERP. Tali sistemi sono in grado

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

Reti di computer. Agostino Lorenzi - Reti di computer - 2008

Reti di computer. Agostino Lorenzi - Reti di computer - 2008 Reti di computer Telematica : termine che evidenzia l integrazione tra tecnologie informatiche e tecnologie delle comunicazioni. Rete (network) : insieme di sistemi per l elaborazione delle informazioni

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

venerdì 31 gennaio 2014 Programmazione Web

venerdì 31 gennaio 2014 Programmazione Web Programmazione Web WWW: storia Il World Wide Web (WWW) nasce tra il 1989 e il 1991 come progetto del CERN di Ginevra affidato a un gruppo di ricercatori informatici tra i quali Tim Berners- Lee e Robert

Dettagli

CORSO EDA Informatica di base. Introduzione alle reti informatiche Internet e Web

CORSO EDA Informatica di base. Introduzione alle reti informatiche Internet e Web CORSO EDA Informatica di base Introduzione alle reti informatiche Internet e Web Rete di computer Una rete informatica è un insieme di computer e dispositivi periferici collegati tra di loro. Il collegamento

Dettagli

N.E.A.T. ( Neutral Environment Application Tools )

N.E.A.T. ( Neutral Environment Application Tools ) N.E.A.T. ( Neutral Environment Application Tools ) SCOPO : Ambiente per lo sviluppo di applicazioni WEB multimediali basate su Data Base Relazionale e strutturate secondo il modello a tre livelli: Presentazione

Dettagli

APPENDICE 5 AL CAPITOLATO TECNICO

APPENDICE 5 AL CAPITOLATO TECNICO APPENDICE 5 AL CAPITOLATO TECNICO Descrizione dei profili professionali INDICE 1 PROFILI PROFESSIONALI RICHIESTI 3 1.1 CAPO PROGETTO 3 1.2 ANALISTA FUNZIONALE 4 1.3 ANALISTA PROGRAMMATORE 5 1.4 PROGRAMMATORE

Dettagli

Le Reti (gli approfondimenti a lezione)

Le Reti (gli approfondimenti a lezione) Le Reti (gli approfondimenti a lezione) Per migliorare la produttività gli utenti collegano i computer tra di loro formando delle reti al fine di condividere risorse hardware e software. 1 Una rete di

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 1. Introduzione a Internet e al WWW Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

Introduzione alle Applicazioni Web

Introduzione alle Applicazioni Web Introduzione alle Applicazioni Web di Mary Ercolini Con il termine Applicazione Web si intende un applicazione risiedente in un Server Web alla quale si accede tramite un browser Internet o un altro programma

Dettagli

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione Architetture Web I Server Web e gli Standard della Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 27 Marzo 2012 Architetture Architetture Web Protocolli di Comunicazione Il Client Side

Dettagli

Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008

Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008 Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008 White paper Novembre 2007 Per informazioni aggiornate, visitare l indirizzo www.microsoft.com/italy/vstudio È possibile che a questo

Dettagli

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona Programmazione per Bioinformatica Il Calcolatore e la Programmazione Dr Damiano Macedonio Università di Verona Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti:

Dettagli

La domotica e l'informatica

La domotica e l'informatica Istituto di Scienza e Tecnologie dell'informazione A Faedo (ISTI) Laboratorio di domotica La domotica e l'informatica Dario Russo (dario.russo@isti.cnr.it) Cosa è l'informatica L'informatica è una scienza

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router Rete di reti (interrete, internet) 2 Prof. Roberto De Prisco TEORIA - Lezione 8 Rete di reti e Internet Università degli studi di Salerno Laurea e Diploma in Informatica Una rete di comunicazione è un

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Content Management Systems

Content Management Systems Content Management Systems L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Definizione Un Content Management System (CMS) è letteralmente un sistema per la gestione dei contenuti Definisce

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Vocabolario & Terminologie Informatiche

Vocabolario & Terminologie Informatiche Vocabolario & Terminologie Informatiche HARWARE: In ingegneria elettronica e informatica con il termine hardware si indica la parte fisica di un computer, ovvero tutte quelle parti elettroniche, elettriche,

Dettagli

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE INTRODUZIONE L ingegneria del software è la disciplina tecnologica e gestionalerelativa alla realizzazione sistematica e alla manutenzione di un software rispettando

Dettagli

CENTRO DI FORMAZIONE CORSI DI INFORMATICA PER TUTTI I LIVELLI

CENTRO DI FORMAZIONE CORSI DI INFORMATICA PER TUTTI I LIVELLI CENTRO DI FORMAZIONE CORSI DI INFORMATICA PER TUTTI I LIVELLI Azienda con Sistema di gestione per la qualità certificata secondo le norme UNI EN ISO 9001:2000 Azienda Accreditata Azienda Associata: CHI

Dettagli

Internet e World Wide Web

Internet e World Wide Web Alfonso Miola Internet e World Wide Web Dispensa C-02 Settembre 2005 1 Nota bene Il presente materiale didattico è derivato dalla dispensa prodotta da Luca Cabibbo Dip. Informatica e Automazione Università

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

Dettagli

Appendice D. D. Web Services

Appendice D. D. Web Services D. D.1 : cosa sono I cosiddetti sono diventati uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM,

Dettagli

La classificazione delle reti

La classificazione delle reti La classificazione delle reti Introduzione Con il termine rete si intende un sistema che permette la condivisione di informazioni e risorse (sia hardware che software) tra diversi calcolatori. Il sistema

Dettagli

SCHEDA TECNICA. Caratteristiche generali di prodotto. Denominazione S.A.T.T.- Sant Arpino Tributi e Territorio. Amministrazione Comune di Sant Arpino

SCHEDA TECNICA. Caratteristiche generali di prodotto. Denominazione S.A.T.T.- Sant Arpino Tributi e Territorio. Amministrazione Comune di Sant Arpino SCHEDA TECNICA Denominazione S.A.T.T.- Sant Arpino Tributi e Territorio Amministrazione Comune di Sant Arpino Note e considerazioni sul riuso Il Sistema proposto viene reso disponibile in open source per

Dettagli

Sme.UP Web Application

Sme.UP Web Application Sme.UP Web Application Web Application Web.UP Una interfaccia web per i vostri dati gestionali Il modulo applicativo Web.UP fornisce al progettista di siti Internet una serie di potenti strumenti per l'integrazione

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

Reti di computer. Tecnologie ed applicazioni

Reti di computer. Tecnologie ed applicazioni Reti di computer Tecnologie ed applicazioni Da I.T a I.C.T Con I.T (Information Tecnology) si intende il trattamento delle informazioni attraverso il computer e le nuove apparecchiature tecnologiche ad

Dettagli

Zebra BAR ONE SOFTWARE PER LA PROGETTAZIONE, L'INTEGRAZIONE LA STAMPA DI ETICHETTE CON CODICI A BARRE

Zebra BAR ONE SOFTWARE PER LA PROGETTAZIONE, L'INTEGRAZIONE LA STAMPA DI ETICHETTE CON CODICI A BARRE SOFTWARE PER LA PROGETTAZIONE, L'INTEGRAZIONE LA STAMPA DI ETICHETTE CON CODICI A BARRE Ottimizza le prestazioni e il controllo delle stampanti Zebra. Semplifica la progettazione e la stampa delle etichette

Dettagli

COGITEK s.r.l. Via Fregene, 14 00183 ROMA Tel. 0689820236 Fax. 0689820213 Cod. Fisc. e Part. IVA 06012550015 Cap. Soc. 70.000 i.v.

COGITEK s.r.l. Via Fregene, 14 00183 ROMA Tel. 0689820236 Fax. 0689820213 Cod. Fisc. e Part. IVA 06012550015 Cap. Soc. 70.000 i.v. Sommario 1. I presupposti di GRAM AUDIT... 4 2. I vantaggi di GRAM AUDIT... 4 3. Aspetti metodologici alla base del Modello... 5 3.1. La gestione degli utenti... 5 3.2. La composizione del Piano di Audit

Dettagli

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete Sistemi Operativi di Rete Estensione dei Sistemi Operativi standard con servizi per la gestione di risorse in rete locale Risorse gestite: uno o più server di rete più stampanti di rete una o più reti

Dettagli

> LA TECNOLOGIA Per noi è una professione. Per voi sarà un gioco.

> LA TECNOLOGIA Per noi è una professione. Per voi sarà un gioco. > LA TECNOLOGIA Per noi è una professione. Per voi sarà un gioco. Perché investire in innovazione 2 Perché scegliere MediaNET 4 A chi si rivolge MediaNET 6 I numeri 7 Soluzioni e servizi 8 L identità MediaNET

Dettagli

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Schema di una Rete

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Schema di una Rete Finalità delle Reti di calcolatori Le Reti Informatiche Un calcolatore isolato, anche se multiutente ha a disposizione solo le risorse locali potrà elaborare unicamente i dati dei propri utenti 2 / 44

Dettagli

Calcolo numerico e programmazione. Sistemi operativi

Calcolo numerico e programmazione. Sistemi operativi Calcolo numerico e programmazione Sistemi operativi Tullio Facchinetti 25 maggio 2012 13:47 http://robot.unipv.it/toolleeo Sistemi operativi insieme di programmi che rendono

Dettagli

Glossario. dei. termini

Glossario. dei. termini MoonSoft Via Belzoni, 6 35100 Padova E-Mail: moonsoft2007@gmail.com Glossario dei termini Versione 1.2e Redatto da: Spimpolo Matteo Controllato da: Scapin Enrico Approvato da: Tessari Lorenzo MST_RR_GlossarioDeiTermini_1.2e

Dettagli

Thea PDM. Cos è Thea PDM? Il PDM (Product Data Management)

Thea PDM. Cos è Thea PDM? Il PDM (Product Data Management) Thea PDM Il PDM (Product Data Management) Nell'industria manifatturiera il PDM è un software per la raccolta ed organizzazione dei file nelle divere fasi di ideazione, progettazione, produzione ed obsolescenza

Dettagli

Missione: Analista programmatore su progetto Banca Primavera Spa (Gruppo Intesa) Progettazione e realizzazione sistemi web di internet banking

Missione: Analista programmatore su progetto Banca Primavera Spa (Gruppo Intesa) Progettazione e realizzazione sistemi web di internet banking Analista Applicativo Team leader in settore informatico legato all'ambito banking/finance Esperienza professionale Da Gennaio 2008 Analista Applicativo Intesa Sanpaolo Spa Missione: Analista applicativo

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Linguaggi 2 e laboratorio

Linguaggi 2 e laboratorio Linguaggi 2 e laboratorio Docente: Leonardo Badia Contatti: leonardo.badia@gmail.com Pagina web del corso: www.unife.it/scienze/informatica/ insegnamenti/linguaggi-2-laboratorio Argomenti del corso: Java

Dettagli

Missione e Company Profile

Missione e Company Profile Missione e Company Profile Aritech Consulting è una Agenzia di Rappresentanza che si propone come Internet Company pura, attiva nella fornitura di servizi e soluzioni ad alto valore aggiunto nella rete

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Un Sistema Operativo di Rete nasconde all utente finale la struttura del calcolatore locale e la struttura della rete stessa

Un Sistema Operativo di Rete nasconde all utente finale la struttura del calcolatore locale e la struttura della rete stessa LE RETI INFORMATICHE Un calcolatore singolo, isolato dagli altri anche se multiutente può avere accesso ed utilizzare solo le risorse locali interne al Computer o ad esso direttamente collegate ed elaborare

Dettagli

catalogo corsi di formazione 2015/2016

catalogo corsi di formazione 2015/2016 L offerta formativa inserita in questo catalogo è stata suddivisa in quattro sezioni tematiche che raggruppano i corsi di formazione sulla base degli argomenti trattati. Organizzazione, progettazione e

Dettagli

Punti fondamentali sulla tecnologia del sistema ABScard

Punti fondamentali sulla tecnologia del sistema ABScard Punti fondamentali sulla tecnologia del sistema ABScard Architettura ABSCARD Pagina 1 di 13 INDICE GENERALE 1 Architettura...3 1.1 Introduzione...3 1.1.1 Sicurezza...4 1.1.2 Gestione...5 1.1.3 ABScard

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

Introduzione al linguaggio Java: Servlet e JSP

Introduzione al linguaggio Java: Servlet e JSP Introduzione al linguaggio Java: Servlet e JSP Corso di Gestione della Conoscenza d Impresa A. A. 2006/2007 Dipartimento di Informatica Università degli Studi di Bari 1 Servlet e JSP: il contesto Un applicazione

Dettagli

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO Linguaggio macchina Uno per ogni processore o famiglia di processori Linguaggio assembler Versione simbolica di quello macchina. LINGUAGGI DI ALTO

Dettagli

ISTITUTO TECNICO COMMERCIALE STATALE ABBA - BALLINI

ISTITUTO TECNICO COMMERCIALE STATALE ABBA - BALLINI ISTITUTO TECNICO COMMERCIALE STATALE ABBA - BALLINI Via Tirandi n. 3-25128 BRESCIA tel. 030/307332-393363 - fax 030/303379 www.abba-ballini.it email: info@abba-ballini.it DIPARTIMENTO DI INFORMATICA Sistemi

Dettagli

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II Macchine per l elaborazione dell informazion e Sistemi di Elaborazione delle Informazioni Informatica II Ing. Mauro Iacono Seconda Università degli Studi di Napoli Facoltà di Studi Politici e per l Alta

Dettagli

Tipi fondamentali di documenti web

Tipi fondamentali di documenti web Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non

Dettagli

Dipartimento di informatica CONTENUTI MINIMI DI INFORMATICA E TECNOLOGIE DELLA COMUNICAZIONE

Dipartimento di informatica CONTENUTI MINIMI DI INFORMATICA E TECNOLOGIE DELLA COMUNICAZIONE CONTENUTI MINIMI DI INFORMATICA E TECNOLOGIE DELLA COMUNICAZIONE CLASSE PRIMA INDIRIZZI: AMMINISTRAZIONE FINANZA E MARKETING, RELAZIONI INTERNAZIONALE PER IL MARKETING, SISTEMI INFORMATIVI SPORTIVO pag.2

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

corrispondente server Web (l applicazione server) viene inviata una richiesta, alla quale il server normalmente risponde inviando la pagina HTML che

corrispondente server Web (l applicazione server) viene inviata una richiesta, alla quale il server normalmente risponde inviando la pagina HTML che Prefazione In questo volume completiamo l esplorazione del linguaggio Java che abbiamo iniziato in Java Fondamenti di programmazione. I due testi fanno parte di un percorso didattico unitario, come testimoniano

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

L'elaborazione dei dati su client Linguaggi di script

L'elaborazione dei dati su client Linguaggi di script Pagina 1 di 5 L'elaborazione dei dati su client Linguaggi di script Attualmente si tende a scaricare sul computer dell'utente piccoli programmi (Javascript o applet Java) che svolgano parte dell'elaborazione

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

Dettagli

Corso di Sistemi Operativi DEE - Politecnico di Bari. LINUX - Introduzione. G. Piscitelli - M. Ruta. 1 di 26 LINUX - Introduzione

Corso di Sistemi Operativi DEE - Politecnico di Bari. LINUX - Introduzione. G. Piscitelli - M. Ruta. 1 di 26 LINUX - Introduzione LINUX - Introduzione 1 di 26 LINUX - Introduzione Cos è LINUX? Si tratta di un clone di UNIX Più precisamente è il kernel del S.O. Funzionalità di base Scheduling dei processi Gestione della memoria virtuale

Dettagli

ISIS C.Facchinetti Sede: via Azimonti, 5 21053 Castellanza Modulo Gestione Qualità UNI EN ISO 9001 : 2008

ISIS C.Facchinetti Sede: via Azimonti, 5 21053 Castellanza Modulo Gestione Qualità UNI EN ISO 9001 : 2008 PIANO DI STUDIO DELLA DISCIPLINA - TECNOLOGIE INFORMATICHE CLASSI 1 e - PIANO DELLE UDA ANNO SCOLASTICO 2013-2014 UDA COMPETENZE della UDA ABILITA UDA UDA n. 1 Struttura hardware del computer e rappresentazione

Dettagli

Capitolo 16 I servizi Internet

Capitolo 16 I servizi Internet Capitolo 16 I servizi Internet Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

Come funziona internet

Come funziona internet Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa

Dettagli

Programmazione Server Side e Database in rete

Programmazione Server Side e Database in rete Programmazione Server Side e Database in rete Prof. Massimo PALOMBO -IIS A. MEUCCI Casarano La programmazione Stand-Alone consente di costruire applicazioni, più o meno complesse, ma utilizzabili esclusivamente

Dettagli

Modulo 1 Concetti generali 4 settimane

Modulo 1 Concetti generali 4 settimane OBIETTIVI SPECIFICI DEL PRIMO BIENNIO - CLASSE PRIMA settore ECONOMICO: NUCLEI FONDANTI, CONOSCENZE E COMPETENZE NB per ciascuno dei moduli di insegnamento/apprendimento viene indicato il tempo di trattazione

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione Web: Architetture versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Area d Insegnamento Contenuti didattici Competenze richieste

Area d Insegnamento Contenuti didattici Competenze richieste Value proposition: (proposta di valore). Innovazione a sistema. Java. Evoluzioni e soluzioni mobili. Scenari di mercato: da acquisto prodotti/servizi ad acquisto soluzioni. La convergenza ICT. L impatto

Dettagli

Soluzioni innovative per la semplificazione del vostro business. Famiglia IBM System i

Soluzioni innovative per la semplificazione del vostro business. Famiglia IBM System i Soluzioni innovative per la semplificazione del vostro business Famiglia IBM System i Caratteristiche principali E una piattaforma dalle prestazioni elevate, che offre alta affidabilità e sicurezza, per

Dettagli

Applicazione: GAS - Gestione AcceSsi

Applicazione: GAS - Gestione AcceSsi Riusabilità del software - Catalogo delle applicazioni Gestione ICT Applicazione: GAS - Gestione AcceSsi Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi Nome

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

WEB SERVER EMBEDDED PER APPLICAZIONI DI DOMOTICA. Fig. 1 - Architettura di un web server embedded

WEB SERVER EMBEDDED PER APPLICAZIONI DI DOMOTICA. Fig. 1 - Architettura di un web server embedded WEB SERVER EMBEDDED PER APPLICAZIONI DI Cristian Randieri Per far fronte alle esigenze di sviluppatori che intendono gestire applicazioni professionali per la domotica e la home building automation sfruttando

Dettagli