Skill Factory
Categoria: Work experience
4. CV Story (Gino Visciano): "L'esperienza in SUN Educational Services" - la fine del primo decennio degli anni '2000
Gino Visciano |
Skill Factory - 02/08/2024 12:15:03 | in Work experience
Il primo decennio degli anni '2000, professionalmente è stato caratterizzato dalla mia esperienza di formatore con la Sun Educational Services, la divisione della Sun Microsystems Italia che si occupava dei servizi di training.
In quel periodo la mia esperienza in DGS si era conclusa; volevo creare qualcosa di innovativo nel settore della formazione, ma nel nuovo modello di business di DGS la formazione non era più strategica, per questo motivo abbandonai l'azienda e fondai il Consorzio Copernicus. L'obiettivo era quello di rivoluzionare il mondo della formazione con le mie idee - non fu un caso se scelsi il nome Copernicus.
Nel 2003, quando ci fu la fusione tra Telecom Italia e l'Olivetti, Adriana Fasano, la mia ex responsabile dell'area formazione in Olivetti, diventò account manager education in Sun Educational Services. Questo evento mi diede l'opportunità d'iniziare a collaborare, attraverso il Consorzio Copernicus, con la più importante azienda di formazione al mondo. Naturalmente devo tutto ad Adriana Fasano che mi permise di entrare a far parte del suo team di formatori.
In Sun, collaboravo anche con Claudia Castellano responsabile dei servizi di formazione, che ho conosciuto a Milano, quando tenevo i corsi persso la sede di v.le Fulvio Testi, 327 e Alberto Mosca, che ho conosciuto a Roma, lui svolgeva il ruolo di commerciale.
Grazie ad Adriana Fasano, Claudia Castellano e Alberto Mosca, ho avuto l'opportunità di formare i dipendneti delle aziende d'informatica più importanti d’Italia.
All'inizio, facevo corsi di Unix Sun Solaris, formavo i dipendenti delle aziende IT che utilizzavano le workstation oppure i server Sun; già conoscevo Unix System V (Unix System Five) e le mie conoscenze di C risultarono molto utili perché con Solaris si utilizzava la C shell, che permetteva di creare script Unix con il linguaggio C, mentre con Unix System V si usava la Korn shell, che invece permetteva di creare gli script Unix con un linguaggio proprietario.
Poi, a causa della profonda crisi del mercato dello sviluppo software che si verificò tra la fine degli anni '90 e l'inizio del 2000, Java diventò uno dei linguaggi di programmazione ad oggetti più utilizzati dai programmatori. Il passaggio dalla programmazione procedurale a quella ad oggetti creò una grossa richiesta di corsi, prima di alfabettizzazione e via via sempre di maggiore specializzazione. Fu così che iniziò la mia esperinza in Sun di formatore Java.
QUANDO E' NATO L'OBJECT ORIENTED
Alla fine degli anni '90, il Modello a cascata (Waterfall) venne messo in discussione, perché non era adatto alla produzione di software di qualità sempre più complesso e che richiedeva la riusabilità del codice e continui aggiornamenti.
Il Waterfall prevedeva che il ciclo di vita del software si basasse sulle seguenti fasi, svolte in sequenza: pianificazione (plan), analisi (analysis), progettazione (design), implementazione (code), collaudo (test), installazione (install), utilizzo (use), come mostra l'immagine seguente:
Questo tipo di modello di sviluppo software andava bene solo per applicazioni dove i requisiti funzionali e di business, definiti durante la fase di analisi, non cambiavano nel tempo, altrimenti si rischiava di non soddisfare mai i clienti.
Naturalmente cambiarono anche i linguaggi di programmazione utilizzati, tra questi quelli che ebbero il maggiore successo furono il linguaggio C++ (C plus plus) creato da Bjarne Stroustrup e il linguaggio Java creato da James Gosling della Sun Microsytems e il linguaggio C# (C sharp) creato da Anders Hejlsberg della Microsoft.
Tutti è tre i linguaggi permettevano di sviluppare applicazioni orientate agli oggetti, ma Java e C# erano stati pensati per il Web, per questo motivo erano trasportabili (generavano codice intermedio, diverso dal linguaggio macchina, eseguibile con Virtual Machine), a differenza del C++ non permettevano l'ereditarietà multipla e disponevano di linguaggi di tipo SERVER SIDE come JSP (Java Server Page) per Java e ASP (Active Server Page) per C#, che permettevano di creare pagine Html dinamiche.
Per approfondire la conoscenza del linguaggio C clicca qui.
Per maggiori informazioni sugli oggetti e sul linguaggio C++ clicca qui.
Per imparare tutto quello che ti serve su Java Object Oriented clicca qui.
Allora conoscevo benissimo il C++ e in breve tempo, attraverso il supporto della Sun Educational Services, imparai tutto quello che bisognava sapere su Java.
Con il diffondersi di Java, iniziarono ad aumentare le richieste di corsi e di certificazioni Java da parte del mercato IT. Fu così che iniziò la mia esperienza di formatore esperto di linguaggio Java. Ricordo ancora i codici dei corsi che erogavo in tutta Italia:
1) SL-110 (Introduzione al linguaggio Java);
2) SL-275 (Java Programming Language);
3) SL-314 (Java Web Component);
4) SL-351 (Java Business Component);
5) FJ-310 (Developing Application for Java EE Platform);
6) SL-425 (Architecting and Designing J2EE Applications);
7) DWS-385 (Java Web Service);
8) DTJ-3109 (Developing Secure Web Applications).
A Roma, la sede della Sun si trovava in via Gian Domenico Romagnosi, 4, nei pressi di p.zza del Popolo, ma i corsi si tenevano presso la sede di Atlantica, in P.zza Barberini, adiacente a Via Veneto e a pochi passi dalla fontana di Trevi e da P.zza di Spagna - è lì che ho imparato ad amare Roma e la Formazione, quella con la EFFE maiuscola.
Conservo ancora in libreria i manuali originali da cui studiavo:
Purtroppo, non trovo il manuale SL-275 Java Programming Language, devo averlo prestato a qualche collega o a qualche mio studente; in questo manuale c'era tutto quello che bisognava sapere per lavorare con Java SE (Standard Edition). Con questa versione di Java si potevano creare applicazione a due livelli di tipo desktop che permettevano di archiviare informazioni in un database relazionale.
Per creare le interfacce grafiche, inizialmente usavo la libreria Java AWT, successivamente passai alla libreria Java SWING, perché era molto più dinamica della precedente. Per gestire i database usavo la libreria Java JDBC, ovviamente combinata con il linguaggio SQL.
Sono molto legato all'SL-275, perché tutte le conoscenze di Object Oriented che ho appreso da questo manuale sono state utili superare l'esame di certificazione Java Programmer.
LA PIATTAFROMA JAVA EE (ENTERPRISE EDITION)
La Sun Microsystems a dicembre del 1999 estende la versione Java SE con una versione molto più potente che, inizialmente venne chiamata Java 2 EE, poi qualeche anno dopo Java EE.
Java EE è un framework potente e completo per lo sviluppo e la distribuzione di applicazioni aziendali su larga scala, affidabili e sicure. Fornisce un'architettura solida e multilivello che separa i livelli di logica aziendale, presentazione e accesso ai dati, promuovendo modularità e manutenibilità.
La piattaforma comprende un'ampia gamma di API (Application Programming Interface) che facilitano vari aspetti dello sviluppo di applicazioni, come servizi Web, architettura basata su componenti e servizi a livello aziendale. Queste API aiutano gli sviluppatori a gestire attività come la connettività del database, la messaggistica, la gestione delle transazioni e la sicurezza, consentendo la creazione di applicazioni scalabili e ad alte prestazioni.
I componenti principali di Java EE sono:
- servlet
- JavaServer Pagine (JSP)
- JavaBean aziendali (EJB)
- API di persistenza Java (JPA)
- Servizio messaggi Java (JMS)
- API di transazione Java (JTA)
- JavaMail
- API Java per servizi Web RESTful (JAX-RS)
- API Java per servizi Web XML (JAX-WS)
- Interfaccia di denominazione e directory Java (JNDI).
Tutto quello che mi serviva per lavorare con questi nuovi componenti l'ho appreso dai manuali seguenti:
1) SL-351 (Java Business Component);
2) FJ-310 (Developing Application for Java EE Platform);
3) SL-425 (Architecting and Designing J2EE Applications);
4) DWS-385 (Java Web Service);
5) DTJ-3109 (Developing Secure Web Applications).
Per lavorare con gli EJB usavo i seguenti Application Server:
1) Glassfish (della Oracle)
2) WebLogic (della Oracle)
3) WebSphere (dell'IBM)
4) JBoss (allora era un prodotto Open Source, oggi della Red Hat).
Gli EJB erano oggetti che potevano essere istanziati solo in un EJB Container di un Application Server, a differenza dei POJO (Plan Old Java Object - Oggetti Java Standard), che possono essere istanziati sia in una Java Virtual Machine, sia in un Web Container di un Web Server come Apache o di un Application Server qualsiasi, perchè questo servizio dispone sia di un Web Container, sia di un EJB Containar, come mostra l'immagine seguente:
PERCHE' OGGI I POJO SONO MOLTO PIU' UTILIZZATI DEGLI EJB?
Gli EJB permettono di fare in modo più professionale esattamente tutto quello che facciamo oggi con i POJO (Plan Old Java Object - Oggetti Java standard), utilizzando Hibernate e Spring. Il motivo per cui oggi quasi tutti i programmatori, per implementare la Dipendency Injection e l'ORM, usano oggetti POJO, si spiega con il fatto che i framework Hibernate e Spring sono più semplici da utilizzare e quindi richiedono un minore costo d'implementazione rispetto alle soluzioni di tipo EJB che invece risultano più complesse da utilizzare, ma probabilmente esiste anche un'altra spiegazione dovuta a un fattore storico che ho vissuto personalmente ...
Purtroppo, la versione EJB 2.0 della piattaforma Java EE, aveva diversi problemi, che creavano grosse difficoltà ai programmatori, quindi erano considerati non affidabili. Questo ha dato spazio a soluzioni alternative come Hibernate prima e Spring dopo. Quando la Sun, con la versione EJB 3.5 ha risolto tutti i problemi, probabilmente non sono più riusciti a riconquistare la fiducia dei programmatori che ormai avevano iniziato ad usare le soluzioni alternative.
Questo grave errore della Sun ha permesso a Hibernate e Spring di diventare i leader di questa fascia di mercato.
LA RIVOLUZIONE DELLO SVILUPPO AGILE
Quando si è verificata la crisi dello sviluppo software, oltre al paradigma di sviluppo, cambiarono anche i modelli di sviluppo software che diventarono prima iterativi e successivamente iterativi incrementali. Allora collaboravo anche con l'IBM e altre società del gruppo come la Sistemi Informativi e la Selfin, per i clienti del gruppo ho fatto molti corsi di Rational Unified Process (RUP), uno dei primi modelli di sviluppo software iterativi.
Il RUP a differenza del Waterfall divideva il ciclo di vita del software in quattro transazioni: avvio (inception), elaborazione (elaboration), costruzione (construction) e transizione (transaction), ciascuna indicava il livello di maturità di un progetto di sviluppo software. In base alla transazione, le fasi del modello a cascata venivano gestite in modo diverso, in base agli obiettivi da raggiungere. Ad esempio, per le transazioni iniziali (avvio/elaborazione), dove la conoscenza del progetto software era minore, si dedicava più tempo alle fasi di analisi e di progettazione, mentre per le transizioni finali (costruzione/transizione), dove l'applicazione cominciava a prendere forma, si dedicava più tempo alle fasi d'implementazione, testing e deployment.
L'immagine seguente mostra il RUP (Rational Unified Process):
Comunque, l'evento più importante che cambiò radicalmente il modo di sviluppare le applicazioni software e da cui dipendono gli attuali modelli di sviluppo software, fu l'incontro del 2001 a Snowbird (Utah), tra i più grandi produttori di software del mondo. Alla fine di questo storico incontro, in diciassette, sottoscrissero il Manifesto Agile che conteneva i 4 valori e 12 principi guida da seguire per progettare e sviluppare applicazioni complesse in modo agile.
I quattro valori del Manifesto agile erano:
1. Individui e interazioni su processi e strumenti;
2. Software funzionante sulla documentazione completa;
3. Collaborazione con i clienti sulla negoziazione del contratto;
4. Rispondere al cambiamento anziché seguire un piano.
Per ricevere maggiori informazioni sul manifesto agile clicca qui.
Oggi il modello di sviluppo software che maggiormente si rifà ai valori e ai principi del Manifesto agile è il modello iterativo incrementale DevOps, riportato nell'immagine seguente:
La metodologia Agile più usata nelle aziende che fanno sviluppo software è SCRUM, un framework, inteso come insieme di regole, ruoli, eventi e artefatti, che permette di accelerare le attività di progettazione applicativa, migliorando contestualmente la qualità del software.
L'immagine seguente mostra gli elementi che compongono il framework SCRUM:
Conosco bene sia il modello di sviluppo software DevOps, sia la metodologia SCRUM, perché sono corsi molto richiesti dalle aziende IT che devono aggiornare oppure riqualificare i propri dipendenti. Faccio anche molta consulenza per supportare le aziende IT che vogliono implementare il modello DevOps e applicare un project management di tipo Agile, svolgendo spesso il ruolo di SCRUM Master.
IL TRAMONTO DELLA SUN MICROSYSTEMS: LA FINE DI UNA GRANDE VISIONE AZIENDALE
Prima degli anni '80 i sistemi informatici erano di tipo mainframe, sistemi centralizzati, molto affidabili, con grosse capacità di elaborazione dati, utilizzati solo dalle grandi aziende; i principali produttori mondiali di mainframe erano l'IBM, l'HP e l'Olivetti.
Solo qualche anno più tardi arriveranno i minicomputer e i personal computer, accessibili a tutti e che attraverso le reti comunicavano tra loro, rendendo i sistemi non più centralizzati, ma distribuiti; fu così che inizio l'era della trasformazione digitale.
Tra le aziende che hanno favorito il passaggio dai sistemi centralizzati verso i sistemi distribuiti, la Sun Microsystems ha avuto un ruolo molto importante, dovuto soprattutto all'innovativa visione commerciale di questa grande azienda Californiana.
Lo slogan della SUN era "La rete è il computer", anticipando quello che poi diventerà Internet e il cloud.
Scott McNealy, uno dei co-fondatori della Sun, affermava: "Il mondo sta cambiando, sarà tutto in rete". È assurdo che conserviamo tutti i nostri dati su PC e laptop, dove possono essere persi troppo facilmente. Se affidi i tuoi soldi alla banca, perché non dovresti affidare i tuoi dati alla rete? Affidando i dati alla rete li potresti scaricare quando ti servono, così come prelevi soldi quando ne hai bisogno.
Inizialmente era un'azienda di nicchia che produceva workstation con sistema operativo Unix Sun Solaris, alla fine degli anni '80 è entrata nel mercato dei server multiutente e verso la meta degli anni '90 ha iniziato ad operare anche nel mercato emergente dei server web.
La Sun, attraverso le sue scelte di mercato s'era riposizionata dal mercato delle workstation, considerato a crescita lenta, verso il mercato Internet a crescita elevata. I suoi server gestivano siti Web di alto profilo come AOL, Amazon.com ed e-bay.
Nel 1997, ogni giorno dagli stabilimenti Sun, venivano spediti ai clienti circa 100 server e 2.500 workstation. Il prezzo di un Server SUN oscillava dai 14.000 a un milione di dollari ($), mentre una workstation costava in media 15.000 dollari ($).
Alla fine del 1998, Sun era cresciuta fino a raggiungere quasi 26.300 dipendenti con circa 10 miliardi di dollari di ricavi. I ricavi erano suddivisi per il 52% negli Stati Uniti e per il 48% a livello mondiale.
Sun rispetto ai suoi concorrenti offriva soluzioni hardware scalabili e affidabili per il funzionamento di Unix; era il principale concorrente di Microsoft. Insieme ad Apple, era l'unico fornitore a non installare Windows NT sui propri server o Windows sulle workstation.
I server e le workstation Sun non usavano processori Intel, ma avevano una propria architettura basata su processori SPARC RISC. Anche IBM, Compaq e Hewlett-Packard avevano sistemi operativi e architetture proprietarie, ma vendevano anche macchine basate sullo standard Wintel (Windows/Intel).
Compaq, Dell e la maggior parte dei piccoli venditori operavano quasi completamente nel campo Wintel.
I prodotti della Sun erano progettati per comunicare attraverso le reti e il protocollo TCP/IP, erano scalabili e affidabili, per questo motivo la Sun riuscì a soddisfare anche le esigenze delle grandi aziende, che si convertirono ai server basati su Unix su cui potevano girare applicazioni come SAP, PeopleSoft, Baan e Oracle.
Sun, oltre a progettare il proprio microprocessore SPARC, il proprio sistema operativo Unix Solaris, creò anche il linguaggio di programmazione Java, per sviluppare applicazioni a oggetti basate sul web. Tutte queste tecnologie pur essendo proprietarie erano considerate aperte, perché Sun pubblicava gli standard e i protocolli concedendoli in licenza per l'utilizzo ad altri.
Sun faceva molto affidamento su terze parti per i servizi di integrazione e il supporto, tra i partner software strategici di Sun cerano: Baan, BEA, Computer Associates, Informix, J.D. Edwards,Lotus, Netscape, Oracle, PeopleSoft, SAP, SAS Institute, Sybase, Tivoli e IBM.
Aveva anche forti rapporti con le principali società di consulenza, tra cui KPMG, Price Waterhouse, Andersen Consulting, EDS, MCI e Cambridge Technology Partner, Perot Systems, Ernst and Young, CSC, Cap Gemini e Deloitte ICS.
La più grande debolezza di Sun fu la sua focalizzazione sul mercato Unix; mentre altri fornitori iniziavano ad investire su Windows NT e Linux e sulla tecnologia Wintel, il CIO (chief information officer) della Sun, ovvero il responsabile della gestione strategica dei sistemi informativi dichiarava:
“La tecnologia Sun on Sun è un punto religioso... Gestiamo la nostra azienda da soli.
Sebbene Java proliferasse con una penetrazione dell'85% sui client, la concorrenza dei prodotti Microsoft e delle tecnologie Intel compatibili aumentò a tal punto che la Sun entrò in crisi.
Dopo una serie di voci sulla possibile acquisizione da parte di IBM e di Cisco, a gennaio del 2010, arrivò inaspettata la mossa di Oracle, che acquistò Sun Microsystems per un valore di 7,4 miliardi di dollari ($).
Con questa acquisizione la Oracle ottenne grossi vantaggi di mercato perché poteva disporre di un ottimo sistema operativo Unix, di un ottimo linguaggio di programmazione come Java e dalla disponibilità di tutto l'hardware prodotto dalla Sun.
Con l'acquisto di Sun, Oracle portò in casa anche MySQL, acquistato da Sun nel gennaio 2008.
Il resto lo conoscete perché è storia recente ...
LA BREVE ESPERIENZA DI FORMATORE IN ORACLE
In Sun, oltre a ricevere una grande crescita professionale come formatore, avevo avuto anche l'opportunità di diventare un programmatore molto esperto; tutto quello che insegnavo, lo sapevo anche applicare praticamente. Quindi oltre alla formazione ero capace di fare anche progettazione ed implementazione di applicazioni aziendali distribuite, multilivello.
La gratificazione maggiore che ho ricevuto durante la mia esperienza in Sun è stato l'invito in Scozia, ricevuto direttamente dalla Sun Microsystems al meeting degli Educational Center Sun di tutto il mondo. E' stata un'esperienza bellissima che mi ha ripagato di tutto lo studio e i sacrifici che avevo fatto per arrivare a quel livello.
Conservo ancora il badge che mi consegnarono per accedere all'evento:
Ho continuato a collaborare con la Sun fino al 2010, quando in modo inaspettato, arrivò la notizia improvvisa che la Oracle aveva acquistato la Sun Microsystems.
1. CV Story (Gino Visciano): "dalle schede perforate al primo Personal computer in rete" - gli anni '80
2. CV Story (Gino Visciano): "Dai Sistemi operativi multitasking ai linguaggi ad oggetti" - gli anni '90
3. CV Story (Gino Visciano): "La rivoluzione WWW (World Wide Web) e i linguaggi visuali" - l'inizio del primo decennio degli anni '2000
3. CV Story (Gino Visciano): "La rivoluzione WWW (World Wide Web) e i linguaggi visuali" - l'inizio del primo decennio degli anni '2000
Gino Visciano |
Skill Factory - 08/03/2024 18:53:50 | in Work experience
Gli avvenimenti degli anni 90', hanno contribuito molto alla rivoluzione World Wide Web che si è verificata all'inizio degli anni 2000', tra questi quelli più importanti sono stati sicuramente:
1982 - la definizione del protocollo di rete TCP/IP, fondamentale per il funzionamento di Internet.
1984 - la nascita del sistema DNS (Domain Name System), che permette di assegnare i nomi di dominio alle reti in Internet.
1990 - la nascita del protocollo applicativo HTTP (Hypertext Transfer Protocol) e del linguaggio HTML (Hypertext Markup Language).
Nel 1991 il CERN (Centro Europeo di Ricerca Nucleare) annuncia la nascita del World Wide Web e inizia l'era del WEB 1.0. Ricordo che le pagine web erano statiche, ma l'utilizzo dell'HTML e dei browser rappresentava una novità significativa, perché allora eravamo abituati a lavorare principalmente con interfacce di tipo testo.
Naturalmente un ruolo importante nella diffusione del WWW lo hanno avuto i web server, a quel tempo il più diffuso era il daemon HTTP, sviluppato da Rob McCool al NCSA (National Center for Supercomputing Application), ma nel 1995 nacque APACHE, uno dei più importanti progetti proposta dall'Apache Software Foundation, una delle più grandi comunità distribuite di sviluppatori che lavorano su progetti open source.
Il primo browser che ho utilizzato è stato MOSAIC, creato dall'NCSA (National Center for Supercomputer Applications) dell’Università dell’Illinois, ma velocemente nascevano nuovi browser con caratteristiche sempre più evolute, come ad esempio: Netscape, Mozilla Firefox, Internet Explorer, Opera e Safari.
E' difficile descrivere le emozioni che provavo quando ho iniziato a navigare con i primi browser sul Web attraverso Internet , perché allora non avevamo ancora né le conoscenze, né le abilità per capire quello che di lì a poco avrebbe cambiato radicalmente il nostro modo di lavorare e le nostre abitudini, ma dopo la meraviglia è prevalsa voglia di scoprire e comprendere tutto quello che rappresentasse il WWW.
Le mie prime pagine web dinamiche le ho create con il linguaggio C, utilizzando la tecnica CGI (Common Gateway Interface - interfaccia comune). Il browser inviava le richieste di pagine HTML al server web, il server leggeva la richiesta, ad esempio pagina.cgi ed eseguiva il programma c corrispondente.
Allora c'era il problema che gli interpreti HTML dei browser non erano standardizzati come accade oggi e spesso utilizzando browser diversi si ottenevano risultati differenti e inaspettati, difficili da prevedere e gestire.
Il programma c, durante l'esecuzione, attraverso la funzione printf, come se fosse una normale operazione di output, creava la pagina HTML da inviare al browser, come mostra il codice seguente.
#include <stdio.h>
int main(void) {
/*informazione necessaria per la risposta*/
printf("Content-type: text/html\n\n");
/*Inviamo su STDOUT i tag HTML*/
printf("<html>\n"
"<head>\n"
"<title>Hello World!</title>\n"
"</head>\n"
"<body>\n"
"<h1><p align=\"center\">Hello World</p></h1>\n"
"</body>\n"
"</html>\n");
return 0;
}
Il client inviava le richieste get/post al server esattamente come facciamo ancora oggi:
<form method="GET" action="/cgi-bin/benvenuto.cgi">
Nome:<input type="text" name="nome"><br />
Cognome:<input type="text" name="cognome"><br />
<input type="submit" value="Clicca">
</form>
La tecnica CGI per creare pagine web dinamiche con il tempo è stata sostituita da quella di tipo SERVER SIDE, più semplice della precedente perché il codice HTML poteva essere utilizzato direttamente con il linguaggio di programmazione usato per creare la pagina web (HTML-embedded).
I linguaggi di tipo SERVER SIDE più conosciuti sono i seguenti:
1) PHP, originariamente conosciuto come Personal Home Page, oggi noto come Hypertext Preprocessor, processore di ipertesti. PHP combina il codice l'HTML con un linguaggio di programmazione simile a C e Perl.
2) ASP (Active Server Page), la soluzione Microsoft che permetteva di creare pagine web dinamiche, utilizzando l'HTML con il linguaggio di programmazione VBscript oppure quello JScript. Questa tecnologia oggi è stata completamente da quella ASP.NET, che permette di creare pagine web dinamiche attraverso la scrittura di pagine Razor, che combinano codice HTML con codice C#.
3) JSP (Java Server Page), la soluzione creata da Sun Microsystems per creare pagine web dinamiche, utilizzando l'HTML con il linguaggio di programmazione Java, la stessa che usiamo ancora oggi.
Oltre ai linguaggi SERVER SIDE, a favorire in tutto il mondo lo sviluppo dei siti web, dei portali e dei blog, è stata anche la diffusione dei Content Management System o CMS.
I CMS con cui ho lavorato sono il WordPress, Joomla, Drupal e Dreamweaver, tra questi quello che ha avuto maggiore successo è stato senza dubbio WordPress.
WordPress è nato nel 2003 dall’idea congiunta di Matt Mullenweg e Mike Little, ben presto si è affermato in rete come uno dei servizi di personal publishing più scelti al mondo. Svariate ricerche condotte riguardo alla popolarità delle piattaforme di personal publishing hanno mostrato che WordPress si colloca al primo posto, seguito da Joomla e Drupal.
A determinare ancora di più Il successo di Internet e del World Wide Web è stato il passaggio dal WEB 1.0 al WEB 2.0. Il termine WEB 2.0 fu coniato per la prima volta tra il 2004 e il 2005, dall'editore americano, “O’Reilly Media” - inizia l'era dei social network e il World Wide Web diventa accessibile a tutti.
I primi anni del 2000 sono anche stati caratterizzati dalla nascita dei primi linguaggi di programmazione di tipo visuale, io conoscevo bene il Visual Basic della Microsoft, con cui ho iniziato a creare le mie prime applicazioni con interfacce grafiche (GUI - Graphical User Interface).
Le GUI di tipo desktop inizialmente le creavo con i Windows Form, poi, con il passaggio al framework .NET, ho iniziato ad usare WPF o Windows Presentation Foundation, che creava le GUI, con il linguaggio xaml (extensible application markup language).
Ben presto però, con la diffusione delle applicazioni Web, anche l'uso della tecnologia WPF, venne sostituita dai Web Form, che permettevano di creare GUI di tipo HTML.
Tutto quello che riuscivo a fare con il Visual Basic, lo avevo imparato leggendo il libro "Visual Basic 5", della McGraw-Hill scritto da Gary Cornell e il libro "Sviluppare con componenti Visual Basic 6.0", della Mondadori, scritto da Guy Eddon e Henry Eddon.
Conservo ancora questi libri nella mia libreria, tra gli altri libri d'informatica, che spesso consulto per ricordare i concetti che con il tempo si perdono oppure per confrontare il presente con il passato, per capire come cambiano ed evolvono gli strumenti e le tecniche che applichiamo nel nostro lavoro.
La frase che mi colpì subito del libro "Visual Basic 5" fu: "un immagine vale più di mille parole", perché in sintesi descriveva il cambiamento che stavamo vivendo.
Così ho iniziato a creare applicazioni Windows con GUI che, oltre ai normali controlli, contenevano anche menu ed icone. Usavo DDE (Dynamic Data Exchange) e oggetti OLE (Object Linking and Embedding) per far comunicare le applicazioni che creavo altre applicazioni di Windows e utilizzavo controlli ActiveX per rendere più potenti le mie applicazioni Web.
Naturalmente per sviluppare applicazioni con Visual Basic e gestire la persistenza dei dati ero diventato anche un esperto di disegno, amministrazione e implementazione di SQL Server.
Ho lavorato e fatto il docente di Visual Basic fino al 2002, quando la Microsoft, per contrastare il crescente dominio di Java, creato dalla Sun Microsystems, introdusse il nuovo framework .NET (DOTNET), un ecosistema composto dai nuovi linguaggi: Visual Basic .NET e Visual C# .NET. Le caratteristiche principali di DOTNET erano le seguenti:
- Linguaggi di programmazione ad oggetti
- Trasportabilità delle applicazioni attraverso l'Intermediate Language (IL)
- Ambiente di esecuzione (runtime): Common Language Runtime (CLR)
- Libreria: Base Class Library (BCL)
- Possibilità di ampliare le funzionalità con NuGet, il gestore di pacchetti di .NET (simile a quello che è npm per Node.js)
- Il server Web IIS (Internet Information Server), progettato per fornire contenuto Web agli utenti.
E' stato poi il mercato a decidere che il linguaggio C# diventasse il linguaggio di programmazione ad oggetti più utilizzato dalle aziende IT, per sviluppare applicazioni professionali su piattaforme Windows .NET.
Allora collaboravo ancora con Elea e DGS e la crescente domanda di specializzazione, mi spinse ad ottenere le seguenti certificazioni Microsoft:
- Microsoft Certified Solution Developer (MCSD)
- Microsoft Certified Technology Specialist (MCTS)
- Microsoft Certified Professional Developer (MCPD)
Tutto quello che mi serviva per superare gli esami di certificazione, l'ho studiato dai libri e dai manuali seguenti:
1. CV Story (Gino Visciano): "dalle schede perforate al primo Personal computer in rete" - gli anni '80
2. CV Story (Gino Visciano): "Dai Sistemi operativi multitasking ai linguaggi ad oggetti" - gli anni '90
4. CV Story (Gino Visciano): "L'esperienza in Sun Educational Services" - la fine del primo decennio degli anni '2000
2. CV Story (Gino Visciano): "Dai Sistemi operativi multitasking ai linguaggi ad oggetti" - gli anni '90
Gino Visciano |
Skill Factory - 02/04/2022 19:21:08 | in Work experience
Alla fine degli anni '80, quando fu fondata l’Elea, la nuova società di formazione della Olivetti, ho iniziato a collaborare come formatore anche per questa nuova azienda; questa esperienza è stata importantissima per la mia carriera professionale.
Lavoravo a Roma presso la sede Elea di via Pompeo Magno, 1, una sede molto prestigiosa in un palazzo storico, a pochi passi dal Tevere, da via Cola di Rienzo e dalla famosa p.zza del Popolo.
Il responsabile della sede di Roma era Paolo Polimadei, con cui ho condiviso tante esperienze di lavoro importanti; mi occupavo sia della gestione tecnica delle aule, istallando e configurando i computer utilizzati per le attività didattiche, sia di docenza in ambito di alfabetizzazione informatica: informatica generale, sistemi operativi, reti ed office automation.
Grazie all'Elea ho fatto formazione presso i principali enti ed aziende della pubblica amministrazione di Roma, un'esperienza gratificante e qualitativa, soprattutto dal punto di vista delle relazioni umane, perché i discenti vivevano le esperienze di formazione come un premio e non come un obbligo.
Erano i tempi in cui i formatori indossavano il papillon ed il loro ruolo professionale era ancora riconosciuto con il valore che merita; quando penso al papillon e alla professionalità dei formatori, mi tornano subito in mente Andrea Colasanti ed Agostino Fanti, con i quali ho condiviso tante esperienze di formazione uniche ed indimenticabili.
Il 1990 fu l’anno dei mondiali di calcio, Italia 90, l’anno delle notti magiche di Totò Schillaci e di Roberto Baggio, dove l’incantesimo si ruppe a Napoli contro l’argentina di Maradona.
Intanto, nel 1987, era nato il sistema operativo OS2, con interfaccia grafica di tipo multitasking, creato dall’IBM in collaborazioni con la Microsoft.
Girava su computer PS/2 con architettura Micro Channel, un'architettura proprietaria dell'IBM rilevatasi poi una scelta commerciale sbagliata perché non rispettava gli standard di compatibilità dei microprocessori INTEL, ormai riconosciuti dai principali produttori di hardware.
Negli anni '90, oltre ai sistemi operativi con interfaccia grafica, iniziano a diffondersi anche le prima applicazioni per l'automazione dell'ufficio (office automation) tra queste ricordo il programma di videoscrittura (word processor) MultiMate e l'indimenticabile foglio elettronico (spread sheet) Lotus 123, creato dall'IBM prima per il sistema operativo OS/2 poi anche per Windows.
Per arricchire le mie conoscenze sui linguaggi di programmazione ho iniziato a studiare il linguaggio C, creato da Dennis Ritchie, ricercatore della maggiore compagnia telefonica americana AT&T, nel 1972.
Mi affascinava la logica procedurale e l’aritmetica dei puntatori, che mi permetteva di controllare direttamente la memoria delle applicazioni, andando ben oltre le caratteristiche dei linguaggi di programmazione precedenti.
Nel 1995, grazie alle buone conoscenze di C++, allora molto richieste, ho svolto molte attività di formazione per conto dell'ELEMEDIA, la scuola di formazione della Olivetti, presso il comprensorio Olivetti di Arco Felice Pozzuoli, un quartiere residenziale, fortemente voluto negli anni '50 da Adriano Olivetti che pensava che i luoghi del lavoro dovessero integrarsi, per qualità e per vicinanza territoriale, con i luoghi dell’abitare.
Lo stabilimento situato lungo la via Domiziana a 15 chilometri da Napoli, occupava 30.000 metri quadrati di superficie e ospitava 1.300 tra operai e impiegati, rappresentava un'eccellenza dell'industria del sud.
Quando ho iniziato a collaborare con l'ELEMEDIA era già iniziata la riconversione dello stabilimento Olivetti in un centro di ricerca e sviluppo.
Alla fine degli anni '90 avevo raggiunto la consapevolezza di quanto fosse importante la formazione per la valorizzazione delle risorse umane e quanto era necessario introdurre l'uso di nuove tecnologie per abbattere le barriere della formazione tradizionale, prevalentemente fatta in presenza.
Fu così che decisi di presentare ad INVITALIA, l'agenzia nazionale per lo sviluppo delle imprese, il progetto "DIDAMATICA", che prevedeva la costituzione di una società specializzata nella fornitura di servizi di formazione a distanza (FAD).
Poiché il termine e-learning non era ancora conosciuto, coniai il termine italiano “DiDAMATICA” (Didattica Automatica).
Il progetto venne valutato positivamente, per il livello d'innovazione e per le possibili potenzialità di sviluppo, nacque così la società "Didactica", composta prevalentemente da giovani, che allora avevano il mio stesso entusiasmo.
Dopo circa vent'anni, anche grazie all'impegno di uno dei soci fondatori, Vincenzo Fiengo, quella società esiste ancora con il nome di "DGS", è un’azienda con oltre 800 dipendenti che fornisce servizi e soluzioni avanzate in ambito Cyber Security, Digital Solutions e Management Consulting.
clicca qui per continuare >>
1. CV Story (Gino Visciano): "dalle schede perforate al primo Personal computer in rete" - gli anni '80
3. CV Story (Gino Visciano): "La rivoluzione WWW (World Wide Web) e i linguaggi visuali" - l'inizio del primo decennio degli anni '2000
4. CV Story (Gino Visciano): "L'esperienza in Sun Educational Services" - la fine del primo decennio degli anni '2000
1. CV Story (Gino Visciano): "dalle schede perforate al primo Personal computer in rete" - gli anni '80
Gino Visciano |
Skill Factory - 09/03/2022 23:11:31 | in Work experience
Nel 1985 ho iniziato a lavorare a Roma per la Olivetti, nonostante la mia giovane età ero un formatore della “User Training”. Qui ho conosciuto Adriana Fasano, una donna che ha dedicato la vita alla formazione e con cui collaboro ancora oggi.
clicca qui per continuare >>
2. CV Story (Gino Visciano): "Dai Sistemi operativi multitasking ai linguaggi ad oggetti" - gli anni '90
3. CV Story (Gino Visciano): "La rivoluzione WWW (World Wide Web) e i linguaggi visuali" - l'inizio del primo decennio degli anni '2000
4. CV Story (Gino Visciano): "L'esperienza in Sun Educational Services" - la fine del primo decennio degli anni '2000
Il primo mainframe commerciale fu creato negli stati unti nel 1951, si chiamava UNIVAC (Universal Automatic Computer), pesava 13 tonnellate e costava 1,5 milioni di dollari ed era alto circa 2,5 metri. Gli scienziati J. Presper Eckert e John Mauchly lo consegnarono allo United States Census Bureau: era il primo computer ad elaborare dati in maniera automatica, è stato utilizzato per monitorare le nascite negli Usa durante gli anni ‘50.
Il primo mainframe prodotto in Italia è stato l'Elea 9003, era un calcolatore a transistor sviluppato nel 1959 dai tecnici della Olivetti, un meraviglioso lavoro di progettazione congiunto fra tecnici e designer; il suo ideatore, Ettore Sottsass ha ricevuto il Compasso d’Oro nel 1959.
Il primo "Desktop Computer", conosciuto con il nome di Programma 101 o Perottina, perché fu progettata dall’Ingegnere Pier Giorgio Perotto, fu prodotto dalla Olivetti nel 1965.
La “Perottina” permetteva di effettuare operazioni matematiche e calcoli complessi, funzionava con schede magnetiche ed aveva una stampante a 30 colonne su carta da 9 cm per mostrare i risultati.
La P101 era dotata di funzioni logiche, istruzioni di input ed output, registri, memoria interna e la possibilità di salvare dati e programmi su un supporto magnetico esterno, operava su registri numerici, input ed output invece erano alfanumerici. Oltre al semplice calcolo, permetteva l’esecuzione di veri e propri programmi, uso di registri e archiviazione di dati.
Nel 1981 l'IBM mette in commercio il primo Personal Computer con microprocessore intel 8088 con una frequenza di calcolo di 4.77 MHz, 40KB di RAM e come memoria di massa utilizzava 2 folppy disk da 5 pollici e 1/4.
Nel marzo del 1982, la Olivetti creò l’M20 un progetto tutto italiano, il team progettuale era diretto dagli ingegneri Enrico Pesatori ed Enzo Torresi, il sistema operativo PCOS (Professional Computer Operating System) era stato realizzato da una squadra di programmatori diretta dall’ingegnere Alessandro Osnaghi ed era quindi di proprietà dell’azienda.
Il microprocessore montato era lo Z8001 a 16 bit, fornito dalla ZILOG, questo microprocessore non era compatibile con la famiglia dei microprocessori Intel utilizzati nei personal computer IBM, questo costringrà in futuro la Olivetti a cambiare strategia ed usare per problemi di compatibilità microprocessori Intel.
L’M20 venne seguito nel 1983 dal computer portatile M10 e dai sistemi M30 e M40, oltre che da altri modelli via via derivati direttamente dall’M20.
Nel 1984 la Olivetti, per allinearsi al mercato dei computer compatibili, creò Il primo Personal Computer, l’M24, con microprocessore INTEL 8086, con una frequenza di calcolo di 8Mhz, 128/640 KB di RAM ed un floppy disk da 3,5".
Con il tempo i microprocessori sono diventati sempre più veloci ed i personal computer sempre più potenti.
Il primo disco rigido o hard disk fu creato dall'IBM nel 1956. avava una capacità di 5 megabyte.
Il primo Floppy Disk fu inventato nel 1967 da Alan Shugart, un ingegnere della IBM, era un dispositivo sottile e flessibile grande 8 pollici e con una capacità di 100 kilobyte.
Negli anni 70 la tecnologia fa un ultriore passo avanti e nascono i Floppy Disk da 5 pollici e 1/4, con una capacità di 512 kilobyte.
I primi microdischi da 3,5 pollici sono nati nel 1982 ed avevano una capacità di 1440 kilobyte.
L'MS-DOS era un sistema oprativo monoutente, con interfaccia di tipo testo e permetteva l'esecuzione di un solo programma alla volta, era molto leggero e semplice da installare ed usare.
Oggi, anche se con caratteristiche più professionali è presente ancora in Windows, per usarlo basta aprire il command prompt con il comando cmd.
Il Wordstar è stato uno dei primi programmi di videoscrittura per Peronal Computer, prodotto nel 1978 dalla MicroPro International Corporation, era un programma con interfaccia di tipo testo.
Allora i mouse non esistevano e per selezionare i comandi si utilizzavano i tasti funzionali oppure si utilizzavano carattaeri combinati con la digitazione del tasto di controllo ctrl.
Il linguaggio BASIC (Beginner's All-Purpose Symbolic Instruction Code) fu creato dai matematici di Dartmouth: John George Kemeny e Tom Kurtzas nel 1963.
Questo linguaggio di programmazione, di tipo imperativo e strutturato, era interpretato e molto semplice da imparare ed utilizzare. Poteva essere applicato in ambiti di sviluppo differenti, come ad esempio quello commerciale, quello scientifico e quello dei videogiochi.
Il linguaggio COBOL (COmmon Business-Oriented Language) lo possiamo definire un linguaggio comune orientato alle applicazioni commerciali, è stato creato nel 1961.
E' un linguaggio di programmazione imperativo e strutturato, a differenza del BASIC, il codice sorgente può essere compilato e generare un file eseguibile.
Ancora oggi risulta essere uno dei linguaggi di programmazione più usati per creare applicazione commerciali soprattutto in ambito bancario.
Il TCP/IP (transfer Control Protocol/Internet Protocol) è nato nel 1983, prima che venisse creato questo protocollo di rete, praticamente non esisteva Internet con la I maiuscola, come lo conosciamo oggi.
Quando è diventato un standard de facto, perché tutti i produttori IT iniziarono ad usarlo, comincio a diffondersi la rete delle reti, con i suoi servizi - "Internet".
L’Italia ha trasmesso il suo primo segnale Internet da Pisa, il 30 aprile 1986, grazie ai satelliti del centro spaziale del Fucino in Abruzzo, Telespazio. Nonostante non fosse scontato Il segnale raggiunse con successo la città di Roaring Creek in Pennsylvania.
All'origine Internet si chiamava Arpanet ed era usato per scopi militari. Arpanet fu creata nel 1969 dalla DARPA, l'agenzia del Dipartimento della Difesa degli Stati Uniti in collaborazione con le univiersità allo scopo di sviluppare nuove tecnologie di comunicazione.