<< La programmazione ad oggetti >>
La programmazione orientata agli oggetti (OOP) è un paradigma di programmazione, che prevede
di raggruppare in un’unica entità (la classe) sia le strutture dati sia le procedure che operano su di
esse. In questo modo viene creato un “oggetto” software dotato di proprietà (dati) e metodi
(procedure) che operano sui dati dell’oggetto stesso.
Questo tipo di programmazione è alla base di tutti i moderni linguaggi ed è fondata su tre principi:
Ereditarietà: tecnica di programmazione basata sulla creazione di nuove classi usando oggetti o
classi già esistenti. Le nuove classi “ereditano” le caratteristiche e le funzionalità delle vecchie.
L’ereditarietà consente di riutilizzare il codice esistente,introducendo solo le modifiche necessarie
per l’implementazione delle nuove funzionalità.
Incapsulamento: inserimento di dati (proprietà) e funzionalità (metodi) all’interno di un unico
oggetto.
Polimorfismo:possibilità per uno stesso oggetto di assumere più forme; pensiamo per esempio ad
una procedura che può ricevere 2,3 o 4 parametri e si comporta diversamente in base al numero di
parametri che riceve.
Informazioni sulla tecnologia Java
La tecnologia Java è nata come strumento di programmazione per
computer da un piccolo progetto segreto denominato "Green
Project" sviluppato presso Sun Microsystems nel 1991.
I componenti del "Green Team" (13 persone in tutto coordinate da
James Gosling) si chiusero in un anonimo ufficio sulla Sand Hill
Road a Menlo Park, interruppero tutte le regolari comunicazioni
con Sun e lavorarono senza sosta per 18 mesi.
L'obiettivo era quello di anticipare e pianificare quale sarebbe stata
la successiva evoluzione dell'informatica. Inizialmente giunsero alla
conclusione che una delle tendenze più significative sarebbe stata la
progressiva integrazione tra dispositivi digitali di largo consumo e
computer.
Crearono così un codice di linguaggio di programmazione
indipendente dai dispositivi denominato "Oak".
Per dimostrare l'importanza di questo nuovo linguaggio per il futuro
dei dispositivi digitali, il "Green Team" sviluppò un apparecchio
portatile interattivo per i dispositivi di home-entertainment destinato
al settore della televisione via cavo digitale. Tuttavia, l'idea era
troppo avanzata per quei tempi e il settore della televisione via cavo
digitale non era pronto per compiere il balzo in avanti che la
tecnologia Java prospettava.
Si scoprì invece che Internet era pronto per la nuova tecnologia e
proprio in concomitanza con l'iniziale introduzione pubblica della
rete nel 1995, il team fu in grado di annunciare che il browser
Internet Netscape Navigator avrebbe incorporato la tecnologia Java.
Attualmente, a quasi dieci anni dalla sua nascita, la piattaforma Java
è stata scelta da più di 4 milioni di sviluppatori di software, viene
utilizzata in tutto il mondo in tutti i principali settori industriali ed è
presente in una vasta gamma di dispositivi, computer e reti basati su
qualsiasi tecnologia di programmazione.
Di fatto, per le sue caratteristiche di versatilità, efficienza,
portabilità della piattaforma e sicurezza, Java è la tecnologia ideale
per il network computing ed è per questo motivo che attualmente
più di 2,5 miliardi di dispositivi sono basati sulla tecnologia Java:
•
•
•
•
Più di 700 milioni di PC
708 milioni di telefoni cellulari e altri dispositivi portatili
(fonte: Ovum)
1 miliardo di smart card
Decoder, stampanti , web cam, giochi, sistemi di
navigazione per veicoli, terminali delle lotterie,
apparecchiature mediche, parchimetri e così via.
Attualmente, la tecnologia Java viene applicata a una vasta gamma
di reti e dispositivi, quali Internet, i supercomputer scientifici, i
computer portatili, i telefoni cellulari, i simulatori di mercato di
Wall Street, le console per videogiochi e le carte di credito, ovvero
praticamente ovunque.
Il miglior modo per visualizzare in anteprima queste applicazioni è
visitare il sito java.com, un eccellente sito che offre una panoramica
e numerose informazioni per le aziende, gli utenti e gli sviluppatori
di software che utilizzano la tecnologia Java.
Perché gli sviluppatori di software scelgono la tecnologia Java
Il linguaggio di programmazione Java è stato accuratamente
perfezionato, esteso, testato e provato da una comunità attiva di più
di quattro milioni di sviluppatori di software.
Matura, estremamente solida e sorprendentemente versatile, la
tecnologia Java è diventata uno strumento prezioso che consente
agli sviluppatori di:
•
•
Scrivere software su una piattaforma con la possibilità di
eseguirlo su qualsiasi altra piattaforma
Creare programmi da eseguire all'interno di un browser Web
•
•
•
e di servizi Web
Sviluppare applicazioni lato server per forum online, negozi,
sondaggi, elaborazione di moduli HTML e molto altro
ancora
Combinare le applicazioni o i servizi basati sulla tecnologia
Java per creare applicazioni o servizi altamente
personalizzati
Scrivere applicazioni potenti ed efficienti per telefoni
cellulari, processori remoti, prodotti di consumo a basso
costo e quasi tutti i dispositivi digitali
Utilizzo dei JavaBean
JavaBean sono componenti software contenenti una classe Java.
Solitamente, vengono inseriti in un elemento contenitore (come un form) e svolgono funzioni che
spaziano da una semplice animazione a calcoli complessi.
Nella maggior parte dei casi si tratta di componenti grafiche che sono utilizzate come control
all’interno di pagine JSP o programmi Java. Fra i JavaBean più diffusi troviamo strumenti di
rappresentazione di grafici, progress bar, (barre di scorrimento) , calendari, orologi, calcolatrici.
La possibilità di poter facilmente riutilizzare questi oggetti è molto importante, perché permette al
programmatore di poter disporre velocemente di tutto un universo di librerie e soluzioni in continua
crescita.
Esistono migliaia di oggetti Java (a pagamento o gratuiti) che permettono di affrontare qualsiasi
problematica: dalla lettura di un flusso XML alla comunicazione con le porte seriali, dall’invio di email alla gestione di server FTP.
Qualunque problematica il programmatore debba risolvere, con molta probabilità esiste già un
oggetto Java che può aiutarlo.
Le componenti di un applicativo
Le componenti fondamentali di un applicativo sono tre:
# La logica, cioè il nucleo stesso dell’applicazione che determina la qualità del prodotto:
# L’interfaccia, cioè la parte di codice che interagisce con l’utente e svolge un ruolo
importantissimo nella vendita del prodotto, perché ne rappresenta l’aspetto esteriore;
# L’accesso ai dati, cioè la parte di codice che deve occuparsi della gestione e del trattamento dei
dati, e sempre molto più spesso anche di quelli messi a disposizione da altri software.
Interoperabilità
Negli ultimi tempi, per la diversificazione degli strumenti utilizzati nelle aziende, si è affermato un
concetto molto importante: i dati devono essere accessibili indipendentemente dal software usato.
Questo nuovo concetto, conosciuto come interoperabilità , ha favorito la diffusione dei database
relazionali ed ha messo in discussione quegli applicativi scritti con linguaggi che offrono soltanto
“filesystem” proprietari.
Mediante le tecnologie offerte da Java, il concetto di interoperabiltà è oggi completamente attuabile
e facilmente integrabile su qualsiasi realtà software anche di più vecchia generazione.
Application Server
L’Application Server è un software che fornisce l’infrastruttura e le funzionalità di supporto,
sviluppo ed esecuzione di applicazioni e componenti server in un contesto distribuito.
Si tratta di un complesso di servizi orientati alla realizzazione di applicazioni per il WEB, e non
solo, con un alto grado di complessità ma nel contempo utilizzabili anche in contesti semplificati.
E’ un ambiente centralizzato destinato allo sviluppo e all’implementazione di applicazioni per il
business.
Senza questa infrastruttura il software che gestisce l’azienda risulta disperso in posizioni isolate,
condizione che rende la manutenzione più costosa, e gli upgrade più complessi, con effetti negativi
sulle prestazioni.
Le componenti
L’Application Server è composto da moduli realizzati secondo standard ben definiti.
I moduli normalmente presenti in un Application Server sono:
-
contenitore di componenti “Server-side”
gestore degli accessi degli utenti e della sicurezza
gestore delle transazioni
gestione e accesso a database o in generale a sorgenti da dati esterne
interfaccia per l’accesso ad un sistema “LEGACY”
altri componenti per l’ottimizzazione delle prestazioni
Java e .NET
Attualmente le tecnologie su cui si possono basare gli Application Server sono Java e .NET.
Java è decisamente più diffusa e annovera numerose implementazioni sia commerciali che “open
source”.
Gli standard di Java sono il risultato di un rapporto sinergico tra SUN (azienda americana leader nel
settore) e la partecipazione libera di sviluppatori in tutto il mondo.
Gli standard su cui si fonda la tecnologia .NET sono invece stabiliti direttamente da MICROSOFT.
Nel mondo Java, gli Application Server compatibili con le specifiche di SUN sono detti Application
Server J2EE.
I vantaggi
L’adozione dell’Application Server offre particolari benefici soprattutto nel settore dello sviluppo e
della gestione integrata dei sistemi.
I principali vantaggi possono essere così riassunti:
-
semplificazione delle attività di sviluppo software
capacità di produrre velocemente applicazioni transazionali altamente scalabili
utilizzo massivo della programmazione ad oggetti
gestione delle transazioni che assicura l’integrità del dato accrescendo l’affidabilità
saclabilità, partizionamento delle applicazioni e distribuzione delle componenti
-
alte prestazioni grazie al “multithreading” al “load balancing” al “caching” ed
alla concessione ai database
-
estensibilità, robustezza e sicurezza.
----------------------------------------------